• No results found

Detection and tracking of spruce seedlings in spatiospectral images

N/A
N/A
Protected

Academic year: 2021

Share "Detection and tracking of spruce seedlings in spatiospectral images"

Copied!
56
0
0

Loading.... (view fulltext now)

Full text

(1)LiU-ITN-TEK-A--20/020--SE. Detektion och följning av granplantor i spatiospektrala bilder Emma Löwbeer Erik Åkesson 2020-06-10. Department of Science and Technology Linköping University SE-601 74 Norrköping , Sw eden. Institutionen för teknik och naturvetenskap Linköpings universitet 601 74 Norrköping.

(2) LiU-ITN-TEK-A--20/020--SE. Detektion och följning av granplantor i spatiospektrala bilder Examensarbete utfört i Medieteknik vid Tekniska högskolan vid Linköpings universitet. Emma Löwbeer Erik Åkesson Handledare Daniel Nyström Examinator Sasan Gooran Norrköping 2020-06-10.

(3) Upphovsrätt Detta dokument hålls tillgängligt på Internet – eller dess framtida ersättare – under en längre tid från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns det lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/ Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a considerable time from the date of publication barring exceptional circumstances. The online availability of the document implies a permanent permission for anyone to read, to download, to print out single copies for your own use and to use it unchanged for any non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional on the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its WWW home page: http://www.ep.liu.se/. © Emma Löwbeer, Erik Åkesson.

(4) Linköpings universitet | Institutionen för teknik och naturvetenskap Examensarbete på avancerad nivå, 30hp | Medieteknik 2020 | LIU-ITN/LITH-EX-A--20/020--SE. Detektion och följning av granplantor i spatiospektrala bilder Detection and tracking of spruce seedlings in spatiospectral images Emma Löwbeer Erik Åkesson Handledare: Daniel Nyström Examinator: Sasan Gooran Extern handledare: Jörgen Ahlberg. Linköpings universitet SE–581 83 Linköping 013-28 10 00, www.liu.se.

(5) Upphovsrätt Detta dokument hålls tillgängligt på Internet - eller dess framtida ersättare - under 25 år från publiceringsdatum under förutsättning att inga extraordinära omständigheter uppstår. Tillgång till dokumentet innebär tillstånd för var och en att läsa, ladda ner, skriva ut enstaka kopior för enskilt bruk och att använda det oförändrat för ickekommersiell forskning och för undervisning. Överföring av upphovsrätten vid en senare tidpunkt kan inte upphäva detta tillstånd. All annan användning av dokumentet kräver upphovsmannens medgivande. För att garantera äktheten, säkerheten och tillgängligheten finns lösningar av teknisk och administrativ art. Upphovsmannens ideella rätt innefattar rätt att bli nämnd som upphovsman i den omfattning som god sed kräver vid användning av dokumentet på ovan beskrivna sätt samt skydd mot att dokumentet ändras eller presenteras i sådan form eller i sådant sammanhang som är kränkande för upphovsmannens litterära eller konstnärliga anseende eller egenart. För ytterligare information om Linköping University Electronic Press se förlagets hemsida http://www.ep.liu.se/.. Copyright The publishers will keep this document online on the Internet - or its possible replacement - for a period of 25 years starting from the date of publication barring exceptional circumstances. The online availability of the document implies permanent permission for anyone to read, to download, or to print out single copies for his/hers own use and to use it unchanged for non-commercial research and educational purpose. Subsequent transfers of copyright cannot revoke this permission. All other uses of the document are conditional upon the consent of the copyright owner. The publisher has taken technical and administrative measures to assure authenticity, security and accessibility. According to intellectual property law the author has the right to be mentioned when his/her work is accessed as described above and to be protected against infringement. For additional information about the Linköping University Electronic Press and its procedures for publication and for assurance of document integrity, please refer to its www home page: http://www.ep.liu.se/.. ©. Emma Löwbeer Erik Åkesson.

(6) Abstract A human perceives light, divided into three wavelength bands, within the visible spectrum (380–700 nm). To obtain information outside this spectrum, or from more wavelength bands, hyperspectral cameras can be used. These cameras are increasingly used for agriculture and food inspection applications. With the help of more wavelength bands and near-IR, it is possible to detect food that has gone bad or unhealthy plants. Glana has developed a camera that captures spatiospectral images, which they then convert into hyperspectral images, with multiple wavelength bands and wavelengths in near-IR. With this camera, Glana has collected images from a spruce plantation. To convert these spatiospectral images into hyperspectral ones they have developed an implementation in MATLAB. The hyperspectral images have been used to manually detect the spruces to get their spectral signature. This project aimed to investigate the possibilities to detect spruce seedlings directly in the spatiospectral images, and then make hyperspectral reconstructions of only the detected spruce seedlings. The purpose was to reduce runtime and memory usage of the implementation. Another aim was to automate the detection process to avoid manual work. Four methods were tested to detect spruce seedlings: manual detection, detection with segmentation, detection with SVM, and detection with neural networks. Manual detection and detection with neural networks yielded the best results. Detected trees were tracked across image sequences with homographies, that describes the relation between two adjacent images. As a detected object was tracked across an image sequence, its information was stored in a datacube. Segmentation was used to sample a spectral signature from such a data cube. Making the hyperspectral reconstruction of detected spruce seedlings instead of whole images, reduced both runtime and memory usage.. iii.

(7) Sammanfattning En människa uppfattar endast ljus inom det synliga spektrumet (380–700 nm), uppdelat i tre stycken våglängdsband. För att få information utanför detta spektrum, eller från fler våglängdsband, går det att använda sig av hyperspektrala kameror. Dessa kameror används alltmer inom jordbruk och livsmedelsinspektion. Med hjälp av fler våglängdsband och närIR går det till exempel att upptäcka livsmedel som blivit dåliga, eller växter som inte är friska. Glana har utvecklat en kamera som tar spatiospektrala bilder, som de sedan omvandlar till hyperspektrala bilder med flera våglängdsband och våglängder inom när-IR. Med kameran har Glana flugit över en granodling och samlat in bilder. De har utvecklat en implementation som skapar hyperspektrala bilder av dessa, där det går att manuellt detektera granarna. Målet med detta projekt var att se ifall det gick att göra detektion direkt i de spatiospektrala bilderna och sedan skapa hyperspektrala bilder av varje gran. Förhoppningen var att minska körningstiden och minnesmängden för implementationen. Ett önskemål var även att detektionen skulle automatiseras, för att undvika manuellt arbete. För att detektera granarna prövades fyra metoder: manuell detektion, detektion med segmentering, detektion med SVM och detektion med neurala nätverk. Manuell detektion och detektion med neurala nätverk gav bäst resultat. För att följa detekterade granar över flera bilder användes homografier, som matchade närliggande bilder med varandra. Allteftersom ett detekterat objekt följdes över en bildsekvens sparades information i en datakub. Segmentering användes för att sampla en spektral signatur från en sådan datakub. Genom att göra hyperspektral rekonstruktion av detekterade granar istället för hela bilder minskade både körningstid och minnesanvändning.. iv.

(8) Författarnas tack Vi vill börja med att rikta ett tack till Glana för att vi fick göra detta examensarbete hos er. Extra tack till vår handledare Jörgen som bistått med kunskap och hjälp. Tack till Termisk Systemteknik för att vi fick använda era lokaler och er kaffemaskin, för umgänge på rasterna och tack för semlan. Tack Samme för dina 52 minuters detektion av granar.. v.

