Kirjolohen hahmontunnistus ja painon ennustaminen konenäöllä

Johdanto

Hankkeen taustaa
Missä mennään konenäön hyödyntämisessä muualla maailmassa?

Tutkimuskysymys: Voidaanko edullisemmilla laitteilla saavuttaa riittävä tarkkuus kalojen ja kalaparvien painon ja muiden ominaisuuksien mittauksessa panostamalla laitteiston sijaan tekoälyyn?

Opetettu neuroverkko kykenee arvioimaan kalaparven keskipainon ja hajonnan kaupan hyllyltä löytyvän muutaman satasen kameran videoista

Tekoälyllä ”boostattu” kalankasvatus: datan keruu ja eri toimintojen optimointi (ruokinta, käyttäytyminen, terveystilan tarkkailu...).



Tiedon tulkinta kuvista
Konenäköjärjestelmien suosio on kasvanut 2010-luvulla. Syitä tähän on muunmuassa:

  • työvoiman kallistuminen ja saatavuus
  • kameroiden kehittyminen ja niiden edullisuus
  • ohjelmien helppo saatavuus ja käyttö (avoin lähdekoodi)




Näkö on ihmisen tärkein aisti
Kone voidaan opettaa tekemään havaintoja ympäristöstä:

- Datan syöttö ohjelmaan (esim. video; 120 kuvaa/ sekunti)
- Hahmontunnistus
- Mittaus
- Tilastollinen mallinnus (esim. kalan painon ennustaminen)



Koneen opettaminen
Kuvan muuttaminen koneen kielelle eli lukujonoiksi (0,5,2,51...). Lukujonot muodostavat piirteitä, joista kone hahmottaa kalan eri osat. Kone laskee piirteille painoarvot, joita säätämällä oppiminen tapahtuu --> 62 milj. parametrin optimointi vs. 130 milj. näköön erikoistunutta solua, jotka siirtävöt tietoa aivoille.




Opetusaineistot
Koneen opettamiseen käytettiin yhteensä noin 35 000 kuvaa kirjolohesta ja kuvia vastaavien pisteiden koordinaatteja. Kuvista 8 000 on täysin synteettistä. Koneen opetuksen kesto oli 2-3 päivää. Kuvista noin 300 oli uniikkeja.





Koneen havaintojen vahvistaminen (validointi)
Mittauksen luotettavuuden parantamiseksi jokaista koneen tekemää kalatunnistusta validoitiin erikseen. Analyysistä suodatettiin kuvat, joissa:

- kala on väärässä asennossa
- kalan ääriviivat eivät ole selkeitä
- kalaa ei ole kuvassa ollenkaan


Jokaiselle tunnistukselle ennustettiin todennäköisyys kuulua luokkaan ”1” = hyväksyttävä tunnistus.




Mallikuva ja selitykset





Tutkimuksen aineisto
- 77 kalaa, joista 0,5 5 min video ja käsin määritetyt mitat:

  • A-D (Kuono - pyrstöeväntyvi)
  • B-D (Selkäeväetu-pyrstöntyvi)
  • B-F (Selkäeväetu-vatsa)
  • A-E (Kuono-peräeväntyvi)
  • A-C (Kuono-rasvaeväetu)

- Kirjolohen tunnistus (Mask RCNN-algoritmilla)
- Pisteiden (A-F) ennustus ja kalan asennon tarkistus (VGG19 konv. Neuroverkko)
- Painon ennustaminen koneen määrittämistä mitoista (backprop NN)

Kuvauslaitteisto
- Kaksi "GoPro Hero 3+ Black Edition"- kameraa
-
GoPro Dual Hero System:
  • kotelo vesitiivis 30 metrin syvyyteen
  • kameroiden synkronointi

- Käytetty resoluutio 1280x720
- Kuvataajuus 120 kuvaa/sek (120 fps)

Tietojen keräys
Kalat kuvattiin yksitellen. Kalojen mittaus ja punnitus suoritettiin kuvauksen jälkeen. Saatiin synkronoidut videot ja mitat kalasta, jonka jälkeen synkronoiduista videoista haettiin vastinpisteitä.



Kalan mittojen laskenta kuvasta
3D-mittauksessa määritettyjen pisteiden (A-F) xyzkoordinaateilla laskettiin mitat kaloille. Mittoja saatiin tyypillisesti noin 10 300 kuva-freimistä (muutama sekunti). Mittojen ääripäät poistettiin ja painon ennustukseen valittiin mittausten mediaani.




Konenäön mittavirhe
Keskimääräinen ero ihmisen ja koneen välillä noin 2-4 cm:
  • Suurin virhe pituudessa (A-D)
  • Pienin virhe kuono-peräevä ja kuono-rasvaevä mitassa

Mittavirhettä aiheuttaa kalan piirteiden katoaminen sakeassa vedessä (kalojen hikoilu ja limaneritys sammiossa).




Satunnaisesti valitun kalan painon ennustus
Painoa ennustettiin kuudella koneen arvioimalla mitalla. Tulokset ristiinvalidoitiin 25- kertaisesti siten, että kalat jaettiin
20/80%
-jaolla opetus- ja testiaineistoon. Testiaineistossa oli yhteensä 15 satunnaisesti valittua kalaa.




Painon ennustus 15 kalan joukolle


Konenäön potentiaali?
Kirjolohen painon ennustaminen konenäöllä vaikuttaa lupaavalta. Menetelmän validointi edellyttää suurempaa
videoaineistoa ja koneälyn opetusmateriaalia.

Painon ennustaminen kalan pinta-alasta, tai suoraan ennustetuista koordinaateista?

Parven painojakauman mittaaminen?


Lähde ja lisää aiheesta:
Kirjolohen hahmon tunnistus ja painon ennustaminen konenäöllä.pdf

Peda.net käyttää vain välttämättömiä evästeitä istunnon ylläpitämiseen ja anonyymiin tekniseen tilastointiin. Peda.net ei koskaan käytä evästeitä markkinointiin tai kerää yksilöityjä tilastoja. Lisää tietoa evästeistä