Hoe leer je een robot soorten te herkennen?

19
Hoe leer je een robot soorten te herkennen? Rutger Vos @rvosa

Transcript of Hoe leer je een robot soorten te herkennen?

Hoe leer je een robot soorten te herkennen? Rutger Vos @rvosa

Experts van Naturalis kunnen heel veel soorten herkennen,

maar dat kost veel tijd.

Kunnen we robots leren hoe je dat (in simpele

gevallen) doet?

Wat hebben we nodig?

• Goede voorbeeldfoto’s van soorten • Automatische beeldbewerking • Onderscheidende kenmerken die uit foto’s gehaald kunnen worden

• Robothersenen (“kunstmatige intelligentie”) • Een handige “app” om mee te werken

Voorbeeldfoto’s

“Vrouwenschoentjes” zijn een groep orchideeën met mooie bloemen. Bovendien smaken de knollen lekker: in Turkije en Griekenland worden er drankjes en roomijs van gemaakt.

De Vrouwenschoentjes zijn daarom bedreigd in het wild, en de handel is aan banden gelegd. Het is dus belangrijk dat de douane ze goed kan herkennen.

photos [table]id INTEGER NOT NULLmd5sum VARCHAR(32) NOT NULLpath VARCHAR(255)title VARCHAR(100)description VARCHAR(255)

photos_tags [table]photo_id INTEGER NOT NULLtag_id INTEGER NOT NULL

tags [table]id INTEGER NOT NULLname VARCHAR(50) NOT NULL

photos_taxa [table]photo_id INTEGER NOT NULLtaxon_id INTEGER NOT NULL

taxa [table]id INTEGER NOT NULLrank_id INTEGER NOT NULLname VARCHAR(50) NOT NULLdescription VARCHAR(255)

ranks [table]id INTEGER NOT NULLname VARCHAR(50) NOT NULL

Onze database van voorbeeldfoto’s We gebruiken Flickr om samen onze database bij te kunnen houden. Met trefwoorden bij elke foto geven we aan tot welke soort (en geslacht, en familie, enz.) de bloem in de foto behoort.

Foto’s automatisch voorbewerken

b)a)

Wij kunnen zien waar de bloem zit in de foto en kunnen de rest negeren. Een computer

kan dat niet, dus je moet alles wat niet belangrijk is weghalen.

Wat is een “pixel”?

b)a)

Een pixel mengt drie kleuren, uitgedrukt in getallen: •  Rood (114/255) •  Groen (110/255) •  Blauw (33/255) Een digitale foto

bestaat uit duizenden “pixels”

Kenmerken waar een robot iets mee kan

Horizontal bin

Mean C

olo

ur

Inte

nsity

050

100

150

200

250

Vertical bin

Mean C

olo

ur

Inte

nsity

050

100

150

200

250

Een robot ziet geen bloem. Een robot kan alleen iets met getallen. We moeten de bloem dus omzetten in getallen die kenmerkend zijn voor de soort. We doen dat door de foto in 50 horizontale en 50 verticale “plakjes” te snijden en voor elke plakje het gemiddelde van de pixelwaardes (R,G,B) te nemen.

Neurale netwerken: robothersenen

Soortherkenning door neurale netwerken

Horiz

ontal bin

Mean Colour Intensity

050100150200250

Vertic

al bin

Mean Colour Intensity

050100150200250

Waarneming

Nadenken

Beslissing

Cypripedium wardii

Cypripedium tibeticum

De “app”

We hebben een website ontwikkeld waarmee je op een makkelijke manier gebruik kan maken van dit systeem, zowel op de computer als op je telefoon.

We noemen het OrchID

Zo ziet het er uit:

Hoe past het allemaal in elkaar? a) Reference image management

b) Image analysis and ANN training

c) Out-of-sample classification

Training photos

Cloud store Annotate

Local file

store

Local metadata

store

Extract features

Generate code-words

Training data

ANNs Evolutionary optimization

Pre-process

Classification

Query data

Query photo

OrchID web application

AI::FANN::Evolving

NBClassify

ImgPheno

Flickr API

Participating modules

Om flexibel te kunnen ontwikkelen is dit project opgebouwd uit onaf-hankelijke modules: •  Bijhouden van

voorbeeldfoto’s •  Foto’s automatisch

voorbewerken •  Beheren van de robots •  Evolueren van robots •  Classificatie van

onbekende foto’s Dit project is “open source”, geschreven in Python, en beschikbaar op github.com/naturalis

Wat moet er nog gebeuren?

•  We willen dit systeem testen op andere groepen. Als eerste gaan we dit doen voor Javaanse vlinders.

•  Waarschijnlijk moeten we dan andere kenmerken ontwikkelen, bijvoorbeeld om stippen te herkennen.

•  We willen een app maken die ook echt in de app store voor iPhones en Androids te vinden is.

Vlinders uit de collectie Van Groenendael. Verzameld in de jaren ‘30 in Java (toen dus in “Nederlands-Indië”). Hier hebben we er heel veel van.

Doe je mee? Je kan je stage doen bij

Naturalis: [email protected]

Ons team

Patrick Wijntjes maakte de app

Serrano Pereira deed het rekenwerk

Barbara Gravendeel weet alles van orchideeën

Meedenkers: •  Thibaut De Meulemeester •  Leni Duistermaat •  Arjan Gittenberger •  David Heijkamp •  Youri Lammers •  Peter van Welzen

Bedankt voor jullie aandacht! Contact: [email protected] @rvosa (twitter)