Kaip nustatyti augalų ligas naudojant mašinų mokymąsi: 6 žingsniai
Kaip nustatyti augalų ligas naudojant mašinų mokymąsi: 6 žingsniai
Anonim
Kaip nustatyti augalų ligas naudojant mašinų mokymąsi
Kaip nustatyti augalų ligas naudojant mašinų mokymąsi

Sergančių augalų aptikimo ir atpažinimo procesas visada buvo rankinis ir varginantis procesas, reikalaujantis, kad žmonės vizualiai apžiūrėtų augalo kūną, o tai dažnai gali lemti neteisingą diagnozę. Taip pat buvo prognozuojama, kad dėl klimato kaitos pasauliniams orų modeliams pradėjus kisti, pasėlių ligos greičiausiai taps sunkesnės ir plačiau paplitusios. Todėl svarbu sukurti sistemas, kurios greitai ir lengvai analizuotų pasėlius ir nustatytų tam tikrą ligą, kad būtų sumažinta tolesnė pasėlių žala.

Šioje instrukcijoje mes išnagrinėsime mašinų mokymosi koncepciją, žinomą kaip „perkėlimo mokymasis“, kad klasifikuotume sergančių ryžių augalų vaizdus. Tas pats metodas gali būti pritaikytas bet kuriai kitai vaizdo klasifikavimo problemai.

1 žingsnis: ryžių ligų rūšys

Ryžių ligų rūšys
Ryžių ligų rūšys

Ryžiai yra vienas populiariausių maisto produktų, auginamų daugiausia Azijoje, Afrikoje ir Pietų Amerikoje, tačiau yra jautrūs įvairiems kenkėjams ir ligoms. Fizinės savybės, tokios kaip lapų spalvos pasikeitimas, gali būti naudojamos kelioms ligoms, kurios gali turėti įtakos ryžių pasėliams, nustatyti. Pavyzdžiui, „Brown-Spot“-grybelinės ligos, paveikiančios apsauginį lapų apvalkalą, lapai yra padengti keliomis mažomis ovaliomis rudomis dėmėmis su pilkais centrais, tuo tarpu „Leaf-Blast“atveju lapai yra padengti su didesniais rudais pažeidimais. Panašiai lapus, paveiktus „Rice Hispa“kenkėjo, galima atpažinti pagal ilgus pėdsakus, kurie atsiranda ant lapo paviršiaus.

2 žingsnis: Kaip ankstesni metodai nustatė ligas?

Kaip ankstesni metodai nustatė ligas?
Kaip ankstesni metodai nustatė ligas?

Ankstesni metodai, skirti automatiškai klasifikuoti sergančių augalų vaizdus, pvz., Taisyklėmis pagrįsti klasifikatoriai, naudojami [1], remiasi fiksuotu taisyklių rinkiniu, skirtu lapams suskirstyti į paveiktus ir nepaveiktus regionus. Kai kurios ypatybių išskyrimo taisyklės apima vidutinio ir standartinio nukrypimo tarp paveiktų ir nepaveiktų regionų spalvos pokyčių stebėjimą. Formų bruožų išskyrimo taisyklės apima individualių kelių primityvių formų uždėjimą ant paveiktos srities ir didžiausios paveiktos srities plotą apimančios formos nustatymą. Kai vaizdai išgaunami, vaizdams klasifikuoti naudojamas fiksuotų taisyklių rinkinys, atsižvelgiant į ligą, galėjusią paveikti augalą. Pagrindinis tokio klasifikatoriaus trūkumas yra tas, kad kiekvienai ligai reikės kelių nustatytų taisyklių, dėl kurių ji gali būti jautri triukšmingiems duomenims. Aukščiau pateikti vaizdai rodo, kaip taisyklėmis pagrįstas sprendimų medis gali būti naudojamas vaizdui suskirstyti į du regionus.

1. Santanu Phadikar ir kt., „Ryžių ligų klasifikavimas naudojant savybių atrankos ir taisyklių generavimo metodus“, „Computers and Electronics in Agriculture“, t. 90, 2013 m. Sausio mėn.

3 žingsnis: mokymasis perkelti

Mokymasis perkelti
Mokymasis perkelti

Šioje instrukcijoje aprašytoje vaizdo klasifikavimo technikoje naudojama pagrindinė CNN struktūra, kurią sudaro keli konvoliuciniai sluoksniai, sujungimo sluoksnis ir paskutinis visiškai sujungtas sluoksnis. Konvoliuciniai sluoksniai veikia kaip filtrų rinkinys, išskiriantis aukšto lygio vaizdo ypatybes. Maksimalus sutelkimas yra vienas iš bendrų metodų, naudojamų sujungiant sluoksnius, siekiant sumažinti išgautų savybių erdvinį dydį, taip sumažinant skaičiavimo galią, reikalingą kiekvieno sluoksnio svoriams apskaičiuoti. Galiausiai, išgauti duomenys perduodami per visiškai prijungtą sluoksnį kartu su „softmax“aktyvinimo funkcija, kuri nustato vaizdo klasę.

Tačiau pritaikytų CNN mokymas nuo nulio gali neduoti norimų rezultatų ir gali trukti labai ilgai.

