Rozpoznávanie objektov aj tvárí. Ako funguje detekcia pomocou neurónových sietí?

RoboTech Vision presentation

22. jún 2021  Vývoj

Vývoj umelej inteligencie napreduje rýchlym tempom vpred. Mnohé neurónové siete tak už nemajú problém rozlíšiť v obraze osobu, jej tvár či iné predmety. Rozpoznávaniu objektov sa venuje aj spoločnosť RoboTech Vision. Takzvaný ORC algoritmus firma využíva najmä v oblasti robotiky pre detekciu statických a dynamických prekážok pred robotom, segmentáciu cesty pre autonómnu navigáciu či pre projekty v oblasti zabezpečovacích systémov.

Pomocou ORC algoritmu je možné detegovať ľudí, rozoznávať tváre, dynamické aj statické objekty, prostredie či naučiť neurónovú sieť rozlišovať vlastné objekty. V závislosti od veľkosti a kvality datasetu je tiež možné určiť detaily ako napríklad pohlavie osôb, ich vek či dokonca náladu. ORC algoritmus tak môže slúžiť pre autonómnu navigáciu či bezpečnostný systém. Spoločnosť RoboTech Vision pri rozpoznávaní objektov využíva voľne dostupné aj vlastné datasety. „Pri projekte, v ktorom sme mali detegovať osobu so zbraňou sme využívali kombináciu týchto vstupov. Niektoré dáta sme využili už z existujúcich datasetov, iné sme si vytvorili sami,“ vysvetľuje Ing. Patrik Štefka, robotický inžinier zo spoločnosti RoboTech Vision, ktorý sa špecializuje na vizuálne systémy.

Základom sú kvalitné dáta

V oboch prípadoch sú dôležité kvalitné dáta. Pri rozpoznávaní objektov sú vstupnými dátami RGB obrázky, ktoré možno získať z fotografie alebo videa. Tu platí, že čím väčší obrázok, tým kvalitnejší výstup, ale aj dlhší čas detekcie. „Pri väčších záberoch je štruktúra siete väčšia a rozpoznanie objektu tak trvá dlhšie, čo nie je vhodné napríklad pri navigácii robota, keď sa zariadenie musí rozhodovať čo najrýchlejšie,“ tvrdí inžinier Štefka. Dôležitý je aj formát vstupu, rovnaký počet vzoriek pre každý objekt a tiež originálnosť záberu. „Nestačí vybrať z jedného videa množstvo fotografií, ale dať si záležať, aby bol sledovaný objekt zachytený z rôznych uhlov pohľadu, v rôznych prostrediach a bol naozaj precízne vyznačený a klasifikovaný. Treba si uvedomiť, že neurónová sieť funguje podobne ako ľudský mozog. Pracuje len s tým, čo sa naučí,dodáva Štefka. Učenie tvorí druhú, kľúčovú fázu ORC algoritmu. Skladá sa z vytvárania datasetu, trénovania a následnej verifikácie siete.

Existujú dva základné spôsoby ako učiť neurónovú sieť. Metóda s učiteľom a samoučenie. RoboTech Vision pri práci využíva najmä metódu s učiteľom. „Pri rozpoznávaní objektov sa využíva konvolúcia, keď neurónová sieť hľadá typické črty objektov v obraze. Ak však neexistuje voľne dostupný dataset, ktorým by sa neurónová sieť riadila, je potrebné ju pomocou špeciálneho softvéru naučiť rozpoznávať nové objekty,“ tvrdí Štefka. A to tak, že sa v 90 percent dátach označia objekty a obrázky následne putujú na pretrénovanie. Čas trénovania závisí od požadovaného percenta úspešnosti, veľkosti modelu aj výpočtového výkonu grafickej karty zariadenia, na ktorom trénovanie prebieha. Potom sa natrénovaný model testuje na zvyšných 10 percentách dát, ktoré neurónová sieť predtým nevidela. „Táto fáza sa nazýva validácia a testujeme ňou, či neurónová sieť funguje správne. Z toho vyvodíme výsledok a vyhodnotíme, či je riešene použiteľné v praxi,“ spresňuje Štefka.

