Miten tietokoneet tunnistavat ihmiskasvot?

Tässä blogikirjoituksessa tarkastelemme yksinkertaisesti ja selkeästi periaatteita ja prosesseja, joiden avulla tietokoneet tunnistavat ihmiskasvot.

 

Mitkä periaatteet perustuvat kasvojentunnistukseen?

Olet luultavasti lapsena ainakin kerran pelannut peliä, jossa piti luoda ihmiskasvot. Tässä pelissä valitset ensin kasvojen muodon, sitten kampauksen, silmät, nenän ja suun yksi kerrallaan ja asetat ne kasvoille. Vaihtelemalla eri kampausten, silmien, nenien ja suiden välillä voit luoda haluamasi kasvot. Tietokoneiden tapa tunnistaa ja vertailla kasvoja ei ole juurikaan erilainen. Tietokoneet tunnistavat ja tallentavat kasvonpiirteet; kun uusi kasvokuva syötetään, ne vertaavat sitä tallennettuihin piirteisiin määrittääkseen, kuka henkilö on kyseessä.
Yksi tuore esimerkki helposti saatavilla olevasta kasvojentunnistusteknologiasta on kasvojentunnistussovellus. Nämä sovellukset poimivat ja tallentavat kuuluisuuksien valokuvista tärkeimmät ominaisuudet, kuten kasvojen muodot, silmät, nenät ja suut. Myöhemmin, kun henkilön kasvot tallennetaan kameralla, sovellus poimii kasvonpiirteet samalla tavalla ja vertaa niitä julkkisten tallennettuihin kasvonpiirteisiin tunnistaakseen ja näyttääkseen parhaiten vastaavan henkilön.

 

Miten tietokone tunnistaa kasvot?

Tarkastellaan nyt tietokoneen kasvojentunnistusprosessia. Kasvojentunnistus koostuu neljästä päävaiheesta: syöttö, kasvojen tunnistus, ominaisuuksien erottaminen ja vertailu.
Syöttövaiheessa yksittäinen ruutu valokuvasta tai videosta lähetetään tietokoneelle syöttölaitteen kautta. Yleisesti ottaen, mitä korkeampi syöttölaitteen resoluutio ja mitä suurempi kuvataajuus (FPS), sitä tarkemmin kasvot voidaan tunnistaa. Tämä periaate on samanlainen kuin se, miten hyvänäköinen henkilö voi tunnistaa tarkemmin kaukana seisovan henkilön kasvot.
Kasvojentunnistusvaiheessa järjestelmä tarkistaa ensin, onko syötetyssä valokuvassa tai videossa kasvot. Tätä varten se tunnistaa kasvojen ääriviivat ja tärkeimmät piirteet, kuten silmät, nenän ja suun. Vaikka tällä hetkellä käytössä on useita kasvojentunnistustekniikoita, keskitymme tässä edustavaan Haar-tyyppiseen tunnistusmenetelmään.
Haar-tyyppinen tunnistusmenetelmä hyödyntää Haar-aaltoja. Aalto on yksinkertainen suorakaiteen muotoinen kuvio, joka koostuu mustista ja valkoisista alueista. Näitä mustavalkoisia alueita käytetään tunnistamaan kuvan alueita, joissa esiintyy kirkkauseroja. Soveltamalla erikokoisia ja -muotoisia aaltoja koko syötekuvaan tai -videoon ja säilyttämällä sitten vain ne kohdat, joissa mustavalkoisten alueiden kirkkausero on merkittävä, järjestelmä voi tehokkaasti havaita kasvojen ääriviivat ja tärkeimmät kasvonpiirteet, kuten silmät, nenän, suun ja kulmakarvat. Lisäksi tämä prosessi mahdollistaa myös kasvonpiirteitä koskevien sijaintitietojen poimimisen.
Esimerkiksi silmistä tietoja poimittaessa aallon mustat alueet sijoitetaan vastaamaan suhteellisen tummia alueita, kuten pupillia, kun taas valkoiset alueet vastaavat kirkkaita alueita, kuten ihoa. Näitä kirkkauseroja hyödyntämällä silmien sijainti ja muoto voidaan havaita tehokkaasti.

 

Miten kasvonpiirteet erotetaan?

Kun kasvojentunnistusvaihe on valmis, järjestelmä päättää, siirtyykö se ominaisuuksien erotusvaiheeseen.
Piirteiden erotteluvaiheessa kasvonpiirteet erotetaan, jotta voidaan hyödyntää täysin kasvojentunnistusvaiheessa tunnistettuja kasvojen osia. Toisin kuin kasvojentunnistusvaiheessa, tähän prosessiin kuuluu esikäsittelyvaihe. Koska kasvojen kiertokulma, koko ja valaistuksen voimakkuus vaihtelevat valokuvasta tai videosta toiseen, ne standardoidaan normalisointiprosessin avulla mahdollisimman hyvin. Lisäksi värivalokuvat tai -videot voidaan muuntaa mustavalkoisiksi kuviksi tarpeen mukaan.
Esimerkiksi alkuperäinen valokuva muunnetaan harmaasävyiseksi, sitten vain kasvoalue rajataan ja koon muutetaan tasaiseksi, ja histogrammin tasaus suoritetaan kirkkauden korjaamiseksi. Kasvojentunnistusvaiheessa saatujen kasvonpiirteiden sijaintitietojen avulla kasvonpiirteet erotetaan esikäsittelyn läpikäyneistä valokuvista tai videoista.

 

Miten irrotettuja kasvonpiirteitä käytetään?

Vertailuvaiheessa tiedot näistä uutetuista kasvonosista joko tallennetaan tietokantaan (DB) tai niitä verrataan olemassa oleviin kasvotietoihin parhaan osuman löytämiseksi.
Olemme nyt tarkastelleet tietokonepohjaisen kasvojentunnistuksen prosessia. Vain muutama vuosikymmen sitten ajatus tietokoneesta, joka erottaa ihmiset toisistaan, tuntui kaukana todellisuudesta. Tietokoneiden laitteiston, ohjelmistojen ja tekoälyteknologioiden nopean kehityksen myötä kasvojentunnistusta käytetään kuitenkin nyt laajalti eri aloilla – kuten älypuhelimissa ja kannettavissa tietokoneissa, sekä kulunvalvonnassa, rahoituspalveluissa ja lentokenttien turvallisuudessa. Nykyään teknologia, joka mahdollistaa tietokoneiden tunnistaa ihmiskasvot, ei ole enää tulevaisuuden tarina, vaan siitä on tullut teknologia, joka on luonnollisesti integroitunut jokapäiväiseen elämäämme.

 

Kirjailijasta