Hahmontunnistus

**Hahmontunnistus** () on koneoppimisen osa-alue, jonka tavoitteena on kehittää datasta malleja tai kaavoja tunnistavia järjestelmiä. Hahmontunnistusta sovelletaan muun muassa tietotekniikassa ja robotiikassa, mutta myös lääketieteessä sekä ihmisen ja koneen vuorovaikutuksen tutkimuksessa. 

Tieto- ja sähkötekniikan tutkijoiden yksi ensimmäisistä laajasti tutkituista tutkimuskysymyksistä oli kuvista tehtävä kohteidentunnistus, esimerkiksi kasvojen etsiminen kuvasta, ja siksi "hahmo" (engl. *pattern*) yleistyi terminä tieteellisissä artikkeleissa. Kohteentunnistuksesta ja muista vastaavista tutkimusongelmista alettiin käyttämään nimeä hahmontunnistus. Hahmo viittaa kuvissa toistuvaan muotoon, joka oppimalla pystytään tunnistamaan sama muoto uusista kuvista.  

Käytännön esimerkkejä hahmontunnistuksen sovelluksista ovat esimerkiksi puheen automaattinen tallentaminen tekstiksi, kirjasta skannatun tekstin siirtäminen tekstinkäsittelyohjelmaan, ihmisten kasvojen tunnistaminen tai roskapostien tunnistaminen saapuneiden sähköpostien joukosta. 

Hahmontunnistuksen menetelmät ovat laajasti käytössä tietokonenäössä, äänen ja puheen analyysissa, luonnollisen kielen prosessoinnissa ja robotiikassa, joilla aloilla niitä myös kehitetään.

## Hahmontunnistusjärjestelmä
Perinteinen (2010-luvulle asti) hahmontunnistusjärjestelmä määritellään nelivaiheisena prosessina:
* mittaus (esim. kameran kuva)
* esikäsittely () (esim. kohinan poisto ja arvojen normalisointi)
* piirreirrotus () (esim. Local Binary Pattern tai Gabor-piirteiden laskenta kuvasta)
* luokittelu ()

Ensimmäisessä vaiheessa hankitaan tarvittava data, pääsääntöisesti mittaamalla fyysisiä suureita ja muuntamalla näin saatu analoginen data digitaaliseen muotoon. Toisessa vaiheessa data esikäsitellään, usein erilaisin digitaalisen signaalinkäsittelyn keinoin, kuten suodatus tai pääkomponenttianalyysi. Kolmannessa vaiheessa esikäsitelty mittausdata kuvataan piirreavaruuteen. Tässä vaiheessa datan voidaan tietyssä mielessä katsoa muuttuvan informaatioksi. Neljännessä vaiheessa piirreavaruuteen kuvatut näytteet luokitellaan kahteen tai useampaan luokkaan käyttäen luokitinta.

Vuodesta 2012 vallitsevaksi lähestymistavaksi tuli ns. syväoppiminen (engl. deep learning), jossa piirreirroitusta ei tehdä enää erikseen vaan ongelman kannalta oleelliset piirteet opitaan datasta samalla kun opitaan luokittelu.

## Hahmontunnistusmentelmien luokittelu
Hahmontunnistusmenetelmät voidaan jakaa kolmeen luokkaan, jotka ovat tilastollinen hahmontunnistus, syntaktinen hahmontunnistus ja neuraalinen hahmontunnistus. Näistä tilastollisessa hahmontunnistuksessa oletetaan, että etsittävällä hahmolla on tilastollinen jakauma kussakin luokassa, joihin kyseisen piirteen avulla halutaan luokitella. Syntaktinen hahmontunnistus olettaa vastaavasti, että on olemassa jokin rakenne, jonka perusteella luokittelu voidaan tehdä. Neuraalinen hahmontuunistus on näistä kolmesta menetelmästä uusin ja se on käytännössä epälineaarinen regressiomalli, joka osaa itsenäisesti kaivaa datasta olennaiset piirteet ja muodostaa näiden välille monimutkaisia riippuvuussuhteita.  

## Katso myös
* Suomen hahmontunnistustutkimuksen seura
* Konenäkö

## Lähteet

## Aiheesta muualla

* Suomen hahmontunnistustutkimuksen seuran verkkosivut 
* https://www.journals.elsevier.com/pattern-recognition-letters
* https://www.journals.elsevier.com/pattern-recognition