(9) Innehåll Abstract. iii. Sammanfattning. iv. Författarnas tack. v. Innehåll. vi. Figurer. viii. Tabeller 1. 2. 3. Introduktion 1.1 Bakgrund . . . . . 1.2 Syfte . . . . . . . 1.3 Forskningsfrågor 1.4 Avgränsningar . .. x. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 1 1 2 2 2. Teori 2.1 Elektromagnetisk strålning . . . . . . . . . . . . . . . . 2.2 Hyper- och multispektrala kameror . . . . . . . . . . . 2.3 Glanas kamerateknik . . . . . . . . . . . . . . . . . . . . 2.4 Dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Nuvarande implementation . . . . . . . . . . . . . . . . 2.6 Datorseende för jordbruk . . . . . . . . . . . . . . . . . 2.6.1 Växters egenskaper i bild . . . . . . . . . . . . . 2.6.1.1 Features . . . . . . . . . . . . . . . . . . 2.6.1.2 Vegetationsindex och spektral signatur 2.6.2 Segmentering . . . . . . . . . . . . . . . . . . . . 2.6.3 Neurala nätverk . . . . . . . . . . . . . . . . . . 2.6.4 Support Vector Machines . . . . . . . . . . . . . 2.7 Kvalitetsmätning . . . . . . . . . . . . . . . . . . . . . . 2.8 Registrering . . . . . . . . . . . . . . . . . . . . . . . . . 2.9 Distortion . . . . . . . . . . . . . . . . . . . . . . . . . . 2.10 Sammanfattning av teori . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. 3 3 4 4 6 7 7 7 7 8 8 9 11 11 13 13 14. Metod 3.1 Förstudier . . . . . . . . . 3.2 Programvarudesign . . . . 3.3 Annotering . . . . . . . . . 3.4 Implementation . . . . . . 3.4.1 Förbehandling . . 3.4.2 Manuell detektion. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 16 16 16 17 18 18 18. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. vi. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . .. . . . . . .. . . . . . ..

(10) 3.4.3 Segmentering . . . . . . . . . . . . . . . . . . . . . 3.4.4 Neurala nätverk . . . . . . . . . . . . . . . . . . . 3.4.5 Detektion med features och SVM . . . . . . . . . . 3.4.6 Registrering . . . . . . . . . . . . . . . . . . . . . . 3.4.7 Följning . . . . . . . . . . . . . . . . . . . . . . . . 3.4.8 Hyperspektral rekonstruktion . . . . . . . . . . . Utvärdering . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Utvärdering av detektionsmodell . . . . . . . . . . 3.5.2 Jämförelse mellan tidigare och ny implementation 3.5.3 Hårdvara . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. 18 19 19 20 20 21 21 22 22 23. Resultat 4.1 Detektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Manuell detektion . . . . . . . . . . . . . . . . . . 4.1.2 Segmentering . . . . . . . . . . . . . . . . . . . . . 4.1.3 Neurala nätverk . . . . . . . . . . . . . . . . . . . 4.1.4 Detektion med features och SVM . . . . . . . . . . 4.1.5 Jämförelse av detektionsmetoderna . . . . . . . . 4.1.6 True Positives, False Positives och False Negatives 4.2 Följning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Hyperspektral rekonstruktion . . . . . . . . . . . . . . . . 4.4 Jämförelse mellan tidigare och ny implementation . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. 24 24 24 25 25 26 26 27 28 28 29. Diskussion 5.1 Resultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Detektion . . . . . . . . . . . . . . . . . . . . . . . 5.1.2 Följning . . . . . . . . . . . . . . . . . . . . . . . . 5.1.3 Jämförelse mellan tidigare och ny implementation 5.2 Metod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Källkritik . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 30 30 30 32 32 33 34. Slutsats 6.1 Forskningsfrågor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Fortsatt arbete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 35 35 36. 3.5. 4. 5. 6. Litteratur. 37. A Annotering. 40. B Konfigurationer av nätverken som tränades. 41. C Stråk C.1 Flygning1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C.2 Flygning2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 42 42 42. D Resultat från alla modeller av alla detektionsmetoder. 43. vii.

(11) Figurer 2.1 2.2. 2.3. 2.4. 2.5. 2.6 2.7. Namn och våglängdsintervall på olika delar av det elektromagnetiska spektrumet. Bildkälla: ”Learning to Analyze what is Beyond the Visible Spectrum”, Amanda Berg . Olika principer för att skapa en hyperspektral datakub. a) Spatiellskanning (pushbroom) b) Spektralskanning c) Punktskanning (whisk-broom, spectrography) d) Spatiotemporal skanning (tekniken Glana använder) e) Ögonblicksbild f) Ögonblicksbild med mosaicfilter Bildkälla: ”Thermal and Multispectral Imaging”, Jörgen Ahlberg För att skapa en hyperspektral bild används flera bilder – tagna genom filtret i (a). Bilderna sammanfogas enligt (b) och resultatet blir en datakub (c) där varje pixel innehåller information från flera våglängder. 2.3a, b Bildkälla: ”Infrared and Multispectral Imaging”, TSBB09 Image Sensors, Jörgen Ahlberg 2.3c Bildkälla: Courtesy NASA/JPL-Caltech . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bild från Flygning1 där en gran syns till höger i bilden (markerad med orange ruta). Bilden är direkt omvandlad från raw-format till jpg och dess stora dynamiska omfång går inte att visualisera korrekt. . . . . . . . . . . . . . . . . . . . . . . . . . . I detta arbete motsvarar TP alla granar som detekterats, FN alla granar som inte detekterats, FP allt som felaktigt detekterades som en gran och TN allt annat som inte detekterades. Bildkälla: Walber https://commons.wikimedia.org/wiki/File:Precisionrecall.svg . . . . . . . . . . . . . . . . En visuell beskrivning av IoU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Till vänster illustreras distorsionen som beror på att träden är högre än marknivå. Effekten blir att träden ser ut att luta mot kanterna. Till höger visas hur en gran är centrerad i en ruta när den detekteras längst till höger i bilden. När rutan sedan transformeras mot vänster i bilden kommer granen inte längre vara centrerad i rutan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 5. 5. 6. 12 12. 14. 3.1. En skiss över hur flödet i programmet ser ut. . . . . . . . . . . . . . . . . . . . . . .. 17. 4.1 4.2 4.3. Grafen visar precision och recall för ett urval av de nätverksmodeller som tränades. Grafen visar precision och recall för SVM-modellerna. . . . . . . . . . . . . . . . . . Exempel på granar som detekterats av nätverksmodellen (TP). Röda rutor är detektioner som nätverksmodellen gjort och gröna rutor är ground truth. . . . . . . . Exempel på FP som detekterats av nätverksmodellen. Övre raden visar granar som räknades som FP eftersom de inte var annoterade, samt en detektion vars IoU var för lågt för att räknas som en TP (längst upp t.h.) Undre raden visar exempel på övriga objekt (FP) som nätverksmodellen detekterade. Den gröna rutan är ground truth och de röda rutorna är detektioner från nätverket. . . . . . . . . . . . . . . . . Exempel på granar som inte detekterats av nätverksmodellen (FN). . . . . . . . . . Följning av en gran med hjälp av homografier. Den övre raden är med korrigering av rutan och den undre är utan. De tre sista bilderna i varje rad har blivit efterbehandlade för att granen ska synas. . . . . . . . . . . . . . . . . . . . . . . . .. 25 26. 4.4. 4.5 4.6. viii. 27. 27 27. 28.

(12) 4.7. 4.8. Visualisering av alla lager i en datakub. Överst t.v. visas lagret med längst våglängd. Nederst t.h. visas lagret med kortast våglängd. Bilden är efterbehandlad för att innehållet i de olika lagren ska synas bättre. I vanliga fall är flera av lagren mörkare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Till höger visas en spektral signatur, samplad från en detekterad gran som ses till vänster. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ix. 28 29.

