Kar mozgásának felismerése mélytanulás segítségével
Számos technológia hozzájárul a mai világunk modernségéhez. Szeretnék ezek közül három területet kiemelni, amik nagyban hozzájárultak a technológiai fejlettséghez. Az első az AI (Artificial Intelligence – Mesterséges Intelligencia), ami a hétköznapi életünket több aspektusban is megkönnyíti. A mikrokontrollerek, amik mindenhol ottvannak, szinte mindenben. És végül az IoT (Internet of Things- Dolgok Internete), ami azt jelenti, hogy a tárgyak körülöttünk adatot gyűltének, információval látnak el, és egy kis feldolgozási munkálat után hasznos következtetéseket vonhattunk le a gyűjtött adatokkal.
De mi lenne, ha lenne valami, amivel kombinálni lehetne ezen három technológiát és elvinni egy teljesen másik irányba? Az IoT képes nagymennyiségű hasznos adatot gyűjteni, amit aggregálás után analizálhatunk a felhőben, majd ezt követően konklúziót vonhatunk le. A kommunikációval bithibákat okozhatunk és lelassíthatjuk a döntési eljártást.
De mi lenne, ha az adatok feldolgozásának egy részét helyben végeznénk el? Ha a dolgok körülöttünk nem csak mérnének és mentenének adatokat, hanem fel is dolgoznák, és egy if-else ágnál komolyabb döntések meghozására lenne képes?
Az alkalmazások megpróbálja a felsorolt technológiák előnyeit kihasználni. Amit létrehoztam az gyakorlatilag egy kézmozgásfelismerő, amely különböző mozdulatok felismerésére alkalmas. Két gyorsulásmérő és giroszkóp szenzort használ fel ehhez.
Kiolvashatjuk az adatokat a szenzorból és kimenthetjük a számítógépre. Habár a számítógépeknek határtalan számítási kapacitása van a mikrokontrollerekhez képes, a mikrokontrollerek is nagy teljesítménybéli fejlődésen mentek át, néhány éve még elképzelhetetlen volt, hogy mesterséges neurális hálót futassunk egy egyszerű mikrokontrolleren. De a technológia eleget fejlődött, hogy lehetővé tegye.
Teszteltem, hogy hogyan lehet mesterséges neurális hálót futtatni mikrokontrollereken, végig néztem a lehetőségeket. A mikrokontrollerek limitált memóriával rendelkeznek, ézért az egyik legfontosabb kérdés a következő: Mégis mennyi memória szükséges az egyes megoldásokhoz? Ha azonban csökkentjük a méretet, mennyit kell feláldoznunk a hatékonyságból?
Az dolgozatomban ezekre a kérdésekre választ fogok adni. Kifejtettem különböző speciális mérési eredményeit a jól ismert mélytanuló algoritmusoknak, mint például a TensorFlow, és megmértem és összehasonlítottam, hogy mennyi hatékonyság veszett oda a mikrokontrollerre optimalizált verzió használatával. Adatokat szolgáltatok arról, hogy az egyes megoldások mennyi memóriát használnak fel és hatással voltak-e a sebességre akár negatív, akár pozitív irányba.
szerző
-
Horváth Márton Áron
Villamosmérnöki szak, alapképzés
alapképzés (BA/BSc)
konzulens
-
Dr. Fehér Gábor
Egyetemi docens, Távközlési és Mesterséges Intelligencia Tanszék