next up previous contents
Next: 4. Luokittimien ja oppimisen Up: 3. Konenäkömenetelmien teoriaa Previous: 3.2 Piirreirrotus

3.3 Hahmontunnistus ja luokittelu

Piirreirrotuksen jälkeen piirteille, yhdelle tai useammalle, suoritetaan luokittelu, eli piirteet luokitellaan johonkin kategoriaan tai niiden perusteelle kuvan prosessille annetaan joku arvo. Syötteenä luokittimelle on yleensä useita piirteitä ja siksi puhutaankin piirrevektorista. Luokitinta yleisempänä mallina voidaan pitää oppivaa systeemiä, joka osaa suorittaa kuvauksen syötearvoista eli piirteistä halutuiksi arvoiksi tai luokiksi. Tällaisen oppivan systeemin yhteydessä puhutaan hahmontunnistuksesta ja yleisesti lähestymistavat hahmontunnistukseen on jaettu kolmeen kategoriaan  [32]:
1.
Tilastollinen hahmontunnistus.
2.
Syntaktinen hahmontunnistus.
3.
Neuraalinen hahmontunnistus.
Tilastollinen hahmontunnistus olettaa, että käytetyillä piirteillä on tilastollinen jakauma kussakin luokassa. Irroitettujen piirteiden avulla voidaan laskea todennäköisyys, mihin luokkaan kuva kuuluu ja luokitella se kaikista todennäköisimpään. Syntaktisessa lähestymistavassa oletetaan piirteistä muodostuvan rakenteen, mikä on kullekin luokalle ominainen. Neuraalinen lähestymistapa on tuorein menetelmistä ja se onkin lähinnä epälineaarinen regressiomalli, joka osaa kaivaa itsenäisesti piirteistä tärkeät ominaisuudet ja muodostaa monimutkaisia riippuvuuksia piirteiden luokitteluun. [32]

Yksinkertaisissa sovelluksissa kelpaa luokitin, joka kertoo luokan suoraan syötteenä tulevista piirteistä. Tällainen olisi esimerkiksi yksinkertainen luokitin, jolle tulee kuva liukuhihnasta ja se kertoo kuvan perusteella, onko kuvassa kappale vai ei. Tällöin luokittelu perustuu yksinkertaisesti siihen, löytyykö kuvasta tuotekappaleen piirteet vai ei. Teollisuusprosesseissa yritetään kuitenkin tehdä prosesseista mittauksia ja käyttää niissä hyväksi luokittimia. Tällöin ei aina tunneta tehtyjen mittausten ja saatujen tulosten yhtäläisyyttä. Prosessista saattaa olla useita erilaisia fysikaalisia mittauksia ja lisäksi kuvapiirteitä. Tällaisessa tilanteessa tarvitaan jonkinlainen oppiva järjestelmä, joka löytää assosisaation syötteen ja oikean tulosteen välillä. Luokittimiin hyvin tiiviisti liittyvätkin oppivat ja älykkäät järjestelmät. Oppivan järjestelmän kanssa tarvitaan materiaalia mallinnettavasta prosessista, eli mitattuja tuloksia. Järjestelmälle syötetään materiaali ja kerrotaan, mikä tulosteen kuuluisi olla. Järjestelmä muodostaa approksimaation funktiosta, joka osaa laskea halutun tulosteen syötepiirteiden avulla. On olemassa myös menetelmiä, joissa oppivalle järjestelmälle ei tarvitse kertoa haluttua tulosta, vaan se automaattisesti etsii erilaisia ryhmiä syötteestä. Tällöin puhutaan ohjaamattomasta oppimisesta [32]. Oppimismenetelmiä ja oppimisteoriaa on tutkittu runsaasti ja yksi varsin tuore jako erilaisiin menetelmiin on [21]:

