Visueel detecteren en herkennen van ongewenste gewassen Robin De Smet
Nicky Vergauwen
25 augustus 2010
ii
Voorwoord Dit eindwerk kon slechts tot stand komen dankzij de medewerking van vele mensen, allereerst willen we on promotor, dr. ir. Toon Goedemé, bedanken om ons te begeleiden tijdens deze uitdagende masterproef. Zijn ervaring en inzicht hebben ons dikwijls vooruit geholpen en nieuwe paden naar oplossingen getoond. Ook willen we hem bedanken voor de inspanning die hij leverde bij het nalezen en verbeteren van deze tekst, elke aanpassing betekende een grote verbetering in de kwaliteit van de tekst. Ook willen we Ive Billiauws en Floris De Smedt bedanken voor hun hulp en inbreng in het onderzoek, ik hoop dat wij met ons resultaat hun onderzoek vooruit geholpen hebben. Ook willen we de Linköping University en het De Nayer instituut bedanken voor de het gebruik van bibliotheek waar we vele waardevolle informatie verzamelden en voor het gebruik van de infrastructuur. Uiteraard willen wij ook onze ouders bedanken, die het mogelijk maakten dat wij deze studies heb kunnen volgen en voor hun steun gedurende al die jaren. Ook onze familie en vrienden willen wij bedanken voor de steun en de plezierige momenten die deze drukke tijd, zeker de laatste maanden, heel wat draaglijker maakten. Keppens bedanken voor het verbeteren van de tekst.
Ook willen we Klaartje
iv
Abstract We zoeken naar oplossing die onkruid kan herkennen en identiceren met een camera zonder gebruik te maken van spectrale informatie en die we kunnen toepassen in precisielandbouw. We onderzoeken de vraag: hoe correct kunnen we ongewenste gewassen identiceren door gebruik te maken van het Active Shape Model. We gaan ervan uit dat we enkel zaailingen, plantjes met vier jongste blaadjes, willen herkennen. Om de werking van het Active Shape Model te onderzoeken hebben we een database aangelegd van enkele veel voorkomende onkruiden in onze streek, op basis van deze afbeelding hebben we enkele trainingsmodellen gekozen. Om de gewassen te lokaliseren hebben we gebruik gemaakt van histogramspreiding, een groendetectie op basis van pixelwaarde en als tussenresultaat creëren we een binaire afbeelding met een zwarte achtergrond en witte gewassen. Daarop gaan we op de binaire afbeelding ruis verwijderen en de gaten in de gedetecteerde gewassen opvullen, vervolgens gaan we de gewassen lokaliseren en oriënteren.
Hierdoor kunnen we onze gemiddelde
modellen met een minimale energie aanpassen aan de groene gewassen. Het preprocess detecteerden alle gewassen indien de beelden voldoen aan de vooropgestelde specicaties en de instellingen per situatie aangepast konden worden.
Wel traden er nog veel valse
detectie's op, zoals bijvoorbeeld witte takken, stenen en reecties. We bekijken ook hoe we het Active Shape Model kunnen gebruiken voor onkruiddetectie, we maken een gemiddeld model per gewas dat karakteriserend is voor de soort.
Dit
model gaan we dan over de gevonden groene objecten plaatsen en uitlijnen waarna we het Active Shape Model zijn vorm laten aanpassen aan de randen van het gewas of groene object. Aan de hand van de overeenkomstige pixels tussen het vervormde model en het gelokaliseerde gewas kunnen we nagaan of het gewas behoort tot dezelfde soort als het model of niet. Het preprocess haalde een goed resultaat, op een database van 20 beelden met verschillende gewassen herkenden we alle gewassen. Wel hebben we veel last van `valse' gewassen. Overlappende gewassen worden gezien als één gewas maar zullen bij identicatie geen soort opleveren en onzuiverheden in de achtergrond, zoals takjes en stenen, leveren ook gevonden gewassen op maar kunnen ook niet geïdenticeerd worden. Op een database van 80 beelden behaalden we een herkenningsgraad tot 80 %. We hebben modellen gemaakt van drie onkruidsoorten en onderzochten de beelden hiermee.
Hoe
groter de modellen onderling verschillen met de gewassen hoe hoger de herkeninngsgraad.
Short Summary In this thesis we are going to implement the Active Shape Model to recognize dierent weed species from camera images. We need to investigate if we can use the ASM for weed recognition in a real environment, and working with a regular camera. We want to know if the ASM can achieve the predetermined goals. These goals are:
•
What is the percentage of correct classied objects?
•
Does the technique perform well under dierent conditions?
•
How does the ASM react to noise or hazy pictures?
Active Shape Model The Active Shape Model is originally designed for medical situations. It's known for its deformable models, which are used to search for objects with a natural variance.
An
example of using ASM is the determination of the shape of the lungs on a X-ray photo. We chose the Active Shape Model because it can describe the natural variance between a certain class. So if we make a class of each specie, it would be possible to make a mean shape and apply it on an unknown object. If a certain model ts the unknown object, we can decide to which class it belongs. Before we start to apply the active shape model, we have to nd the dierent plants. Then we can position the mean shape over the discovered plants. The segmentation that we used is based on green detection and cuts out each found object, which is then presented over the active shape model.
We also have to determine the centre of gravity and the
orientation, which is used by the active shape model to position the mean shape's of the models. More details can be found in section 4.1. After that we separated each possible weedplant, we have to create and apply the active shape model. The active shape model exist of two parts:
•
Creating a mean shape for every examined specie.
•
Applying the mean shape on the found object and then deciding which species is found.
If you want to create a model of a specie, you have to make a database with a gallery of training examples. For each specie we take approximately 20 pictures, and put these in
vi
Figuur 1:
Here we see the landmarks placed on an example weed. The red landmarks are critical landmarks, which can not be replaced. When you interpolate new landmarks between existing points. Blue points describe an edge en they can be replaced to get equally spaced landmarks
the database. On each training example we place points, these have to be corresponding with the positions in the other training examples. We appoint these points landmarks. We have created this for every training example, we create a mean model due to the use of some mathematical operation. We get a mean model which can deform by certain degrees of freedom. This way of creating the mean shape is also called the point distribution model (PDM).The way that a mean model is allowed to move can also be calculated from the training examples and is also part of the PDM. Important things which we have to take care of by making a mean shape are:
•
When we place the points on the training examples, it's very important that they are placed very accurate.
So we are modelling only true dierences between the
training examples and not dierences created by ourselves.
•
We have to place enough points on the training examples, to create enough degrees of freedom in the mean shape.
•
Take time to align the dierent training examples to each other it will result in a much faster and better result of the active shape models. Making the mean shape is done before we apply the ASM so it doesn't matter if it's time consuming or not. So when we spend more time in creating the mean shape it's save time when we apply the model which got to be eventually be in real time.
vii
Figuur 2:
Een randproel wordt opgesteld uit guur 4.13
Edge Based detection Edge based detection calculated the derivate around each landmarks for example on the normals of the contours. When we apply the model, each point in the training set wants to move to the edge prole which is as close as possible to it's own prole found by examining all the training examples. An edge prole around a mean shape placed on a new weed individual of a picture 2 Red are sharp edges, blue stands for no edges.
Identication We let deform the mean shape by a certain degree of freedom. When there are no more signicant changes, we compare the plant found with the area enclosed by the ASM. When there is more than for example 90 % the same, we can conclude that we have found the species.
Conclusions After we had tested the ASM model on several examples, we came to the following conclusions. The active shape model performs well, when strict limitations are involved.
•
For a good rate of recognition, overlapping leaves have to be avoided.
•
The training examples must be taken in the same circumstances, so we get the same background for every picture and all the plants have the same hue of green.
viii •
The best circumstances to create and apply the ASM is dry cloudy weather. Because sun and rain cause reections on the leaves which are then modelled in the mean shape. So the dierence dierent ,between the values of every landmark points, is too big. In the end there are points going to move to the wrong positions.
After testing we get a recognition rate of about 80 %.
Inhoudsopgave 1 Situering & doelstelling 1.1
1.2
1
Situering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.1.1
Tractor Weed-IT wiedt selectief onkruid
. . . . . . . . . . . . . . .
1
1.1.2
Landbouwsector . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Doelstellingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.2.1
3
Onderzoeksvragen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Literatuurstudie 2.1
2.2
2.3
7
Spectrale camera's
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.1.1
Toepassingen infrarood . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.1.2
Kosten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.1.3
Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
Segmentatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.2.1
Belichting
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
2.2.2
Groendetectie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.2.3
Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
Model gebaseerde herkenning
. . . . . . . . . . . . . . . . . . . . . . . . .
14
2.3.1
PDM & ASM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.3.2
Real-time
15
2.3.3
Toepassing van ASM voor onkruidherkenning
. . . . . . . . . . . .
15
. . . . . . . . . . . . . . . . . . . . . . . . . .
17
Besluit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.3.3.1 2.3.4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Resultaten
3 Specicaties 3.1
Beperkingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19 19
x
INHOUDSOPGAVE
4 Uitwerking 4.1
4.2
4.3
4.4
21
Preprocess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.1.1
Op zoek naar gewassen . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.1.2
Conclusie groendetectie
. . . . . . . . . . . . . . . . . . . . . . . .
22
4.1.3
Klaarmaken voor ASM . . . . . . . . . . . . . . . . . . . . . . . . .
25
4.1.3.1
ASM met een greylevel appearance model
. . . . . . . . .
25
4.1.3.2
ASM met een grijswaarden edge model . . . . . . . . . . .
25
Het Active Shape Model
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.2.1
Active shape model . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.2.2
Database van beelden . . . . . . . . . . . . . . . . . . . . . . . . . .
27
4.2.3
Modellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
4.2.4
Het point distribution model . . . . . . . . . . . . . . . . . . . . . .
29
4.2.4.1
Plaatsen van de verschillende landmarks . . . . . . . . . .
29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
Uitlijning 4.3.1
Translatie en rotatie
. . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.3.2
Tijdsbesparing
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.3.3
Uitlijnen van één trainingsmodel . . . . . . . . . . . . . . . . . . . .
31
4.3.3.1
Translatie . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
4.3.3.2
Rotatie
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
4.3.4
De mean shape
4.3.5
Principal component analysis
. . . . . . . . . . . . . . . . . . . . .
34
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
4.4.1
Rand gebaseerde detectie . . . . . . . . . . . . . . . . . . . . . . . .
36
4.4.2
deniëren van de nieuwe vorm . . . . . . . . . . . . . . . . . . . . .
38
Identicatie
5 Resultaten 5.1
5.2
39
Localisatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
5.1.1
39
Realistische beelden . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gevoeligheid voor parameters
. . . . . . . . . . . . . . . . . . . . . . . . .
43
5.2.1
Aantal landmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
5.2.2
Te verplaatsen pixels . . . . . . . . . . . . . . . . . . . . . . . . . .
44
5.2.3
Aantal pixels wijzigen op de normaal
. . . . . . . . . . . . . . . . .
44
5.2.4
eigenwaarden
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
INHOUDSOPGAVE 5.2.5 5.3
xi
Besluit in verband met aanpassing ASM
. . . . . . . . . . . . . . .
45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
5.3.1
Hoe identiceren we de gewassen? . . . . . . . . . . . . . . . . . . .
47
5.3.2
Experimenten op onze database . . . . . . . . . . . . . . . . . . . .
49
5.3.3
Experimenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
5.3.3.1
Ingestelde parameters
. . . . . . . . . . . . . . . . . . . .
50
5.3.3.2
resultaten . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
Identicatie
6 Besluit
51
biblio
52
xii
INHOUDSOPGAVE
Verklarende lijst van afkortingen en symbolen DNI
De Nayerinstituut
TGO
Toon Goedemé
ASM
Active Shape Model
KNN
K nearest neigbour
QOS
Quality of service
SVM
Support vector machines
PDM
Point Distribution Model
NRE
Non-recurring engineering
empirisch
proefondervindelijk, in tegenstelling tot theoretisch
hyperplane
verdeeld de gegevens in volgens een kenmerk
onkruiden en ongewenste gewassen
c
zoals gelezen op wikipedia (21/02/2010 ) heeft
de term onkruid geen biologische betekenis maar in de context van deze masterproef beschrijven we ongewenste gewassen op een akker als onkruid, de termen worden in deze tekst door elkaar gebruikt.
zaailing
d
zoals gelezen op Wikipedia (19/02/2010 ) is een zaailing een nieuw plantje dat
ontstaat uit een zaad, deze plantjes hebben unieke eigenschappen per soort.
segmentatie Bayes
Het correcte deel uit het beeld selecteren
Het theorema van Bayes is een regel uit de kansrekening die de kans dat een
bepaalde mogelijkheid ten grondslag ligt aan een gebeurtenis uitdrukt in de voorwaardelijke kansen op de gebeurtenis bij elk van de mogelijkheden. Zie (Wikipedia,
e
03/08/2010 )
point distribution model of PDM
Het point distribution model is een model dat ge-
bruikt wordt om de algemene geometrie van een vorm en sommige statistische modes of geometrische variatie weer te geven, deze gegevens zijn afkomstig uit een training set van vormen.
xiv
INHOUDSOPGAVE
model
In een wetenschappelijke of technische context is een model een vereenvoudigde
voorstelling, beschrijving of nabootsing van (een deel van) de werkelijkheid.
Een
model kan formeel zijn (bijvoorbeeld een wiskundige vergelijking, een diagram of een tabel) of informeel (een beschrijving in woorden)
landmark
of oriëntatiepunt, het is een belangrijk punt op een afbeelding, door de land-
marks te verbinden gaan we de rand van het gewas voorstellen.
mean shape
of gemiddeld model, is het model dat bekomen is uit de training foto's en
bevat de statistische gegevens die de karakteristieken van de soort bevatten.
training foto's
Door ons zelf genomen foto's van gewassen die we willen herkennen.
Deze foto's worden gebruikt om een mean shape te maken van een gewassoort en moeten dus representatief zijn voor de hele soort.
Key-points
Belangrijke en kenmerkende plaatsen, bijvoorbeeld een inkeping in een blad
of een bladpunt.
mahalanobis distance
De afstand is gebaseerd op correlaties tussen variabelen en het
is een bruikbare maat om samenhang tussen twee multivariate steekproeven te bestuderen.
performantie
De mate waarin de gestelde doelstellingen eciënt en eectief uitgevoerd
worden. False positive's Dit cijfer indiceert hoeveel van de onderzochte gewassen tot een soort geklasseerd worden terwijl zij eigenlijk niet tot de soort behoren.
L¼st van guren 1
Here we see the landmarks placed on an example weed. The red landmarks are critical landmarks, which can not be replaced. When you interpolate new landmarks between existing points. Blue points describe an edge en they can be replaced to get equally spaced landmarks . . . . . . . . . . . .
vi
2
randproel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
1.1
een toekomstige boerderij
. . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
zaailing dovenetel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3
algemeen overzicht van masterproef . . . . . . . . . . . . . . . . . . . . . .
5
2.1
weedseeker voorbeeldopstelling . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.2
een histogram van de reectie van de infrarood stralen gemeten met een weedseeker. Links een gezond graanveld zonder onkruid, rechts een graanveld met onkruid
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.3
korte uitleg bij weedseeker . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.4
een overzicht van keuzes
2.5
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
een voorbeeld van een ASM toegepast op gezichtsdetectie, Hier zie je het ASM duidelijk vervormen van de oorspronkelijke vorm naar de correcte kenmerken van het gezicht . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6
plaatsten van de landmarks of orientatiepunten op de bladrand op enkele Melganzenvoet(Chenopodium album) . . . . . . . . . . . . . . . . . . . . .
2.7
15
16
illustratie van één enkele bewerking van het object-zoek algoritme gebruikt door het Active Shape Model: (a) initiële stand (de groene pijlen tonen de gewilde verplaatsing);(b) eindstand na één vervorming . . . . . . . . . . . .
17
4.1
algemeen overzicht van masterproef . . . . . . . . . . . . . . . . . . . . . .
22
4.2
voorbeeld 1 preprocess
23
4.3
gevonden gewassen voorbeeld 1
4.4
voorbeeld 2 preprocess
4.5
gevonden gewassen voorbeeld 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
. . . . . . . . . . . . . . . . . . . . . . . .
24
xvi
LST VAN FIGUREN
4.6
grijswaarden gewassen
4.7
ASM op basis van edgedetectie
4.8
gespiegelde gewassen
4.9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
. . . . . . . . . . . . . . . . . . . . . . . .
26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
een eenvoudig voorbeeld van 4 trainingsbeelden waarop landmarks zijn aangebracht, de rode punten zijn de hoofdlandmarks en duiden belangrijke punten aan, de blauwe punten helpen het algoritme om de juiste weg te kiezen tussen de rode punten . . . . . . . . . . . . . . . . . . . . . . . . . .
29
4.10 Hier zien we de contour van het gewas, gevonden via de punten die we zelf kozen in g 4.9
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.11 contouren uitlijnen
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.12 de gemiddelde vorm van één gewas
30 33
. . . . . . . . . . . . . . . . . . . . . .
33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.14 randproel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
5.1
resultaat localitatie Ibiscus . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
5.2
2 steekproeven van een realistisere landbouw situatie
. . . . . . . . . . . .
41
5.3
Aantal landmarks voor ASM . . . . . . . . . . . . . . . . . . . . . . . . . .
43
5.4
Aantal pixels verplaatsing voor ASM
44
5.5
Aantal punten op normaallijn voor identicatie
5.6
Hier zien we een voorbeeld waar het Active Shape Model naar de foute
4.13 RGB contour
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
rand springt, in de achtergrond is teveel storing aanwezig en dit levert teveel valse randen op
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
5.7
overlappende gewassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
5.8
Percentage van gelijke pixels= 34%, het aantal pixels dat overeenkomt met het model is erg laag. We kunnen hieruit concluderen dat het gewas niet tot de klasse van het ASM behoort. . . . . . . . . . . . . . . . . . . . . . .
5.9
48
Percentage van gelijke pixels= 78%, het aantal pixels dat overeenkomt met het model is hoog. We kunnen hieruit concluderen dat het gewas tot de klasse van het ASM behoort. . . . . . . . . . . . . . . . . . . . . . . . . . .
48
5.10 Een afbeelding waarmee een veldsituatie gesimuleerd wordt . . . . . . . . .
49
Hoofdstuk 1 Situering & doelstelling 1.1 Situering 1.1.1 Tractor Weed-IT wiedt selectief onkruid ARDOOIE - In het straatbeeld toert binnenkort een klein markant voertuig rond.
De
gemeente huurt het marswagentje gedurende enkele perioden in het jaar om allerhande soorten verhardingen op een milieubewuste en meer eciënte manier vrij te maken van onkruid. 'De nieuwe methode is minder arbeidsintensief, spaart het milieu en is vooral goedkoop', voorspelt burgemeester Karlos Callens. Met dit persbericht kunnen we aantonen dat er vraag is naar goedkope en geautomatiseerde systemen om eciënt onkruid te bestrijden, dit niet alleen in de landbouwsector maar ook in de tuinbouwsector en in de openbare groenvoorziening (HWR, 1/10/2004).
1.1.2 Landbouwsector De Europese landbouwsector is een sector die momenteel in zware crisis zit, regelmatig kunnen we in de krant lezen dat er ergens landbouwers aan het klagen zijn, melk op straat gooien, dat de veehouders hun vlees met verlies moeten verkopen,... Aan de andere zijde horen we bijna dagelijks milieugroeperingen en wetenschappers dat er teveel mensen op deze aarde rond lopen om aan iedereen zijn basisbehoeften te kunnen voldoen. Als oplossing voor deze problemen wordt vaak verwezen naar het rendement van een landbouwperceel dat moet stijgen. Op een oppervlakte moeten meer en goedkoper gewassen geteeld kunnen worden, zo kunnen we bijvoorbeeld verwijzen naar een theoretisch concept, beschreven door Decker (15/06/2007) en afgebeeld in guur 1.1. Eenvoudig voorgesteld komt het er op neer om verschillende landbouwpercelen, akkers en aquaria boven elkaar te plaatsen en op deze manier een gesloten kringloop creëren zonder afvalstoen. Uiteraard is het verder automatiseren van het hele landbouw proces heel belangrijk om bijvoorbeeld, dit concept mogelijk te maken, en om zo het rendement van elk perceel te laten stijgen. Één belangrijk onderdeel van dit automatisatieproces is het herkennen van de planten, dit
2
Figuur 1.1:
Situering & doelstelling
Zo kan een boerderij er binnen enkele jaren uitzien, volledig geautomatiseerd en zelf onderhoudend
is vandaag al mogelijk via spectrale camera's. Een groot nadeel van die camera's is hun hoge aankoopprijs, om dit te omzeilen gaan wij op zoek naar een goedkoper alternatief. Omdat voor een niet-spectrale camera elke plant groen is kunnen we niet langer de gewassen herkennen op basis van infrarood reectie. Wij onderzoek doen naar herkenning op basis van zaailingen die hun eerste vier blaadjes hebben, zoals bijvoorbeeld guur 1.2. Een zaailing heeft unieke soortafhankelijke eigenschappen en dit maakt dat het jonge plantje interessant voor herkenningsalgoritmes. Van de zaailing gaan we de bladeren onderzoeken op bladvorm, verhoudingen ten opzichte van elkaar en de stand van bladeren ten opzichte van elkaar, hiervoor plaatsen we een model over de 4 blaadjes van de zaailing. Aan de hand van de grootte van de energie die nodig is om het model te vervorming tegenover de bladrand, willen we het gewas identiceren. We maken gebruik van het Active Shape Model om het model over de bladrand te laten passen en de energie te meten die nodig is om het model van een gewas te vervormen tot de bladrand van de zaailing. Hoe kleiner de gemeten energie hoe groter de kans dat het gekozen model overeenkomt met het gevonden gewas. Het Active Shape model wordt verder besproken in hoofdstuk 4.2.
1.2 Doelstellingen
Figuur 1.2:
3
Een voorbeeld van een jonge dovenetel
1.2 Doelstellingen In dit hoofdstuk is het de bedoeling dat we de doelstellingen van ons eindwerk gaan formuleren. We gaan deze voorstellen door een aantal onderzoeksvragen die we tijdens onze thesis gaan proberen oplossen en die als rode draad terugkomen in de uitwerking van onze masterproef. In elk hoofdstuk lossen we één algemene onderzoeksvraag op die we dan gaan opsplitsen in kleine deelvragen.
1.2.1 Onderzoeksvragen In sectie 4.1 op zoek naar het antwoord op de onderzoeksvragen die iets te maken hebben met het preprocess, de belangrijkste vraag die we in dit hoofdstuk willen oplossen is hoe we de achtergrond gaan onderscheiden van de planten en aan wat moet een afbeelding voldoen om nog tot het correcte resultaat te kunnen leiden? Daarna gaan we sectie 4.2 verklaren waarom we voor ASM als oplossing gekozen hebben en het Active Shape Model uitleggen. De hoofdvraag die we tijdens ons onderzoek gaan oplossen klinkt als volgt: Hoe eciënt kunnen we gewassen lokaliseren en identiceren door gebruik te maken van camera's zonder spectrale eigenschappen en met behulp van Active Shape Model? De globale aanpak van de masterproef is weergegeven in guur 1.3. Deze vraag kunnen we opsplitsen in verschillende deelvragen.
•
Hoe segmenteren we de plantjes van de achtergrond?
•
Hoe reageert de segmentatie op verschillende weersomstandigheden?
•
Hoe kunnen we de segmentatie aanpasbaar maken aan verschillende ondergronden?
4
Situering & doelstelling •
Hoe reageert de segmentatie op trillingen en dus op onscherpe beelden, en waar ligt de limiet?
•
Hoe reageert de segmentatie op stof of andere onzuiverheden in het beeld ?
In sectie 4.3 op pagina 31 gaan we op zoek naar de oplossingen voor de vragen die te maken hebben met de oriëntatie van het model tegenover de in het preproces ontdekte vormen.
•
Hoe herkennen we de locatie van de gewassen zich bevinden in het beeld?
•
Op welke manier oriënteren we het model het beste over de herkende gewassen?
•
Naar welke kenmerken kunnen we het beste kijken als we spreken over gewassen?
In sectie 4.4 op pagina 36 bespreken we onze aanpak over het identiceren van de gewassen. De problemen die we in dit hoofdstuk gaan aankaarten:
•
Hoe leggen we een database aan met modellen van gewassen?
•
Hoeveel kan ons gewas afwijken van het model?
•
hoeveel tijd vergt het om tot een classicatie te komen?
En als we onze resultaten gaan bekijken, zie hoofdstuk 5 op pagina 39 gaan we antwoord geven op de kernvragen die wij ons tijdens dit onderzoek stellen.
•
Wat is de maximale bereikbare identicatie met het ASM?
•
Welke snelheid kunnen we halen met ASM?
De snelheid, de correctheid en de robuustheid zijn voor de landbouwer de 3 grootse kenmerken waaraan het landbouwwerktuig moet voldoen en hoewel de nadruk van ons onderzoek bij de correctheid en de robuustheid ligt kunnen we de snelheid uiteraard niet vergeten, zo moet de landbouwer op een normale snelheid over zijn akker kunnen rijden, en de herkenningsgraad van het landbouwwerktuig moet voldoende groot zijn om het ongewenste gewas geen kans te geven en het gewenste gewas mag niet teveel schade ondervinden aan de bestrijding van het ongewenste gewas.
1.2 Doelstellingen
5
Database plantmodellen
Segmentatie
Figuur 1.3:
Alignering
Vormherkenning (ASM)
Resultaat
In dit blokschema willen we een eenvoudig overzicht weergeven van de opbouw van onze masterproef.
6
Situering & doelstelling
Hoofdstuk 2 Literatuurstudie In dit hoofdstuk zullen we de state of the art van het onderwerp weergeven. Deze weergave is chronologisch opgebouwd zodat u een beeld krijgt van onze aanpak en de opbouw die noodzakelijk was om het probleem om te lossen. Na het lezen van de literatuurstudie zou er een goed idee moeten gevormd zijn van de reeds bestaande technieken en toepassingen. In sectie 2.1 gaan we het alternatief van de gewone camera, namelijk de spectrale camera, bespreken. In de paragraaf die daarop volgt geven we een kort overzicht van de inzetbare land - of tuinbouwvoertuigen.
In het deel 2.2 gaan we een een overzicht geven van de
gebruikte technieken om groen te detecteren in een afbeelding om de gewassen in een afbeelding te zoeken en ten slotte willen we in sectie 2.3 het Active Shape model bespreken.
2.1 Spectrale camera's Het alternatief voor de gewone camera's is gebruik maken van infrarode camera's, zoals beschreven door Bravo et al. (2005); Vrindts (2000), kunnen we met spectrale meting in het nabij infrarood en rood spectrum op een vrij eenvoudige manier onderscheid maken tussen planten en (achter)grond. Deze camera's leggen de lichtreectie vast van bepaalde golengtegebieden, zoals het zichtbare spectrum en/of het infrarode spectrum, daarnaast wordt in sommige, verder ontwikkelde landbouwtoepassingen, de uorescentie gebruikt om vast te stellen welke onkruiden er in het beeld aanwezig zijn.
Ook is het mogelijk
om in het infrarode spectrum vroegtijdig ziektes op te sporen tussen de gewassen, dit is beschreven door van Os et al. (2007). Het grote nadeel van de infrarood camera is de kostprijs. Als we een nieuwe landbouwtoepassing willen introduceren op de markt moet het kunnen concurreren met de huidige marktprijzen, maar een industrieel inzetbare infrarood camera kost tussen de 5.000 en 20.000
e,
tegenover een industriële camera die beschikbaar is vanaf 500e.
Als je dan
ook in rekening brengt dat je enkele camera's nodig hebt per voertuig, zie g 2.1, kan je al snel concluderen dat we een sterkte kostenbesparing kunnen doorvoeren als we de infrarood camera's kunnen vervangen door goedkopere industriële camera's. Zo kunnen we, bijvoorbeeld, als we kijken naar de opstelling op g 2.1, waar er ongeveer 40 infrarode camera's opgesteld staan, al snel concluderen dat er een groot bedrag bespaard kan
8
Literatuurstudie
Figuur 2.1:
Dit is een voorbeeld van een opstelling op een landbouwvoertuig
worden.
2.1.1 Toepassingen infrarood Het aantal toepassingen dat we op het internet terugvinden is aanzienlijk en kan aantonen dat er veel vraag is naar deze techniek vanuit de land- en tuinbouwsector. Het detecteren van planten in het infrarode spectrum wordt toegepast in vele commercieel beschikbare systemen, zoals Detectspray van Concord Inc., Australië, Spot Shot van Progressive Farm Products Inc., VSA, en Weedseeker van Patchen Inc, zie g 2.3 en 2.1. Deze systemen maken geen onderscheid tussen plantensoorten maar kunnen ingezet worden voor het behandelen van onkruiden tussen gewasrijen, op braakland, in boom - of wijngaarden en terreinen buiten landbouw, zoals parkings en langs spoorwegen. Om te kunnen functioneren in een landbouwomgeving moet het natuurlijk mogelijk zijn om onderscheid tussen de gewassen te kunnen maken. Voor een meer nauwkeurige onkruidbeheersing is het nodig om onderscheid te kunnen maken tussen verschillende plantensoorten, bijvoorbeeld met een meer gesosticeerde spectrale analyse. We hebben geïnformeerd bij het bedrijf, Homburg machinehandel bv, dat de weedseeker verhandelt wat hun motivatie was om gebruik te maken van de weedseeker en dit was hun antwoord : De Weedseeker gebruikt een infrarode actieve lichtbron die nauwelijks invloed ondervindt van natuurlijk licht. Het systeem is dus onafhankelijk van natuurlijk licht en geeft zo een dag en nacht een gegarandeerde werking. In de afbeelding 2.2wordt weergegeven wat voor invloed infrarood (NIR) en de primaire kleuren (blauw, groen en rood) heeft op planten. Hierdoor kan de sensor een onderscheid maken tussen planten en kale grond, kale grond absorbeert NIR, planten weerkaatsen NIR.
2.1 Spectrale camera's
Figuur 2.2:
9
een histogram van de reectie van de infrarood stralen gemeten met een weedseeker. Links een gezond graanveld zonder onkruid, rechts een graanveld met onkruid
Figuur 2.3:
dit is een schematisch overzicht van de werking van de weedseeker
10
Literatuurstudie Kostenvergelijking werkpakketten in eurocent
\m2 \jaar
Methode
Productiviteit
Energieverbruik
Kostenindicatie
Chemisch (selectspray)
2,300-4.600
<50
0,01-0,03
Branden
300-860
460-1830
0,03-0,07
Borstelen
430-1500
120-420
0,08-0,18
Heetwater
110-450
300-3000
0,17-0,68
Bron: IMAG, Wageningen, december 2002 Tabel 2.1:
Uit onderzoek blijkt dan ook dat chemische bestrijding in vergelijking met andere methoden veruit de goedkoopste is.
2.1.2 Kosten Op de website van Homburg Machinehandel (02/08/2010) vinden we tabel 2.1, hier zijn enkele vergelijkende resultaten in verband met de kostenbesparing op arbeid en chemicaliën beschreven. Uit onderzoek blijkt dan ook dat chemische bestrijding in vergelijking met andere methoden veruit de goedkoopste is, ook als de indirecte kosten zoals de zuiveringslasten drinkwaterbedrijven en de milieuverontreiniging worden meegerekend.
2.1.3 Besluit De belangstelling voor precisiegewasbescherming neemt de laatste jaren sterkt toe, vooral de interesse voor geautomatiseerde systemen die binnen een perceel of akker ongewilde gewassen kunnen bestrijden. De land- en tuinbouwsector zien de mogelijkheden van deze nieuwe technieken om middelgebruik, arbeid en kosten te besparen.
2.2 Segmentatie Wanneer we beelden gaan gebruiken voor onkruidherkenning is het belangrijk om onderscheid te kunnen maken tussen planten en achtergrond (bodem).
Dit noemen wij
segmentatie en het komt neer op het indelen van pixels in twee groepen: objecten of planten (pixels krijgen de waarde 1) en achtergrond of bodem (pixels worden op 0 gezet). De randen die dan gaan ontstaan kunnen we gaan gebruiken voor onze herkenningsalgoritme. De segmentatie gebeurt bij ons op basis van zichtbare kleuren. Hieronder geven we een overzicht van enkele technieken en problemen bij segmentatie die wij in de literatuur teruggevonden hebben.
2.2.1 Belichting Een van de belangrijkste variabelen die segmentatie beïnvloeden is de temperatuur van het zonlicht waarmee de beelden belicht worden.
De oorzaken van deze temperatuurs-
verschillen zijn onder meer afhankelijk van het seizoen, het tijdstip van de dag, en de gebruikte lichtbron (zonlicht en/of kunstlicht). Variabiliteit van de temperatuur van het
2.2 Segmentatie
11
invallende licht zorgt ervoor dat de kleuren van objecten in een beeld veranderen, waardoor het onderscheiden van planten moeilijk wordt. Een ander probleem is niet-uniforme belichting door bijvoorbeeld schaduwen. Schaduwen zijn op zich nog voldoende helder opdat planten nog zouden worden waargenomen door de meeste commerciële CCD camera`s. De variatie van de belichting binnen één beeld is echter problematisch voor segmentatie. Het automatische diafragma van een camera gebruikt namelijk de gemiddelde lichtintensiteit voor het scherp stellen van een beeld.
Als de variatie van de belichting te groot
is, worden sommige objecten in het beeld te licht of te donker weergegeven waardoor uniforme segmentatie niet mogelijk is. Tian et al. (1998) ontwikkelden een Environmentally Adaptive Segmentation Algorithm (EASA) om de invloed van niet-uniforme belichting op onkruidherkenning te minimaliseren. Het EASA algoritme werd getest op tomatenvelden waar onkruiden voorkwamen zoals: glansbesnachtschade (Solanum sarrachoides), doornappel (Datura stramonium L.), aardamandel (Cyperus esculentus L.), akkerwinde (Convolvulus arvensis L.) en klein kaasjeskruid (Malva parviora L.).
Het EASA is ontwikkeld om te leren van beelden van
planten, onkruid en bodems van verschillende velden, onder verschillende lichtcondities. De resultaten van het EASA werden gebruikt om een Bayesiaanse beslissingsregel op te stellen. Deze beslissingsregel is gebaseerd op de regel van Bayes om de voorwaardelijke kans te berekenen dat een pixel tot een van de twee mogelijke klassen behoort (plant of achtergrond). De voorwaardelijke kans dat een pixel tot klasse
ωj
behoort, gegeven vector
x met de RGB waarden voor die pixel, is volgens het theorema van Bayes (Devijver and Kittler, january 1982):
p(ωj |x) = waarin
p(
p(ωj |x)p(ωj ) p(x)
P 1 x (− 12 (x−xc )T −1 c (x−xc )) P )= exp ωj (2π)d/2 | c |1/2
Met p(x) de kansdichtheidsfunctie van x, p(ωj ) de kans op klasse x,
x
(2.1)
is het gemiddelde van klasse
ωj ,
en
ωj ,
P
(2.2) d is de dimensie van
c is de covariantie matrix van klasse pixel wordt toegewezen aan de klasse met de grootste voorwaardelijke kans.
ωj .
Een
(Devijver and Kittler, january 1982) concludeerden dat het EASA een duidelijk grotere accuraatheid heeft voor segmentatie onder niet-uniforme belichting dan een statisch segmentatie algoritme.
Het EASA classiceerde onder gedeeltelijk bewolking en onder
bewolkte omstandigheden respectievelijk 26.9 en 54.3 % meer pixels correct dan een klassiek algoritme.
2.2.2 Groendetectie Als we enkel gebruik maken van het zichtbare spectrum, dan kunnen we op een eenvoudige manier segmenteren op basis van de kleur van pixels. (Sogaard, 2006) maken gebruik van het Active Shape Model om gewassen te herkennen, voor hun kleuromzetting maken ze gebruik van 2 operaties om hun RGB beelden om te zetten naar grijs beelden.
De eerste operatie
I = 2G − R − B ,
dient om het contrast
tussen de groene vegetatie en de achtergrond te verhogen, dan wordt met een tweede
12
Literatuurstudie
formule, 2.3 waarbij we de kleur groen benadrukken, waar
Imin
en
Imax
de minimum en
maximum intensiteitswaarden zijn in de afbeelding, de RGB afbeelding omgezet naar een grijswaarden afbeelding.
g=
255.I − Imin Imax − Imin
(2.3)
(Ahmed et al., 2006) gebruiken techniek op basis van histogram analyse om te beslissen of gewas een gras of een breedbladig gewas is. 1 2 3 4 5
if G > R and G > B and G >150 then PIMG = 1 Else PIMG = 0 end if waar R,G en B de rode, groene en blauwe pixels zijn en PIMG de binaire voorstelling van het eindresultaat. Dit eindresultaat zal planten en bladeren wit weergeven en achtergrond in zwart weergeven. Yang et al. (30 June 2000) maakten gebruik van articiële neurale netwerken om gewassen en onkruid te onderscheiden in een graanveld. De meest voorkomende onkruiden in het graanveld waren: uweelblad (Abutilon theophrasti), kweekgras (Agropyron repens L.), melganzevoet (Chenopodium album) en aardamandel (Cyperus esculentus L.). De lokaal vereiste dosis herbicide werd bepaald aan de hand van de soort, de bedekkingsgraad en de verdeling van het onkruid over het perceel. Voor het bepalen van het soort onkruid werd gebruik gemaakt van articiële neurale netwerken (ANN). Om de ANN te trainen werden beelden van de planten gemaakt met een digitale camera (Kodak DC50 zoom), waardoor beelden van 300
∗
200 mm met een resolutie van 756
∗
504 pixels werden verkregen.
Ieder beeld werd vervolgens bijgeknipt tot een beeld van 100
∗
100 pixels met slechts één
object: een plant of een groep onkruiden. Om de planten in het beeld te onderscheiden werd de `greenness' methode gebruikt van Yang et al. (30 June 2000). Deze methode is gebaseerd op het vergelijken van pixels op basis van de intensiteit van de drie primaire kleuren (rood, groen en blauw). Als voor een pixel de intensiteit van groen groter is dan die van rood en blauw wordt verondersteld dat het om een pixel gaat die deel uitmaakt van een plant. Met de greenness methode kan bijgevolg het onderscheid gemaakt worden tussen bodem en plant, en kunnen de beelden omgezet worden in beelden in grijsschaal. Op die manier werd een trainingsset voor de ANN opgesteld met 1600 beelden voor het graan en 600-1000 beelden voor de verschillende onkruiden. De ANN werden getraind om onderscheid te maken tussen enerzijds het graangewas en de vier belangrijke onkruiden en anderzijds tussen het graan en alle onkruiden als één categorie. Trainen van de ANN'n gebeurde in 100 000 trainingscycli, waarbij de ANN telkens werden geëvalueerd na 100 cycli, aan de hand van 50 beelden die niet gebruikt werden voor het trainen. De resultaten voor het herkennen van de verschillende planten door de LVQ ANN in de beelden zijn weergegeven in tabel 2.2. Deze techniek is ook onderzocht door Smedt et al. (2010), en hier worden erg goede resultaten verkregen bij de segmentatie van de gewassen.
2.2 Segmentatie
Plant species
13
Processing elements in the hidden layer of LVQ ANNs 100
200
300
400
500
600
700
800
900
1000
Corn
88
70
84
84
84
84
90
80
94
84
Abutilon theophrasti
78
100
80
78
92
80
84
80
68
88
Corn
76
80
78
74
82
80
84
88
86
88
Agropyron repens
42
40
44
44
36
38
36
32
46
46
Corn
88
94
96
98
100
92
98
96
98
94
Chenopodium album
74
70
72
64
70
72
72
66
66
66
Corn
54
74
66
72
84
82
84
92
90
90
Cyperus esculentus
86
66
74
74
72
68
72
62
58
66
Corn
54
52
54
58
60
52
54
66
66
62
All weeds
85
83
80
84
80
80
76
79
80
79
Tabel 2.2:
Resultaten, weergegeven als percentage correct geclassiceerd voor plantherkenning van graan en onkruiden met LVQ ANNn.
Figuur 2.4:
een overzicht van keuzes
14
Literatuurstudie
2.2.3 Besluit Er is weinig extra informatie te vinden over concrete resultaten toegepast op het Active Shape Model, het is nu aan ons om deze verschillende aanpakken te testen, de resultaten te bekijken en welk algoritme het beste resultaat oplevert voor ons project. Uiteindelijk hebben we onze eigen groendetectie bedacht en geprogrammeerd, hierover meer in sectie 4.1.1.
2.3 Model gebaseerde herkenning Modelgebaseerde herkenningsalgoritmes worden reeds lang in de beeldverwerking gebruikt omwille van zijn kracht om in afbeeldingen objecten te herkennen en te positioneren,zelfs als we in de afbeelding met ruis, overlappingen en andere ongewenste eecten te maken hebben. De opzet is vrij eenvoudig: eerst leggen we een database aan waarbij we enkele voorbeelden verzamelen van de objecten die we willen herkennen. Uit deze voorbeelden gaan we dan een model vormen, het is belangrijk dat het model representatief is voor de gehele populatie. Nadat we een model gemaakt hebben gaan we in de afbeelding op zoek naar vormen die overeenstemmen met het model. Onkruidherkenning is echter een complexer probleem, hier moeten we proberen om objecten te herkennen die in hun voorkomen en omstandigheden sterk kunnen variëren waardoor een complex model gebaseerd herkenningsalgoritme nodig is, zoals bijvoorbeeld het Active Shape Model. De verschillende gewassen hebben in per plantensoort wel gemeenschappelijke eigenschappen zoals bladvorm, de positionering van de verschillende bladen ten opzichte van elkaar.
2.3.1 PDM & ASM Het Point distribution model is ontwikkeld door T.F.Cootes et al. (1994) en is een standaard geworden in beeldverwerking voor het statistisch bestuderen van van een vorm en voor de segmentatie van medische afbeeldingen waar trainingsbeelden helpen bij de interpretatie van afbeeldingen met veel ruis of een laag contrast.
De techniek is ide-
aal om objecten te herkennen die eenvoudig te herkennen zijn aan hun algemene vorm maar die niet eenvoudig te beschrijven zijn door een stug model. De PDM benadering gaat ervan uit dat er met een bestaande set van M trainingsafbeeldingen gewerkt wordt waaruit het statistische model berekent wordt, in ons geval nemen we enkele beelden van een gewas. Op deze trainingsbeelden gaan we op elke rand enkele landmarks aanduiden. Een landmark is een zelfgekozen oriëntatiepunt dat voor elke vorm een plaats aanduid over de gehele populatie van training sets. Bijvoorbeeld, het zelfde landmark zal de top van een van een blad vastleggen voor de hele database van trainingsafbeeldingen van die gewassoort, zie bijvoorbeeld afbeelding 4.9. Het Active Shape Model of ASM, is een statistisch model van de vorm van objecten, in ons geval gewassen, dat we kunnen gebruiken en vervormen om een ander gewas van dezelfde soort te identiceren. Het is noodzakelijk dat we het model kunnen vervormen omdat we exibiliteit willen van ons identicatie algoritme. Elke zaailing is immers uniek, maar ze hebben wel gemeenschappelijke kenmerken per soort die wij willen gebruiken om
2.3 Model gebaseerde herkenning
Figuur 2.5:
15
een voorbeeld van een ASM toegepast op gezichtsdetectie, Hier zie je het ASM duidelijk vervormen van de oorspronkelijke vorm naar de correcte kenmerken van het gezicht
ze te identiceren. Een ander voordeel is dat men ook schaal verschillen en rotaties kan verwerken in het model alhoewel hier betere technieken voor bestaan. Die in combinatie met het ASM een beter resultaat geven.
In g 2.5 zien we een ASM van een gezicht
toegepast in de functie van het herkennen van gezichten.
2.3.2 Real-time Het grootste probleem bij ASM is de grote rekenkracht dat het vergt om tot een juist resultaat te komen. Willen we deze techniek gebruiken om realtime aan onkruiddetectie te doen, dit kan voor een deel opgelost worden door maar naar een beperkt aantal soorten onkruid te zoeken of meerdere op elkaar lijkende soorten in 1 klasse te stoppen. Hierdoor moet er minder gezocht worden welk klasse bij het gevonden plantje hoort. Een andere mogelijke oplossing is beschreven door Nordbo et al. (2004), ze bespreken twee concepten: ` weed mapping concept' en `het real time concept'. Tijdens het weed mapping concept worden de gewassen eerst gelmd en opgeslagen om daarna de beelden te bewerken en het onkruid in kaart te brengen. Daarna wordt tijdens een tweede rit over het ongewenste gewassen bespuiten. Een GPS systeem, gemonteerd op het landbouwvoertuig, bepaalt de huidige positie van het landbouwvoertuig. Bij het real time concept wordt het onkruid gedetecteerd, herkend en bespoten in één stap. In onze thesis werken we naar een conceptuele oplossing toe , welke nog niet real-time moet zijn. Wel houden we rekening met het feit dat de ontwikkelde algoritmes geschikt moeten zijn voor een real-time implementatie.
2.3.3 Toepassing van ASM voor onkruidherkenning Sogaard (2006) heeft als eerste geprobeerd om onkruid te herkennen aan de hand van
16
Figuur 2.6:
Literatuurstudie
plaatsten van de landmarks of orientatiepunten op de bladrand op enkele Melganzenvoet(Chenopodium album)
het Active Shape Model. Eerst hebben ze een database aangelegd van 19 van de meest belangrijke Deense ongewenste gewassen.
Om een ASM van elk gewas te maken moet
elk trainingobject voorgesteld worden door een reeks landmarks, hiervoor worden bij de zaailingen de landmarks op de bladrand geplaatst en voor elk blad wordt een open contour gemaakt, zoals we kunnen zien in guur 2.6. De landmarks werden daarna soort voor soort statistisch bekeken, en op die manier zijn ze op zoek gegaan naar specieke karakteristieken die de zaailingen kenmerkt. Voor de echte identicatie kon gebeuren was het noodzakelijk om de database van de trainingsmodellen aan te passen. Die aanpassing gebeurde doorhet herschalen, roteren en transleren van de trainingsvormen zodat het
P √
d1 van i de afstand tussen dezelfde punten op de verschillende trainingsvormen zo klein mogelijk onderlinge verschil zo klein mogelijk wordt.
De aanpassing gebeurt zodat
wordt. Nadat de modellen zijn aangemaakt,wordt een algoritme opgestart. Een eerste stap van het algoritme wordt gebruikt voor het lokaliseren van groene objecten in het beeld, die worden geklasseerd als mogelijk onkruid. Enkel de beelden die dezelfde grootte hebben dan de onkruid-zaailingen worden in rekening gebracht.
In de tweede stap, elk van de
geselecteerde objecten wordt onderzocht om te zien tot welke onkruid soort het behoort. Deze stap bestaat uit een iteratieve zoek procedure waarbij elke soort aangepast wordt totdat de beste `t' gevonden wordt.
Voordat deze iteratieve procedure gestart wordt,
word er een initieel model aangepast aan de positie, de oriëntatie en de schaal.
De
zoekprocedure start 2 verschillende aanpassingen, de eerste aanpassing bekomt men als volgt: het gemiddelde model, bekomen uit de trainingsfoto's, wordt gecentreerd op het middelpunt van het groene object en de oriëntatie van het model wordt gekozen zo dat een model van de zaadlobben parallel staat tegenover de vector van het middelpunt van het verwachte grootse blad van de zaailing.
De tweede aanpassing gebeurt op dezelfde
manier behalve dat ze nu werken met een model van het werkelijke blad en dus niet met
2.3 Model gebaseerde herkenning
Figuur 2.7:
17
illustratie van één enkele bewerking van het object-zoek algoritme gebruikt door het Active Shape Model: (a) initiële stand (de groene pijlen tonen de gewilde verplaatsing);(b) eindstand na één vervorming
de zaadlobben. Na de model uitlijning wordt de vorm verjnd door de volgende 3 stappen te herhalen, zie guur 2.7:
1. vergelijk de regio rond elk punt van het model van de afbeelding met de grijswaarden model om de verandering te berekenen van de punten nodig om ze te verplaatsten naar betere posities. De locaties worden gekozen zodat ze het beste overeenkomen met de gemoddeleerde grijswaarden overgangen. 2. van de afstand berekend in stap (1) berekenen ze de optimale aanpassing voor de translatie, rotatie, schaal en de vormparameters. 3. de parameters van het model updaten en de punt positie aanpassen
Deze 3 stappen worden herhaald tot de verandering tussen 2 operaties heel klein worden.
2.3.3.1 Resultaten Active Shape models werden gegenereerd voor de 19 meest voorkomende ongewenste gewassen in Denemarken. Er werden 3 modellen uitvoerig getest en de resultaten van deze tekst kunnen we zien in tabel 2.3. De conclusie uit het onderzoek is dat het mogelijk is om het Active Shape Model te gebruiken voor o-line berekeningen van weed maps, zoals we konden lezen in sectie 2.3, maar dat het niet geschikt is voor real-time berekeningen omdat het te veel rekenkracht vergt. Hoewel er wel alternatieve en snellere implementaties van het Basis Active Shape model bestaan en dat het op die manier mogelijk moet zijn om real time applicaties te ontwikkelen. We hebben contact opgenomen met de heer Henning Søgaard en hem gevraagd naar de knelpunten tijdens hun onderzoek, en hij vertelden mij
18
Literatuurstudie Classication of actual species,% Predicted
herderstasje
reukloze kamille
herik
(Capsella
(Tripleurospermum
(Sinapis
bursa-pastoris)
inodorum)
arvensis)
77
19
0
Species herderstasje Reukloze kamille
8
65
7
Herik
15
65
93
Total
100
100
100
Tabel 2.3:
ASM resultaten weergeven van 3 models
dat het zoekalgoritme het grootste probleem was, en dat dit sneller en betrouwbaarder moest worden dan hetgene voorzien bij de ASM Toolkit.
2.3.4 Besluit Het Active Shape Model is een erg veelbelovende techniek die geschikt lijkt om onkruid te herkennen.
Er is uitgezonderd het onderzoek van Sogaard (2006) nog niet veel on-
derzoek gebeurd naar de implementatie van het Active Shape Model in verband met onkruiddetectie. Wij gaan het onderzoek van Sogaard (2006) gebruiken als basis en allereerst de groendetectie en de gewaslocalisatie proberen te optimaliseren, daarna gaan we onderzoeken welke resultaten we met het Active Shape Model kunnen opmeten als we de onkruiden willen identiceren indien we reële situatie's nabootsen, met afwisselende, natuurlijke belichting, reectie, . . . . In het volgende hoofdstuk gaan we de specicatie's van de opdracht bespreken en in detail beschrijven aan wat het programma moet voldoen
Hoofdstuk 3 Specicaties Het lokaliseren en herkennen van ongewenste gewassen is een complexe activiteit, om het onderzoek niet te ingewikkeld te laten worden moeten we rekening houden met een aantal beperkingen die we vooraf opgelegd hebben.
3.1 Beperkingen Het onderzoek is beperkt tot het herkennen van zaailingen, een jong plantje, met de eerste twee tot vier blaadjes. Dit omdat een zaailing een unieke soortafhankelijke bladstructuur heeft en onkruidbestrijding best in dit stadium gebeurt, het plantje is nog jong en zwak en daardoor zijn er minder herbiciden nodig om het plantje uit te roeien, het gewas heeft nog geen kansen gekregen om zicht te vermenigvuldigen en als het ongewenste gewas in dit stadium vernietigt wordt kan het gewenste gewas dankzij zijn voorsprong, het ongewenste gewas overwoekeren.
Een andere beperking bij ons onderzoek is dat we overlappingen
tussen verschillende planten vermijden omwille van een segmentatie probleem. De door ons gebruikte techniek onderzoekt namelijk plantje per plantje en heeft het moeilijk om bij overlapping van 2 planten deze uit elkaar te halen. We gaan ons onderzoek ook beperken naar het detecteren en identiceren van drie gewassen. Onze database bestaat uit 3 soorten onkruid, Galinsoga ciliata(knopkruid) & Ibiscus & Chenopodium album (L. melganzenvoet). Elke plantensoort is met ongeveer 20 exemplaren vertegenwoordigd. Deze exemplaren zijn gecreëerd uit foto's van 3200 X 2400 genomen op een braakliggend veld. Hieruit hebben we voor het maken van de meanshape handmatig trainingsvoorbeelden uitgeknipt en herschaald naar 640 x 480.
•
We we gaan ervan uit dat we industriële videocamera's gebruiken zonder spectrale eigenschappen, we simuleren deze situatie door foto's te nemen met een goedkope digitale fotocamera.
De foto's genomen voor de database zijn gemaakt met een
canon EOS 450D met een resolutie van 12 megapixels en al onze onderzochte foto's zijn genomen met een Silvercrest DV-5000HD met een kostprijs rond de 100 euro
•
We proberen een detectie graad te behalen van 90 % en een identicatiegraad van 80 %.
20
Specicaties •
We maken het Active Shape Model ontwikkeld door Sogaard (2006) om een onderscheid te maken tussen de verschillende plantensoorten.
•
We onderzoeken de mogelijkheden van deze techniek op het vlak van onkruidherkenning en wat de plus en de minpunten zijn. En gaan na wat eventueel oplossingen zijn van deze minpunten.
•
Voor het Active Shape Model maken we gebruik van 3 voorbeeld gewassen waarvan we een database aanmaakten van ongeveer een 20 tal voorbeelden per soort.
•
Voor deze theoretische beschouwing maken we gebruik van Matlab versie 2007B met als uitbreiding de image processing toolbox.
•
Voor het ontwerpen van het Active Shape Model zijn we vertrokken van een stuk open source software ontwikkeld door Kroon (16/02/2010).
Deze specicatie's zullen we trachten te halen door een implementatie op basis van ASM's. In het volgende hoofdstuk lichten we de technische uitwerking hiervan toe.
Hoofdstuk 4 Uitwerking In dit hoofdstuk willen we de technische achtergrond van onze thesis weergeven. In sectie 4.1 gaan we onze oplossingen bespreken in verband met de segmentatie van de gewassen, zoals we zien in guur 4.1. Hier gaan we de videobeelden inlezen en verwerken, de groene objecten uit het beeld localiseren en de foto optimaliseren voor latere identicatie.
In
sectie 4.3 gaan we het tweede blokje op guur 1.3 bespreken. We bespreken de uitlijning van de in de database opgeslagen trainingsvoorbeelden en de uitlijning van het model tegenover het gevonden groene object. In het volgende hoofdstuk 4.4 bespreken we het eigenlijke Active Shape Model, we gaan bekijken hoe we de gevonden gewassen kunnen identiceren.
4.1 Preprocess Tijdens het preprocess is het de bedoeling dat we de afbeeldingen die uit een camera komen gaan analyseren en verbeteren. Eerst gaan we de beelden optimaliseren en gaan we op zoek naar de gewassen, dit wordt beschreven in sectie 4.1.1. Daarna gaan we de gewassen voorbereiden op de identicatie met het ASM, zie sectie 4.1.3.
4.1.1 Op zoek naar gewassen Een eerste stap in het preprocess is het detecteren van een mogelijk onkruid op basis van de groene kleur.
Dit doen we door in de kleurafbeelding de groene kleur naar voor te
halen, dit doen we met de functie `imadjust'. Hiermee gaan we het histogram per kleur aanpassen, het histogram van de groene kleur laten we ongemoeid maar het histogram van de rode en blauwe kleur gaan we lteren. We snijden de lteren de hoge en de lage waarden uit dit histogram weg, met als resultaat dat de groene kleur sterker naar voor komt en de randen van de groene kleur scherper worden. van deze verbeterde afbeelding maken we een binaire afbeelding met een bepaalde drempelwaarde, deze waarde moeten we experimenteel vastleggen en hangt af van de belichting.
Hierna maken we nog een
binaire afbeelding van de witte objecten op de foto die we dan gaan aftrekken van de groene binaire afbeelding. Op dit resultaat gaan we een kleine verbetering toepassen door
22
Uitwerking
Database plantmodellen
Segmentatie
Figuur 4.1:
Alignering
Vormherkenning (ASM)
Resultaat
In dit blokschema willen we een eenvoudig overzicht weergeven van de opbouw van onze masterproef.
objecten die te klein zijn weg te laten en de gaten in de gewassen op te vullen. Hierna gaan we met de functie regionprops in Matlab op zoek naar de gewassen. Deze functie werkt volgens de blob analyse, en gaat de objecten met aangrenzende pixels zoeken in de afbeelding. De functie labelt de objecten, geeft de positie van het object tegenover de oorsprong weer, de oriëntatie en het zwaartepunt. Nadat we de groene objecten gevonden hebben is het de bedoeling om deze uit het grote beeld te halen en te herschalen naar een voorafbepaalde grootte, in ons voorbeeld 640 pixels. Dit moet omdat onze modellen ook allemaal gebaseerd zijn op beelden ter grootte van 640 pixels. Zie bijvoorbeeld guur 4.2 en 4.4. In onze database verzamelen we 20 beelden per soort. Uit de voorbeelden kunnen we onmiddellijk enkele conclusies trekken, we kunnen geen onderscheid gemaakt wordt tussen overlappende delen van verschillende planten en deze dus als 1 plant aanzien worden. Een ander probleem is dat als de planten erg groot zijn of als de bladeren ver uit elkaar staan dan worden de bladeren herkend als 4 afzonderlijke planten en wordt identicatie met het Active Shape Model onmogelijk. Dit laatste probleem kunnen we gedeeltelijk oplossen door 4 dicht bij elkaar staande objecten samengevoegd worden tot één object.
4.1.2 Conclusie groendetectie De segmentatie van de gewassen gebeurt door groendetectie afgetrokken door een witdetectie, de segmentatie zou geen last mogen hebben van verschillende belichtingsomstandigheden indien de camera gebruik maakt van een automatische witbalans correctie. Er treedt echter wel een probleem indien er schaduwen/ belichtingsverschillen in één beeld
4.1 Preprocess
Figuur 4.2:
23
Een voorbeeld van een resultaat uit ons Matlab preprocess, in de eerste afbeelding zien we de originele afbeelding, de tweede afbeelding geeft het binaire beeld van de groene pixels weer, in het derde beeld zien we de witte objecten en in de vierde afbeelding trekken we de witte afbeelding af van de groene en in de vijfde afbeelding laten we de opgekuiste foto zien, In de laatste foto zien we de verschillende gevonden objecten en het zwaartepunt aangeduid.
Figuur 4.3:
Hier zien we de gevonden objecten uit guur 4.2
24
Figuur 4.4:
Uitwerking
Hier zien we een minder goed resultaat uit het preprocess, er zijn veel kleine witte of groene objecten herkent als gewas en dit leidt tot extra rekenwerk
Figuur 4.5:
Hier zien we de gevonden objecten uit guur 4.4
4.1 Preprocess
25
aanwezig zijn. Door de binaire afbeelding van het wit in het beeld af te trekken van de binaire groen afbeelding kunnen we reectie's, onzuiverheden en stof deels uit het beeld lteren, als we dit nog combineren met een ruislter en het opvullen van de gaten krijgen we een goed resultaat dat zelfs bij onzuivere omstandigheden een goed resultaat oplevert.
4.1.3 Klaarmaken voor ASM Een tweede stap in het preprocess bestaat uit het voorbereiden van de gevonden objecten voor de identicatie van het Active Shape Model. We proberen verschillende manieren uit omdat er verschillende modellen van het Active Shape Model bestaan die steeds een andere eigenschappen van een beeld gebruiken. De verschillende technieken zijn en worden verder beschreven in 4.4:
•
Active shape model met een greylevel appearance model gemaakt uit een beeld met grijstinten.
•
Active shape model met een greylevel appearance model gemaakt uit een RGB beeld.
•
Active shape model gebaseerd op edge detection in een beeld met enkel grijstinten.
•
Active shape model gebaseerd op een edge detection in een RGB-beeld.
Ook belangrijk is dat er het zelfde preprocess plaatsvindt op de trainingsdata als de data waarin gezocht moet worden naar plantjes.
4.1.3.1 ASM met een greylevel appearance model Dit Active Shape Model houdt rekening met de omliggende grijswaarden rond de landmarks, dit houd in dat we een maximale spreiding van de grijswaarden een beter resultaat gaan geven. En we maken ook gebruik van een mediaanlter om de ruis zoveel mogelijk te verwijderen.
4.1.3.2 ASM met een grijswaarden edge model Het Active Shape Model dat gebruikt maakt van edge detectie is het vooral belangrijk dat deze randen versterkt worden dit doen we door na het histogram verbetering en mediaan lter een laplaciaan van Gauss toe te passen
26
Figuur 4.6:
Uitwerking
Active shape model gebaseerd op edge detection in een beeld met enkel grijstinten.
Figuur 4.7:
Hier zien we de voorbereidingen van
4.2 Het Active Shape Model
27
4.2 Het Active Shape Model We willen op zoek gaan naar de beste manier om ongewenste gewassen of onkruid te gaan detecteren tussen andere gewassen op een akker of op een grasveld. Na het lezen van het hoofdstuk 2 op pagina 7 wordt al snel duidelijk dat we een complex herkenningsalgoritme nodig hebben om gewassen te identiceren.
4.2.1 Active shape model Modelgebaseerde herkenningsalgoritmes zijn erg populair in beeldverwerking omwille van hun kracht bij het herkennen en het positioneren van voorwerpen in beelden met ruis, overlapping en andere ongewenste eecten die allemaal kunnen optreden bij onkruidherkenning. Een bijkomend en moeilijker probleem om gewassen te herkennen is dat die in hun voorkomen en omgeving steeds variëren, één gewassoort heeft wel gemeenschappelijke eigenschappen zoals bladvorm, de positionering en verhouding van de verschillende bladen ten op zichtte van elkaar, bepaalde inkepingen, de hoeveelheid blaadjes, ... We kunnen dit eenvoudig illustreren met gezichten. Elk gezicht is verschillend maar heeft wel gemeenschappelijke kenmerken en die kunnen we gebruiken om in eerste instantie een gezicht te detecteren en daarna te identiceren, zie guur 2.5. Om deze gemeenschappelijke eigenschappen te kunnen benutten voor identicatie gaan we gebruik maken van het Active Shape Model. Het is namelijk een, naar de vorm van het gevonden object, aanpasbaar model en het houdt rekening met statistische eigenschappen, die afgeleid worden uit een reeks trainingsfoto's die representatief zijn voor één plantensoort. Een ander voordeel is het model ook schaalverschillen en rotaties kan verwerken. Het meest toegepaste Active Shape Model vandaag is ontworpen door T.F.Cootes et al. (1994) en vindt zijn oorspronkelijke toepassing in de medische wereld.
daar wordt het
bijvoorbeeld gebruikt voor het herkennen van organen die ook sterk van vorm kunnen verschillen in de loop der tijd en van persoon tot persoon. Het is de bedoeling dat we dit algoritme gaan onderzoeken en dat we het ASM kunnen gebruiken om het onkruid te positioneren en te identiceren.
4.2.2 Database van beelden De basis van het Active Shape model bestaat uit een zelf aangelegde database waarin we foto's gaan bijhouden van verschillende gewassen.
Deze foto's moeten we dan gaan
rangschikken per soort en we moeten voldoende afbeeldingen bezitten zodat de verzameling foto's representatief is voor de soort. Deze beelden noemen we de trainingsbeelden en het zijn dus een hele reeks beelden van verschillende planten van één soort.
Deze
trainingsbeelden gebruiken we om een gemiddelde model, een mean shape, van de soort te bepalen. De mean shape bestaat dus uit een gemiddelde vorm van één gewassoort en uit de variaties die binnen de gewassoort optreden. Om zowel de gemiddelde vorm als de variaties van de soort te kunnen bepalen moeten, op de trainingsvoorbeelden, de vormen handmatig worden aangeduid door punten aan te duiden op karakteristieke plaatsen zoals het einde van een blad, langs de randen van het blad, speciale inkeping die speciek
28
Figuur 4.8:
Uitwerking
Een voorbeeld van hoe we van één foto van een gewas, vier trainingsfoto's kunnen maken. We gebruiken deze plantjes om een database aan te leggen en om hieruit een mean shape te vormen.
zijn voor die welbepaalde soort onkruid. Die punten worden landmarks genoemd. Deze landmarks worden dan automatisch herschikt met de mogelijkheid om automatisch extra punten toe te voegen via interpolatie tussen de reeds geselecteerde landmarks zodat een nauwkeurige omlijning ontstaat. Het beste resultaat verkrijgen we als we bij het bepalen van de mean shape, de trainingsvoorbeelden zo goed mogelijk uitlijnen tegenover elkaar zodat de trainingsbeelden zo min mogelijk verschillen van elkaar. Als extra hulpmiddel bij het verzamelen van foto's kunnen we van één trainingsbeeld, vier trainingsbeelden maken door de beelden verticaal en/of horizontaal te spiegelen, zie bijvoorbeeld g 4.8. Dit is wel enkel mogelijk als de gewassen symmetrisch zijn
4.2.3 Modellen De modellen worden beschreven door het het point distribution model, zie sectie 2.3.1. Na het aanmaken van de modellen moeten ze over een te onderzoeken object geplaatst worden, waarna het model zo vervormen zodat het de vorm aanneemt van de rand van het gewas. Het aantal overeenkomstige pixels tussen het aangepaste model en het groene gewas geeft aan tot welke soort het gewas behoort, als dit meer dan 50 % overlapt dan kunnen we concluderen dat het gewas tot dezelfde soort behoort dan het model. Op deze manier kunnen wij het onkruid identiceren. Om het model aan te passen aan de bladrand kunnen we verschillende technieken gebruiken: we kunnen rekening houden met de door het algoritme gevonden randen of we kunnen de beelden omzetten naar een grijswaarden en hiermee rekening houden of die beide technieken combineren. Wij maken gebruik met de gevonden randen in het beeld, omdat we geloven dat de groene gewassen een specieke rand opleveren tegenover de achtergrond.
4.2 Het Active Shape Model
Figuur 4.9:
29
een eenvoudig voorbeeld van 4 trainingsbeelden waarop landmarks zijn aangebracht, de rode punten zijn de hoofdlandmarks en duiden belangrijke punten aan, de blauwe punten helpen het algoritme om de juiste weg te kiezen tussen de rode punten
4.2.4 Het point distribution model Het point distribution model of PDM wordt gebruikt bij het maken van de mean shape een gewassoort. Hoe we die mean shape aanmaken verklaren we in onderstaande secties.
4.2.4.1 Plaatsen van de verschillende landmarks Om een model te beschrijven maken we gebruik van een set van een aantal oriëntatiepunten of landmarks. Van ieder trainingsmodel wordt zo een set van punten gegenereerd. Belangrijk hierbij is dat het aantal punten in de set steeds gelijk moet zijn voor één te beschrijven gewas en dat elk punt in de set zo exact mogelijk de overeenkomende punten in de andere trainingsvoorbeelden moet voorstellen, zie bijvoorbeeld guur 4.9. Elk landmark is op dezelfde karakteristieke plaats geplaatst. In het door ons gebruikte PDM maken we gebruik van twee soorten landmarks, de eerst soort landmarks zijn de exacte punten die na bewerking niet van plaats kunnen veranderen.
Deze punten worden ge-
plaatst op key-points, de belangrijkste kenmerken zoals het beging en het uiteinde van een blad. Deze landmarks worden geplaatst op een key-point noemen we hoofdlandmarks. Een tweede soort punten worden door het algoritme zelf geplaatst op basis van interpolatie tussen 2 key-points of hoofdlandmarks, het is wel mogelijk om enkele van deze punten zelf te plaatsen om het algoritme te helpen de juiste rand te vinden. Dit soort punten wordt bijvoorbeeld geplaatst op een rand van een blad tussen het begin en de top van een blad. Dit soort punten zijn gewone landmarks. Nog een andere belangrijke opmerking is dat men de punten ook steeds in dezelfde volgorde dient te plaatsen zodat bij het toepassen van het ASM steeds de juiste punten in de berekeningen worden gebruikt. Enkele voorbeelden kan je zien in guur 4.9:
30
Figuur 4.10:
Uitwerking
Hier zien we de contour van het gewas, gevonden via de punten die we zelf kozen in g 4.9
De hoeveelheid landmarks dat men plaatst hangt af van de vorm van het onkruid. Maar het moet bij elke trainingsfoto van hetzelfde soort onkruid gelijk blijven. Algemeen hebben wij aangenomen dat er tussen twee geplaatste hoofdlandmarks een min of meer rechte lijn ligt zodat we via interpolatie automatisch punten kunnen toevoegen zodat we op deze manier het best de vorm van het onkruid kunnen benaderen. contouren bekijken die we bekomen na interpolatie:
In guur 2 kan je de
4.3 Uitlijning
31
4.3 Uitlijning In dit hoofdstuk bespreken we de uitlijning van de trainingsafbeeldingen tegenover elkaar, dit is belangrijk voor het maken van de gemiddelde vorm of model van een soort. Daarna bespreken we de uitlijning van het model tegenover het gevonden groene object.
4.3.1 Translatie en rotatie Het Active Shape model een techniek is die het mogelijk maakt om het model te vervormen naar de gevonden rand, zoals besproken in sectie 4.2 en 4.2.1. We willen niet dat het Active Shape Model de translatie en rotatie tussen de verschillende trainingsbeelden in rekening brengt bij het beschrijving van het algemene model of mean shape, dus zorgen we ervoor dat zoveel mogelijk overbodige informatie tussen de trainingsvoorbeelden gegenereerd wordt zodat we enkel rekening houden met de vorm van het gewas en niet met de locatie en oriëntatie. De rotatie en translatie wordt dan later terug toegevoegd via de data die we uit het preprocess halen, omdat het maken van een mean shape niet real time gebeurt maakt de tijdsbesteding hier niet veel uit, het is een werk dat voor elke soort 1 maal moet uitgevoerd worden. Deze kosten worden dus bijgevoegd bij de NRE en omdat we geloven dat de afzetmarkt voor het product voldoende groot is weegt deze kost niet zo hard door en weegt dit werk op tegen de tijdsbesparing die het oplevert bij de identicatie.
4.3.2 Tijdsbesparing Een goede uitlijning levert dus een tijdwinst op bij het het real time identiceren met het Active Shape Model, er moet immers minder rekenwerk gebeuren omdat het model geen energie verspilt met het verplaatsen en roteren van het model tegenover het groene object. Bij het uitlijnen kunnen we gebruik maken van de volgende methodes.
•
Bij het plaatsen van de landmarks moeten we ervoor zorgen dat de gewassen op dezelfde manier georiënteerd zijn, zie bijvoorbeeld guur 4.9.
•
Het uitlijnen van de verschillende landmarks in 1 trainingsmodel rond een x en y as
4.3.3 Uitlijnen van één trainingsmodel 4.3.3.1 Translatie Voor het uitlijnen van één trainingsmodel gaan we als volgt te werk: eerst centreren we de landmarks rond de oorsprong van een x-y assenstelsel. Dit kunnen we bereiken door de gemiddelde verplaatsing van de landmarks ten opzichte van de oorsprong te bepalen en dit gemiddelde op zijn beurt van alle landmarks af te trekken.
¯ Xi = Xi − X Yi = Yi − Y¯
(4.1) (4.2)
32
Uitwerking •
Waar
Xi =
de positie van het landmark i
• X=
de vector met alle x posities van het landmark
• Yi =
de positie van het landmark i
• Y =
de vector met alle y posities van het landmark
Na deze bewerking krijgen we twee vectoren X en Y met voor iedere landmark respectievelijk de nieuwe
Xi
en
Yi
positie. Dit zijn de vectoren die we meenemen in de volgende
bewerkingen.
4.3.3.2 Rotatie De volgende stap is het verwijderen van een eventuele rotatie tussen de landmarks. Hiervoor maken we gebruik van driehoeksmeetkunde om de hoek van iedere landmarkpoint te berekenen tegen over de oorsprong, zie formule 4.3. Rot wordt dan een vector van dezelfde grootte als X en Y met hierin de overeenkomstige hoeken. Uit de vector Rot bepalen we nu de gemiddelde hoek op dezelfde wijze als we de gemiddelde X en Y bepaalt hebben en rekenen we opnieuw op dezelfde manier de nieuwe hoeken voor de eerste helft van de landmarks uit.
X ) Y lengtevandevectorRot Of f setr = 2 Rot = Rot − of f setr Rot = tan−1 (
(4.3)
(4.4) (4.5) (4.6)
Nu gaan we de nieuwe landmarks verdraaien zodat ze allemaal dezelfde rotatie hebben. Via de stelling van Pythagoras bereken we de lengte tussen het landmark ten opzichte van de oorsprong.
p Dist = (X 2 + Y 2 ) X = Dist[cos(rot)] Y = Dist[sin(rot)]
(4.7) (4.8) (4.9) (4.10)
Na deze bewerking zijn de punten onderling uitgelijnd, bijvoorbeeld zie guur 4.11.
4.3.4 De mean shape Nadat we onze data uitgelijnd hebben gaan we een gemiddelde vorm van ons object berekenen, dit gaat als volgt: De eerste stap die we hierbij uitvoeren is het verzamelen van onze data. We maken van de data die we gecreëerd hebben bij het uitlijnen van de vormen tot 1 grote matrix met
4.3 Uitlijning
Figuur 4.11:
33
In deze afbeelding zien we 4 contouren uitgelijnd de bovenste guur is de originele contour en daaronder is telkens de uitgelijnde contour afgebeeld. We zien de contouren nu rond de oorsprong staan en de onderlinge verschillen in rotatie en translatie zijn weggewerkt.
als kolommen steeds de vectoren van 1 vorm. We noemen deze matrix X met i kolommen overeenstemming met het aantal trainingsmodellen en j het aantal rijen overeenstemmend met 2 maal het aantal landmarks, elk punt heeft namelijk een x en een y coördinaat. De gemiddelde vorm de contour is eenvoudig te bepalen door volgende formule
Ns 1 X ¯ X= Xi Ns i=1
(4.11)
De gemiddelde contour van het gebruikte voorbeeld zien we in guur 4.12: Nu we de gemiddelde contour gevonden hebben komen we bij de tweede stap terecht van het point distribution model, namelijk het bepalen van de mogelijke variaties van ons model. Hoe
Figuur 4.12:
de gemiddelde vorm van één gewas
34
Uitwerking
we deze variaties gaan beschrijven leggen we verder uit on 4.3.5
4.3.5 Principal component analysis Voor de variaties uit sectie 4.3.4 te beschrijven maken we gebruik van een Principal component analysis (PCA) ook wel hoofdcomponentenanalyse genoemd, het is een multivariate analysemethode in de statistiek om een grote hoeveelheid gegevens te beschrijven met een kleiner aantal relevante grootheden. Eerst berekenen we de afwijking van ieder contour ten opzichte van de gemiddelde vorm en noemen deze
Dx . Dxi = x1 x¯
Vanuit de
Dx
(4.12a)
matrix berekenen we de covariantiematrix, S, als volgt:
S=
Ns 1 X dxi dxTi Ns i=1
(4.12b)
de variaties van de landmarks van de shapes worden beschreven door de eigenvectoren, λ P2n van S, pi ( i=1 i) zo dat, Spi = λi pi (4.12c) (waar
λi
is gelijk aan de
ide
eigenwaarde is van
S, λi ≥ λi+1
pTi Pi = 1
(4.12d)
Het aantal eigenvectoren dat men kan bepalen is gelijk aan twee maal het aantal landmarks.
Waarbij je nu kan zien dat er voldoende landmarks aanwezig moet zijn om de
variantie tussen de verschillende modellen te kunnen beschrijven. Hoe meer eigenvectoren men echter in rekening brengt des te meer rekenkracht en dus tijd men nodig heeft om een model te vervormen. Men kan bewijzen dat de grootste variantie beschreven wordt door de grootste eigenwaarde bepaalt uit de covariantiematrix. Van deze eigenschap kunnen we gebruik maken om het ideale aantal eigenvectoren te bepalen. Wil je bijvoorbeeld 95 procent van de vervorming kunnen beschrijven is het voldoende om
λ
eigenvectoren die 95 procent van de totale
som van alle eigenwaarde voorstellen te behouden. nodig is en dus ook de snelheid van uitvoering.
Dit vermindert de rekenkracht die
Het percentage eigenvectoren dat in
rekening gebracht moet worden kan men het best experimenteel bepalen. Hoe beter de trainingsdata is uitgelijnd des te beter de eigenvectoren de werkelijke variantie beschrijven en niet de rotatie en translatie van de verschillende trainingsvoorbeelden tegen over elkaar. Het loont dus de moeite om hieraan tijd te besteden omdat dit tot het voorbereidende werk behoort waarna men het ASM real-time wil toepassen men minder tijd nodig heeft omdat men minder eigenvectoren moet bepalen.
De berekende eigenwaarden van ons
voorbeeld vind je in de tabel 4.1. De vetgedrukte eigenwaarde vertegenwoordigen samen bijna 98%.
4.3 Uitlijning
35
De grootte van
Tabel 4.1:
λ
gewichtspercentage
som
λ1 λ2 λ3 λ4 λ5 λ6 λ7 λ8 λ9 λ10 λ11 λ12 λ13 λ14 λ15 λ16 λ17 λ18 λ19 λ20 λ21 λ22 λ23 λ24 λ25 λ26 λ27 λ28
236094,9984
45,53147484
45,53147484
173518,8727
33,46352205
78,99499689
33186,41555
6,400078168
85,39507506
24749,52477
4,773003969
90,16807903
20072,59558
3,871047192
94,03912622
8719,256418
1,681529075
95,7206553
5783,205311
1,115304724
96,83596002
3936,742404
0,759210017
97,59517004
3111,094989
0,599981974
98,19515201
2174,392819
0,419336761
98,61448877
1719,378118
0,331586108
98,94607488
1523,702665
0,293849637
99,23992452
932,4446135
0,179824133
99,41974865
723,9924529
0,139623645
99,5593723
460,4933311
0,08880722
99,64817952
410,7234282
0,079208978
99,72738849
324,9912856
0,062675333
99,79006383
228,3586538
0,044039503
99,83410333
197,4269153
0,038074244
99,87217757
176,2200355
0,033984448
99,90616202
116,9173196
0,02254778
99,9287098
100,3433445
0,01935145
99,94806125
86,94343777
0,016767246
99,9648285
67,02704228
0,012926322
99,97775482
41,87791307
0,008076254
99,98583107
32,64784561
0,006296214
99,99212729
23,78286376
0,004586581
99,99671387
17,03963451
0,003286134
100
totaal
518531,4098
100
Dit is een tabel met de eigenwaarden van een mean shape die wij ontwikkeld hebben, zie guur 4.12
36
Uitwerking
4.4 Identicatie Na het creëren van een meanshape of gemiddelde vorm is het de bedoeling om die te gebruiken voor de identicatie van groene objecten uit de camera's gemonteerd op het landbouwvoertuig, in ons geval foto's die deze situatie simuleren. In dit gedeelte wordt beschreven welke methode's we kunnen gebruiken. We hebben eerder al verklaard hebben hoe we de meanshape over een mogelijk object plaatsen, zie hoofdstuk 4.3. Nu moeten we enkel nog het model laten vervormen om na te gaan hoe groot de kans is dat het te onderzoeken object tot dezelfde soort als de meanshape behoort.
4.4.1 Rand gebaseerde detectie Het Active Shape Model kan vervormen op basis van de gevonden randen in de afbeelding, hiervoor moeten we eerst bepalen in welke richting de landmarks en de mean shape zich verplaatsen. Wij hebben gekozen om de normaal, loodrecht op de mean shape, van elk punt te berekenen en de landmarks hierlangs te verplaatsen.
De randdetectie van de
afbeelding gebeurt via de afgeleide, zie formule (4.13) en (4.14).
Dx = Dy =
[Xt (2) − Xt (1)
(xt[3
tot einde]xt[1tot einde
− 2])
] 2xt[eind] − xt[eind − 1] (yt[3 tot einde] − yt[1 tot einde − 2]) ] [Yt (2) − Yt (1) 2yt[eind] − yt[eind − 1]
(4.13)
(4.14)
Via deze afgeleide bepalen we de normals.
l=
q Dx2 + Dy2 −Dy l Dx ny = l
nx =
(4.15) (4.16) (4.17)
Deze formules geven het beeld , zie guur 4.13. De Rode contour staat op de originele plaats, de groene en blauwe contouren zijn verplaats op de normaal van de rode contour. Verbind men nu elk overeenkomstig punt van elke contour dan heeft men de normaallijnen. Hierna bepalen we op welke punt van de normaallijn waar het landmark geplaatst moet worden. Hiervoor becijferen we de meest overeenkomstige rand van het beeld, rondom de plaats waar we ons contour geplaatst hebben.
Het edge proel van een voorbeeld foto is gegeven in de volgend guur 4.14.
We zien het edgeproel rondom de geplaatste contour. Hoe roder, hoe scherper de rand, hoe blauwer, hoe minder rand er aanwezig is. We zien duidelijk de vorm van de gezochte plant. Het is nu de bedoeling de landmarks te verplaatsen naar deze rand ,maar zodoende dat de nieuwe vorm nog steeds tot de onderzoeken groep hoort.
4.4 Identicatie
Figuur 4.13:
37
In deze afbeelding zien we de RGB contouren van een gewas, de rode contour staat op de originele plaats de groene en de blauwe zijn verplaatst langs de normaal van de rode. De zwarte lijnen zijn de normaallijnen waarop we de landmarks gaan verplaatsen
Figuur 4.14:
Een randproel wordt opgesteld uit guur 4.13
38
Uitwerking
4.4.2 deniëren van de nieuwe vorm Als we het model vervormen naar de gevonden randen moeten we er rekening mee houden dat we het model niet te hard vervormen. Anders lopen we het risico dat het model niet meer de eigenschappen van de soort bevat. We weten dat we vanuit de trainingsvoorbeelden nieuwe modellen kunnen maken via de formule
¯ + Pb X=X
(4.18)
Waar P eigenwaarden zijn en B het bijhorende gewicht. Zolang we B binnen bepaalde gekende waarden houden kan men ervan uitgaan dat de nieuwe gecreëerde vorm bij de klasse hoort.
De bedoeling nu is om een verandering
omvormen naar
DX
∆B
te bekomen die we kunnen
of andersom
¯ + P (B + ∆B) X=X
(4.19a)
x + dx ≈ x¯ + P (B + dB)
(4.19b)
We willen dus
4.19a aftrekken van 4.19b geeft
dx ≈ P (db)
(4.19c)
T
(4.19d)
db = P ∗ dx Hierdoor kunnen we de verplaatsing
Dx
omvormen naar
Db
waardoor we kunnen contro-
leren of de nieuwe net gemaakte vorm nog tot de mogelijkheden van de klasse behoort of niet.
Hoofdstuk 5 Resultaten In dit hoofdstuk gaan we een overzicht geven van de resultaten die we behaald hebben met onze implementatie van het ASM. In sectie 5.1 gaan we de tussenresultaten van het preprocess geven en verklaren. In sectie 5.2 gaan we de parameters die we met het ASM kunnen instellen overlopen en kijken wat we met de parameters kunnen beïnvloeden. In sectie 5.3 gaan we dan op zoek naar de resultaten in verband met het identiceren van de gevonden gewassen.
5.1 Localisatie In dit deel gaan we het hebben over de resultaten die we verkrijgen voor het lokaliseren van de gewassen, zie sectie 4.1.1 voor de technische achtergrond. Voor de eerste test van ons localisatie-algoritme hebben we gebruik gemaakt van een database van 18 foto's van het gewas ibiscus, op deze foto is telkens 1 gewas aanwezig. Het resultaat uit dit programma is vrij goed, maar de omstandigheden zijn vrij eenvoudig. Er is slechts 1 gewas aanwezig per foto en de achtergrond is redelijk uniform. Zie guur 5.1 voor 2 steekproeven uit de database. We zien duidelijk dat het algoritme last heeft van stokjes of witte objecten in het beeld, in deze objecten is immers ook veel groen aanwezig. En deze vreemde voorwerpen worden dan ook herkend als gewassen. zorgen dat de rekentijd van het programma stijgt.
Dit gaat ervoor
Dit zou vermeden kunnen worden
indien we de parameters van het programma zouden afstellen op deze specieke set van beelden. We hebben echter geprobeerd om algemene instellingen te behouden om op die manier een realistisch resultaat te bekomen. De database met ibiscus planten is duidelijk een demo opstelling en is niet representatief voor beelden die van op een landbouwvoertuig gemaakt zijn.
5.1.1 Realistische beelden Dezelfde test voeren we nog eens uit op een set beelden met verschillende gewassen en belichtingsomstandigheden. We leggen een database aan van 20 foto's met verschillende gewassen, verschillende ondergronden en verschillende omstandigheden.
40
Figuur 5.1:
Resultaten
De localisatie van de ibiscus werkt redelijk goed, in deze afbeelding geven we 2 resultaten, de zeg linkse en de zes rechtse beelden, mee om een idee te vormen van de bewerking.
5.1 Localisatie
41 gevonden objecten
correcte gewassen
valse gewassen
gewas 1
1
1
0
gewas 2
2
1
1
gewas 3
5
1
5
gewas 4
4
1
3
gewas 5
4
1
3
gewas 6
5
1
4
gewas 7
1
1
0
gewas 8
1
1
0
gewas 9
1
1
0
gewas 10
1
1
0
gewas 11
8
1
7
gewas 12
2
1
1
gewas 13
9
1
8
gewas 14
1
1
0
gewas 15
1
1
0
gewas 16
2
1
1
gewas 17
3
1
2
gewas 18
1
1
0
Tabel 5.1:
Figuur 5.2:
Eerste localisatietest met ibiscus
2 steekproeven van een realistisere landbouw situatie
42
Tabel 5.2:
Resultaten
gevonden objecten
correcte gewassen
valse gewassen
gewas 1
6
3
3
gewas 2
3
1
2
gewas 3
6
2
2
gewas 4
20
3
17
gewas 5
28
2
26
gewas 6
5
3
0
gewas 7
7
3
2
gewas 8
8
4
3
gewas 9
6
5
1
gewas 10
13
4
5
gewas 11
5
2
1
gewas 12
7
3
1
gewas 13
10
3
7
gewas 14
10
2
5
gewas 15
20
13
0
gewas 16
11
3
3
gewas 17
9
2
7
gewas 18
10
5
2
gewas 19
3
2
1
gewas 20
9
3
3
realistische demo resultaten, zoals beschreven in 4.1.1 hebben we het probleem dat sommige gewassen herkend worden als 4 objecten omdat de bladeren te ver uit elkaar staan. Hierdoor klopt de som, correcte gewassen + valse gewassen = gevonden gewassen soms niet
5.2 Gevoeligheid voor parameters
Figuur 5.3:
43
In deze afbeeldingen zien we het eect van het aantal punten N dat we gebruiken om een Active Shape Model aan te maken.
5.2 Gevoeligheid voor parameters In deze sectie publiceren we onze resultaten over de aanpassing van het ASM uitgevoerd op ongewenste gewassen. We gaan na wat de invloed is van de verschillende parameters die gebruikt worden bij het Active Shape Model. De onderzochte parameters zijn: het aantal landmarks, het maximaal aantal pixels dat men een landmarkpoint per keer iteratief kan verplaatsen, het aantal pixels gelegen op de normaal van een landmarkpoint dat men in rekening brengt om model te maken, de maximale toegelaten afwijking van het gemiddelde model en tot slot een parameter die het aantal schalen bepaalt waarop we het Active Shape Model verplaatsen. Uiteindelijk gaan we uit deze resultaten conclusie kunnen trekken naar de performantie van het Active Shape Model.
5.2.1 Aantal landmarks Het is belangrijk om een correct aantal landmarks te gebruiken bij het toepassen van het ASM. Indien er te weinig landmarks zijn heeft het model te weinig vrijheidsgraden en zal het fout gaan vervormen.
Het model mist exibiliteit om zichzelf rond de vorm
aan te passen. Een teveel aan landmarks gaat er dan weer voor zorgen dat er veel meer rekenwerk moet gebeuren dan nodig, zonder dat het resultaat erop verbeterd. Hierdoor zal het programma meer tijd nodig hebben en zal de performantie dalen. De verschillende resultaten zijn hier weergegeven in guur 5.3 waarbij we opmerken dat na een zeker aantal landmarks geen verbetering meer mogelijk is omdat het ASM mooi aansluit rond het gewas. We nemen 410 landmarks als resultaat omdat dit het kleinste aantal landmarks is dat het gewenste resultaat geeft bij ons voorbeeldgewas. Let er wel op dat dit getal voor elke soort verschilt afhankelijk van de complexiteit van het te identiceren gewas.
44
Figuur 5.4:
Resultaten
Hier zien we het resultaat van de vervorming van het Active Shape Model in verband met de hoeveelheid pixels waarrond we gaan kijken
5.2.2 Te verplaatsen pixels De volgende onderzochte parameter is het aantal te verplaatsen pixels per iteratie. Dit aantal moet nauwkeurig gekozen worden per gewas en per situatie. Te weinig verplaatsing zorgt ervoor dat sommige pixels die ver van de rand staan niet of in de foute richting verplaatst worden.
Teveel verplaatsing in één keer zou ervoor kunnen zorgen dat de
pixel zijn gezochte positie overslaat en naar een andere gevonden rand springt. Uit ons onderzoek is gebleken dat dit een zeer gevoelige parameter is en dat de resultaten sterk verschillen bij het wijzigen van deze parameter met één eenheid. Dit wordt geïllustreerd in guur 5.4. Na enkele testen konden we concluderen dat een verplaatsing van 6 pixels het beste resultaat opleverde.
Let er wel op dat dit getal voor elke situatie verandert
afhankelijk van de complexiteit van de achtergrond.
5.2.3 Aantal pixels wijzigen op de normaal De derde parameter die onderzocht werd bepaalt het aantal pixels op de normaal van een landmark, zie sectie 4.4. landmark te maken.
We gaan deze gebruiken om een randproel van iedere
Dit is een belangrijke maar moeilijk te bepalen factor.
Een te
laag aantal pixels zorgt ervoor dat de zinvolle informatie van de bladrand niet gevonden wordt, waardoor het ASM bij het toepassen naar de verkeerde punten bewoog. Als we teveel pixels op de normaal in rekening brengen, verdwijnt de essentiële informatie in een teveel aan informatie wat op zijn beurt terug leidt tot foutieve verplaatsingen. Een probleem treedt op als we een verscheidenheid aan grootte moeten onderzoeken en deze niet allemaal even scherp gefotografeerd worden waardoor de randen teveel verschillen. Dit leidt tot moeilijkheden bij het onderzoeken van nieuwe objecten. Na de veelvuldig door ons uitgevoerde testen blijkt tevens dat men beter kan opteren voor onscherpe randen
5.2 Gevoeligheid voor parameters
Figuur 5.5:
45
Hier zien we het Active Shape Model vervormen afhankelijk van het aantal punten op de normaallijn dat we gaan gebruiken.
zoals in het onderstaande voorbeeld dan voor scherpe randen.
5.2.4 eigenwaarden De volgende parameter die we nagaan is de invloed van de toegelaten afwijking tegenover de eigenwaarden. Hoe hoger de afwijking die we toelaten op de eigenwaarden, hoe eenvoudiger we het model kunnen aanpassen. Dit heeft als gevolg dat elk landmark zijn beste positie gaat aannemen in het beeld, zonder rekening te houden met de landmarks naast hem. Te weinig vrijheidsgraden zorgen er dan weer voor dat de gemiddelde shape niet rond het te zoeken object gaat vervormen, de gemiddelde vorm is erg stroef en zal moeilijk aanpassen, indien het gewas dan een klein beetje afwijkt van de gemiddelde vorm zal het fout geclassiceerd worden. Een goede afstelling zorgt ervoor dat de punten kunnen afwijken van de gemiddelde contour, maar toch onderling gecorreleerd blijven.
5.2.5 Besluit in verband met aanpassing ASM Het Active Shape Model is in staat om zich rond gewassen te vervormen en de verschillen tussen de gewassen en de omstandigheden op te vangen. Uit onze testen blijkt dat het ASM in staat is om overweg te kunnen met onscherpe beelden, ruis, belichtingsverschillen, kleurverschillen tussen planten en achtergrond. Deze verschillen kunnen allemaal verwerkt worden in het het gemiddeld model en in de verschillende parameters. Het Active Shape Model lijkt dus een geschikt algoritme om in te zetten bij onkruid identicatie, er zijn echter wel wat nadelen verbonden aan deze techniek. Bij het gebruik van het Active Shape Model hebben we een database aangelegd van 80 foto's per gewas.
In deze database hebben we een grote variatie aan kwaliteit van
46
Figuur 5.6:
Resultaten
Hier zien we een voorbeeld waar het Active Shape Model naar de foute rand springt, in de achtergrond is teveel storing aanwezig en dit levert teveel valse randen op
foto's aangebracht omdat dit in een reële situatie ook het geval gaat zijn.
Zo hebben
planten in de schaduw een andere tint van groen, de tint van de grond afhankelijk van de vochtigheid en de tijd die verstreken is sinds de laatste grondbewerking. Zo gaat grond na een bepaalde tijd steeds een groene schijn krijgen wat dan op zijn beurt weer invloed heeft op het randproel van het model. Omdat we het model wilden testen hoe het zou reageren in een echte situatie hebben we al deze factoren in onze testbeelden gestoken door foto's te nemen op verschillende locatie's en op verschillende tijdstippen. Na het toepassen en testen van deze modellen zijn we tegen een aantal beperkingen gestoten. Zo is het Active Shape Model gevoelig voor 'valse randen' indien we gebruik maken van ASM op basis van randen. Dit zijn randen veroorzaakt door bijvoorbeeld takjes, vocht, reecties of mos op de landbouwgrond, dit wordt geïllustreerd door guur 5.6. Ook overlappingen van bladen van andere planten is een probleem zo kan het ASM geen onderscheid maken welk blad bij welke plant behoort waardoor classicatie onmogelijk wordt op deze manier, zie bijvoorbeeld guur 5.7. Een ander probleem dat optreedt is dat de grote verscheidenheid aan instellingen het moeilijk maakt om al de parameters die we in deze sectie onderzocht hebben een standaard waarde te geven. We moeten voor elke situatie op zoek naar een ideale afstelling tussen deze verschillende parameters zodat dit voor alle omstandigheden en soorten een juist resultaat kan opleveren. Om het Active Shape Model op deze manier te implementeren zou er voor elke onkruid verdelging veel parameters ingesteld moeten worden, dit komt de eenvoud niet ten goede en zal een hoge instapdrempel voor de landbouwers tot gevolg hebben.
5.3 Identicatie
Figuur 5.7:
47
Hier zien we een voorbeeld van een probleem bij gewas localisatie.
5.3 Identicatie Tot slot publiceren we onze resultaten aan de hand van cijfermateriaal in verband met de identicatie bij het toepassen van het Active Shape Model. We onderscheiden hierin twee situaties:
•
False positive's
•
True positive's
Hierbij gaan we na hoeveel van de onderzochte objecten een correcte identicatie kennen wanneer we een juist model toepassen op het te onderzoeken gewas.
5.3.1 Hoe identiceren we de gewassen? Om na te gaan hoe groot de kans is dat een gevonden gewas tot een bepaalde soort behoort gaan we als volgt te werk. We weten dat een gevonden contour bij een soort hoort door de eigenschappen van het Active shape model die enkel toelaat dat de gemiddelde vorm varieert op een manier zodat de nieuw bekomen contour nog steeds bij het geplaatste model hoort, zie sectie 4.3.5.
Door nu na te gaan hoe goed dit vervormd deel op het
onderzochte plantje past kunnen we inschatten of het plantje tot dezelfde klasse behoort als het ASM. We maken van beide beelden een imaginair beeld waarbij in het origineel beeld de onderzoeken plant voorstellen door witte pixels. In het tweede beeld stellen we het gebied dat gelegen is binnen de gevonden contour ook met witte pixels voor. Door het aantal overeenkomstige pixels krijgen kunnen we inschatten hoe groot de kans is dat een beeld bij de soort hoort of niet. We geven dit weer met 2 voorbeelden, zie guren 5.8 en 5.9.
48
Figuur 5.8:
Figuur 5.9:
Resultaten
Percentage van gelijke pixels= 34%, het aantal pixels dat overeenkomt met het model is erg laag. We kunnen hieruit concluderen dat het gewas niet tot de klasse van het ASM behoort.
Percentage van gelijke pixels= 78%, het aantal pixels dat overeenkomt met het model is hoog. We kunnen hieruit concluderen dat het gewas tot de klasse van het ASM behoort.
5.3 Identicatie
Figuur 5.10:
49
Een afbeelding waarmee een veldsituatie gesimuleerd wordt
5.3.2 Experimenten op onze database Onze database bestaat uit 3 soorten onkruid waarin elke plantensoort met ongeveer 80 exemplaren vertegenwoordigd is. Deze exemplaren zijn gecreëerd uit foto's van 3200 X 2400 genomen op een braakliggend veld.
Hieruit hebben we voor het maken van de
meanshape handmatig training examples uitgeknipt en herschaald naar 640 x 480. Voor 1 soort hebben we nog testbeelden kunnen maken.
Van de andere soorten waren niet
voldoende exemplaren aanwezig om nog nieuwe testbeelden te maken.
De onderzochte
soorten zijn.
•
Galinsoga ciliata (Ran.) S.F., (knopkruid)
•
Ibiscus
•
Chenopodium album L. melganzenvoet
De keuze van deze plantensoorten heeft als voornaamste reden:
•
Dat deze in voldoende grote mate en diversiteit aanwezig waren op het onderzochte veld.
•
De onderlinge grote verschillen tussen knopkruid en melganzenvoet, anderzijds de overeenkomsten die er zijn in een bepaald groeistadia van Ibiscus en knopkruid.
Een voorbeeld van een foto met in dit geval de aanwezigheid van knopkruid zien we in guur 5.10.
50
Resultaten Galinsoga ciliata
Ibiscus
(knopkruid) Galinsoga ciliata
Chenopodium album (L. melganzenvoet)
80 % juist
20 % fout
0% fout
30 % fout
80%juist
0% fout
(knopkruid) Ibiscus Tabel 5.3:
In deze tabel geven we het resultaat dat we kregen na toepassing ASM. We legden het model van de twee onkruiden over 3 verschillende gewassen
5.3.3 Experimenten Voor we een doorgedreven test van onze database konden doen hebben we experimenten uitgevoerd om via deze weg een goede instelling van de parameters te bekomen, zie 5.2. Uit onze experimenten bleek dat het Active Shape Model de beste resultaten gaf bij het toepassen op kleurenfoto's.
Voor ons onderzoek hebben we ook gebruik van het ASM
gebaseerd op randdetectie.
Nadat we de testen hebben uitgevoerd kwamen we tot de
volgende standaardinstellingen van het ASM die het best resultaat opleverde.
5.3.3.1 Ingestelde parameters Aantal landmarks: 420 dit is het aantal landmarks dat gebruikt wordt om een gemiddelde vorm te beschrijven. Het grootste deel wordt automatisch gegeneerd door het plaatsen van landmarks tussen handmatig geplaatste hoofdlandmarks zoals beschreven in 4.2.4.1. De lengte van het randproel rond elk landmarkpoint nemen we 8 en de lengte die we gaan afzoeken naar de beste plaats langs de normaal is 6 pixels langs beide zijde van het landmark. De afwijking die een contour mag hebben om nog steeds tot de gezochte klasse te behoren is
2∗
√
eigenvalue,
zie sectie 4.3.5. Het aantal iteratie's is 35.
5.3.3.2 resultaten We hebben twee gemaakte modellen uitgevoerd op onze database en hiervan zijn de resultaten hieronder weergeven. Met hierbij de percentage van juist positieve herkenningen en het percentage foute positieve herkenningen.
Hoofdstuk 6 Besluit In deze thesis zijn we nagegaan hoe eciënt we gewassen kunnen lokaliseren en identiceren door gebruik te maken van industriële camera's en met behulp van Active Shape Model. Het segmenteren van de gewassen gebeurde aan de hand van een groendetectie waarna de positie met behulp van het zwaartepunt bepaald werd. Tegelijkertijd werd ook rotatie berekend zodoende we het Active Shape Model op het gevonden gewas konden plaatsen.
Deze techniek leidde tot goede resultaten.
Er traden wel problemen op bij
de overlapping van de gewassen, en is dus een specicatie waaraan zeker moet voldaan worden en bij een te drukke of veranderende achtergrond. Uit onze resultaten blijkt dat het moeilijk was om gewassen correct te detecteren die gedeeltelijk bedekt worden door stof of water. De grootte van de verstoring door stof ,water of andere zaken hangt sterk af van de plaats waar dit zich bevindt en de soort storing. Het Active Shape Model is het slechts bestand als deze storing in de buurt voorkomen van het geplaatste model. Deze storing zorgen namelijk voor valse randen, waardoor de modellen gaan vervormen naar deze valse randen en niet naar de randen van het gewas wat tot een foute classicatie leidt. Men kan echter de graad van herkenning sterk verbeteren door het het model te beperken tot één uniforme ondergrond en omgeving. In goede omstandigheden halen we een herkenningsgraad van 80 % maar dit resultaat daalt snel indien de parameters niet correct ingesteld zijn, wat er weer op wijst dat een goede afstelling heel belangrijk is. Ook kan men best vermijden dat de gezochte object niet vochtig zijn want dit zorgt voor de nodige reecties wat zowel voor problemen zorgt bij de segmentatie en identicatie. Het groen wordt niet meer als groen aanzien maar als wit. Ook het rand model krijgt een veel grotere variatie wat er toe leidt dat het bekomen model vaker naar verkeerde objecten als stenen of takjes gaat afwijken. De eindconclusie luidt dat het Active Shape Model toch heel wat beperkingen heeft om een robuust systeem te ontwikkelen zodat we een succesvolle onkruidherkenning bekomen. Slaagt men er echter in om van de onderzochte foto's zowel de achtergrondkleur als de plant zelf niet te hard te laten afwijken dan slagen wij erin om 80 % de gewassen juist te kwaliceren. Voorlopig zou er dus voor elk weertype en grondsoort een apart preprocess, model en randproel moeten gemaakt worden. Men moet ook vermijden dat niet teveel restafval blijft van bijvoorbeeld vorige oogsten want deze zorgen voor veel randen in de
52
Besluit
beelden waarop de modellen verkeerd gaan uitwijken. Onze implementatie was nog niet gericht op real-time performantie. De rekentijd van het Active Shape Model kan beperkt gehouden worden door de simpelste vorm van Active Shape Model toe te passen, met zwart wit detectie en enkel kijken naar randen.
Een
verder doorgedreven preprocess is dan wel noodzakelijk zodat de beelden van de gewassen meer genormaliseerd worden. Ook het aanmaken van een uitgebreide database waaruit het gemiddelde model gecreëerd wordt en deze zo goed mogelijk uit te lijnen tegenover elkaar vermindert het aantal nodige iteraties om een model te passen op een gewas.
Bibliograe Ahmed, I., Muhamin, A. and Islam, N. M. (2006), Real-time specic weed recognition system using histogram analysis, Technical report, World Academic of Science,Engineering and Technology. Bravo, C., Franssens, W. and Hermann, O. (2005), Plaatsspecieke bestrijding van aardappelopslag, Technical report, Katholieke Universiteit Leuven.
Lowtech magazine . URL: http://www.lowtechmagazine.be/2007/06/de-verticale-bo.html
Decker, K. D. (15/06/2007), `De verticale boerderij',
Devijver, P. and Kittler, J. (january 1982),
Pattern Recognition: A Statistical Approach,
rst edition edn, Prentice Hall. Ekkelboom, J. (2002), `Spuitmachine zoekt onkruid',
de volkskrant .
Homburg Machinehandel, B. (02/08/2010), `Weedseeker, automatic spot spray system',
Wikipedia .
URL: http://www.weedseeker.nl Het Nieuwsblad . URL: http://www.nieuwsblad.be/article/detail.aspx?articleid=GQ5966NB
HWR (1/10/2004), `Tractor weed-it wiedt selectief onkruid',
Kempenaar, C., van der Weide, R., Been, T. and Lotz, L. (2009), `Precielandbouw en gewasbescherming: kansen, witte vlekken en kennisvragen',
Plant Research International
p. 42. Kroon, D. (16/02/2010), `Active shape model (asm) and active appearance model (aam)',
Matlab Central . URL: http://www.mathworks.com/matlabcentral/leexchange/26706
Nordbo, E., Christensen, S., Kristensen, K. and Walter, M. (2004),
Aspects of Applied
Biology, Vol. 40, The Association of Applied Biologists, chapter Patch spraying of weed
in cereal crops, pp. 325334. Smedt, F. D., Billauws, I. and Goedemé, T. (2010), Neural networks and low-cost optical lters for plant segmentation,
in `IADIS Computer Graphics, Visualization, Computer
Vision and Image Processing', p. 8. Sogaard, H. (2006), Weed classication by active shape model,
in
`Biosystems Enginee-
ring', Department of Agricultural Engineering, Research Centre Bygholm, Danish Institute of Agricultural Sciences, pp. 271281.
54
BIBLIOGRAFIE
Sozou, P., T.F.Cootes, Taylor, C. and Mauro, E. D. (1995), Non-linear point distibution modelling using a multi-layer perceptron, Technical report, Image Science and Biomedical engineering, University of Manchester, UK. T.F.Cootes and Taylor, C. (1995), Statistical models of appearance for medical image analysis and computer vision, Technical report, Image Science and Biomedical engineering, University of Manchester, UK. T.F.Cootes, Taylor, C., D.G.Cooper and Graham, J. (1994), Active shape models-their training and application,
in
`Computer vision and image understanding', Vol. 61, De-
partment of Medical Biophysics of Manchester, pp. 3859. T.F.Cootes, Taylor, C., D.H.Cooper and Graham, J. (1995), Training models of shape from sets of examples, Technical report, Image Science and Biomedical engineering, University of Manchester, UK. Theodoridis, S. and Koutroumbas, K. (2009),
Pattern Recognition,
fourth edition edn,
Academic Press. van Ginneken, B., Frangi, A., Staal, J., ter Haar Romeny, B. M. and Viergever, M. A. (2002),
Active Shape Model segmentation with optimal features, Vol. 21, IEE transacti-
ons on medical imaging, pp. 924933. van Os, E., Hemming, J., de zande, J. V. and Snel, J. (2007),
Een kennisintensief proces
van waarnemen, beslissen en actie ondernemen, Vol. 3, onder glas, p. 2.
Vrindts, E. (2000), Automatic recognition of weeds with optical techniques as a basis for site-specic spraying, PhD thesis, Faculteit Landbouwkundige en Toegepaste Biologische Wetenschappen van de K. U. Leuven. Vrindts, E., Baerdemeaker, J. D. and Ramon, H. (2002), Weed detection using canopy reection, Technical report, Katholieke Universiteit Leuven, Dept. Agroengineering and -Economics, Lab. Weis, M., T.Rumphf, Gerhards, R. and Plümer, L. (2008), Comparison of dierent classecation algorithms for weed detection from images based on shape parameters, Technical report, Leibniz-Institut für Agrartechnik Potsdam-Bornim, Otto-Sander-Straße 5, 70599 Stuttgart,Germany.
e Wikipedia . URL: http://nl.wikipedia.org/wiki/Theorema_van_Bayes
Wikipedia (03/08/2010 ), `Theorema van bayes',
b Wikipedia . URL: http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm
Wikipedia (15/03/2010 ), `k-nearest neighbor algorithm',
d Wikipedia . URL: http://en.wikipedia.org/wiki/Seedling
Wikipedia (19/02/2010 ), `Seedling',
c
wikipedia (21/02/2010 ), `Onkruid',
Wikipedia .
URL: http://nl.wikipedia.org/wiki/Onkruid
BIBLIOGRAFIE
55
a Wikipedia . URL: http://en.wikipedia.org/wiki/Active_contour_model
Wikipedia (21/04/2010 ), `Active contour model',
Yang, C., S.O.Prasher, J.A.Landry, H.S.Ramaswamy and A.Ditommaso (30 June 2000), Application of articial neural networks in image recognition and classication of crop and weeds, Technical report, 1Department of Agricultural and Biosystems Engineering, McGill University, Ste-Anne-de-Bellevue, QC, Canada H9X 3V9.