(13) Tabeller 2.1. Olika metoder för kvalitetsmätning av detektionsmetoder, där TP = True Positive, TN = True Negative, FN = False Negative och FP = False Positive. . . . . . . . . . .. 13. Manuellt utvalda parametervärden för segmentering av granar. Pixlar med intensitetsvärde över 150 segmenteras ut. Area_interval anger hur många pixlar det segmenterade objektet får bestå av. Pixel_fill_factor_interval anger hur stor del pixlar objektet får ta upp inom rutan som objektet detekterats i. Elongation_interval anger hur stort förhållandet mellan rutans höjd och bredd får vara. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 19. Resultat från manuell detektion. . . . . . . . . . . . . . . . . . . . . . . . Resultat från detektion med segmentering . . . . . . . . . . . . . . . . . . Resultat från detektion med bästa nätverksmodellen. . . . . . . . . . . . Resultat från detektion med SVM. . . . . . . . . . . . . . . . . . . . . . . Resultat från de olika detektionsmetoderna. . . . . . . . . . . . . . . . . . Resultaten från utvärderingen av den gamla och nya implementationen.. . . . . . .. 24 25 25 26 26 29. C.1 Tabellen visar hur bilderna är uppdelade mellan stråken för Flygning1 . . . . . . . C.2 Tabellen visar hur bilderna är uppdelade mellan stråken för Flygning2 . . . . . . .. 42 42. 3.1. 4.1 4.2 4.3 4.4 4.5 4.6. x. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . ..

(14) 1. Introduktion. Det mänskliga ögat uppfattar elektromagnetisk strålning med våglängder inom det synliga spektrumet (380–700 nm) [1]. Dagens konsumentkameror är anpassade efter detta och skapar därför en bild genom att registrera information från våglängderna inom det synliga spektrumet. Det görs vanligtvis genom att filtrera infallande ljus genom tre våglängdsband som motsvarar rött, grönt respektive blått ljus. En hyperspektral bild innehåller däremot information från fler våglängder, ofta även utanför det mänskliga synspektrumet [2]. I en sådan bild går det därför att upptäcka skillnader som det mänskliga ögat inte kan uppfatta. Hyperspektrala bilder används alltmer inom olika former av fjärranalys, jordbruk och livsmedelsinspektion. Det finns ett flertal olika sätt att skapa hyperspektrala bilder. Ett sätt är att ta flera spatiospektrala bilder, där våglängden varierar över bildens yta, och sätta samman dem med en hyperspektral rekonstruktion [3]. I detta arbete ska metoder för att detektera och följa granplantor i spatiospektrala bilder undersökas. Detta görs för att sedan kunna göra en hyperspektral rekonstruktion av plantorna, och med hjälp av den, analysera deras välmående.. 1.1. Bakgrund. Arbetet görs i samarbete med Glana Sensors AB [4] vidare nämnt som Glana i rapporten. Glana är en spin-off från LiU, FOI och Termisk Systemteknik AB. Företaget utvecklar en ny typ av kamera för att ta fram hyperspektrala bilder. Kameran använder ett speciellt filter som skapar spatiospektrala bilder där våglängden varierar kontinuerligt längs med bildens ena axel. Längs bildens ena kortsida syns bara blått ljus (ca 450 nm) och längs motstående sida syns bara infrarött ljus (ca 950 nm). Glanas kamerateknik beskrivs mer ingående i 2.2 och 2.3. Givet en sekvens spatiospektrala bilder, registrerade genom relativ rörelse mellan kamera och objekt, går det att återskapa en hyperspektral bild, där varje pixel innehåller information om ljuset i flera våglängder. Detta kallas hyperspektral rekonstruktion och är både tids- och minneskrävande. Ett sätt att göra rekonstruktionen mindre resurskrävande är att endast rekonstruera de objekt som är av intresse i bilden. För att göra detta, behöver dessa objekt. 1.

(15) 1.2. Syfte detekteras och följas i alla bilder de förekommer i. Nu undersöker Glana hur deras kamerateknik och spektralanalys skulle kunna användas som hjälpmedel vid jord- och skogsbruk, för att kunna identifiera sjuka eller skadade plantor. Alla växter reflekterar nämligen elektromagnetisk strålning, kallad spektral reflektans, baserat på art och plantans välmående [5]. En välmående gröda reflekterar mycket ljus i det infraröda spannet och absorberar våglängder i det röda spannet. Glanas nuvarande implementation för att hantera spatiospektrala bilder från granodlingar är både tids- och minneskrävande. Dessutom behöver granplantorna markeras manuellt i de hyperspektrala bilderna. Implementationen beskrivs mer detaljerat i 2.5.. 1.2. Syfte. Syftet med arbetet är att implementera och utvärdera metoder för att detektera och följa granplantor i spatiospektrala bilder. Detta görs dels för att undvika manuellt arbete, och dels för att endast göra hyperspektral rekonstruktion på granplantorna. Plantorna tar bara upp en bråkdel av den totala ytan i bilderna, och ifall hyperspektral rekonstruktion endast görs på dessa, skulle både tid och minne kunna sparas. Tanken är också att försöka göra implementationen så generell som möjligt, så att den även går att använda på andra sorters växter som tar upp liten yta av området de växer på.. 1.3. Forskningsfrågor. Arbetet kretsar kring följande forskningsfrågor: • Vilken metod ger bäst resultat vid detektion av granplantor, i en serie spatiospektrala bilder? • Vad finns det för för- och nackdelar med detektion och följning i spatiospektrala bilder? • Hur förändras körningstid och minnesanvändningen genom att granplantorna segmenteras ut innan hyperspektral rekonstruktion sker? • På vilket sätt kan spektrala signaturer användas vid detektion och följning av granplantor?. 1.4. Avgränsningar. Bilderna som används i projektet samlades in 2019, under en flygning över en granodling. Därför testas detektionen enbart på granar och inga andra växter.. 2.

(16) 2. Teori. I detta kapitel beskrivs elektromagnetisk strålning, och hur reflektion av strålningen kan användas för att studera växter med hjälp av hyperspektrala kameror. Glanas kamerateknik beskrivs mer specifikt såväl som bilderna i det dataset som används i arbetet. Därefter presenteras det material som ligger till grund för implementation och utvärdering av metoderna för detektion och följning.. 2.1. Elektromagnetisk strålning. Det mänskliga ögat kan uppfatta elektromagnetisk strålning med våglängder mellan ca 380–700 nm [1]. Elektromagnetisk strålning inom det intervallet kallas därför synligt ljus. Synligt ljus utgör bara en liten del av det elektromagnetiska spektrumet. Figur 2.1 visar hur olika delar av spektrumet benämns. Våglängderna som registrerats i bilderna som används i arbetet är mellan 439–946 nm, vilket innefattar allt synligt ljus samt nära infraröda (NIR) våglängder.. Figur 2.1: Namn och våglängdsintervall på olika delar av det elektromagnetiska spektrumet. Bildkälla: ”Learning to Analyze what is Beyond the Visible Spectrum”, Amanda Berg. 3.

(17) 2.2. Hyper- och multispektrala kameror Olika material reflekterar elektromagnetisk strålning på olika sätt och reflektansen skiljer sig i alla våglängder. En spektral signatur beskriver hur stor del av den infallande strålningen som reflekteras i varje våglängd, för ett material eller objekt. Hos växter är reflektansen generellt som högst i NIR. De reflekterar även våglängder som uppfattas gröna i det synliga ljuset – dock i mycket lägre grad än reflektansen i NIR eftersom klorofyll absorberar mycket av det synliga ljuset [6]. En plantas spektrala signatur har visats vara användbar för att studera plantans välmående. I [7] hittades korrelation mellan granars stressnivå och spektrala reflektans, genom att analysera hyperspektrala bilder av plantornas barr. I [8] gick det att urskilja skadade granar från flygbilder, baserat på hur de reflekterade olika våglängder. Förändringen i reflektans vid stress eller skada var i båda studierna som tydligast i våglängder kring 700 nm. För att samla information om granarnas reflektans i dessa studier användes hyperspektral kamerateknik.. 2.2. Hyper- och multispektrala kameror. Kameror som samlar information i flera våglängdsband för varje pixel kallas multispektrala kameror [3]. Tekniskt sett är vanliga konsumentkameror, som oftast samlar in information i tre våglängdsband, multispektrala. Dock används ordet multispektral oftast för kameror med fler än tre våglängdsband, eller när det kan finnas en anledning att specificera att det är något särskilt med kameran. Kameror som registrerar information i ännu fler våglängdsband kallas hyperspektrala eller ultraspektrala. Multispektrala kameror behöver inte bara samla in synligt ljus utan kan samla in information om våglängder som människan inte ser, som till exempel infrarött ljus. För att en kamera ska ta multispektrala bilder behöver den samla in intensiteten från flera våglängder, för varje pixel i bilden [3]. Detta gör att varje pixel innehåller en vektor av spektralvärden så att varje bild blir en datakub, med djupet som den spektrala axeln. De andra två axlarna står för spatiella informationen. En kamera kan sägas ha fyra olika upplösningar. Den spatiella upplösningen är upplösningen på själva sensorn (antal pixlar) och denna upplösning ihop med avståndet till ett objekt bestämmer hur många pixlar det objektet tar upp i bilden. Den spektrala upplösningen anger hur många våglängder kameran kan registrera. Den spatiella och spektrala upplösningen styr tillsammans storleken på datakuben. Hur många bitar varje pixel innehåller anges av den radiometriska upplösningen och hur ofta ett nytt pixelvärde kan registreras anges av tidsupplösningen. Bildsensorer är oftast tvådimensionella vilket gör det svårt att skapa en datakub i en tagning [3]. Det finns flera sätt att konstruera en kamera för att skapa en datakub. Oftast delas bilden upp och skannas spektralt, spatiellt eller spatiotemporalt. Några olika principer för detta illustreras i Figur 2.2. Dessa tekniker har fördelar och nackdelar som går att härleda till de fyra upplösningarna som nämndes i stycket ovan. Tekniken Glana använder sig av är baserad på ett kontinuerligt varierbart filter som förklaras mer detaljerat i 2.3.. 2.3. Glanas kamerateknik. Det finns olika metoder för att samla informationen som krävs för att skapa hyperspektrala bilder. Glana har utvecklat ett kontinuerligt variabelt bandpassfilter som illustreras i Figur 2.3a. Varje kolumn, släpper igenom olika våglängder till kamerans sensor. Våglängden som släpps igenom varierar kontinuerligt mellan 439–940 nm. Detta ger en spatiospektral bild där pixelvärdena motsvarar intensiteten för den våglängd som släpptes igenom till just den 4.

(18) 2.3. Glanas kamerateknik pixeln. Alla våglängder finns alltså representerade i smala, vertikala band, i en så kallad spatiospektral bild.. (a). (b). (c). (f) (e). (d). Figur 2.2: Olika principer för att skapa en hyperspektral datakub. a) Spatiellskanning (pushbroom) b) Spektralskanning c) Punktskanning (whisk-broom, spectrography) d) Spatiotemporal skanning (tekniken Glana använder) e) Ögonblicksbild f) Ögonblicksbild med mosaicfilter Bildkälla: ”Thermal and Multispectral Imaging”, Jörgen Ahlberg För att samla information om flera våglängder från ett objekt, behöver antingen kameran eller objektet röra sig för att samla in en sekvens spatiospektrala bilder. Sekvensen sammanfogas sedan (se Figur 2.3b) för att konstruera en hyperspektral bild som i Figur 2.3c. Den hyperspektrala bilden är i form av en datakub, där varje pixel innehåller information om ljuset i flera våglängder. Bilderna som används i det här arbetet är tagna med en Glana L4-kamera, monterad på en drönare som flugit med konstant hastighet i stråk över en granplantage.. (a) Kontinuerligt bandpassfilter. variabelt. (b) För att rekonstruera en hyperspektral datakub behövs flera spatiospektrala bilder som överlappar varandra. (c) Datakub där varje pixel innehåller information om ljus i flera våglängder. Figur 2.3: För att skapa en hyperspektral bild används flera bilder – tagna genom filtret i (a). Bilderna sammanfogas enligt (b) och resultatet blir en datakub (c) där varje pixel innehåller information från flera våglängder. 2.3a, b Bildkälla: ”Infrared and Multispectral Imaging”, TSBB09 Image Sensors, Jörgen Ahlberg 2.3c Bildkälla: Courtesy NASA/JPL-Caltech 5.

(19) 2.4. Dataset. 2.4. Dataset. Dataseten som används i arbetet benämns Flygning1 och Flygning2. De innehåller bilder från två flygningar som gjorts med drönare över en och samma granplantage. Bildernas spatiella upplösning är 4864ˆ3232 pixlar. Bildinformationen är sparad i raw-format med 16 bitar per pixel vilket ger ett högt dynamiskt omfång. En bild från Flygning1 visas i Figur 2.4. Bilderna är tagna från 8 meters höjd med 45 mm brännvidd vilket gör en pixel i markhöjd 1.3 mm bred. Hastigheten på drönaren var 1 m/s och exponeringstiden var 6 ms vilket ger en rörelseoskärpa på 4 pixlar [9]. Varje flygning har gjorts över 10 stråk, där varje stråk är en 75 meter lång raksträcka. Flygning1 består av totalt 6660 bilder varav 5786 är från stråken. Flygning2 består av totalt 6886 bilder varav 5422 är från stråken. Det är bara bilder från stråken som använts i arbetet då resterande bilder är tagna medan drönaren lyfter och landar från marken, samt vänder om mellan stråken. Granarna syns som bäst i den del av bilderna som representerar våglängdsområdet i NIR, vilket är längst till höger. De syns även bra i den del av bilden som representerar våglängder som uppfattas gröna av människan. Granarna har liknande storlek och textur. De skiljer sig dock en del i form, beroende på om granen befinner sig centralt eller i yttre delen av kamerans synfält och hur hög den är. Detta är något som behövs tas i åtanke under arbetet vid val av metod. Bakgrunden består mestadels av jord, pinnar, stenar och olika slags små växter. I pixelyta motsvarar en gran knappt 1% av hela bilden. Därav finns förhoppningen att kunna minska minnesanvändning och körningstid för den hyperspektrala rekonstruktionen, genom att detektera granarna innan den sker. Under arbetets gång har Glana skapat en höjdkarta över en del av området. Höjddatan blev tillgänglig ungefär halvvägs in i arbetet.. Figur 2.4: Bild från Flygning1 där en gran syns till höger i bilden (markerad med orange ruta). Bilden är direkt omvandlad från raw-format till jpg och dess stora dynamiska omfång går inte att visualisera korrekt.. 6.

(20) 2.5. Nuvarande implementation. 2.5. Nuvarande implementation. I [9] beskrivs arbetet som Glana har gjort för att undersöka ifall deras teknik kan användas för att inspektera granplantor. I studien gjordes först en hyperspektral rekonstruktion av alla insamlade bilder från varje stråk i Flygning1. Genom att manuellt klicka på granplantor i den hyperspektrala rekonstruktionen segmenterades sedan ett urval av plantor ut. För varje granplanta extraherades en spektral signatur. Samma sak gjordes för andra sorters plantor i bilderna. I studien påvisades det att det var möjligt att särskilja granplantor från andra växter och objekt i bilden, baserat på den spektrala signaturen. Den hyperspektrala rekonstruktionen visade sig vara resurskrävande i både minne och prestanda och den manuella detektionen var tidskrävande. Ett vidare arbete från den nuvarande implementationen är att möjliggöra detektion av relevanta plantor redan i de spatiospektrala bilderna. Genom att endast göra hyperspektral rekonstruktion av de delar av bilderna där plantor finns, skulle det gå att undvika en tidsoch resurskrävande hyperspektral rekonstruktion av hela bilderna.. 2.6. Datorseende för jordbruk. Datorseende har en mängd användningsområden inom skogs- och jordbruk. Det kan till exempel användas för att kontrollera plantors hälsa, räkna antalet plantor i en odling eller särskilja dem från ogräs. Den här sektionen beskriver metoder som använts för att detektera växter i andra studier samt hur de kan användas i detta arbete. I en undersökning [10] diskuteras olika metoder som använts i studier inom datorseende för jordbruk. Val av metod beror mycket på vilken typ av data som finns tillgänglig och vilken typ av utdata som önskas. Några vanliga metoder enligt undersökningen är: segmentering baserat på färg, analys av histogram, binär segmentering och extraktion av egenskaper, (så kallade features). Det finns många studier kring detektion och analys av träd. Oftast används fjärranalys med data insamlad av satelliter [11] [12] [13], men det förekommer även studier där datan blivit insamlad av obemannade luftfarkoster [14]. Det senare liknar tillvägagångsättet Glana använder för att samla in data. I [15] undersöks lokalt maximum och var det finns skugga i bilden för att detektera träd. Fullvuxna träd absorberar och reflekterar våglängder på ett sätt som gör att trädet får högst intensitet där trädet är som högst, alltså i mitten. Detta tillsammans med information om var skuggan finns används för att uppskatta trädens omkrets.. 2.6.1. Växters egenskaper i bild. Nedan beskrivs olika egenskaper för vegetation som kan användas vid detektion av växter i bilder. 2.6.1.1. Features. Features är olika egenskaper som karaktäriserar ett objekt, och de kan därför användas för detektion av objekt i bilder. Med feature-punkter från ett känt objekt går det att detektera samma objekt i en annan bild, genom att matcha feature-punkterna från referensobjektet mot feature-punkter i den nya bilden. Vilka features som passar bäst att använda för matchningen beror på objektet, och på bilderna där objektet ska detekteras.. 7.

