Automaattinen kuva-analyysi syntyy käsityönä ja koneoppimisena
24.05.2012
Visuaalisen informaation määrä kasvaa valtavalla vauhdilla. Televisiokanavien verkkoarkistoissa, kuvapankeissa ja internetin sosiaalisen median kuva- videopalveluissa on miljardeittain kuvia – ja sisältöä tuotetaan jatkuvasti lisää. Jotta aineistoja voisi järjestää ja löytää niistä haluttua informaatiota, kuvien analysointi täytyy automatisoida.
Tietojenkäsittelytieteen laitokselta juuri väitellyt Ville Viitaniemi on tutkinut visuaalisten kategorioiden tunnistamiseen perustuvia menetelmiä kuvien analysoimiseen.
– Kuvien sisältöä voi eritellä ja luokitella lukemattomilla tavoilla. Jotta tietokone osaisi tulkita ja tunnistaa kuvia, ne on hyödyllistä pilkkoa ennalta määriteltyihin kategorioihin, Viitaniemi selittää.
Avointa kuvantunnistustehtävää on yritetty ratkaista käytännössä niin kauan kuin tietokoneita on ollut olemassa. Sen sijaan, että tietokoneelta kysyttäisiin yleisesti, mitä kuvassa on, se kannattaa mieluummin opettaa ratkaisemaan joukko pieniä osatehtäviä, joissa kuvia jaetaan eri kategorioihin. Sopivat kategoriat valitsemalla ja niitä yhdistelemällä voidaan kuvien sisältöä vähitellen kuvata tarkemmin ja tarkemmin.
– Väitöskirjassani etsin kokeellisesti tehokasta järjestelmää visuaalisten kategorioiden tunnustamiseen.
Pilko, tunnista, yhdistä
Yleistä matemaattista mallia kuvien tunnistamiseen ei siis olla toistaiseksi osattu esittää, ja Viitaniemen mukaan sellainen olisi laskennallisesti liian raskas. Ihmisaivoja taas ei tunneta järjestelmätasolla tarpeeksi, että niiden kuvantunnistusmekanismeja voitaisiin imitoida.
– Toistaiseksi ainut toimiva keino on "insinöörilähestymistapa": pitää yrittää järkeillä, mitkä systeemin osat mitenkin järjestettyinä tuottavat kelvollisia tuloksia.
Toimivimman kategoriantunnistusjärjestelmän kolme perusvaihetta ovat piirreirrotus, piirrekohtainen tunnistaminen ja tunnistuksen tulosten fuusio. Väitöksessään Viitaniemi etsi tehokkaimpia tapoja toteuttaa nämä vaiheet.
– Ensin tutkittavasta kuvasta irrotetaan tiettyjä piirteitä, esimerkiksi värejä, tekstuureja ja muotoja. Sitten koneoppimisen menetelmin opetetaan järjestelmä tunnistamaan nuo piirteet kuvista. Kun laskennan myötä joukko piirteitä on tunnistettu, tulokset fuusioidaan yhteen, Viitaniemi tiivistää kuva-analyysin prosessin.
Pussillinen visuaalisia sanoja tukivektorikoneeseen
Piirteiden irrottamiseen kuvista Viitaniemi päätyi pitämään parhaana Bag of Visual Words -menetelmää, eli visuaalisten sanojen pussia. Siinä yhdestä kuvasta valitaan 100–300 merkityksellistä kohtaa, jonka jokaisen ympäristöä kuvataan jollakin piirteellä.
– Ympäristöjen reunaelementeistä tehdään suuntahistogrammi, joka laskee, kuinka monta erisuuntaista reunaviivaa kohdan lähistöllä on. Näin saadaan käyttökelpoinen piirre. Koko kuvaa kuvaava piirre saadaan tarkastelemalla paikallisten piirteiden jakauman statistiikkaa.
Jalostetut visuaalisten sanojen pussit syötetään tukivektorikoneeseen, joka on opetettu tunnistamaan, kuuluuko jokin piirre johonkin tiettyyn kategoriaan vai ei. Tarpeeksi monen piirteen voimin se tietää, onko kuva taivaalla lintu vai lentokone.
– Eri menetelmiä on testattava kokeellisesti, sillä muutama onnistunut tunnistustehtävä ei vielä takaa luotettavaa suorituskykyä. Niin kauan, kun emme osaa imitoida aivojen kuvantunnistusmekanismeja, paras keino on kokeilla ja kokeilla, yrityksen ja erehdyksen kautta.
Lisätietoja:
Ville Viitaniemi
Perustieteiden korkeakoulu
Tietojenkäsittelytieteen laitos
ville.viitaniemi [at] aalto [dot] fi
puh. 050 523 8689
