4 minute read

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

Advertisement

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ä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.

Tässä tutkimuksessa kehitettiin myös ohjelmisto kameran etäohjaukseen, mutta se ei vielä riitä, sillä sen lisäksi tarvitaan tieto siitä, missä päin taivasta lintu lentää. Vastaus tähän ongelmaan on tutkajärjestelmä, joka kykenee löytämään linnut taivaalta, kertomaan linnun koordinaatit ja lentokorkeuden sekä mihin suuntaan ja millä nopeudella lintu lentää. Sopiva tutkajärjestelmä löytyi hollantilaiselta valmistajalta. Se kykenee paitsi tuottamaan vaaditut tiedot kameran ohjaukseen myös ohjaamaan tuulimyllyt pysähdyksiin, jos jokin lintu on lentämässä liian läheltä lapoja.

Alkuvaiheessa ajatuksena oli, että suoraan tutkasignaalia tutkimalla lintulajit voitaisiin tunnistaa. Tämä osoittautui hyvinkin pian utopiaksi, sillä tutkavalmistajan taholta kerrottiin, että he ovat tutkineet asiaa jo yli 20 vuotta sekä siviili- että sotilastarkoituksiin eivätkä ole päässeet siinä juuri puusta pitkälle. Tämän vuoksi päädyin nykyiseen järjestelmään, jossa tutkajärjestelmä löytää linnut, kamera kuvaa ne ja koneoppimisalgoritmi hoitaa varsinaisen tunnistuksen. Kamera itsessään ei sisällä minkäänlaista suuntausmekanismia, joten tarvittiin vielä motorisoitu videopää, jota pystytään ohjelmallisesti ohjaamaan. Myös tämä ohjelmisto piti itse kehittää. Tähän tarkoitukseen hankittu videopää ei suinkaan ollut virheetön, eikä sitä voinut edes ohjata siten, että sille olisi vain ilmoitettu esimerkiksi ”siirry 30 astetta oikealle ja 5 astetta ylös”. Kyseisen videopään ohjaus perustui ainoastaan sille syötettyyn ajoaikaan. Kuten jo aikaisemmin todettiin, se ei ollut virheetön, vaan syöttämällä esimerkiksi ajoajaksi kolme sekuntia tai erikseen kolme kertaa yksi sekunti, videopää ei päätynyt samaan asemaan. Tästä ja muista eri mittauksiin liittyvästä epätarkkuudesta johtuen jouduin kehittämään korjauskäyrän tutkalta tuleviin koordinaatteihin. Tämä oli aikaa vievää, koska todellista käyttökelpoista dataa sai vain elävistä kohteista, joita ei voinut komentaa lentämään tietyllä etäisyydellä tiettyyn suuntaan, eikä ennen kaikkea tiettyyn aikaan.

Mihin järjestelmä pystyy

Tällä hetkellä ei ole tiedossa vastaavaa järjestelmää missään päin maailmaa. Kehitetty järjestelmä on ensimmäinen prototyyppi aiheesta ja näin ollen on selvää, että kehitettävää ja pientä viilattavaa vielä riittää, tuotteistuksesta nyt puhumattakaan. Joka tapauksessa järjestelmä kykenee löytämään valtaosan linnuista, jotka lentävät säädetyllä etäisyydellä ja korkeudella sekä tunnistamaan näistä suurimman osan. Vaikeimpia tapauksia löytämisen kannalta ovat linnut, joiden lentorata on kaukana suorasta, mikä johtaa siihen, että lintu ei enää ole tutkan ilmoittamassa asemassa kuvanottohetkellä.

Tunnistamisen kannalta suurimmat ongelmat liittyvät linnun asentoon kuvissa. Lintu voi olla niin hankalassa asennossa, esimerkiksi lentämässä suoraan pois päin, ettei sitä pysty tunnistamaan edes ihmissilmin. Osittainen ratkaisu tähän on useamman kuin yhden kuvan ottaminen kulloisestakin kohteesta, mutta tämäkin jättää vielä joitakin tunnistamattomia tapauksia. Kehitetty algoritmi ei myöskään kykene tunnistamaan mitään sellaista lintua, josta otettuja kuvia se ei ole nähnyt aikaisemmin. Tosin algoritmiin on rakennettu mahdollisuus myös väljempiin määrityksiin, kuten lokkilaji, mustaselkäinen lokki, vesilintulaji, ym. Tämä pienentää jonkin verran sitä mahdollisuutta, että lopullinen luokittelu on tuntematon lintulaji, joka on tuloksena, jos järjestelmä ei kykene tunnistamaan kohdetta.

Kuva 2. Automaattinen lintujen seuranta- ja tunnistamisjärjestel- mä.

JUHA NIEMI Väitöskirjatutkija Tampereen yliopisto (tekniikka), Porin yksikkö

This article is from: