21.07.2013 Views

Detektering og klassificering af kimplanter ved brug af computer vision

Detektering og klassificering af kimplanter ved brug af computer vision

Detektering og klassificering af kimplanter ved brug af computer vision

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2 Opbygning <strong>og</strong> planlægning 2.1 Opbygning<br />

henholdsvis hvidt eller sort. Det ønskes at fastlæggelsen <strong>af</strong> denne grænse sker dynamisk, da<br />

lysforholdene i billedet kan variere. Grænsen bliver på denne måde ikke givet på forhånd.<br />

4. I det binære billede skal alle de hvide forgrundspixels, som rører <strong>ved</strong> hinanden, sættes<br />

sammen sådan, at man kan referere til en samlet pixelgruppe med et nummer. En sådan pixelgruppe<br />

refereres som ”blob”. Udover at danne blobs skal det <strong>og</strong>så fastlægges, hvor disse<br />

ligger i det binære billede. Der skal altså opsættes en grænse, som omslutter hver enkel blob.<br />

Dette gøres <strong>ved</strong> at ramme dem ind med en firkant, med koordinater til alle fire hjørner, en<br />

såkaldt ”bounding box”. Alle informationer om hver enkel blob gemmes i et objekt ”seed” i<br />

pr<strong>og</strong>rammet.<br />

5. Næste skridt er at udføre ellipseapproksimation på alle blobsne. Det udnyttes her, at det er<br />

givet på forhånd, at <strong>kimplanter</strong>ne vil være <strong>af</strong>lange <strong>af</strong> form. Det er ellipseapproksimationens<br />

formål, at bestemme stor- <strong>og</strong> lilleaksernes længder, samt de vinkler de danner med det<br />

horisontale plan. På denne måde <strong>af</strong>grænses det til to ender, hvor top <strong>og</strong> bund på kimet kan<br />

ligge. Enten i den ene eller anden ende <strong>af</strong> storaksen. Ellipseapproksimationen resulterer<br />

yderligere i centerkoordinater for kimplanten, som kan <strong>brug</strong>es i den videre analyse. Alle disse<br />

informationer gemmes, sammen med dem der allerede står der fra blobsne, i seed-strukturen.<br />

6. I Del II <strong>af</strong> projektet skal kimene kvalitetssorteres. Som et led i det skal kimenes top <strong>og</strong> bund<br />

først findes. Dette gøres for, at man kan placere kimene med korrekt orientering i deres<br />

næringsmiljø.<br />

7. En interessant parameter for kimene er, hvor symmetriske de er omkring deres længdeakse.<br />

Det er tanken, at undersøge hvor symmetrisk hvert kim er omkring dets længdeakse. Et mål<br />

for den symmetri skal herefter vægtes i forhold til kimets størrelse, <strong>og</strong> på den måde kan<br />

kimene sammenlignes indbyrdes. Det er altså herefter muligt, at frasortere kim der er<br />

asymmetriske.<br />

8. Det næstsidste trin bliver at udføre selve sorteringen. Indtil videre er der i Del II kun blevet<br />

samlet oplysninger ind. I trin 8 gennemgås hvert kim, <strong>og</strong> det skal vurderes om kimet falder<br />

inden for de grænser der sættes <strong>af</strong> <strong>brug</strong>eren.<br />

9. I trin 9 skal der udskrives data om alle kimene. Når pr<strong>og</strong>rammet kører i ”Debug”-mode<br />

udskrives al tilgængelig information omkring kimene. Når pr<strong>og</strong>rammet kører i normal<br />

funktionsmode, udskrives kun det absolut nødvendige. I ”Debug”-mode laves der billeder,<br />

der gr<strong>af</strong>isk viser hvilke kim, der er blevet fundet i billedet. Fra trin 5, Ellipseapproksimation,<br />

tegnes alle ellipserne på det originale billede, der bliver anvendt som input til pr<strong>og</strong>rammet.<br />

På den måde vil det være nemt at sammenligne det originale billede, med hvad algoritmen<br />

har fundet frem til. Ydermere tegnes alle blobs, <strong>og</strong> der laves <strong>og</strong>så et billede, der viser alle<br />

toppe <strong>og</strong> bunde på kimene, ud fra det originale billede. Derudover udskrives der 3 tekstfiler:<br />

a. ”Hist<strong>og</strong>ram.m” er en m-fil til MatLab, der direkte kan plotte hist<strong>og</strong>rammet, der<br />

bliver udregnet undervejs<br />

b. ”blobData.txt” viser næsten al tilgængelig data på kimene<br />

c. ”robotData.txt” viser kun (x, y, θ) for alle godkendte kim. Det er tanken, at en robot<br />

kan interface med denne tekstfil, <strong>og</strong> på den måde finde kimene i planet. Når<br />

pr<strong>og</strong>rammet ikke kører i ”Debug”-mode, <strong>og</strong> altså <strong>ved</strong> normal funktionsmode,<br />

udskrives kun ”robotData.txt”<br />

Side 9 <strong>af</strong> 131

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!