Automaattinen lintujen tunnistamisjärjestelmä
Lintuliikehdinnän seurantaa merituulipuistossa
Miten lupavaatimuksissa vaadittu lintujen seuranta järjestetään tuulipuistoissa? Miten eri lintulajit kyetään erottamaan toisistaan? Onko automaattinen lintujen tunnistus mahdollista? Voidaanko kehitetty seurantajärjestelmä varustaa automaattisella tunnistuksella?
T
ahkoluodon merituulipuiston ympäristöluvassa edellytetään, että lintujen käyttäytymistä seurataan tuulimyllyjen läheisyydessä. Tällä menettelyllä pyritään dokumentoimaan mahdollisia törmäyksiä lintujen ja tuulimyllyjen lapojen välillä. Ihmisvoimin toteutettava seuranta olisi kuitenkin paitsi kallista myös todennäköisesti pitkällä aikavälillä melko tehotonta. Ympäristöluvassa on vielä erikseen nimeltä mainittu merikotka ja selkälokki. Merikotka saattaa tuntua itsestään selvyydeltä, mutta miksi selkälokki? Vastaus on, että Suomessa pesivä selkälokin alalaji ei pesi juuri missään muualla, ja on sitä tituleerattu myös kaikkein suomalaisimmaksi linnuksikin. Joka tapauksessa ratkaisu ongelmaan on automaattinen seurantajärjestelmä, josta seuraa välittömästi uusi ongelma: miten pystytään tunnistamaan vaikkapa nuo mainitut lintulajit automaattisesti?
Mistä linnut tuntee Yleisesti ottaen meillä ei ole muuta mahdollisuutta tunnistaa lintuja kuin tarkastella niiden väritystä, kokoa ja muotoa. Toki lintujen ääntelyä voidaan myös hyödyntää, mutta linnut eivät ääntele jatkuvasti, ja sekä ääntelyaktiivisuudessa että äänen voimakkuudessa on isoja eroja eri lajien vä-
14
Säikeitä
lillä. Koko ei sen sijaan ole läheskään niin hyvä tuntomerkki kuin asiaan vihkiytymättömänä voisi kuvitella. Jos sopivaa vertailukohdetta ei ole, mieluummin vielä samassa kuvakentässä, koon arviointi on erittäin hankalaa. Jos unohdamme myös äänipuolen ja keskitymme vain linnun väriin ja muotoon, huomaamme itse asiassa analysoivamme aivoissamme silmien tuottamaa kaksiulotteista kuvaa. Lintujen tunnistaminen siis perustuu suurimmaksi osaksi niiden värityksen eroihin eri puolella höyhenpukua, ja muotoon: esimerkiksi merikotkan lentosilhuetti on kovasti erilainen kuin vaikkapa kurjen. Automaattiseen järjestelmään tarvitsemme kuvia linnuista ja tässä tapauksessa nimenomaan lentävistä linnuista. Otetaan siis käyttöön järjestelmäkamera teleobjektiivilla varustettuna ja lähdetään kuvaamaan lintuja.
Kamera kuvaa – tekoäly tunnistaa Koska emme aio viettää koko aikaamme tunnistaen lintuja valokuvista, tarvitaan jokin muu toimija, joka kykenee siihen. Erilaiset tekoälysovellukset ovat osoittautuneet erittäin tehokkaiksi, kun tehtävänä on valokuvissa esiintyvien erilaisten objektien erottaminen toisistaan - tarvitsemme siis tekoälysovelluksen. Niitä ei kuitenkaan - ainakaan vielä - saa ihan tuosta vain kaupan hyllyltä, joten se on itse koodattava. Lisäksi tekoäly vaatii koulutusdataa eli valokuvia. Tämän johdosta vietinkin useamman kuukauden eri vuodenaikoina Porin Tahkoluodossa kuvaten lintuja lennossa eli tuottaen koulutusdataa kehitettävälle tekoälylle. Tekoäly (Artificial Intelligence) ei terminä ole ehkä se kaikkein osuvin, joten siirrytään käyttämään termiä koneoppiminen (Machine Learning), joka kuvaa paremmin sitä, mistä on
kyse. Koneoppimisen metodeilla ja algoritmeilla pystytään löytämään valokuvista ne piirteet, joiden perusteella eri lintulajit on mahdollista erottaa toisistaan. Tutkimuksessa käytetty metodi (konvoluutioverkko, convolutional neural network) ja sen toteuttamiseen juuri tässä työssä kehitetyt algoritmit tuottavat piirrekarttoja (feature map), joiden perusteella varsinainen luokittelu eli linnun tunnistus tehdään. Näitä karttoja voidaan myös tulostaa samaan tapaan kuin mustavalkokuvan vedostuksessa. Kyseessä ei kuitenkaan ole valokuva, vaikka se siltä näyttääkin, vaan kyse on piirrekartan visualisoinnista, josta näkee miten paljon painoa algoritmi antaa linnun höyhenpeitteen eri osille. Mitä suurempi painoarvo, sen isompi merkitys kyseisellä painolla on lopullisessa luokittelussa. Visualisoinnissa suurimmat painot ovat täysin valkoisia tai täysin mustia. Harmaat alueet ovat painoarvoltaan nollan arvoisia.
Kuva 1. Merilokkikuvasta tuotetun 16 piirrekartan visualisointi. Kuvista on nähtävissä, miten kehitetty algoritmi pitää tärkeimpinä piirteinä pään ja nokan aluetta sekä siipien kärkiä. Juuri nämä piirteet ovat niitä, joilla merilokki voidaan erottaa selkälokista.