SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
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 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.
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
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.
Neurale netwerken: robothersenen
Soortherkenning door neurale netwerken
Horizontalbin
MeanColourIntensity
05010015020
MeanColourIntensity
05010015020
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 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
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:
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
Bedankt voor
jullie aandacht!
Contact: rutger.vos@naturalis.nl
@rvosa (twitter)

Weitere ähnliche Inhalte

Mehr von Rutger Vos

Onderzoek bio-informatica Naturalis. Raad voor Cultuur 2017.
Onderzoek bio-informatica Naturalis. Raad voor Cultuur 2017.Onderzoek bio-informatica Naturalis. Raad voor Cultuur 2017.
Onderzoek bio-informatica Naturalis. Raad voor Cultuur 2017.Rutger Vos
 
Robot eye for the butterfly
Robot eye for the butterflyRobot eye for the butterfly
Robot eye for the butterflyRutger Vos
 
Modeling the biosphere: the natural historian's perspective
Modeling the biosphere: the natural historian's perspectiveModeling the biosphere: the natural historian's perspective
Modeling the biosphere: the natural historian's perspectiveRutger Vos
 
Kunnen we een tomaat van 400 jaar oud proeven
Kunnen we een tomaat van 400 jaar oud proevenKunnen we een tomaat van 400 jaar oud proeven
Kunnen we een tomaat van 400 jaar oud proevenRutger Vos
 
PhyloTastic: names-based phyloinformatic data integration
PhyloTastic: names-based phyloinformatic data integrationPhyloTastic: names-based phyloinformatic data integration
PhyloTastic: names-based phyloinformatic data integrationRutger Vos
 
SUPERSMART pipeline intro
SUPERSMART pipeline introSUPERSMART pipeline intro
SUPERSMART pipeline introRutger Vos
 
Reconstructing paleoenvironments using metagenomics
Reconstructing paleoenvironments using metagenomicsReconstructing paleoenvironments using metagenomics
Reconstructing paleoenvironments using metagenomicsRutger Vos
 
Synthesising disparate data resources to obtain composite estimates of geophy...
Synthesising disparate data resources to obtain composite estimates of geophy...Synthesising disparate data resources to obtain composite estimates of geophy...
Synthesising disparate data resources to obtain composite estimates of geophy...Rutger Vos
 
The Galaxy bioinformatics workflow environment
The Galaxy bioinformatics workflow environmentThe Galaxy bioinformatics workflow environment
The Galaxy bioinformatics workflow environmentRutger Vos
 
Retrieving useful information from connected specimen- and data collections
Retrieving useful information from connected specimen- and data collectionsRetrieving useful information from connected specimen- and data collections
Retrieving useful information from connected specimen- and data collectionsRutger Vos
 
NeXML - phylogenetic data as XML
NeXML - phylogenetic data as XMLNeXML - phylogenetic data as XML
NeXML - phylogenetic data as XMLRutger Vos
 
Vos at NCB Naturalis
Vos at NCB NaturalisVos at NCB Naturalis
Vos at NCB NaturalisRutger Vos
 
Perl for Phyloinformatics
Perl for PhyloinformaticsPerl for Phyloinformatics
Perl for PhyloinformaticsRutger Vos
 
How to make a monkey: functional adaptation in the primate genome
How to make a monkey: functional adaptation in the primate genomeHow to make a monkey: functional adaptation in the primate genome
How to make a monkey: functional adaptation in the primate genomeRutger Vos
 
Phyloinformatics and the Semantic Web
Phyloinformatics and the Semantic WebPhyloinformatics and the Semantic Web
Phyloinformatics and the Semantic WebRutger Vos
 
Bio::Phylo - phyloinformatic analysis using perl
Bio::Phylo - phyloinformatic analysis using perlBio::Phylo - phyloinformatic analysis using perl
Bio::Phylo - phyloinformatic analysis using perlRutger Vos
 
Biohackathon2010 About Me
Biohackathon2010 About MeBiohackathon2010 About Me
Biohackathon2010 About MeRutger Vos
 
TreeBASE CIPRES
TreeBASE CIPRESTreeBASE CIPRES
TreeBASE CIPRESRutger Vos
 