(21) 2.6. Datorseende för jordbruk Många studier använder färg, form och textur som features för att detektera växter. I [16] används datorseende för att identifiera granplantor. Syftet är att automatisera borttagning av ogräs kring granplantorna. På maskinen som tar bort ogräset sitter en kamera riktad ner mot marken. Kameran tar RGB-bilder som visas i realtid i ett gränssnitt. Granarna detekteras av en k-NN-klassificerare som tränats på färg- och texturegenskaper från granar som manuellt klickats på i gränssnittet. Detektionssystemet blev tillräckligt noggrant för att kunna användas för att detektera granplantor i deras testområde. Det kvarstår att göra en mer omfattande utvärdering av metoden, men resultatet från studien tyder på att färg och textur är egenskaper som kan användas för att karakterisera en granplanta. Form-features är vanligtvis konturer som kan extraheras med kantdetektorer. Det kan även vara storleken (antal pixlar) eller kompaktheten (förhållande mellan area och omkrets) på ett segmenterat objekt. Det finns också mer avancerade algoritmer för att hitta features – några vanliga är SIFT, SURF, HOG och ORB, där SURF bygger på SIFT. I [17] används SIFT för att hitta feature-punkter från palmer. Dessa används, tillsammans med färg-features och en morfologisk profil, för att träna ett binärt ELM-nätverk att detektera palmer. Det som ELMnätverket klassificerar som palm kontrolleras sedan så att dess textur stämmer överens med en palms. För att extrahera textur-features används en variant av Local Binary Pattern (LBP). 2.6.1.2. Vegetationsindex och spektral signatur. Det finns en mängd så kallade vegetationsindex som kan användas för att mäta och analysera vegetation i bilder. Vegetationsindex är vanligtvis baserade på olika kombinationer av RGBoch NIR-värden, eftersom reflektansen i dessa våglängder beskriver egenskaper hos växter – som till exempel klorofyllkoncentration. Olika vegetationsindex är användbara för olika typer av analyser [18]. I [19] används vegetationsindex för att öka intensiteten i de pixlar som innehåller vegetation, för att sedan lättare kunna tröskla bilden. NDVI (Normalized Difference Vegetation Index) är ett vegetationsindex som kan användas för att skilja olika växter åt, samt segmentera ut vegetation från mark. I [20] används det för att skilja på ogräs, grödor och mark. Studierna [21] och [22] använder den hyperspektrala signaturen på träd för att klassificera dem. Likt vegetationsindex, baseras metoden på att använda växternas spektrala reflektans för att detektera eller klassificera dem. En hyperspektral signatur ger dock en större spektral upplösning jämfört med vegetationsindex, som vanligtvis bara baseras på reflektans i RGB och NIR. Resultatet från [22] visar att vissa arter blir lättare att särskilja med hjälp av en hög spektral upplösning. I [21] diskuteras svårigheten att särskilja arter ju fler unika arter det finns i ett dataset. Detta då det blir svårare att skapa en unik modell för varje arts spektralsignatur. I detta arbete är det kanske ingenting som behöver tas i beaktning, eftersom bara en sorts växt ska detekteras. Det kan dock vara bra att känna till att andra växter kan ha en spektral signatur som liknar granars.. 2.6.2. Segmentering. Tröskling kan användas för att segmentera ut objekt med en intensitet över eller under ett visst tröskelvärde. Segmenterade objekt kan vidare analyseras baserat på form och storlek [23]. I översiktsartikeln [24] från 2019 beskrivs och utvärderas några av de senaste metoder som använts i studier som arbetat med maskinseende inom jordbruk. Segmentering är en grundläggande bildbehandlingsmetod som kan användas för att separera vegetation från bakgrund (mark, jord, sten).. 8.

(22) 2.6. Datorseende för jordbruk I [24] nämns att de huvudsakliga faktorer som påverkar segmentering av vegetation är variation i ljus, överlappande objekt och likhet i färg mellan vegetation och bakgrund. I [24] beskrivs en studie, där bilderna hade mycket överlapp av vegetation, som använde Sobelfilter och Chan-Vese-algoritmen för att segmentera vegetation baserat på kanter. Segmenteringen blir ofta beroende av tröskelvärden som behöver varieras vid olika ljusoch färgförhållanden. Adaptiva trösklingsmetoder, såsom Otsus metod, kan användas för att dynamiskt bestämma tröskelvärde för varje ny bild. Contrast Limited Adaptive Histogram Equalization (CLAHE) är en metod som kan användas för att öka kontrasten i bilden. Att öka kontrasten kan vara fördelaktigt att göra innan trösklingen för att lättare kunna skilja på vegetation och bakgrund. I [24] nämns också att färg, textur och storlek är vanliga egenskaper att utgå från för att detektera specifika växtarter. I [25] används RGB-bilder för att räkna majsplantor. För att segmentera ut majsplantorna görs en tröskling på de olika RGB-värderna. I [26] nämns äldre studier där det gått att segmentera vegetation från jord, tack vare skillnader i reflektans i NIR. Detta var visserligen i laboratoriemiljö, men med viss förbehandling borde det vara möjligt att tröskla NIR-delen av bilderna från Glana, och då segmentera ut vegetationen. I [19] används olika metoder för att skilja vegetation från mark och extrahera olika sorters växter ur bilder som täcker 0.51 m2 av marken. Bland annat testas en metod där segmentering används för att hitta all vegetation i en bild. För detta omvandlas bildens RGB-värden med ett vegetationsindex så att varje pixel får ett värde mellan 0–255. Vegetationsindex användes för att förstärka intensiteten på pixlarna med vegetation. Därefter trösklas bilden så att alla pixlar med vegetation blev vita. I [13] används också vegetationsindex för att segmentera ut alla palmträd från bakgrunden. I studien antas det bara finnas palmträd i bilderna, så ingen klassificering av träden görs. För att sedan detektera varje enskild palm används en lokal maximum-funktion för att hitta högsta pixelvärdet, i ett fönster med fast storlek. Liknande tillvägagångssätt används i [12] där studien gick ut på att inventera oljepalmer från flygbilder. Först görs en spektralanalys för att skilja oljepalmer från andra träd och objekt. Sedan används texturanalys och morfologi för att detektera och segmentera ut enstaka palmer. I [25] används morfologi för att separera enskilda plantor och räkna dem. För att filtrera bort ogräset från bilderna i [19] beräknas storleken (antalet pixlar) i varje grupp av vita pixlar. Eftersom de odlade plantorna alltid är större än ogräset går det att utgå från att den största gruppen av pixlar är en planterad rad. Alla områden som är mindre än en viss procent av det största området, antas vara ogräs, och filtreras bort. En liknande filtrering skulle kunna användas i detta arbete, för att filtrera bort plantor av annat slag än granar. Genom att beräkna ett storleksintervall på granarna kan de pixelområden vars storlek skiljer sig för mycket från granars, filtreras bort.. 2.6.3. Neurala nätverk. Neurala nätverk har visat sig prestera bra vid klassificering av objekt i bilder. Framförallt är det djupinlärning med så kallade Convolutional Neural Networks (CNNs) som används. Tekniken bygger på att nätverket, under flera iterationer tränas på en stor mängd annoterad träningsdata. Resultatet av träningen blir ett nätverk som kan klassificera och detektera objekt i helt nya bilder. Varje nätverk blir anpassat till de bilder som används vid träningen och det är ofta en tidskrävande träningsprocess, baserad på en stor mängd insamlad data, som krävs för att få god precision på nätverket.. 9.