1.
Päätöspuuoppiminen (Decision tree learning).
2.
Neuraali oppiminen (Artificial neural networks).
3.
Bayesilainen oppiminen (Bayesian learning).
4.
Instanssi-perusteinen oppiminen (Instance-based learning).
5.
Analyyttinen oppiminen (Analytical learning).
6.
Vahvistava oppiminen (Reinforcement learning).
Kukin menetelmä on parhaimmillaan jollain tietyllä ongelma-alueella. Näistä menetelmistä tulee valita kulloiseenkin ongelmaan soveltuva ratkaisu. Mitään yleispätevää sääntöä oppimismenetelmän valintaan ei ole, vaan tarvittaessa niitä voi vaikka yhdistää tai käyttää rinnakkain yhtenä menetelmänä, jolloin puhutaan hybridisestä luokittimesta  [21].

Muita huomioonotettavia seikkoja luokittimien suunnittelussa ovat opetusaineiston laatu ja etäisyyden määrittäminen kahden eri luokan välillä. Opetusaineiston pitää olla mahdollisimman laajaa ja sen olisi suotavaa olla tasaisesti jakautunutta koko opetusavaruudessa. Tämä tarkoittaa, että dataa tulisi kerätä tasaisesti koko ongelma-alueen sisältä. Näin mahdollistetaan, että oppiva luokitin saa materiaalia kaikista erilaisista tapauksista, eikä pelkästään yleisimmistä tapauksista. Opetusaineistoon liittyviä käsitteitä ovat dimensio ja kardinaliteetti. Dimensio kuvaa opetusdatan piirteiden määrää eli piirrevektorin kokoa ja kardinaliteetti taas opetusdatan jakaumaa (paljon samankaltaisia arvoja, suuri kardinaliteetti). Ongelmat ja huonot tulokset oppivassa konenäköjärjestelmässä johtuvat usein juuri huonosta datan laadusta tai epäonnistuneesta piirreirrotuksesta (ei ole käytetty oleellisia piirteitä). Luokitinta voi testata erillisellä testausaineistolla, joka on samasta prosessista kuin opetusaineisto, mutta sitä ei ole käytetty opetuksen aikana. Ongelmallista on myös määrittää etäisyys kahden luokan välillä eli kuinka lasketaan piirrevektorin eroavaisuus tai samankaltaisuus, similariteetti, verrattuna toiseen piirrevektoriin. Euklidinen etäisyys ei ole aina sovelias. Ongelmia aiheuttavat erityyppiset piirteet, joista toiset ovat numeroituvia (lämpötilat, pituudet) ja toiset symboolisia ts. nominaalisia (mallit, sanalliset kuvaukset). Jonkinlainen yhtenäistävä ja kelvollinen etäisyysfunktio on aina määritettävä. Erityyppisten piirteiden mittaamiseen yhtenäisen etäisyysfunktion avulla on runsaasti tutkittuja menetelmiä [33].

Selvästikin hahmontunnistus ja luokittelu vaativat kyseisen ongelman syvällisempää tuntemusta ja jonkin verran luovaa pohdintaa. Tällaista ulkoisen tietämyksen osuutta luokitteluun kuvataan sanalla bias  [21]. Biaksella ohjataan oppimista tiettyyn suuntaan ja estetään vääränlaisiin ratkaisuihin päätyminen. Teollisuuden konenäkösovelluksissa ulkonaisen tiedon kerääminen on ensisijaisen tärkeää ja vasta sen jälkeen voidaan lähteä rakentamaan toimivaa häiriösietoista järjestelmää, joka on tarpeeksi luotettava käyttöönotettavaksi. Ongelman ympäriltä tarvitaan toimialaosaamista, jonka avulla osataan irrottaa oleelliset piirteet prosessista, tehdä mittaukset, valita luokitin ja lopuksi testata konenäköjärjestelmän kelvollisuus.


next up previous contents
Next: 4. Luokittimien ja oppimisen Up: 3. Konenäkömenetelmien teoriaa Previous: 3.2 Piirreirrotus
Joni Kämäräinen
1999-12-08