Víťaz AMAVET-u zostrojil robota, ktorý si zahrá futbal na medzinárodnej súťaži

Monika Tináková

Študent vytvoril vlastnú architektúru programu na strojové učenie, ktorá dokáže z obrázka kamery povedať, na akých pozíciách sa nachádzajú jednotlivé objekty. 

Stredoškolák Jakub Gál a jeho autonómny robot. Zdroj: Archív J.G.

Stredoškolák Jakub Gál a jeho autonómny robot. Zdroj: Archív J.G.

Položili ste si už otázku, koľko kamier máte denne vo svojej blízkosti? Každý má pri sebe aspoň jednu a denne vytvorí celosvetovo približne 4 miliardy fotografií. Tieto dáta je nutné spracovať čo najefektívnejšie a s čo najväčšou presnosťou.

Stredoškolák Jakub Gál vytvoril efektívnu a presnú neurónovú sieť na rozpoznávanie objektov, ktorá spracúva dáta z kamery robota v reálnom čase. Zaradil sa medzi víťazov na Festivale vedy a techniky, ktorý organizuje AMAVET – Asociácia pre mládež, vedu a techniku. Okrem toho už vyhral hlavnú cenu na jednej medzinárodnej súťaži a teraz sa chystá na ďalšiu – prestížnu súťaž Robocup Junior Open, kde si autonómni roboti prostredníctvom siete zahrajú futbal.

Ako podľa vás vnímajú ľudia spracovávanie obrovského množstva dát, ktoré dnes vytvárame?

Široká verejnosť si často neuvedomuje, aké je náročné spracovávanie dát. V minulosti na sa na to používali algoritmy, ktoré boli ale veľmi obmedzené. Napríklad keď sme chceli pomocou nejakého jednoduchého algoritmu zistiť, či je na obrázku mačka alebo pes, tak človek musel ručne nastavovať veľké množstvo parametrov. Pre program to bolo veľmi náročné. Keďže mačky, ako i psy môžu mať rôzne farby a veľkosti, program bol aj veľmi nepresný.

Vznikla preto nutnosť naučiť program, čo je mačka a čo je pes. Na to bolo nutné mať veľké množstvo dát a program, ktorý by z nich dokázal dostať potrebné informácie. A tak vzniklo strojové učenie, ktoré sa dnes používa takmer všade, od medicíny na diagnostiku CT snímok až po ukazovanie čo najvhodnejších reklám. Zatiaľ je ale stále potrebné mať veľké množstvo dát, aby sa takéto niečo dokázal program naučiť.

Čo ste sa rozhodli vo svojom projekte skúmať? Predpokladám, že ste sa rozhodovali aj s ohľadom na to, že ukladanie a spravovanie dát potrebujeme ako spoločnosť neustále zefektívňovať.

Rozhodol som sa vytvoriť vlastnú architektúru programu na strojové učenie, ktorá by bola schopná z obrázka kamery povedať, na akých pozíciách sa nachádzajú jednotlivé detegované objekty. Taktiež by bola schopná vytvoriť robota na súťaž na Robocup junior soccer open, ktorý by bol schopný tento program rozbehnúť.

Robocup junior soccer open je veľká medzinárodná súťaž, kde proti sebe hrajú dvaja a dvaja plne autonómni roboti futbal. Vybral som si túto úlohu práve preto, lebo je to náročný problém. Takéto programy totiž na svoj beh potrebujú veľmi výkonné grafické karty a procesory, ktoré ale na robota nemôžem umiestniť. Jeho rozmery sú totiž obmedzené na valec s výškou 22 centimetrov a priemerom 22 centimetrov, ktorý získava energiu z batérií.

Ako vyzerá najväčšia medzinárodná robotická súťaž v robotickom futbale?

Na ihrisku so zeleným kobercom súperia proti sebe tímy zložené vždy z dvoch plne autonómnych robotov. Ihrisko má dve bránky, je ohraničené bielou čiarou a roboti na ňom hrajú s oranžovou loptou.

Najskôr som pre túto úlohu vytvoril 3D model celého robota a až následne som začal tvoriť neurónovú sieť. Študoval som vedecké publikácie na danú tému a vytvoril dataset, ktorý som rozdelil na trénovací, vývojový a testovací. Experimentoval som s rôznymi architektúrami a kombináciami hyperparametrov, až pokým som nedosiahol dostačujúci výsledok. Zistil som, že túto úlohu je možné splniť, a to s použitím viacerých moderných architektúr a optimalizačných techník súčasne.

Ako vyzerá splnená úloha? Čo sa vám podarilo zostrojiť?

Podarilo sa mi vytvoriť dostatočne rýchlu a presnú architektúru založenú na YOLO V4, ktorá je schopná behu na 30fps na Coral TPU (tensor processing unit) a, samozrejme, aj celý ostatný hardvér a softvér na robota na Robocup junior soccer open. TPU (tensor processing unit) od firmy Google je špeciálny čip určený práve na násobenie tensorov (viacdimenzionálne matice), ktoré sa používajú práve v convolution neural networks.

Taktiež som vytvoril prvý verejne dostupný dataset pre túto súťaž. Celý robot je open source, dostupný na voľné šírenie, čo dúfam pomôže zrýchliť vývoj v tejto oblasti. S týmto robotom som bol aj na medzinárodnej súťaži Robocup Soccer Virtual Poster Session, kde sa mi podarilo vyhrať hlavnú cenu Best Poster. Súťaž sa konala virtuálne, keďže sa Robocup nemohol z dôvodu pandémie konať fyzicky vo Francúzku.

Mohol by sa raz tento robot dostať aj do bežnej praxe? Mohli by sa s ním oboznámiť napríklad aj žiaci počas vzdelávacieho procesu?

Dúfam, že do praxe sa môj výskum dostane už v najbližších mesiacoch, keďže momentálne pracujem na sprístupnení tejto technológie pre širšiu verejnosť bez hlbších znalostí o neurónových sieťach pomocou malej (cca 55mm x 45mm x 20mm) a lacnej kamery, ktorá by obsahovala aj TPU, aj by mala zároveň všetky funkcie, veľmi populárne dosky Raspberry PI 4.

Jakub, ste tretiakom na priemyslovke v odbore elektrotechnika. Čo plánujete ďalej do budúcna?

Robotike sa súťažne venujem už od 5. ročníka základnej školy. Ďalej sa venujem strojovému učeniu, elektrotechnike, 3D modelovaniu a baví ma učenie sa nových vecí. Získal som ocenenia na viacerých slovenských aj medzinárodných robotických súťažiach, napríklad v Japonsku v Nagoye alebo v Austrálii v Sydney, kde sa mi podarilo vyhrať aj viaceré ceny. Chcel by som ďalej študovať dátovú vedu na čo najlepšej univerzite a raz si založiť vlastnú firmu.

 

Operačný program MSSR

Investícia do Vašej budúcnosti
Tento projekt je podporený z Európskeho fondu regionálneho rozvoja

Táto webová stránka vznikla vďaka podpore v rámci Operačného programu Integrovaná infraštruktúra pre projekt: Podpora národného systému pre popularizáciu výskumu a vývoja
(kód ITMS: 313011T136), spolufinancovaný zo zdrojov Európskeho fondu regionálneho rozvoja.