Thesis: Computer vision and face recognition

Felipe Ballester Tomás 2010

Synopsis:

Computer vision is a rapidly growing field, partly because of the affordable hardware (cameras, processing power) and partly because vision algorithms are starting to mature. This field started with the motivation to study how computers process images and how to apply this knowledge to develop useful programs.

The purposes of this study were to give valuable knowledge for those who are interested in computer vision, and to implement a facial recognition application using the OpenCV library. Every effort has been made to define the basic structure of the application as clearly as possible in this study.

The application was designed to work on Windows Systems and it was developed by means of the C++ programming language because of its object-oriented structure and its high performance. The images and other functions were created using the open source OpenCV library. For the implementation of the facial recognition a database was also needed.

The resulting application was able to capture real time images and to realize continuous recognition of faces.

Tiivistelmä:

Tietokonenäkö on nopeasti kasvava tietotekniikan osa-alue, osittain koska laitteet ovat halpoja (kamerat, suoritinten teho) ja osittain siksi, että konenäköalgoritmit alkavat kypsyä. Tämä ala sai alkunsa halusta selvittää, miten tietokoneet käsittelevät kuvia ja kuinka tätä tietoa sovelletaan hyödyllisiä ohjelmia kehitettäessä.

Tämä tutkimus antaa arvokasta tietoa niille, jotka ovat kiinnostuneita konenäöstä ja siitä, miten kasvojentunnistus voidaan toteuttaa käyttämällä OpenCV-kirjastoa. Sovelluksen perusrakenne on määritelty mahdollisimman yksiselitteisesti tässä työssä.

Sovellus on suunniteltu toimimaan Windows-ympäristössä ja se on toteutettu käyttäen C++ ohjelmointikieltä sen tarjoaman oliopohjaisuuden ja suoritusnopeuden vuoksi. Kuvat ja muut toiminnot luodaan avoimen lähdekoodin OpenCV-kirjaston avulla. Kasvojentunnistusjärjestelmän toteuttamista varten oli tarpeen luoda myös tietokanta.

Tuloksena oli ohjelma, joka mahdollistaa reaaliaikaisten kuvien ottamisen ja toteuttaa jatkuvaa kasvojen tunnistamista.