Druhou metódou je takzvané učenie bez učiteľa – samoučenie. Pri tejto metóde nie je potrebný dataset. Dôležité je kvalitne vymodelované simulačné prostredie pre riešený problém, napríklad bezkolízne riadenie mobilného robota v neznámom prostredí. „Neurónová sieť v priebehu učenia vykonáva akcie, napríklad riadi robot, ktoré sú podľa ich správnosti odmeňované – bez kolízie, alebo pokutované – s kolíziou. Vo výsledku sa teda sieť správa tak, aby problém riešila optimálne, s čo najväčšou odmenou,“ vysvetľuje Štefka. Ak bolo simulačné prostredie kvalitne modelované, natrénované riešenie je potom možné aplikovať aj v reálnom prostredí.

Mechanizmy proti zneužitiu

Vyhodnotené dáta sa následne ešte spracúvajú tak, aby bol výsledok čo najpresnejší. Filtrujú sa nepotrebné súbory, falošné detekcie, implementuje sa to, že na jednej fotografii sa nemôžu nachádzať dve rovnaké tváre, alebo sa posudzuje hodnovernosť objektov. „Systém by bolo jednoduché oklamať napríklad fotografiou, preto existujú algoritmy, ktoré vyhodnocujú živosť tváre. A to napríklad tak, že sledujú, či osoba žmurká alebo hýbe tvárou,“ dopĺňa Štefka. Nástrahou pre neurónovú sieť by mohli byť deep fake videá či humanoidy.

„Dnes už existujú neurónové siete, ktoré dokážu rozlíšiť umelú tvár od živej. Najvhodnejšia je na to metóda učenia bez učiteľa, keď oproti sebe stoja dve neurónové siete a vzájomne sa snažia oklamať. Jedna vytvorí umelú tvár a snaží sa presvedčiť druhú, že ide o živý objekt. Vďaka zlej vizualizácii alebo neprirodzenosti, ktoré sú charakteristické pre niektoré deep fake videá, tak neurónová sieť dokáže odhaliť, že ide iba o simuláciu. Niekedy podvod odhalí aj pomocou hustoty pixelov či neustálej zmeny veľkosti filtra, ktorý sa snaží prispôsobiť svojmu podkladu a nepôsobí tak prirodzene.“

Ing. Patrik Štefka

Robotický inžinier, RoboTech Vision

Neurónovou sieťou tak vieme nielen detegovať objekty, ale ich aj klasifikovať, zaraďovať do skupín alebo vyznačovať pixely, ktoré vytvoria masku, a tak napríklad segmentujú cestu. Tieto metódy rozpoznávania možno využiť na rôzne automatizačné riešenia akými sú triedenie veľkých dát, ako napríklad fotografie, zaznamenávanie škodlivých mikróbov, ktoré ľudské oko nemusí zachytiť či na odomykanie zámkov na základe čŕt tváre. Rozpoznávanie objektov je v súčasnosti často využívané aj na detekciu rúšok na tvárach a je tiež dôležitou súčasťou autonómnej navigácie áut. V kombinácii s postprocesovaním dát, ktoré zvyšuje ich presnosť a mechanizmami proti ich zneužitiu má tak ORC algoritmus široké využitie, nielen v robotike, ale aj v rôznych inteligentných systémoch.

Autor príspevku

Dominika Krajčovičová

Marketing manager

Podobné články

Otestovali sme našu autonómnu navigáciu pomocou mapy v troch rôznych prostrediach

Robot Androver II prešiel pomocou nášho algoritmu autonómne až 1,5 km

Robot Husky A200 rozpoznáva a autonómne nasleduje objekty

Kategórie

NAJNOVŠIE PRÍSPEVKY

Pin It on Pinterest

Share This