Sommario:

Come rilevare le malattie delle piante utilizzando l'apprendimento automatico: 6 passaggi
Come rilevare le malattie delle piante utilizzando l'apprendimento automatico: 6 passaggi

Video: Come rilevare le malattie delle piante utilizzando l'apprendimento automatico: 6 passaggi

Video: Come rilevare le malattie delle piante utilizzando l'apprendimento automatico: 6 passaggi
Video: Chiara Ferragni qualche anno fa con il suo ex: che strano! 😱 2024, Novembre
Anonim
Come rilevare le malattie delle piante utilizzando l'apprendimento automatico
Come rilevare le malattie delle piante utilizzando l'apprendimento automatico

Il processo di rilevamento e riconoscimento delle piante malate è sempre stato un processo manuale e noioso che richiede all'uomo di ispezionare visivamente il corpo della pianta, il che spesso può portare a una diagnosi errata. È stato anche previsto che, poiché i modelli meteorologici globali iniziano a variare a causa dei cambiamenti climatici, è probabile che le malattie delle colture diventino più gravi e diffuse. Pertanto, è importante sviluppare sistemi che analizzino rapidamente e facilmente le colture e identifichino una particolare malattia al fine di limitare ulteriori danni alle colture.

In questo Instructable, esploreremo un concetto di machine learning noto come "Transfer Learning" per classificare le immagini delle piante di riso malate. Lo stesso metodo può essere riproposto per qualsiasi altro problema di classificazione delle immagini.

Passaggio 1: tipi di malattie del riso

Tipi di malattie del riso
Tipi di malattie del riso

Il riso è una delle colture alimentari di base più popolari coltivate principalmente in Asia, Africa e Sud America, ma è suscettibile a una varietà di parassiti e malattie. Le caratteristiche fisiche come la decolorazione delle foglie possono essere utilizzate per identificare diverse malattie che possono colpire il raccolto di riso. Ad esempio, nel caso del Brown-Spot, una malattia fungina che colpisce la guaina protettiva delle foglie, le foglie sono ricoperte da numerose piccole macchie marroni ovali con centro grigio mentre, nel caso del Leaf-Blast, le foglie sono ricoperte con lesioni marroni più grandi. Allo stesso modo, le foglie colpite dal parassita del riso Hispa possono essere identificate dalle lunghe tracce che si sviluppano sulla superficie della foglia.

Passaggio 2: in che modo i metodi precedenti hanno rilevato le malattie?

In che modo i metodi precedenti hanno rilevato le malattie?
In che modo i metodi precedenti hanno rilevato le malattie?

I metodi precedenti per classificare automaticamente le immagini delle piante malate come i classificatori basati su regole usati in [1], si basano su un insieme fisso di regole per segmentare la foglia in regioni colpite e non colpite. Alcune delle regole per estrarre le caratteristiche implicano l'osservazione del cambiamento nella media e nella deviazione standard tra il colore delle regioni interessate e non interessate. Le regole per estrarre le caratteristiche della forma implicano il posizionamento individuale di diverse forme primitive sopra l'area interessata e l'identificazione della forma che copre l'area massima dell'area interessata. Una volta estratte le caratteristiche dalle immagini, viene utilizzata una serie di regole fisse per classificare le immagini in base alla malattia che può aver colpito la pianta. Il principale svantaggio di tale classificatore è che richiederà diverse regole fisse per ciascuna malattia che a sua volta potrebbe renderlo suscettibile di dati rumorosi. Le immagini sopra mostrano come un albero decisionale basato su regole può essere utilizzato per segmentare l'immagine in due regioni.

1. Santanu Phadikar et al., "Classificazione delle malattie del riso utilizzando tecniche di selezione delle caratteristiche e generazione di regole", Computer ed elettronica in agricoltura, vol. 90, gennaio 2013.

Passaggio 3: trasferire l'apprendimento

Trasferimento di apprendimento
Trasferimento di apprendimento

La tecnica di classificazione delle immagini descritta in questo Instructables utilizza la struttura di base di una CNN che consiste in diversi livelli convoluzionali, un livello di pooling e un livello finale completamente connesso. I livelli convoluzionali agiscono come un insieme di filtri che estraggono le caratteristiche di alto livello dell'immagine. Il Max-pooling è uno dei metodi comuni utilizzati nei livelli di pooling per ridurre la dimensione spaziale delle feature estratte, riducendo così la potenza di calcolo richiesta per calcolare i pesi per ogni livello. Infine, i dati estratti vengono passati attraverso un livello completamente connesso insieme a una funzione di attivazione softmax che determina la classe dell'immagine.

Ma la formazione di CNN personalizzate da zero potrebbe non produrre i risultati desiderati e potrebbe richiedere un tempo di formazione molto lungo.