Mehr von Rutger Vos (20)

Onderzoek bio-informatica Naturalis. Raad voor Cultuur 2017.
Onderzoek bio-informatica Naturalis. Raad voor Cultuur 2017.Onderzoek bio-informatica Naturalis. Raad voor Cultuur 2017.
Onderzoek bio-informatica Naturalis. Raad voor Cultuur 2017.
 
Robot eye for the butterfly
Robot eye for the butterflyRobot eye for the butterfly
Robot eye for the butterfly
 
Modeling the biosphere: the natural historian's perspective
Modeling the biosphere: the natural historian's perspectiveModeling the biosphere: the natural historian's perspective
Modeling the biosphere: the natural historian's perspective
 
Kunnen we een tomaat van 400 jaar oud proeven
Kunnen we een tomaat van 400 jaar oud proevenKunnen we een tomaat van 400 jaar oud proeven
Kunnen we een tomaat van 400 jaar oud proeven
 
PhyloTastic: names-based phyloinformatic data integration
PhyloTastic: names-based phyloinformatic data integrationPhyloTastic: names-based phyloinformatic data integration
PhyloTastic: names-based phyloinformatic data integration
 
SUPERSMART pipeline intro
SUPERSMART pipeline introSUPERSMART pipeline intro
SUPERSMART pipeline intro
 
Reconstructing paleoenvironments using metagenomics
Reconstructing paleoenvironments using metagenomicsReconstructing paleoenvironments using metagenomics
Reconstructing paleoenvironments using metagenomics
 
Synthesising disparate data resources to obtain composite estimates of geophy...
Synthesising disparate data resources to obtain composite estimates of geophy...Synthesising disparate data resources to obtain composite estimates of geophy...
Synthesising disparate data resources to obtain composite estimates of geophy...
 
The Galaxy bioinformatics workflow environment
The Galaxy bioinformatics workflow environmentThe Galaxy bioinformatics workflow environment
The Galaxy bioinformatics workflow environment
 
Retrieving useful information from connected specimen- and data collections
Retrieving useful information from connected specimen- and data collectionsRetrieving useful information from connected specimen- and data collections
Retrieving useful information from connected specimen- and data collections
 
NeXML - phylogenetic data as XML
NeXML - phylogenetic data as XMLNeXML - phylogenetic data as XML
NeXML - phylogenetic data as XML
 
Vos at NCB Naturalis
Vos at NCB NaturalisVos at NCB Naturalis
Vos at NCB Naturalis
 
Tree of Life
Tree of LifeTree of Life
Tree of Life
 
Perl for Phyloinformatics
Perl for PhyloinformaticsPerl for Phyloinformatics
Perl for Phyloinformatics
 
How to make a monkey: functional adaptation in the primate genome
How to make a monkey: functional adaptation in the primate genomeHow to make a monkey: functional adaptation in the primate genome
How to make a monkey: functional adaptation in the primate genome
 
Phyloinformatics and the Semantic Web
Phyloinformatics and the Semantic WebPhyloinformatics and the Semantic Web
Phyloinformatics and the Semantic Web
 
Bio::Phylo - phyloinformatic analysis using perl
Bio::Phylo - phyloinformatic analysis using perlBio::Phylo - phyloinformatic analysis using perl
Bio::Phylo - phyloinformatic analysis using perl
 
Biohackathon2010 About Me
Biohackathon2010 About MeBiohackathon2010 About Me
Biohackathon2010 About Me
 
NeXML
NeXMLNeXML
NeXML
 
TreeBASE CIPRES
TreeBASE CIPRESTreeBASE CIPRES
TreeBASE CIPRES
 

Hoe leer je een robot soorten te herkennen?

  • 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.
  • 10. Soortherkenning door neurale netwerken Horizontalbin MeanColourIntensity 05010015020 MeanColourIntensity 05010015020 Waarneming Nadenken Beslissing Cypripedium wardii Cypripedium tibeticum
  • 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
  • 19. Bedankt voor jullie aandacht! Contact: rutger.vos@naturalis.nl @rvosa (twitter)