Tanssi kuin kukaan ei olisi katsomassa - aloittelijan opas kuvantunnistusohjelmien testaamiseen


2018-06-29, 13:15 Kirjoittanut Tomi Palovuori

Kuvista asioita tunnistavat ohjelmat ovat monimutkaisuudessaan vaikeita vertailtavia. Kilpailut, kuten ImageNetin eri kategoriat, antavat tiukat ja mielivaltaiset arvostelukriteerit voittajien valitsemisiksi: saanti, tarkkuus, AUC, IOU, mAP tai jokin muu googlailun vaativa lyhenne. Omaan käyttöön soveltuvuus harvoin peilautuu täydellisesti kilpailujen sijoituksista, vaikka ne antaisivatkin osviittaa. Paras valinta perustuu omiin kriteereihin on kyseessä sitten tehonkulutus, kuvasuhde, viive tai jokin muu ymmärrettävissä oleva suure.

Neuroverkkojen tehonkulutusvaatimus niiden määrää karsivana tekijänä

Neuroverkkojen testaaminen tuli minulle kesätyöjaksoni alkupuolella useammalla tasolla tutuksi.

Osana Innovation Zone-projektia minun piti toteuttaa tehonkulutuksellisesti kevyt neuroverkko, joka tunnistaisi ihmisiä (ainakin toimisto-olosuhteissa). Tämä vaati eri valmistajien, ohjelmien sekä niiden versioiden vertailua keskenään. Rankkuudestaan tunnetujen neuroverkkojen tehonkulutusvaatimus karsi nopeasti sopivien neuroverkkojen määrän kouralliseen, josta kaikkien testaamiseen kuluva aika oli vielä perusteltavissa esimiehistölle.

Karsintaa ja laaja-alaista testausta

Kun kuvantunnistusohjelman on työpisteellään saanut ensimmäistä kertaa päälle, on ihmisten ensimmäinen reaktio heiluttaa kameralle. Tämä voidaan kuvitella joko insinöörimäiseksi laadunvalvonnaksi tarkkailemalla ohjelmiston viivettä sekä liikkeen sumentumista, tai vaihtoehtoisesti tulkita luolamiesmäiseksi tyrmistymiseksi omasta peilikuvastaan.

Kummassakin tapauksessa kuvantunistusohjelmien kirjo on niin laaja, että näinkin lyhyen käytön jälkeen voi suuren osan ohjelmista jo hylätä.

Kun kelvollisten ohjelmien määrän on eliminoinut sormilla näytettäväksi, vaatii niiden arvojärjestyksen määritys laaja-alaisempaa testausta. Tunnistusetäisyyden määritteleminen onnistuu kävelemällä taaksepäin kunnes ohjelma ei saa selkoa tunnistettavasta asiasta tai tietokoneen näytöstä ei saa enää selvää kuljettuaan liian kauas siitä.

Tunnistettavaa asiaa tulee pyöritellä kameralle, jotta tunnistuksen laatu määrittyy kaikista suunnista. Minun tapauksessani tämä onnistui pienellä venyttelyhetkellä, muutamalla pyörähdyksellä ja Titanicin keulakohtauksen uudelleennäyttelemisellä.

Mitä epäluonnollisempi, sen parempi

Viimeisimpänä täytyy tunnistustarkkuus tarkastaa vielä vaikeista tunnistuksista. Tämä tarkoittaa tunnistusta liikkeestä (kamera sumentaa), tunnistusta huonossa valaistuksessa (ikkunan edestä tai hämärässä) tai tunnistusta, jossa vain osa asiasta näkyy. Tämä voi tarkoittaa sitä, että tunnistettava kukkaruukku viedään ikkunalaudalle ja sen edessä heilutellaan käsiä. Ihmistunnistuksessa taas taiteilija on vapaampi, ja voi paljastaa hämärässä valaistuksessa parhaimmat disco-liikkensä. Mitä epäluonnollisempia liikkeitä ja asentoja muodostaa, sitä enemmän vääriä tunnistuksia ohjelmat antavat, jolloin ohjelmien tarkkuus on määritelty parhaimmalla mahdollisella tavalla. Tieteen kannalta on siis oleellista tanssia kuin kukaan ei olisi katsomassa.

-Tomi Palovuori, Trainee


comments powered by Disqus