Indholdsfortegnelse:

Sådan opdages plantesygdomme ved hjælp af maskinlæring: 6 trin
Sådan opdages plantesygdomme ved hjælp af maskinlæring: 6 trin

Video: Sådan opdages plantesygdomme ved hjælp af maskinlæring: 6 trin

Video: Sådan opdages plantesygdomme ved hjælp af maskinlæring: 6 trin
Video: ОЖИДАНИЕ или РЕАЛЬНОСТЬ! ИГРЫ в РЕАЛЬНОЙ ЖИЗНИ! Маленькие кошмары 2 в реальной жизни! 2024, November
Anonim
Sådan opdages plantesygdomme ved hjælp af maskinlæring
Sådan opdages plantesygdomme ved hjælp af maskinlæring

Processen med at opdage og genkende syge planter har altid været en manuel og kedelig proces, der kræver, at mennesker visuelt inspicerer plantens krop, hvilket ofte kan føre til en forkert diagnose. Det er også blevet forudsagt, at efterhånden som globale vejrmønstre begynder at variere på grund af klimaændringer, vil afgrødesygdomme sandsynligvis blive mere alvorlige og udbredte. Derfor er det vigtigt at udvikle systemer, der hurtigt og let analyserer afgrøder og identificerer en bestemt sygdom for at begrænse yderligere afgrødeskader.

I denne Instructable vil vi udforske et maskinlæringskoncept kendt som "Transfer Learning" for at klassificere billeder af syge risplanter. Den samme metode kan genanvendes for ethvert andet problem med billedklassificering.

Trin 1: Typer af rissygdomme

Typer af ris sygdomme
Typer af ris sygdomme

Ris er en af de mest populære fødevarer, der hovedsageligt dyrkes i Asien, Afrika og Sydamerika, men er modtagelig for en række skadedyr og sygdomme. Fysiske egenskaber såsom misfarvning af blade kan bruges til at identificere flere sygdomme, der kan påvirke risafgrøden. For eksempel i tilfælde af Brown-Spot, en svampesygdom, der påvirker bladernes beskyttende kappe, er bladene dækket med flere små ovale brune pletter med grå centre, mens bladene i dækning af Leaf-Blast er dækket med større brune læsioner. På samme måde kan bladene, der er påvirket af Rice Hispa -skadedyret, identificeres ved de lange spormærker, der udvikler sig på bladets overflade.

Trin 2: Hvordan opdagede tidligere metoder sygdomme?

Hvordan opdagede tidligere metoder sygdomme?
Hvordan opdagede tidligere metoder sygdomme?

Tidligere metoder til automatisk klassificering af syge plantebilleder såsom regelbaserede klassifikatorer som brugt i [1] er afhængige af et fast sæt regler for at segmentere bladet i berørte og upåvirkede områder. Nogle af reglerne for at udtrække funktioner indebærer at observere ændringen i middelværdien og standardafvigelsen mellem farven på de berørte og upåvirkede regioner. Regler for at udtrække formfunktioner involverer individuelt at placere flere primitive former oven på det berørte område og identificere den form, der dækker det maksimale område af det berørte område. Når funktionerne er ekstraheret fra billederne, bruges et sæt faste regler til at klassificere billederne afhængigt af den sygdom, der kan have påvirket planten. Den største ulempe ved en sådan klassifikator er, at den vil kræve flere faste regler for hver sygdom, hvilket igen kan gøre den modtagelig for støjende data. Ovenstående billeder viser, hvordan et regelbaseret beslutningstræ kan bruges til at segmentere billedet i to regioner.

1. Santanu Phadikar et al., "Klassificering af ris sygdomme ved hjælp af funktionsvalg og teknikker til generering af regler", Computers and Electronics in Agriculture, vol. 90, januar 2013.

Trin 3: Overfør læring

Transfer læring
Transfer læring

Billedklassificeringsteknikken beskrevet i denne instruktion anvender grundstrukturen i et CNN, der består af flere konvolutionslag, et poollag og et sidste fuldt forbundet lag. De konvolutionslag fungerer som et sæt filtre, der udtrækker billedets funktioner på højt niveau. Max-pooling er en af de almindelige metoder, der bruges i poolning af lag til at reducere den rumlige størrelse af de ekstraherede funktioner og derved reducere den beregningseffekt, der er nødvendig for at beregne vægte for hvert lag. Endelig sendes de ekstraherede data gennem et fuldt forbundet lag sammen med en softmax -aktiveringsfunktion, der bestemmer billedets klasse.

