Kasvontunnistuksesta on tullut kaikkien käytettävissä olevaa hyllytavaraa. Kasvojen etsintä kuvasta, henkilön tunnistus, sukupuolen selvittäminen, ikä tai jonkin muun kasvonpiirre – etsi vain tarkoitukseesi sopiva valmispalvelu, ja ryhdy käyttämään ominaisuutta.

Suoraan hyllystä

Kasvontunnistus on klassinen esimerkki teknologiasta mahdollistajana. Kymmenen vuotta sitten kasvoja tunnistava tietokoneohjelma olisi ollut tieteisfantasiaa. Nyt se on vain kirjasto jota käytät ohjelmassasi, docker-kontti palvelimellasi tai palveluna kutsuttava API-rajapinta. Kasvontunnistus voidaan ottaa käyttöön vanhoissakin ohjelmissa, tai käyttää apuna täysin uuden sovelluksen toteutuksessa.

Kasvontunnistus ilmestyi ensimmäisenä kamera- ja kuvagalleriaohjelmistoihin. Kännykän kamerat oppivat tarkentamaan automaattisesti kuvassa oleviin kasvoihin, sekä säätämään valoituksen tämän mukaan. Kuvagalleria-sovellukset ryhtyivät pyytämään sinua nimeämään kuvista löytyvät kasvot. Muutaman esimerkin jälkeen sovellus alkoi itse ehdottamaan nimiä löytämilleen kasvoille. Lopputulos: Voit hakea kuvia henkilöiden perusteella.

Seuraavaksi kasvonpiirteiden etsintä löysi tiensä lasten some-sovelluksiin (Snapchat taisi olla ensimmäinen?). Ohjelma osasi etsiä kuvasta silmien, suun sekä korvien sijainnin, sekä tunnistaa kasvojen ääriviivat. Tämän jälkeen sovellus leipoi käyttäjälle pupun korvat, koiran kuonon tai vaikkapa hassut silmälasit. Samaa toiminnallisuutta hyödyntävät myös ns. face swap – sovellukset.

Jonossa odottavat jo vuoroaan hieman älykkäämmät ostoskeskusten mainostaulut. Nämä ohikulkijoita kameralla kuvaavat, pienellä tekoälyllä varustetut mainosnäytöt tunnistavat ensin mainosta katselevan henkilön sukupuolen ja ikäryhmän. Tämän jälkeen taulu valitsee kohderyhmälle sopivan mainoksen. 25-30 vuotiaat naiset näkevät shampoo- tai hiusvärimainoksen, teinipojille tarjotaan Zero Colaa. Vähän pidemmälle vietynä: “Hei sinä – näyttää siltä että tarvitset parturia!

Joissain tapauksissa kasvontunnistusta käytetään jopa käyttäjän tunnistamiseen, kuten puhelimen lukituksen avaukseen, kirjautumaan  tietokoneeseen, tai salliakseen pääsyn rajatulle alueelle. Tämä on toki tehtävissä, mutta en suosittele koskaan kasvontunnistusta ainoana menetelmänä käyttäjän tunnistamiseen. Kasvontunnistus voi olla osa monivaiheista käyttäjän tunnistamista, mutta ei koskaan ainoastaan yksin käytettävä menetelmä.

Millon kasvontunnistus epäonnistuu?

Teknologia ei koskaan ole täydellistä. Tekoälyä ei ole tarkoitettu totuuksien tuottajaksi, vaan sen tehtävä on antaa hyviä tilastollisia keskiarvoja, sekä laskennallisia arvioita. Jos suhtaudut AI-apureihisi tällä tavalla, olet oikeilla jäljillä. Jos et – varaudu pettymään rankasti.

Kasvojen etsintäalgoritmi saattaa löytää kasvot vaikkapa t-paidan selkäpuolelta (tätä kutsutaan false positive – löydöksi). Tai toisinpäin: Se ei löydä kuvassa olevia kasvoja (false negative). Samoin tunnistus voi väittää henkilön X olevan Y (false positive), tai jättää tunnistamatta koulutusaineistosta löytyvän henkilön (false negative). Miksi näin käy?

Kuvat ovat vain kuvia

Kokeile itse: Voitko varmuudella tunnistaa kuvan henkilön seuraavissa tilanteissa:

  • Valaistusolosuhteet: Päivänvalo, hämärä tai yö. Spotti, etuvalo tai taustavalaistus. Luonnonvalo, varjot, sumu. Sisävalaistus. Yli- tai alivalotettu kuva.
  • Kuvakulma: Vasen tai oikea profiili – tai jotain siltä väliltä, ylhäältä tai alhaalta päin otettu kuva.
  • Sama henkilö kymmenen vuotta vanhempana/nuorempana. Eri hiustyyli, vahva meikki, viikset/parta, hattu tai huivi, hiukset silmillä, aurinkolasit?
  • Matalaresoluutioinen kuva, kuten valvontakameroissa: Henkilön kasvot vain vajaan kymmenen pikselin kokoinen, luultavasti mustavalkoisena?