(23) 2.6. Datorseende för jordbruk Det finns i huvudsak två olika typer av objektdetektorer, tvåstegs- och enkelstegsdetektorer [27]. En av de mest använda och representativa av tvåstegsdetektorerna är Faster R-CNN. Med denna görs detektionen, som namnet antyder, i två steg. I det första steget föreslås intressanta områden i bilden, så kallade Region of Interests, (RoI). Detta steg tar längst tid i processen och är enligt [28] det steg som hindrar denna tvåstegsmetod att agera i realtid. I det andra steget extraheras features från alla RoIs, för att sedan klassificeras. Enkelstegsdetektorer förutspår objektområden och klassificerar dessa direkt på hela bilden i ett steg [27]. En populär sådan modell är YOLO (You Only Look Once) som det i skrivande stund har släppts en tredje version av [29]. Eftersom YOLO gör allt i ett steg så går denna modell att köra i realtid, dock ofta med lite sämre detektionsresultat än motsvarande tvåstegsdetektorer [27]. En objektdetektor består ofta av tre huvuddelar. En del är en algoritm som ger förslag på områden (så kallad region proposal algorithm), en del extraherar features från dessa förslagna områden och sist finns en del som klassificerar områdena [28]. Många detektorer har även ett sista lager som förbättrar de detekterade boxarnas position med regression. De olika delarna kan kombineras på olika sätt. Hur och när de olika delarna körs beror på typ av objektdetektor. För att undvika att behöva träna ett nätverk från grunden har det visat sig möjligt att utgå från ett färdigtränat nätverk och träna det vidare på egen träningsdata. På så sätt går det att finjustera nätverket och anpassa det till ens egna tillämpning, med en relativt liten datamängd och kortare träningstid. Detta kallas transfer learning och det finns en mängd färdigtränade nätverk tillgängliga publikt, att utgå från. Tensorflow tillhandahåller en samling nätverksmodeller för objektdetektion, som tränats på olika stora dataset [30]. Ett exempel på när transfer learning fungerat är i [31] där tre nätverk, tränade på varsin slags gröda (morot, lök, sockerbeta), används. För varje nätverk studerades hur resultatet blev när nätverket tränades vidare med bilder från de andra grödorna. Nätverken som tränats vidare med nya bilder visade sig kunna nå liknande prestanda som det som tränats från grunden. Den stora skillnaden var att träningstiden kunde bli upp mot 80% snabbare för ett nätverk som tränades vidare istället för att tränas från grunden. De nätverk som var tränade från grunden hade tränats med 50 000 iterationer och det behövdes bara 10 000 iterationer träning med nya bilder för att nå samma prestanda. Bilderna som används i studien påminner om de som används i detta arbete vad gäller avstånd till marken från kameran, plantornas storlek och typ av bakgrund. En skillnad är att bilderna i [31] innehåller fyra sorters information i varje pixel (RGB och IR) till skillnad från bilderna i detta arbete, där varje pixel bara har ett intensitetsvärde. I [32] används datorseende för att mäta densiteten av bomullsplantor. Ett neuralt nätverk av modellen Faster R-CNN, användes för att detektera plantorna. Forskningsgruppen testade olika sätt att träna nätverket. Dels testades det att träna ett nätverk från grunden, med de egna bilderna på bomullsplantorna. Dels användes de egna bilderna för att träna vidare på ett nätverk som tränats på COCO-datasetet [33]. Överlag blev resultaten ganska lika. För att inte detektera samma planta flera gånger användes ett Kalmanfilter, vilket är en teknik som skulle kunna användas i detta arbete för att spåra plantorna mellan bilder. I studierna [14] och [11] används neurala nätverk – som tränats från grunden med egenannoterad data – för att detektera träd. I [14] förbättrades resultatet från 78.8% till 96.4% genom att förbehandla bilderna. I [11] jämfördes neurala nätverk med två mer traditionella metoder för detektion: detektion med ett lokalt maximum-filter och detektion med template matching. Resultatet blev att det neurala nätverket presterade bättre. Det lokala maximum10.

(24) 2.7. Kvalitetsmätning filtret hade problem att detektera unga träd eftersom de inte hade lika tydlig topp. Med template matching var det största problemet att träden stod för nära varandra och metoden inte kunde hantera överlappande träd.. 2.6.4. Support Vector Machines. En begränsning med neurala nätverk är att de kräver mycket träningsdata, vilket inte alltid finns tillgängligt för varje ny applikation inom jordbruk. I en av studierna från [24] visade det sig att klassificering med en Support Vector Machine (SVM) är ett bra alternativ till neurala nätverk, ifall det inte finns så mycket träningsdata tillhands. SVM är en typ av statistisk klassificerare som även kan användas för regression [34]. Målet med en SVM är att reducera komplexiteten av data till en modell som beskriver förhållandet mellan datapunkter och klasser. Detta görs med hjälp av supportvektorer och en kärna. Datan reduceras till supportvektorer, vilket är vektorer som bygger upp gränser mellan olika klasser. SVM-kärnan beskriver hur supportvektorerna och gränserna ska byggas upp. Den enklaste varianten är en linjär kärna som bygger upp ett optimalt hyperplan, som sedan används för att separera klasser och klassificera nya datapunkter. Ifall datan inte är linjärt separerbar går det att använda en ickelinjär kärna, där Radial basis function kernel (RBF kernel) är en vanlig sådan. När en SVM tränas, används träningsdatan till att skapa supportvektorer utifrån vald kärna. De flesta studierna från [24] som använder SVM för att klassificera grödor, använder färg och textur som features för att träna SVM:en. En studie använder SIFT-features som omvandlas till Bag-of-Visual-Words-vektorer.. 2.7. Kvalitetsmätning. För att utvärdera vilken av flera detektionsmetoder som fungerar bäst, behövs någon form av kvalitetsmätning. Vid klassificering med neurala nätverk används ofta true positive (TP), true negative (TN), false positive (FP) och false negative (FN) för att utvärdera klassificeringen. För objektdetektion är en TP ett objekt som detekterats och klassificerats rätt [35]. Ifall detektorn missar ett objekt eller klassificerar ett objekt fel räknas detta som en FN. Ifall ett objekt hittas där det egentligen inte finns, räknas detta som en FP. TN används sällan då detta innebär att ett icke-objekt inte detekterats. Detta är svårt att mäta vid detektion i bilder, då ofta större delen av bilden består av sådana områden. Ett neuralt nätverk kommer för varje detekterat objekt, ange en procentsats på hur säkert nätverket är på att objektet är av den predikterade klassen. För att bestämma vad som räknas som en detektion (selected elements i Figur 2.5), behövs en gräns för hur låg detektorns prediktionssäkerhet får vara. En sådan gräns behövs för alla detektionsmetoder som ger en procentsats på hur säker en prediktion är. För alla detektionsmetoder behövs ett sätt att avgöra om ett detekterat objekt är en TP eller FP. För detta behövs en referens att mäta mot. Referensen är en mängd annoterade bilder, där alla objekt av intresse är markerade och klassificerade, ofta för hand. Detta är en så kallad ground truth, som används både för att utvärdera detektioner och för att träna detektionsmodeller. Det finns två huvudsakliga sätt att annotera bilder för objektdetektion. Antingen med rutor (bounding boxes) eller pixelvis. För boxannotering görs rutor kring objekten av intresse. För pixelvis annotering behöver alla pixlar i objektet, eller objektets kant, annoteras. Pixelvis. 11.

(25) 2.7. Kvalitetsmätning annotering är mer tidsödande än boxannotering. Därav gjordes boxannotering i detta projekt.. Figur 2.5: I detta arbete motsvarar TP alla granar som detekterats, FN alla granar som inte detekterats, FP allt som felaktigt detekterades som en gran och TN allt annat som inte detekterades. Bildkälla: Walber https://commons.wikimedia.org/wiki/File:Precisionrecall.svg För att avgöra om ett detekterat objekt är en TP eller FP beräknas ett så kallat IoU (Intersection of Union). IoU beräknas genom att dividera snittet av referensannoteringen (ground truth) och den predikterade rutan, med unionen av de båda rutorna. Detta illustreras i Figur 2.6. Oftast används ett IoU på 0.5 som tröskelvärde, och alla detekioner vars IoU är 0.5 eller högre räknas då som en TP. Tröskelvärdet kan dock varieras efter behov för vald implementation [35].. Figur 2.6: En visuell beskrivning av IoU.. 12.

(26) 2.8. Registrering Utifrån antal TP, TN, FP och FN går det att ta fram flera olika jämförelsevärden. Några av de vanligaste är precision, recall, detection-rate (DR), false-alarm-rate (FAR) och accuracy (AC). Hur dessa beräknas visas i Tabell 2.1. Oftast används flera av dessa tillsammans vid utvärdering. Till exempel behöver en modell inte vara bra bara för att den har hög recall – och alltså hittar många eftersökta objekt – ifall den också har en hög FAR och hittar många andra objekt. Eftersom TN är svårt att beräkna för objektdetektion är precision och recall lämpliga mått att använda för utvärdering av detektionsmetoder, då de bara baseras på TP, FP och FN. Tabell 2.1: Olika metoder för kvalitetsmätning av detektionsmetoder, där TP = True Positive, TN = True Negative, FN = False Negative och FP = False Positive.. 2.8. Mätmetod. Formel. Recall/Detection Rate (DR)/sensitivity. TP TP+ FN. Precision. TP TP+ FP. False alarm rate (FAR). FP TN + FP. Specificity. TN TN + FP. Accuracy (AC). TP+ TN TP+ TN + FP+ FN. Registrering. Bildregistrering går ut på att hitta matchande punkter mellan två bilder, och därefter beräkna en transform som matchar den ena bilden med referensbildens geometriska och spatiella koordinater. En sådan transform kallas homografi. Förr användes mestadels en intensitetsbaserad metod för registrering, men i och med kamerors utveckling och bilders ökade spatiella upplösning har punktbaserad registrering blivit standard [36]. Det finns flera sätt att plocka ut nyckelpunkter i bilden och matcha dem med varandra. Några av de vanligaste är SIFT, SURF, HOG och ORB, där SURF bygger på SIFT. Både SIFT och SURF är dock patenterade, och det krävs licens för att få använda dem kommersiellt [37][38]. Datasetet från denna rapport beskrivs i 2.4. Bilderna är tagna kontinuerligt under flygningen över granodlingen, vilket gör att det finns en rörelse mellan varje bild. Rörelsen har sex frihetsgrader då drönaren kan ha flyttats och roterats i 3 dimensioner. Med homografier går det att beräkna den spatiella förflyttningen mellan bilderna. Ifall detta görs mellan flera bilder går det att följa statiska objekts position över flera bilder. [36].. 2.9. Distortion. Meningen med flygbilder är ofta att avbilda ytor i en 2D-bild. Bilder tagna ovanifrån, får en viss geometrisk distorsion som delvis baseras på att det som avbildas är tredimensionellt. Så kallad relief displacement innebär att höga objekt förskjuts i bilden, eftersom de befinner sig på annan nivå än marken. Effekten blir att de ser ut att luta bort från bildens mitt, mot bildens kanter, såsom visas i Figur 2.7. Ju längre bort ett objekt befinner sig från bildens mitt, desto längre blir förskjutningen [39].. 13.

(27) 2.10. Sammanfattning av teori. Figur 2.7: Till vänster illustreras distorsionen som beror på att träden är högre än marknivå. Effekten blir att träden ser ut att luta mot kanterna. Till höger visas hur en gran är centrerad i en ruta när den detekteras längst till höger i bilden. När rutan sedan transformeras mot vänster i bilden kommer granen inte längre vara centrerad i rutan. Om följningen av ett objekt baseras på objektets position i bilden, kan den här typen av distorsion vara ett problem. Träden som detekteras i detta arbete syns bra i bildens högra kant. Om trädet följs baserat på dess position i bilden, riskerar trädet att hamna utanför den detekterade rutan när trädet når den vänstra kanten (se Figur 2.7). En punkts förskjutning (d) i bilden kan beräknas med ekvation 2.1, där H är kamerans höjd från marken, h är höjden från marken på objektet i punkten och r är avståndet mellan kamerans center och punkten. H är känt från insamlingen av bilderna. Förskjutningen på ett träd skulle alltså kunna beräknas om trädets höjd och avstånd från mitten är känt. d=. 2.10. hr H. (2.1). Sammanfattning av teori. Många studier använder sig av färg, textur och form vid detektion av plantor. I många fall görs först en segmentering för att skilja vegetation från bakgrund. Färginformation från RGB-värden kan inte användas i detta arbete, eftersom bilderna från Glana är spatiospektrala och varje pixel i bilderna endast har ett intensitetsvärde. Det som däremot går att utnyttja är att växter reflekterar mycket kring NIR och därför bör skilja sig från bakgrund mycket i den delen av bilden som motsvarar NIR. Vegetationsindex och spektral signatur går inte att använda på de spatiospektrala bilderna, men skulle gå att använda efter att en hyperspektral rekonstruktion skett för att filtrera bort objekt vars signatur skiljer sig för mycket från vegetation. Detta har påvisats fungera i Glanas tidigare arbete [9]. Flera studier som detekterar träd använder sig av storleken på trädet, eller det faktum att stora träd reflekterar ljus och skapar skuggor på ett specifikt sätt. Detta verkar dock mestadels vara användbart för detektion av fullvuxna träd och kanske inte lämpar sig för detta projekt där höjdskillnaden mellan mark och granplantans topp är liten. Däremot finns höjddata tillgänglig för en del av datasetet, vilket kanske kan användas för att förbättra detektion och följning. CNN-nätverk är de nätverk som används i störst utsträckning för att detektera objekt i bilder. Nätverksmodeller där ett färdigtränat nätverk har tränats vidare med nya bilder har visat sig kunnat ge goda resultat. Med ett fåtal bilder och relativt kort träningstid går det att uppnå samma prestanda som nätverket som tränas vidare hade. Mängden bilder som finns 14.

(28) 2.10. Sammanfattning av teori tillgängliga i detta arbete bör vara tillräcklig för att testa denna typ av detektionsmetod. För detta arbete kommer ett nätverk av modellen Faster R-CNN användas. Dels för att modellen har visat sig vara en av de bättre att använda för objektdetektion och dels för att detektionen i detta arbete inte behöver göras i realtid, vilket de flesta enkelstegsdetektorer är anpassade för. Andra metoder som kommer undersökas är detektion med segmentering samt detektion med hjälp av features.. 15.