Men træning af brugerdefinerede CNN'er fra bunden giver muligvis ikke de ønskede resultater og kan have en meget lang træningstid.

For at lære funktionerne i træningsbillederne bruger vi en metode kaldet Transfer Learning, hvor de 'øverste' lag i en forududdannet model fjernes og erstattes med lag, der kan lære de funktioner, der er specifikke for træningsdatasættet. Transferlæring reducerer træningstiden sammenlignet med modeller, der bruger tilfældigt initialiserede vægte. Vores metode bruger seks forskellige foruddannede modeller, nemlig AlexNet, GoogLeNet, ResNet-50, Inception-v3, ShuffleNet og MobileNet-v2.

Billedet viser GoogLeNet -arkitekturen, hvor blå bruges til konvolutionslag, rød til sammenlægning af lag, gul til softmax -lag og grøn til konkatlag. Du kan lære mere om det indre arbejde i et CNN her.

Rissygdommens datasæt består af billeder af blade af både sunde og syge risplanter. Billederne kan kategoriseres i fire forskellige klasser, nemlig Brown-Spot, Rice Hispa, Leaf-Blast og Healthy. Datasættet består af 2092 forskellige billeder, hvor hver klasse indeholder 523 billeder. Hvert billede består af et enkelt sundt eller sygt blad placeret mod en hvid baggrund.

Vi opdeler billedsættet i træning, validering og test af billedsæt. For at forhindre overmontering øger vi træningsbillederne ved at skalere og vende træningsbillederne for at øge det samlede antal træningsprøver.

Koden og afhængighederne er open source og kan findes her: GitHub Code

For forskellige billedklassificeringsapplikationer kan vi ganske enkelt ændre træningsbilleddatasættet.

Trin 4: Træning af modellen

Træning af modellen
Træning af modellen
Træning af modellen
Træning af modellen
Træning af modellen
Træning af modellen

Afhængigt af den hukommelsesstørrelse, der kræves af hver model, er de foruddannede modeller kategoriseret i større og mindre modeller. De mindre modeller bruger mindre end 15 MB og er derfor bedre egnet til mobile applikationer.

Blandt de større modeller havde Inception-v3 den længste træningstid på cirka 140 minutter, mens AlexNet havde den korteste træningstid på cirka 18 minutter. Blandt de mindre mobilorienterede modeller havde MobileNet-v2 den længste træningstid på cirka 73 minutter, mens ShuffleNet havde den korteste træningstid på cirka 38 minutter.

Trin 5: Test af modellen

Test af modellen
Test af modellen
Test af modellen
Test af modellen
Test af modellen
Test af modellen

Blandt de større modeller havde Inception-v3 den højeste testnøjagtighed på cirka 72,1%, mens AlexNet havde den laveste testnøjagtighed på cirka 48,5%. Blandt de mindre mobilorienterede modeller havde MobileNet-v2 den højeste testnøjagtighed på 62,5%, mens ShuffleNet havde den laveste testnøjagtighed på 58,1%.

MobileNet-v2 klarede sig markant godt ved klassificering af billeder af Brown-Spot, Leaf-Blast og Sunde blade, mens der blev foretaget flere fejlklassificeringer for Rice Hispa med en nøjagtighed på kun 46,15%.

Inception-v3 viste lignende klassifikationsresultater som MobileNet-v2.

Trin 6: Yderligere tests

Yderligere tests
Yderligere tests
Yderligere tests
Yderligere tests

Billedet ovenfor viser, hvordan MobileNet-v2-modellen forkert klassificerer et billede af et græsblad mod en hvid baggrund som Rice Hispa.

Vi testede også nøjagtigheden af MobileNet-v2 på beskårne billeder af Rice Hispa, hvor den hvide baggrund blev minimeret, så bladet fylder et maksimalt område i billedet. For beskårne billeder af Rice Hispa observerede vi en nøjagtighed på cirka 80,81%, dvs. for beskårede billeder af Rice Hispa observerede vi en signifikant stigning i klassificeringsnøjagtigheden i forhold til ikke -beskårne testprøver. Derfor foreslår vi, at virkelige implementeringer af påvisning af rissygdomme ved hjælp af konvolutive neurale netværk skal beskære testbillederne for at fjerne baggrundsstøj for at forbedre nøjagtigheden.

Anbefalede: