Kasvoja seuraavan näköjärjestelmän toteutus robottipäähän
Pirttiaho, Niko; Räty, Arttu; Virtala, Matias (2020-08-14)
Pirttiaho, Niko
Räty, Arttu
Virtala, Matias
N. Pirttiaho; A. Räty; M. Virtala
14.08.2020
© 2020 Niko Pirttiaho, Arttu Räty, Matias Virtala. Tämä Kohde on tekijänoikeuden ja/tai lähioikeuksien suojaama. Voit käyttää Kohdetta käyttöösi sovellettavan tekijänoikeutta ja lähioikeuksia koskevan lainsäädännön sallimilla tavoilla. Muunlaista käyttöä varten tarvitset oikeudenhaltijoiden luvan.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-202008192811
https://urn.fi/URN:NBN:fi:oulu-202008192811
Tiivistelmä
Työssä kehitettiin robottiin kytketty koneoppimisjärjestelmä, joka käsittelee reaaliajassa kameralta tulevaa videosyötettä. Järjestelmää käytettiin havaitsemaan, jäljittämään ja tunnistamaan ihmisten kasvoja, sekä hallitsemaan kameraa (pään ja silmien suuntaus) tarpeenmukaisella tavalla. Kasvojentunnistukseen hyödynnettiin OpenCV:n Haar-ominaisuuksiin pohjautuvaa kaskadiluokittelijaa. Tunnistettua henkilöä seurattiin suhteessa robotin sijaintiin koordinaatistossa, joka helpottaa tunnistuksien käyttöä ja käsittelyä. Henkilön tunnistamiseen koulutettiin Tensorflow-kirjastoa käyttäen autoenkooderityyppinen neuroverkko, jolla enkoodataan kasvoista helposti muistettava ja matemaattisesti vertailtavissa oleva vektori. Tuotettu kokonaisuus onnistui kohtuullisella tarkkuudella ihmisen silmänliikkeitä imitoiden tunnistamaan ja seuraamaan kasvoja. Kyseessä oli usean kandidaattivaiheen opiskelijan laajempi yhteistyöprojekti, jossa eri ryhmät toteuttavat robotille eri toiminnallisuuksia. Ryhmien tuottamat ominaisuudet yhdistettiin käyttäen ROS (Robot Operating System) -nimistä järjestelmää. In this work we developed a machine learning system for a robot used to process real time video feed of a camera. The system is used to detect, track and recognize faces and control a camera accordingly (head and eye movement). We used OpenCV cascade classifier which uses Haar-features for facial recognition. Recognitions are mapped to a coordinate system relative to the robot which helps the usage and processing of the detections. An autoencoder based solution was trained using Tensorflow-library for facial recognition by encoding an easily mathematically comparable vector from the faces. The produced system was able to imitate human eye movement with reasonable accuracy and track faces. The project was a part of larger collaboration between other bachelor’s degree students on this project course. Each group developed a specific functionality for the robot. All of the functionalities developed by each group were combined using Robot Operating System.
Kokoelmat
- Avoin saatavuus [31657]