Per apprendere le caratteristiche delle immagini di addestramento, utilizziamo un metodo chiamato Transfer Learning in cui i livelli "superiori" di un modello pre-addestrato vengono rimossi e sostituiti con livelli che possono apprendere le caratteristiche specifiche del set di dati di addestramento. L'apprendimento del trasferimento riduce il tempo di addestramento rispetto ai modelli che utilizzano pesi inizializzati casualmente. Il nostro metodo utilizza sei diversi modelli pre-addestrati, ovvero AlexNet, GoogLeNet, ResNet-50, Inception-v3, ShuffleNet e MobileNet-v2.

L'immagine mostra l'architettura di GoogLeNet in cui il blu viene utilizzato per i livelli convoluzionali, il rosso per i livelli di raggruppamento, il giallo per i livelli softmax e il verde per i livelli concatenati. Puoi saperne di più sul funzionamento interno di una CNN qui.

Il set di dati sulla malattia del riso è costituito da immagini di foglie di piante di riso sane e malate. Le immagini possono essere classificate in quattro diverse classi: Brown-Spot, Rice Hispa, Leaf-Blast e Healthy. Il set di dati è costituito da 2092 immagini diverse con ogni classe contenente 523 immagini. Ogni immagine è costituita da una singola foglia sana o malata posta su uno sfondo bianco.

Dividiamo il set di dati dell'immagine in set di immagini di addestramento, convalida e test. Per evitare l'overfitting, aumentiamo le immagini di addestramento ridimensionando e capovolgendo le immagini di addestramento per aumentare il numero totale di campioni di addestramento.

Il codice e le dipendenze sono open-source e possono essere trovati qui: Codice GitHub

Per diverse applicazioni di classificazione delle immagini, possiamo semplicemente modificare il set di dati dell'immagine di addestramento.

Passaggio 4: addestrare il modello

Addestrare il modello
Addestrare il modello
Addestrare il modello
Addestrare il modello
Addestrare il modello
Addestrare il modello

A seconda della dimensione della memoria richiesta da ciascun modello, i modelli pre-addestrati sono classificati in modelli più grandi e più piccoli. I modelli più piccoli consumano meno di 15 MB e quindi sono più adatti per le applicazioni mobili.

Tra i modelli più grandi, Inception-v3 ha avuto il tempo di formazione più lungo di circa 140 minuti, mentre AlexNet ha avuto il tempo di formazione più breve di circa 18 minuti. Tra i modelli più piccoli orientati ai dispositivi mobili, MobileNet-v2 ha avuto il tempo di formazione più lungo di circa 73 minuti, mentre ShuffleNet ha avuto il tempo di formazione più breve di circa 38 minuti.

Passaggio 5: test del modello

Testare il modello
Testare il modello
Testare il modello
Testare il modello
Testare il modello
Testare il modello

Tra i modelli più grandi, Inception-v3 ha avuto la più alta precisione di test di circa il 72,1%, mentre AlexNet ha avuto la più bassa precisione di test di circa il 48,5%. Tra i modelli più piccoli orientati ai dispositivi mobili, MobileNet-v2 ha avuto la più alta precisione di test del 62,5% mentre ShuffleNet ha avuto la più bassa precisione di test del 58,1%.

MobileNet-v2 si è comportato molto bene durante la classificazione delle immagini di Brown-Spot, Leaf-Blast e foglie sane, mentre effettuava diverse classificazioni errate per Rice Hispa con una precisione di solo il 46,15%.

Inception-v3 ha mostrato risultati di classificazione simili a MobileNet-v2.

Passaggio 6: test aggiuntivi

Test aggiuntivi
Test aggiuntivi
Test aggiuntivi
Test aggiuntivi

L'immagine sopra mostra come il modello MobileNet-v2 classifica erroneamente l'immagine di una foglia d'erba su uno sfondo bianco come Rice Hispa.

Abbiamo anche testato l'accuratezza di MobileNet-v2 su immagini ritagliate di Rice Hispa in cui lo sfondo bianco è stato ridotto al minimo in modo che la foglia occupi un'area massima all'interno dell'immagine. Per le immagini ritagliate di Rice Hispa, abbiamo osservato un'accuratezza di circa l'80,81%, ovvero per le immagini ritagliate di Rice Hispa, abbiamo osservato un aumento significativo dell'accuratezza della classificazione rispetto ai campioni di prova non ritagliati. Quindi, proponiamo che le implementazioni del mondo reale del rilevamento della malattia del riso utilizzando reti neurali convoluzionali debbano ritagliare le immagini di prova per rimuovere il rumore di fondo al fine di migliorare la precisione.

Consigliato: