Sisällysluettelo:
- Vaihe 1: Riisitautien tyypit
- Vaihe 2: Miten aiemmat menetelmät havaitsivat sairauksia?
- Vaihe 3: Siirrä oppiminen
- Vaihe 4: Mallin kouluttaminen
- Vaihe 5: Mallin testaaminen
- Vaihe 6: Lisätestit
Video: Kasvisairauksien havaitseminen koneoppimisen avulla: 6 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:01
Sairastuneiden kasvien havaitsemis- ja tunnistamisprosessi on aina ollut manuaalinen ja työläs prosessi, joka vaatii ihmisiä tarkastamaan kasvin kehon silmämääräisesti, mikä voi usein johtaa virheelliseen diagnoosiin. On myös ennustettu, että kun maailmanlaajuiset sääolosuhteet alkavat vaihdella ilmastonmuutoksen vuoksi, viljelysairaudet todennäköisesti pahenevat ja yleistyvät. Siksi on tärkeää kehittää järjestelmiä, jotka analysoivat viljelykasveja nopeasti ja helposti ja tunnistavat tietyn taudin, jotta voidaan rajoittaa satovahinkoja.
Tässä opetusohjelmassa tutkimme koneoppimiskonseptia, joka tunnetaan nimellä "Transfer Learning" luokitellakseen kuvia sairaista riisikasveista. Samaa menetelmää voidaan käyttää mihin tahansa muuhun kuvan luokitteluongelmaan.
Vaihe 1: Riisitautien tyypit
Riisi on yksi suosituimmista peruselintarvikekasveista, jota kasvatetaan pääasiassa Aasiassa, Afrikassa ja Etelä -Amerikassa, mutta se on altis erilaisille tuholaisille ja sairauksille. Fyysisiä ominaisuuksia, kuten lehtien värinpoistoa, voidaan käyttää tunnistamaan useita sairauksia, jotka voivat vaikuttaa riisin satoon. Esimerkiksi Brown-Spot-sienitaudin, joka vaikuttaa lehtien suojavaippaan, lehdet ovat peitetty useilla pienillä soikeilla ruskeilla täpliksi, joilla on harmaat keskipisteet, kun taas Leaf-Blastin tapauksessa lehdet peitetään suuremmilla ruskeilla leesioilla. Samoin Rice Hispa -tuhoojan vahingoittamat lehdet voidaan tunnistaa pitkistä polkujäljistä, jotka kehittyvät lehtien pinnalle.
Vaihe 2: Miten aiemmat menetelmät havaitsivat sairauksia?
Aikaisemmat menetelmät sairaiden kasvien kuvien automaattiseksi luokittelemiseksi, kuten sääntöpohjaiset luokittelijat, joita käytettiin [1]: ssä, perustuvat kiinteisiin sääntöihin, joiden avulla lehti voidaan segmentoida vaikuttaviin ja vaikuttamattomiin alueisiin. Joissakin ominaisuuksien poimimista koskevissa säännöissä on seurattava muutosten vaikutusta kärsineiden ja muuttumattomien alueiden värin keskimääräiseen ja keskihajontaan. Muotoominaisuuksien poimimissäännöt sisältävät useiden alkeellisten muotojen sijoittamisen yksilöllisesti vaurioituneen alueen päälle ja sen muodon tunnistamisen, joka kattaa vaikutusalueen suurimman alueen. Kun ominaisuudet on otettu kuvista, kuvien luokittelussa käytetään joukkoa kiinteitä sääntöjä riippuen taudista, joka on saattanut vaikuttaa kasveihin. Tällaisen luokittelijan suurin haittapuoli on se, että se vaatii useita kiinteitä sääntöjä kullekin taudille, mikä puolestaan voi tehdä siitä alttiita meluisille tiedoille. Yllä olevat kuvat osoittavat, kuinka sääntöihin perustuvaa päätöspuuta voidaan käyttää kuvan jakamiseen kahteen alueeseen.
1. Santanu Phadikar et ai.,”Riisitautien luokittelu ominaisuuksien valintaa ja sääntöjen luomistekniikoita käyttäen”, Computers and Electronics in Agriculture, voi. 90, tammikuu 2013.
Vaihe 3: Siirrä oppiminen
Tässä ohjeessa kuvatussa kuvan luokittelutekniikassa käytetään CNN: n perusrakennetta, joka koostuu useista konvoluutiokerroksista, poolikerroksesta ja viimeisestä täysin yhdistetystä kerroksesta. Kääntyvät kerrokset toimivat suodattimien joukkona, jotka poimivat kuvan korkean tason ominaisuudet. Max-pooling on yksi yleisimmistä menetelmistä, joita käytetään kerrosten yhdistämisessä, jotta voidaan pienentää erotettujen ominaisuuksien tilakokoa, mikä vähentää jokaisen kerroksen painojen laskemiseen tarvittavaa laskentatehoa. Lopuksi poimittu data viedään täysin yhdistetyn kerroksen läpi yhdessä softmax -aktivointitoiminnon kanssa, joka määrittää kuvan luokan.
Mutta mukautettujen CNN: ien harjoittelu tyhjästä ei välttämättä tuota toivottuja tuloksia, ja niiden harjoitteluaika voi olla erittäin pitkä.
Harjoittelukuvien ominaisuuksien oppimiseksi käytämme Transfer Learning -menetelmää, jossa esikoulutetun mallin”yläkerrokset” poistetaan ja korvataan kerroksilla, jotka voivat oppia harjoitustietojoukolle ominaisia ominaisuuksia. Siirto -oppiminen lyhentää harjoitteluaikaa verrattuna malleihin, jotka käyttävät satunnaisesti alustettuja painoja. Menetelmämme käyttää kuutta erilaista esikoulutettua mallia, nimittäin AlexNet, GoogLeNet, ResNet-50, Inception-v3, ShuffleNet ja MobileNet-v2.
Kuvassa näkyy GoogLeNet -arkkitehtuuri, jossa sinistä käytetään konvoluutiokerroksiin, punaista kerrosten keräämiseen, keltaista softmax -kerroksiin ja vihreää concat -kerroksiin. Voit oppia lisää CNN: n sisäisestä toiminnasta täältä.
Riisitautiaineisto koostuu kuvista sekä terveiden että sairaiden riisikasvien lehdistä. Kuvat voidaan luokitella neljään eri luokkaan: Brown-Spot, Rice Hispa, Leaf-Blast ja Healthy. Aineisto koostuu 2092 eri kuvasta, joista jokainen sisältää 523 kuvaa. Jokainen kuva koostuu yhdestä terveestä tai sairaasta lehdestä valkoista taustaa vasten.
Jaamme kuvatietojoukon koulutus-, validointi- ja testauskuvajoukkoihin. Yliasennuksen estämiseksi lisäämme harjoituskuvia skaalaamalla ja kääntämällä harjoituskuvia kasvattaaksesi harjoitusnäytteiden kokonaismäärää.
Koodi ja riippuvuudet ovat avoimen lähdekoodin ja ne löytyvät täältä: GitHub Code
Erilaisten kuvien luokittelusovellusten osalta voimme yksinkertaisesti muuttaa harjoituskuvan tietojoukkoa.
Vaihe 4: Mallin kouluttaminen
Esikoulutetut mallit luokitellaan suurempiin ja pienempiin malleihin kunkin mallin vaatiman muistin koon mukaan. Pienemmät mallit kuluttavat alle 15 Mt ja sopivat siksi paremmin mobiilisovelluksiin.
Suuremmista malleista Inception-v3: lla oli pisin harjoitteluaika, noin 140 minuuttia, kun taas AlexNetillä oli lyhin harjoitteluaika, noin 18 minuuttia. Pienistä mobiilisuuntautuneista malleista MobileNet-v2: llä oli pisin harjoitteluaika noin 73 minuuttia, kun taas ShuffleNetillä oli lyhin harjoitusaika noin 38 minuuttia.
Vaihe 5: Mallin testaaminen
Suurista malleista Inception-v3: n testaustarkkuus oli suurin, noin 72,1%, kun taas AlexNetin testitarkkuus oli alhaisin, noin 48,5%. Pienistä mobiilisuuntautuneista malleista MobileNet-v2: n testaustarkkuus oli suurin, 62,5%, kun taas ShuffleNetin testitarkkuus oli alhaisin, 58,1%.
MobileNet-v2 toimi merkittävästi hyvin luokitellessaan Brown-Spot-, Leaf-Blast- ja Healthy leaf -kuvia samalla kun hän teki useita väärin luokituksia Rice Hispalle vain 46,15%: n tarkkuudella.
Inception-v3 osoitti samanlaisia luokitustuloksia kuin MobileNet-v2.
Vaihe 6: Lisätestit
Yllä oleva kuva osoittaa, kuinka MobileNet-v2-malli luokittelee väärin ruohonlehden valkoista taustaa vasten kuvaksi Rice Hispa.
Testasimme myös MobileNet-v2: n tarkkuutta Rice Hispan rajatuissa kuvissa, joissa valkoinen tausta minimoitiin niin, että lehti on suurimman alueen kuvassa. Rice Hispan rajatuissa kuvissa havaitsimme noin 80,81%: n tarkkuuden, ts. Rice Hispa -rajan rajatuissa kuvissa havaitsimme luokittelutarkkuuden merkittävän kasvun leikkaamattomiin testinäytteisiin verrattuna. Siksi ehdotamme, että riisitaudin havaitsemisen todellisissa toteutuksissa konvoluutiovaiheisia hermoverkkoja käyttäen on rajattava testikuvat taustamelun poistamiseksi tarkkuuden parantamiseksi.
Suositeltava:
Värähtelyjen havaitseminen pietsosähköisen iskuhana -anturimoduulin avulla: 6 vaihetta
Värähtelyjen tunnistaminen pietsosähköisen iskuhana -anturimoduulin avulla: Tässä opetusohjelmassa opimme tunnistamaan iskuvärähtelyt yksinkertaisella pietsosähköisen anturin tärinämoduulilla ja Visuinolla
Huonelämpötilan ennustus LM35 -anturin ja koneoppimisen kautta: 4 vaihetta
Huonelämpötilan ennustaminen LM35 -anturin ja koneoppimisen kautta: Johdanto Tänään keskitymme rakentamaan koneoppimisprojektin, joka ennustaa lämpötilan polynomi -regression avulla. Koneoppiminen on tekoälyn (AI) sovellus, joka tarjoaa järjestelmille mahdollisuuden automaattisesti oppia
Kasvisairauksien tunnistus Qualcomm Dragonboard 410c -laitteella: 4 vaihetta
Kasvisairauksien tunnistus Qualcomm Dragonboard 410c: llä: Hei kaikki, osallistumme Embarcadosin, Linaron ja Baitan sponsoroimaan Inventing the Future with Dragonboard 410c -kilpailuun. AVOID -projekti (Agro View Disease) ja tunnistaa pos
Esteiden havaitseminen älypuhelimella toimivalla RoboCarilla Arduinon avulla: 5 vaihetta
Esteiden havaitseminen älypuhelimella toimivalla RoboCarilla Arduinon avulla: Tässä projektissa olemme tehneet Robocarin, jossa kaksi ultraäänianturia ja yksi Bluetooth -moduuli on liitetty Arduinon kanssa
Liikkeen havaitseminen Raspberry Pi: n avulla: 4 vaihetta
Liikkeen havaitseminen Raspberry Pi: n avulla: Tässä ohjeessa opimme käyttämään PIR (Passiivinen infrapuna) -anturia Raspberry Pi: n kanssa yksinkertaisen liiketunnistimen rakentamiseksi. Sitä käytetään ihmisten, eläinten tai muita esineitä. Niitä käytetään yleisesti Burgissa