3D-maailman kameran ohjaaminen kasvojen paikannuksen avulla
Lamminsaari, Tomi Petteri (2012)
Lamminsaari, Tomi Petteri
2012
Tietotekniikan koulutusohjelma
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2012-12-05
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201301171021
https://urn.fi/URN:NBN:fi:tty-201301171021
Tiivistelmä
Eleiden hyödyntäminen sovellusten käyttöliittymissä on yleistynyt viime vuosina kosketusnäyttöjen ansiosta. Pelikonsoleille on jo usean vuoden ajan ollut tarjolla peliohjaimia, joita ohjataan painikkeiden lisäksi peliohjainta heiluttamalla ja kallistelemalla. Myös käyttäjän vartalon liikkeiden ja asennon tunnistamista käytetään pelikäytössä paljon. Kolmiulotteista grafiikkaa hyödynnetään tiedon visualisoinnissa ja käyttöliittymissä aiempaa enemmän ja tämä lisää tarvetta uusille tavoille tunnistaa käyttäjän tekemiä eleitä.
Tässä diplomityössä tutkittiin menetelmiä käyttäjän pään sijainnin paikantamiseen webkameran avulla ja kuinka tämän sijaintitiedon avulla näytöllä esitettävää 3D-näkymän kuvakulmaa voidaan muuttaa vastaamaan käyttäjän pään liikkeitä. Tavoitteena oli toteuttaa aliohjelmakirjasto, jonka avulla pään paikannus on helposti hyödynnettävissä 3Dsovelluksissa.
Kamerakontrollerin toteutuksessa käytettiin avoimen lähdekoodin OpenCV-kirjastoa, joka tarjoaa kasvojen etsimiseen soveltuvan hahmontunnistusalgoritmin ja suuren määrän toimintoja ihonväristen aluiden rajaamiseksi web-kameran kuvasta. Tässä diplomityössä ajetaan suorituskykytestit sekä hahmontunnistusalgoritmin että värirajauksen suorituskyvylle ja näiden testien perusteella kamerakontrollerin toteutustavaksi valitaan menetelmä, jossa hyödynnetään molempien hyviä puolia. Halutessa paikantaa kasvojen etäisyyttä kamerasta oletetaan, että käyttäjän päähän on kiinnitetty helposti jäljitettävä merkki, joka antaa tarvittavan tiedon etäisyyden laskemiseksi.
Toteutettu kamerakontrolleri yltää hyvässä valaistuksessa halvan kameran ja halvan tietokoneen kanssa noin 15:een kasvojen sijainnin paikannukseen sekunnissa. Heikossa valaistuksessa suorituskyky laskee noin puoleen. Epätasaisen tai muuttuvan valaistuksen kanssa kamerakontrollerin suorituskyky ja paikannustarkkuus heikkenevät huomattavasti ja ajoittain se jopa hukkaa käyttäjän pään sijainnin. Kontrolloiduissa olosuhteissa kamerakontrollerin toimintatarkkuus on tyydyttävä.
Tässä diplomityössä tutkittiin menetelmiä käyttäjän pään sijainnin paikantamiseen webkameran avulla ja kuinka tämän sijaintitiedon avulla näytöllä esitettävää 3D-näkymän kuvakulmaa voidaan muuttaa vastaamaan käyttäjän pään liikkeitä. Tavoitteena oli toteuttaa aliohjelmakirjasto, jonka avulla pään paikannus on helposti hyödynnettävissä 3Dsovelluksissa.
Kamerakontrollerin toteutuksessa käytettiin avoimen lähdekoodin OpenCV-kirjastoa, joka tarjoaa kasvojen etsimiseen soveltuvan hahmontunnistusalgoritmin ja suuren määrän toimintoja ihonväristen aluiden rajaamiseksi web-kameran kuvasta. Tässä diplomityössä ajetaan suorituskykytestit sekä hahmontunnistusalgoritmin että värirajauksen suorituskyvylle ja näiden testien perusteella kamerakontrollerin toteutustavaksi valitaan menetelmä, jossa hyödynnetään molempien hyviä puolia. Halutessa paikantaa kasvojen etäisyyttä kamerasta oletetaan, että käyttäjän päähän on kiinnitetty helposti jäljitettävä merkki, joka antaa tarvittavan tiedon etäisyyden laskemiseksi.
Toteutettu kamerakontrolleri yltää hyvässä valaistuksessa halvan kameran ja halvan tietokoneen kanssa noin 15:een kasvojen sijainnin paikannukseen sekunnissa. Heikossa valaistuksessa suorituskyky laskee noin puoleen. Epätasaisen tai muuttuvan valaistuksen kanssa kamerakontrollerin suorituskyky ja paikannustarkkuus heikkenevät huomattavasti ja ajoittain se jopa hukkaa käyttäjän pään sijainnin. Kontrolloiduissa olosuhteissa kamerakontrollerin toimintatarkkuus on tyydyttävä.