Képfeldolgozással segített kezelőfelület tervezése áruautomatához

OData támogatás
Konzulens:
Dr. Tóth Csaba
Méréstechnika és Információs Rendszerek Tanszék

A dolgozatban egy olyan - áruautomatákhoz használható - kezelőfelületet mutatok be, amelynek alkalmazása nem igényli, hogy a felhasználó fizikai kapcsolatba kerüljön az eszközzel. A felhasználó a fejének forgatásával tud terméket választani. A választás állásáról egy LED mátrix ad tájékoztatást számára. A kiválasztás megerősítésére több lehetőséget is be lehet állítani, mint pl.: kézfelemelés, szájtátás, arckifejezés-változtatás, pislogás. Ez után a kamerába mosolyogva a terméket kiadja az automata.

Ehhez egy képfeldolgozáson alapuló, két kamerából, egy PC-ből, egy mikrokontrolleres egységből és egy használt csokoládéautomatából álló rendszert hoztam létre, amely a kameraképek alapján ismeri fel a felhasználó szándékát és ez alapján vezérli az automatát. A számítógépen futó szoftver végzi a feldolgozást az OpenCV keretrendszert használva, valamint ad utasítást a mikrovezérlőnek, amely elvégzi az automatavezérlést.

A két kamera a felhasználó távolságának felmérésére szolgál. Létrehoztam a kalibrációt megkönnyítő programokat, valamint ismertetem a folyamat elméleti hátterét.

A felhasználó arca nagyon fontos információforrás, ezért egy modellt illeszt rá a program, amelynek paraméterei tájékoztatnak az érzelmeiről, fejének orientációjáról, pislogásáról. Több algoritmust is kipróbáltam, létrehoztam különböző adatbázisok alapján saját modelleket, de végül a vizsgált megoldások közül a legjobb illesztési eredményeket adó FaceTracker algoritmust építettem be a rendszerbe.

A modell pontjainak felhasználásához az érzelmek becslésére egy szupport vektor gépet használok. A tanításhoz és a teszteléshez több - kutatási célra ingyenes - annotált arcadatbázist is használtam.

Megvizsgáltam a termékválasztáshoz használható különböző felhasználói interakciók alkalmazásának lehetőségét, különös tekintettel az arcra illesztett modellre és a kézre alapulókra.

Az automatavezérlést megvalósító hardver egy AVR mikrokontroller alapú beágyazott eszköz USB csatlakozással, amely a PC-n futó szoftverrel kommunikál és az automata billentyűzetének gombnyomásait utánozva vezérli azt.

A képfeldolgozást végző programot Qt-ben, C++-ban fejlesztettem LINUX alatt. Ez egy többszálú program, amelyet részben a sok feladat indokol, részben a nagy számításigény. A programot részletes ismertetem a vonatkozó fejezetben, kitérve a felépítésére, teljesítményadataira, adatfolyamára és a telepíthetőségére is.

A fejlesztés során a különböző algoritmusok kipróbálására sok kisebb tesztprogramot hoztam létre. Ezek célját és működését egy-egy képpel illusztrálva mutatom be.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.