Minä en ainakaan pysty. Mikäli tunnistaminen on mahdotonta ihmiselle, todennäköisesti konekaan ei selviydy tehtävästä.  Kun kone pystyy yhtä hyvään suoritukseen kuin ihminen, koneen sanotaan olevan “ihmisen tasolla” (in par with human). Tietokoneella on kuitenkin yksi etu puolellaan: Kone voidaan opettaa tunnistamaan paljon enemmän ihmisiä, kuin itse ehdimme eläessämme tapaamaan. Teoriassa henkilöiden määrälle ei ole ylärajaa. Tarinan opetus? Kerää mahdollisimman monta hyvälaatuista kuvaa tunnistettavista henkilöistä eri kuvakulmista kontrolloidussa valaistuksessa. Kasvojen piirteet tulisi olla selvästi näkyvillä (ei tukka silmillä jne.). Hyvä mielikuva on ajatella passikuvaa, mutta  useasta kuvakulmasta. Koulutusaineiston lisäksi järjestä olosuhteet niin, että kuva josta tunnistus on tarkoitus tehdä on yhtä hyvälaatuinen kuin koulutusaineiston kuvat.

Painotettu koulutusaineisto

Suosituimmat kasvontunnistusalgoritmit suosivat valkoisia miehiä. Tunnistustarkkuus on heikompi naisilla, aasialaisilla, tummaihoisilla ja muilla etnisillä vähemmistöillä. Toistaiseksi paras selitys asialle on se, että tunnistusta tekevät neuroverkot on koulutettu painotetulla aineistolla. Syy on helppo ymmärtää: Parhaat julkisesti saatavilla olevat algoritmit ovat jättiläisten kuten Facebookin kouluttamia. Mallien koulutukseen on käytetty kuvia, jotka sinä ja ystäväsi olette ladanneet Facebookiin, WhatsAppiin ja Instagramiin. Jos ajattelet käyttäjien demografista jakaumaa näissä palveluissa, on helppo todeta että se ei edusta todellista maailmaa. Ainoastaan sitä kuplaa jossa me elämme.

Tunnistuksen huijaaminen

…on varsin helppoa. Perusmuotoista kasvojentunnistusta huijataan näyttämällä valokuva ihmisestä. Hieman kehittyneemmät tunnistimet käyttävät kolmiulotteisia kasvokuvia, joita vastaavasti huijataan tekopäillä. Lisäksi koko tunnistus pyritään vesittämään estämällä kasvojen löytyminen kuvasta. Kasvomaalaukset, meikit, hatut, huivit jne. ovat toimivia keinoja tähän. Tiedemiehet pyrkivät luonnollisesti jatkuvasti kehittämään huijauksista selviäviä algoritmeja.  Kyseessä on jatkuva kissa ja hiiri – leikki. Turvallisin lähtökohta on odottaa huijauksia tapahtuvan.

Jos laatu on näin huono, miksi sitä käytetään?

Koska useimmissa käyttötapauksissa epätarkkuuksilla ei yksinkertaisesti ole väliä. Jos kasvontunnistimesi tunnistaa 95% oikein lentokentän portista kulkevat ihmiset, tämä lisää turvallisuutta ja vähentää käsityötä. Jos puhelimesi ei ensimmäisellä yrittämällä tunnista sinua, vaihda hieman kuvakulmaa tai valaistusta ja yritä uudelleen. Jos kameraohjelmasi tarkentaa sekunniksi väärään kohteeseen, ja korjaa tilanteen kun valaistus paranee – ei mitään väliä. Jos mainostaulu tunnistaa sukupuolesi tai ikäluokkasi kerran kymmenestä tapauksesta väärin, ja näyttää sinulle toiselle kohderyhmälle tarkoitetun mainoksen – haittaako? Tätä radio ja TV tekevät kuitenkin koko ajan.

Yksinkertaistaen: Yritä uudelleen (toivottavasti) paremmalla kuvalla, tai käytä useampaa kuvaa tunnistukseen. Jos tarkkuus on edelleen huono, näytä koneälyn löytämät tulokset, ja anna ihmisen tehdä lopullinen päätös.

Mitä tulossa seuraavaksi?

Kaikki edellämainittu soveltuu myös videoiden analysointiin. Video on kuitenkin sarja kuvia aikajärjestyksessä. Kuka esiintyi videossa, ja missä kohdassa. Minkä ikäisiä henkilöt olivat? Mies vai nainen? Lisää vielä mukaan puheesta tekstiksi – käännös: Kuka puhui ja milloin? Saat samalla myös tekstityksen videoosi. Videoiden analysointi ottaa hieman enemmän konetehoa (kuinka monta kuvaa sekunnissa * videon pituus), mutta juuri tämän kaltaisia käyttötapauksia varten pilvi on olemassa.

Tulossa ovat myös sovellukset, joiden avulla voit testata selfie-kuvasta miltä juuri nuo silmälasin pokat näyttäisivät päässäsi, tai mikä huulipuna sopii juuri sinulle.

Kasvontunnistusta käytetään myös kehittämään ihmisen ja koneen välistä vuorovaikutusta. Ensimmäisenä tulee mieleen juuri suosituksi tulleet automaattiset aulojen vastaanottoterminaalit (tai resparobotit), jotka voisivat hyvin tunnistaa sinut kasvoistasi ja nopeuttaa sisäänkirjautumista. Robo voisi myös samalla viedä sinut suoraan vierailun isännän luo.

Tulevaisuus on tosiaan juuri nyt. Pidä hauskaa!