(29) 3. Metod. Arbetet inleddes med att läsa rapporter kring relaterat arbete, och att sätta sig in i Glanas nuvarande teknik och implementation. Bilderna i dataseten annoterades och homografier togs fram för att kunna göra en registrering mellan alla bilder. Olika metoder för detektion implementerades och utvärderades för att sedan kunna välja ut den, eller de, metod(er) som presterade bäst. Följning av detekterade objekt implementerades samt ett sätt att göra en hyperspektral rekonstruktion av varje detekterat objekt. Från varje datakub kunde sedan en spektral signatur extraheras. Programmet jämfördes med Glanas implementation för att se hur minnesanvändning och körningstid hade förändrats. Varje del av metoden beskrivs mer detaljerat nedan.. 3.1. Förstudier. En litteraturstudie gjordes för att ta del av relaterat arbete. Dels studerades vilka metoder som används för objektdetektion generellt. Dels undersöktes vilka metoder som har använts i studier som detekterar vegetation. Teorin som används från litteraturstudien finns att läsa i kapitel 2. Baserat på litteraturstudien valdes tre olika detektionsmetoder ut till arbetet: detektion med segmentering, detektion med features och SVM samt detektion med ett CNN. De tre metoderna studerades i mer detalj för att se om, och hur, de skulle vara kompatibla med de spatiospektrala bilderna som användes i arbetet. Manuell detektion valdes också att implementeras för att ha något att mäta mot, som liknande Glanas nuvarande implementation. Koden som användes i Glanas studie [9] studerades eftersom delar av den skulle användas i arbetet. Val av programmeringsspråk gjordes i samband med detta.. 3.2. Programvarudesign. En skiss av programmet gjordes för att ha en genomtänkt programdesign att följa vid implementationen. Programmet är designat enligt Figur 3.1 där indatan är en serie spatiospektrala bilder. För varje bild i serien görs detektion av granar och en följning av granar som detekterats i föregående bild. Information om intensitet och våglängd från de detekterade objekten sparas i datakuber. Resultatet blir en datakub för varje detekterat träd, från vilken det går att sampla en spektral signatur.. 16.

(30) 3.3. Annotering Skiljt från programmet görs en registrering där en homografi beräknas för varje närliggande bildpar i datasetet. Även all typ av träning för de olika detektionsmetoderna görs utanför programmet.. Figur 3.1: En skiss över hur flödet i programmet ser ut.. 3.3. Annotering. För att kunna träna och utvärdera detektionsmetoderna krävs en referens över hur många granar som finns i dataseten samt var i bilderna de befinner sig. Den informationen fanns inte tillgänglig, utan skapades i början av arbetet. För att annotera bilderna skapades ett program i Python. Med programmet markerades manuellt, för varje bild, alla granar som syntes i bilden. För varje bild där minst en gran fanns skapades en XML-fil i PASCAL VOC-format [40], där annoteringarna angavs. Bilaga A visar ett exempel på en sådan fil. Anledningen att PASCAL VOC-formatet användes var att det enkelt går att omvandla till TFRecord-format, som används av biblioteket Tensorflow, som skulle användas för detektion med neurala nätverk. Innan annoteringen gjordes blev bilderna beskurna så att 12% av bildens högerkant behölls. Det är den delen av bilden som motsvarar våglängder i NIR, där granplantorna syns bra. Bilderna är dessutom tagna, och numrerade, så att de visar stråken från vänster till höger, vilket gör att nya objekt först syns i bildernas högerkant. Detektionen på granarna görs alltså i det område av bilden där granen syns först, och därför behöver de bara följas i en riktning. Det visade sig under tränings- och evalueringsfasen, att annoteringarna var lite för slarvigt gjorda, vissa rutor var för stora och några granar hade inte annoterats. Annoteringarna förbättrades, vilket förändrade resultatet vid utvärderingen.. 17.

(31) 3.4. Implementation I de två dataset som fanns tillgängliga räknades det till totalt 679 antal granar, varav 387 stycken i Flygning1 och 292 stycken i Flygning2. Då varje gran finns med i flera bilder blev det totalt 2892 bilder med annoteringar och i dessa totalt 3082 antal annoterade granar. Flygning1 innehåller 1867 annoterade granar i 1728 bilder. Flygning2 innehåller 1215 annoterade granar fördelade i 1164 bilder.. 3.4. Implementation. Implementationen gjordes i Python, med JupyterLab [41] som utvecklingsmiljö. En anledning till att Python valdes som programmeringsspråk var att det finns gott om programvarubibliotek till Python som är gjorda för tillämpningar inom bildbehandling, datorseende och maskininlärning. Båda projektdeltagarna var sedan tidigare bekväma med Python och dess bibliotek. MATLAB, som Glanas tidigare implementation är skriven i, är dyrt och används mer för prototypande och forskning. Biblioteken för bilder och maskininlärning är dessutom snabbare i Python än i MATLAB [42]. Koden som fanns hos Glana kunde enkelt skrivas om till Pythonkod eftersom språken liknar varandra, så att välja ett annat programmeringsspråk än det som använts hos Glana blev inte tidskrävande för projektet.. 3.4.1. Förbehandling. Innan detektion görs förbehandlas bilden. Direkt när en bild läses in görs en kalibrering. Eftersom granarna syns som bäst i NIR beskärs bilden till att bara visa den del av bilden som representerar NIR. Därefter görs en normalisering så att alla intensitetsvärden är mellan noll och ett. För att anpassa bilderna till funktioner som används för detektion, omvandlas de till uint8-format (intensitetsvärden mellan 0–255). Mot slutet av projektet implementerades en funktion som ökar bildens skärpa och tar bort brus, för att se om ytterligare förbehandling kunde förbättra resultatet för några av detektionsmetoderna. För att inte förlora information när intensitetsvärdena ska hämtas ut till datakuberna, hämtas värdena från en bild som inte blivit förbehandlad utan endast kalibrerad.. 3.4.2. Manuell detektion. Den första detektionsmetod som implementerades var manuell detektion. Varje bild i en given bildserie visas, en i taget, i ett fönster. Användaren kan välja att markera önskade objekt i bilden och därefter visa nästa bild i serien.. 3.4.3. Segmentering. Segmentering testades som en detektionsmetod av allra enklaste slag, då många andra studier använt segmentering för att skilja vegetation från bakgrund, se 2.6.2. Många studier använde vegetationsindex för att förstärka skillnaden i intensitet mellan vegetation och bakgrund. Det förutsätter dock att varje pixel har intensitetsvärden för flera våglängder, och vegetationsindex bygger oftast på intensitet från NIR och RGB. Bilderna för detta arbete är dock spatiospektrala och har inte flera värden för olika våglängder i samma pixel. I detta arbete gjordes segmenteringen istället i delen av bilden som representerar NIR. Därmed var vegetationen redan ganska synlig mot bakgrunden. För att öka kontrasten ytterligare gjordes adaptiv histogramutjämning med CLAHE följt av en normalisering. Därefter binäriserades bilden med ett tröskelvärde, och en öppning gjordes för att minska bruset i den binära bilden. Dynamisk tröskling med Otsus metod testades för att undvika statiska parametrar men resultatet blev att för många andra objekt blev kvar efter segmenteringen. Med ett statiskt tröskelvärde gick det att kontrollera bättre vilka objekt som segmenterades.. 18.

References

Outline

Related documents

This first trial regarding protection of spruce seedlings against pine weevil attack via seed treatment or watering only covers the first season in the field, a time which is

På detta sätt skulle bilderna i läroboken kunna betraktas innehålla Skolverkets (2011) rekommenderade framställning av tekniken samt deras påpekande att teknikämnet i

Department of Electrical Engineering Linköping University. SE-581 83 Linköping,

Jag är en student vid Högskolan i Gävle som under vårterminen skall skriva ett examensarbete i matematik. I mitt examensarbete - som har ett särskilt fokus på om man med

Att alla dessutom deltog i diskussionen berodde till stor del på att gruppens storlek var anpassad till diskussion, alla vågade säga sin ståndpunkt, men framförallt så var vi

increases. The decreased forced also means that the Bohr radius increases. Exciton binding energies are on the order of 0.1-1 eV and 0.01-0.1 eV for Frenkel and Wannier-

Sökningen har skett genom systematiska genomgångar av olika databaser med hjälp av sökorden samhällskunskap, samhällskunskapsdidaktik, didaktik, demokrati,

The first is the darg operator, which is used to detect three dimensional convex or concave objects by calculating the derivative of the argument of the gradient in one direction