Guest lecture slides for the bioinformatics student union (Exon) at the university of applied sciences, Leiden, the Netherlands. In this lecture I present the results of a research project at Naturalis Biodiversity Center to identify slipper orchids using image recognition techniques.
1. Hoe leer je een robot
soorten te herkennen?
Rutger Vos
@rvosa
2. Experts van Naturalis kunnen
heel veel soorten herkennen,
maar dat kost veel tijd.
Kunnen we robots leren
hoe je dat (in simpele
gevallen) doet?
3. 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
4. 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.
5. photos [table]
id INTEGER NOT NULL
md5sum VARCHAR(32) NOT NULL
path VARCHAR(255)
title VARCHAR(100)
description VARCHAR(255)
photos_tags [table]
photo_id INTEGER NOT NULL
tag_id INTEGER NOT NULL
tags [table]
id INTEGER NOT NULL
name VARCHAR(50) NOT NULL
photos_taxa [table]
photo_id INTEGER NOT NULL
taxon_id INTEGER NOT NULL
taxa [table]
id INTEGER NOT NULL
rank_id INTEGER NOT NULL
name VARCHAR(50) NOT NULL
description VARCHAR(255)
ranks [table]
id INTEGER NOT NULL
name 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.
6. 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.
7. 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”
8. Kenmerken waar een robot iets mee kan
Horizontal bin
MeanColourIntensity
050100150200250
Vertical bin
MeanColourIntensity
050100150200250
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.
11. 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:
12.
13.
14.
15.
16. Hoe past het allemaal in elkaar?
a) Reference image management
b) Image analysis and ANN training
c) Out-of-sample classification
Training photos
Cloud storeAnnotate
Local
file
store
Local
metadata
store
Extract
features
Generate
code-words
Training data
ANNsEvolutionary
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
17. 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.
18. Doe je mee?
Je kan je stage doen bij
Naturalis:
rutger.vos@naturalis.nl
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