Norėdami sužinoti mokomųjų vaizdų ypatybes, naudojame metodą, vadinamą perkėlimo mokymu, kai iš anksto apmokyto modelio „viršutiniai“sluoksniai yra pašalinami ir pakeičiami sluoksniais, kurie gali išmokti mokymo duomenų rinkiniui būdingų savybių. Mokymasis perkeliant sutrumpina mokymo laiką, palyginti su modeliais, kuriuose naudojami atsitiktinai inicijuoti svoriai. Mūsų metodas naudoja šešis skirtingus iš anksto apmokytus modelius, būtent „AlexNet“, „GoogLeNet“, „ResNet-50“, „Inception-v3“, „ShuffleNet“ir „MobileNet-v2“.

Paveikslėlyje pavaizduota „GoogLeNet“architektūra, kai mėlyna spalva naudojama konvoliuciniams sluoksniams, raudona - sluoksniams kaupti, geltona - „softmax“sluoksniams, o žalia - sujungtiems sluoksniams. Daugiau apie vidinį CNN darbą galite sužinoti čia.

Ryžių ligos duomenų rinkinį sudaro sveikų ir sergančių ryžių augalų lapų vaizdai. Vaizdus galima suskirstyti į keturias skirtingas klases: „Brown-Spot“, „Rice Hispa“, „Leaf-Blast“ir „Healthy“. Duomenų rinkinį sudaro 2092 skirtingi vaizdai, kurių kiekvienoje klasėje yra 523 vaizdai. Kiekvienas vaizdas susideda iš vieno sveiko ar sergančio lapo baltame fone.

Vaizdo duomenų rinkinį suskirstėme į mokymo, patvirtinimo ir bandymų rinkinius. Kad išvengtume per didelio pritaikymo, mes padidiname treniruočių vaizdus, pakeisdami ir apversdami treniruočių vaizdus, kad padidintume bendrą treniruočių pavyzdžių skaičių.

Kodas ir priklausomybės yra atvirojo kodo ir juos rasite čia: „GitHub Code“

Skirtingoms vaizdo klasifikavimo programoms galime tiesiog pakeisti mokymo vaizdo duomenų rinkinį.

4 žingsnis: modelio mokymas

Modelio mokymas
Modelio mokymas
Modelio mokymas
Modelio mokymas
Modelio mokymas
Modelio mokymas

Atsižvelgiant į kiekvieno modelio reikalaujamą atminties dydį, iš anksto apmokyti modeliai yra suskirstyti į didesnius ir mažesnius modelius. Mažesni modeliai sunaudoja mažiau nei 15 MB, todėl yra tinkamesni mobiliosioms programoms.

Tarp didesnių modelių „Inception-v3“treniruotės trukmė buvo ilgiausia-apie 140 minučių, o „AlexNet“-trumpiausia, maždaug 18 minučių. Tarp mažesnių mobiliesiems skirtų modelių „MobileNet-v2“treniruotės trukmė buvo ilgiausia-maždaug 73 minutės, o „ShuffleNet“-trumpiausia-maždaug 38 minutės.

5 žingsnis: modelio bandymas

Modelio bandymas
Modelio bandymas
Modelio bandymas
Modelio bandymas
Modelio bandymas
Modelio bandymas

Tarp didesnių modelių „Inception-v3“testavimo tikslumas buvo didžiausias-maždaug 72,1%, o „AlexNet“-mažiausias-maždaug 48,5%. Tarp mažesnių mobiliesiems skirtų modelių „MobileNet-v2“testavimo tikslumas buvo didžiausias-62,5%, o „ShuffleNet“-mažiausias-58,1%.

„MobileNet-v2“labai gerai pasirodė klasifikuojant „Brown-Spot“, „Leaf-Blast“ir „Healthy“lapų vaizdus, tuo pačiu padarydamas keletą klaidingų „Rice Hispa“klasifikacijų tik 46,15%tikslumu.

„Inception-v3“klasifikacijos rezultatai buvo panašūs į „MobileNet-v2“.

6 veiksmas: papildomi bandymai

Papildomi testai
Papildomi testai
Papildomi testai
Papildomi testai

Aukščiau pateiktame paveikslėlyje parodyta, kaip „MobileNet-v2“modelis klaidingai klasifikuoja žolės lapo atvaizdą baltame fone kaip ryžius.

Mes taip pat išbandėme „MobileNet-v2“tikslumą apkarpytuose „Rice Hispa“vaizduose, kur baltas fonas buvo sumažintas taip, kad lapas užimtų didžiausią vaizdo plotą. Apkarpytų ryžių Hispa atvaizdų tikslumas buvo maždaug 80,81%, t. Y. Apkarpytų ryžių Hispa atvaizdų atveju pastebėjome, kad žymiai padidėjo klasifikavimo tikslumas, palyginti su neapkarpytais bandiniais. Todėl siūlome, kad realaus pasaulio ryžių ligų aptikimo, naudojant konvoliucinius neuroninius tinklus, įgyvendinimai turi apkarpyti bandomuosius vaizdus, kad būtų pašalintas foninis triukšmas, siekiant pagerinti tikslumą.