Detekcia malých objektov, ako napríklad tenisovej lopty, predstavuje výzvu. Detekcia lopty je potrebná pre mnohé aplikácie, napríklad v analýze zápasov alebo pri tréningu, kde sa hľadajú dôležité momenty v zápasoch. Je to náročná úloha, pretože lopta je malá, rýchlo sa pohybuje a vplývajú na ňu prostredie a hráči.
Naše riešenie
Náš projekt BallDet sa zaoberá detekciou tenisových loptičiek vo videách pomocou hlbokého učenia a konvolučných neurónových sietí. Dáta na trénovanie sme získali v spolupráci s firmou Sportradar, ktorá nám poskytla 135 videí, z ktorých sme následne extrahovali viac ako 120-tisíc snímkov. Tieto videá sme zanalyzovali a spracovali do formy, s ktorou neurónová sieť dokáže pracovať.
Ukážka anotovaného snímku
Následne sme vybrali a preskúmali niekoľko najmodernejších prístupov hlbokého učenia, ktoré sme použili na naše dáta.
Skúmali sme rôzne verzie YOLO modelov, ktoré sú známe pre svoju schopnosť detegovať objekty v reálnom čase. Najprv sme modely natrénovali na našich dátach, aby sa naučili rozpoznávať vlastnosti a črty tenisových loptičiek. Následne sme modely vylaďovali a hľadali optimálne parametre, aby sme dosiahli čo najlepšie výsledky. Tréning modelov je náročný z hľadiska výpočtovej a časovej náročnosti. Na FIIT STU sme mali k dispozícii výkonné grafické karty, ktoré sme využili na viac ako 1000 GPU hodín, čo predstavuje 40 dní trénovania.
Model s najlepšími výsledkami sme ďalej vylepšili. Inovatívne riešenie na zlepšenie výsledkov spočívalo v pridaní vrstvenia obrázkov, čo znamená, že model vidí nielen aktuálny snímok, ale niekoľko predchádzajúcich. Toto pomáha pri detekcii lopty, ktorá môže na chvíľu zmiznúť zo záberu. Ďalšie vylepšenie spočívalo v použití rozdielu snímok v odtieňoch šedej. Touto metódou sme vytvorili rozdiel medzi susednými snímkami – čo sa nehýbe, zostáva čierne, a to, čo sa pohybuje – hráči a loptička – je zvýraznené. Toto nám veľmi pomohlo pri detekcii, pretože model získava ďalšiu, či už časovú, tak aj priestorovú informáciu a sústredí sa na výrazné oblasti v rámci pohybu lopty.
Workflow projektu
Výsledky
V počiatočnej fáze najlepšie výsledky dosahovali YOLO modely, konkrétne jeho varianta YOLOv5. Model úspešne detegoval loptu v reálnom čase a na jednej snímke našiel tenisové lopty v priemere za 7ms.