Sadržaj:
- Korak 1: Vrste bolesti pirinča
- Korak 2: Kako su prethodne metode otkrivale bolesti?
- Korak 3: Prenesite učenje
- Korak 4: Obuka modela
- Korak 5: Testiranje modela
- Korak 6: Dodatni testovi
Video: Kako otkriti biljne bolesti pomoću strojnog učenja: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Proces otkrivanja i prepoznavanja oboljelih biljaka oduvijek je bio ručan i dosadan proces koji od ljudi zahtijeva vizualni pregled biljnog tijela što često može dovesti do pogrešne dijagnoze. Predviđeno je i da će globalni vremenski obrasci početi varirati zbog klimatskih promjena, pa će bolesti usjeva postati ozbiljnije i raširenije. Stoga je važno razviti sisteme koji brzo i lako analiziraju usjeve i identifikuju određenu bolest kako bi se ograničilo dalje oštećenje usjeva.
U ovom Instructableu istražit ćemo koncept strojnog učenja poznat kao "Transfer Learning" kako bismo klasificirali slike oboljelih biljaka riže. Ista metoda može se prenamijeniti za bilo koji drugi problem klasifikacije slika.
Korak 1: Vrste bolesti pirinča
Pirinač je jedna od najpopularnijih osnovnih prehrambenih kultura koja se uzgaja uglavnom u Aziji, Africi i Južnoj Americi, ali je osjetljiva na razne štetočine i bolesti. Fizičke karakteristike, poput obezbojenja lišća, mogu se koristiti za identifikaciju nekoliko bolesti koje mogu utjecati na usjev riže. Na primjer, u slučaju smeđe mrlje, gljivične bolesti koja zahvaća zaštitni omotač lišća, lišće je prekriveno s nekoliko malih ovalnih smeđih mrlja sa sivim središtima, dok je u slučaju lista lista lišće prekriveno sa većim smeđim lezijama. Slično, lišće zahvaćeno štetočinom Rice Hispa može se prepoznati po dugim tragovima koji se razvijaju na površini lista.
Korak 2: Kako su prethodne metode otkrivale bolesti?
Prethodne metode za automatsko klasificiranje slika oboljelih biljaka, poput klasifikatora zasnovanih na pravilima, koje se koriste u [1], oslanjaju se na fiksni skup pravila za segmentiranje lista u zahvaćena i neoštećena područja. Neka pravila za izdvajanje značajki uključuju promatranje promjene srednje vrijednosti i standardne devijacije između boje zahvaćenih i nezaraženih regija. Pravila za izdvajanje obilježja oblika uključuju pojedinačno postavljanje nekoliko primitivnih oblika na zahvaćeno područje i identificiranje oblika koji pokriva najveću površinu zahvaćenog područja. Nakon što se značajke izdvoje iz slika, skup fiksnih pravila koristi se za klasifikaciju slika ovisno o bolesti koja je možda zahvatila biljku. Glavni nedostatak takvog klasifikatora je to što će zahtijevati nekoliko fiksnih pravila za svaku bolest što bi ga zauzvrat moglo učiniti osjetljivim na bučne podatke. Gornje slike pokazuju kako se stablo odlučivanja zasnovano na pravilima može koristiti za segmentiranje slike u dvije regije.
1. Santanu Phadikar i dr., „Klasifikacija bolesti pirinča pomoću tehnika odabira karakteristika i stvaranja pravila“, Računari i elektronika u poljoprivredi, vol. 90, januar 2013.
Korak 3: Prenesite učenje
Tehnika klasifikacije slika opisana u ovom Instructables koristi osnovnu strukturu CNN -a koja se sastoji od nekoliko konvolucionih slojeva, sloja za udruživanje i završnog potpuno povezanog sloja. Konvolucijski slojevi djeluju kao skup filtera koji izdvajaju značajke slike na visokom nivou. Maksimalno udruživanje jedna je od uobičajenih metoda koja se koristi u grupiranju slojeva za smanjenje prostorne veličine izdvojenih značajki čime se smanjuje računalna snaga potrebna za izračunavanje težina za svaki sloj. Konačno, izdvojeni podaci prolaze kroz potpuno povezan sloj zajedno sa softmax aktivirajućom funkcijom koja određuje klasu slike.
Ali obučavanje prilagođenih CNN -ova od nule možda neće dati željene rezultate i može imati jako dugo vrijeme za obuku.
Da bismo naučili značajke slika za obuku, koristimo metodu koja se zove Transfer Learning pri čemu se „gornji“slojevi unaprijed obučenog modela uklanjaju i zamjenjuju slojevima koji mogu naučiti značajke koje su specifične za skup podataka za obuku. Prijenosno učenje smanjuje vrijeme treninga u usporedbi s modelima koji koriste nasumično inicijalizirane utege. Naša metoda koristi šest različitih prethodno obučenih modela, i to AlexNet, GoogLeNet, ResNet-50, Inception-v3, ShuffleNet i MobileNet-v2.
Slika prikazuje GoogLeNet arhitekturu gdje se plava koristi za konvolucijske slojeve, crvena za skupljanje slojeva, žuta za slojeve softmax i zelena za konkatne slojeve. Ovdje možete saznati više o unutrašnjem radu CNN -a.
Skup podataka o rižinoj bolesti sastoji se od slika lišća zdravih i oboljelih biljaka riže. Slike se mogu kategorizirati u četiri različite klase, a to su Brown-Spot, Rice Hispa, Blast Leaf Blast i Healthy. Skup podataka sastoji se od 2092 različite slike, a svaka klasa sadrži 523 slike. Svaka se slika sastoji od jednog zdravog ili bolesnog lista postavljenog na bijelu podlogu.
Skup slikovnih podataka podijelili smo na skupove slika za obuku, provjeru valjanosti i testiranje. Da bismo spriječili prekomjerno prilagođavanje, povećavamo slike za vježbanje skaliranjem i okretanjem slika za vježbanje kako bismo povećali ukupan broj uzoraka za obuku.
Kod i ovisnosti su otvorenog koda i mogu se pronaći ovdje: GitHub kod
Za različite aplikacije klasifikacije slika možemo jednostavno promijeniti skup podataka za obuku.
Korak 4: Obuka modela
Ovisno o veličini memorije koja je potrebna svakom modelu, unaprijed obučeni modeli kategorizirani su u veće i manje modele. Manji modeli troše manje od 15 MB i stoga su prikladniji za mobilne aplikacije.
Među većim modelima, Inception-v3 je imao najduže vrijeme treninga od približno 140 minuta, dok je AlexNet imao najkraće vrijeme treninga od približno 18 minuta. Među manjim modelima orijentiranim na mobilne uređaje, MobileNet-v2 je imao najduže vrijeme treninga od približno 73 minute, dok je ShuffleNet imao najkraće vrijeme treninga od približno 38 minuta.
Korak 5: Testiranje modela
Među većim modelima, Inception-v3 je imao najveću tačnost testiranja od približno 72,1%, dok je AlexNet imao najmanju tačnost testiranja od približno 48,5%. Među manjim modelima orijentiranim na mobilne uređaje, MobileNet-v2 imao je najveću točnost testiranja od 62,5%, dok je ShuffleNet imao najmanju točnost testiranja od 58,1%.
MobileNet-v2 imao je značajno dobre rezultate pri klasifikaciji slika smeđe pjegavosti, listanja i zdravog lišća, dok je napravio nekoliko pogrešnih klasifikacija za Rice Hispa s točnošću od samo 46,15%.
Inception-v3 pokazao je slične rezultate klasifikacije kao MobileNet-v2.
Korak 6: Dodatni testovi
Gornja slika prikazuje kako model MobileNet-v2 pogrešno klasificira sliku lista trave na bijeloj podlozi kao Rice Hispa.
Testirali smo i preciznost MobileNet-v2 na izrezanim slikama riže hispe, pri čemu je bijela pozadina svedena na minimum tako da list zauzima maksimalnu površinu unutar slike. Za izrezane slike riže hispe primijetili smo točnost od približno 80,81%, odnosno za izrezane slike riže hispe primijetili smo značajno povećanje tačnosti klasifikacije u odnosu na neobrezane testne uzorke. Stoga predlažemo da implementacije otkrivanja bolesti pirinča u stvarnom svijetu pomoću konvolutivnih neuronskih mreža moraju obrezati testne slike kako bi se uklonila pozadinska buka kako bi se poboljšala preciznost.
Preporučuje se:
(Vrlo jednostavno) Modeliranje bolesti (pomoću grebanja): 5 koraka
(Vrlo jednostavno) Modeliranje bolesti (koristeći Scratch): Danas ćemo simulirati izbijanje bolesti, pri čemu je to bilo koja bolest, ne nužno COVID-19. Ova simulacija inspirisana je video zapisom 3blue1brown, na koji ću se povezati. Budući da je ovo povlačenje i ispuštanje, ne možemo učiniti onoliko koliko možemo s JS -om ili Pytom
Raspberry Pi DIY pametno zvono na vratima koje može otkriti ljude, automobile itd .: 5 koraka
Raspberry Pi DIY pametno zvono na vratima koje može otkriti ljude, automobile i sl.: Ovaj dizajn na temu steampunk integrira se s kućnim pomoćnikom i našim višesobnim audio sistemom za komunikaciju s ostatkom naše kuće uradi sam. Umjesto kupovine zvona na vratima (ili Nest ili nekog drugog konkurenta) Izgradio sam vlastitu pametnu dovratku
Jednostavan, ali snažan detektor statičke električne energije koji također može otkriti "duhove": 10 koraka
Jednostavan, ali moćan detektor statičke električne energije koji također može otkriti "duhove": Zdravo, ovo je moje prvo uputstvo, pa me obavijestite o greškama koje sam učinio u ovom uputstvu. U ovom uputstvu napravit ću krug koji može detektirati statički elektricitet. Jedan od njegovih tvoraca tvrdio je da je otkrio & quot
Olakšavanje učenja elektronike i programiranja pomoću Vizuelnog DIY radnog stola: 3 koraka
Olakšavanje učenja elektronike i programiranja pomoću Visual DIY radnog stola: Jeste li ikada željeli inspirirati djecu da uče o elektronici i mikrokontrolerima? Ali zajednički problem s kojim se često susrećemo je da je maloj djeci teško razumjeti osnovno znanje iz ove oblasti. Postoji nekoliko ploča na
Otkrivanje biljnih bolesti pomoću Qualcomm Dragonboard 410c: 4 koraka
Otkrivanje biljnih bolesti s Qualcomm Dragonboard 410c: Pozdrav svima, učestvujemo na takmičenju Inventing the Future with Dragonboard 410c koje sponzoriraju Embarcados, Linaro i Baita. AVOID projekt (Agro View Disease) Naš cilj je stvoriti ugrađeni sistem koji može snimiti sliku, obraditi i otkriti poz