Spisu treści:

Jak wykrywać choroby roślin za pomocą uczenia maszynowego: 6 kroków
Jak wykrywać choroby roślin za pomocą uczenia maszynowego: 6 kroków

Wideo: Jak wykrywać choroby roślin za pomocą uczenia maszynowego: 6 kroków

Wideo: Jak wykrywać choroby roślin za pomocą uczenia maszynowego: 6 kroków
Wideo: Uczenie maszynowe w wykrywaniu schizofrenii - dr Justyna Sarzyńska, dr inż. Aleksander Wawer 2024, Lipiec
Anonim
Jak wykrywać choroby roślin za pomocą uczenia maszynowego?
Jak wykrywać choroby roślin za pomocą uczenia maszynowego?

Proces wykrywania i rozpoznawania chorych roślin zawsze był ręcznym i żmudnym procesem, wymagającym od człowieka wzrokowej inspekcji ciała rośliny, co często może prowadzić do błędnej diagnozy. Przewiduje się również, że gdy globalne wzorce pogodowe zaczynają się zmieniać z powodu zmian klimatycznych, choroby upraw prawdopodobnie staną się bardziej dotkliwe i rozpowszechnione. Dlatego ważne jest opracowanie systemów, które szybko i łatwo analizują uprawy i identyfikują konkretną chorobę w celu ograniczenia dalszych uszkodzeń upraw.

W tej instrukcji zapoznamy się z koncepcją uczenia maszynowego znaną jako „Uczenie transferowe”, aby klasyfikować obrazy chorych roślin ryżu. Tę samą metodę można wykorzystać do innych problemów z klasyfikacją obrazów.

Krok 1: Rodzaje chorób ryżu

Rodzaje chorób ryżu
Rodzaje chorób ryżu

Ryż jest jedną z najpopularniejszych podstawowych roślin spożywczych uprawianych głównie w Azji, Afryce i Ameryce Południowej, ale jest podatny na różne szkodniki i choroby. Cechy fizyczne, takie jak odbarwienie liści, można wykorzystać do identyfikacji kilku chorób, które mogą wpływać na uprawę ryżu. Na przykład w przypadku Brown-Spot, choroby grzybiczej, która atakuje osłonę ochronną liści, liście pokryte są kilkoma małymi owalnymi brązowymi plamkami z szarymi środkami, podczas gdy w przypadku Leaf-Blast liście są pokryte z większymi brązowymi zmianami. Podobnie liście dotknięte szkodnikiem Rice Hispa można rozpoznać po długich śladach śladów, które rozwijają się na powierzchni liścia.

Krok 2: W jaki sposób wcześniejsze metody wykrywały choroby?

Jak wcześniejsze metody wykrywały choroby?
Jak wcześniejsze metody wykrywały choroby?

Wcześniejsze metody automatycznej klasyfikacji obrazów chorych roślin, takie jak klasyfikatory oparte na regułach, takie jak stosowane w [1], opierają się na ustalonym zestawie reguł, aby podzielić liść na dotknięte i niezmienione regiony. Niektóre z reguł wyodrębniania cech obejmują obserwowanie zmiany średniej i odchylenia standardowego między kolorem dotkniętych i niezmienionych regionów. Reguły wyodrębniania cech kształtu obejmują indywidualne umieszczenie kilku prymitywnych kształtów na dotkniętym obszarze i zidentyfikowanie kształtu, który obejmuje maksymalny obszar dotkniętego obszaru. Po wyodrębnieniu cech z obrazów, stosuje się zestaw stałych reguł do klasyfikacji obrazów w zależności od choroby, która mogła mieć wpływ na roślinę. Główną wadą takiego klasyfikatora jest to, że będzie wymagał kilku stałych reguł dla każdej choroby, co z kolei może sprawić, że będzie on podatny na zaszumione dane. Powyższe obrazy pokazują, jak można użyć drzewa decyzyjnego opartego na regułach do podzielenia obrazu na dwa regiony.

1. Santanu Phadikar i wsp., „Klasyfikacja chorób ryżu przy użyciu technik selekcji cech i generowania reguł”, „Computers and Electronics in Agriculture”, tom. 90, styczeń 2013.

Krok 3: Transfer nauki

Transfer nauki
Transfer nauki

Technika klasyfikacji obrazów opisana w tym Instructables wykorzystuje podstawową strukturę CNN, która składa się z kilku warstw splotowych, warstwy puli i końcowej warstwy w pełni połączonej. Warstwy splotowe działają jak zestaw filtrów, które wydobywają cechy obrazu na wysokim poziomie. Max-pooling jest jedną z powszechnie stosowanych metod łączenia warstw w celu zmniejszenia przestrzennego rozmiaru wyodrębnionych cech, tym samym zmniejszając moc obliczeniową wymaganą do obliczenia wag dla każdej warstwy. Na koniec wyodrębnione dane przechodzą przez w pełni połączoną warstwę wraz z funkcją aktywacji softmax, która określa klasę obrazu.

Jednak uczenie niestandardowych CNN od podstaw może nie przynieść oczekiwanych rezultatów i może mieć bardzo długi czas uczenia.

Aby poznać cechy obrazów szkoleniowych, stosujemy metodę o nazwie Transfer Learning, w której „górne” warstwy wstępnie wytrenowanego modelu są usuwane i zastępowane warstwami, które mogą nauczyć się funkcji specyficznych dla zestawu danych szkoleniowych. Uczenie transferu skraca czas uczenia w porównaniu z modelami, które używają wag zainicjowanych losowo. Nasza metoda wykorzystuje sześć różnych wstępnie wytrenowanych modeli, a mianowicie AlexNet, GoogLeNet, ResNet-50, Incepcja-v3, ShuffleNet i MobileNet-v2.

Obraz przedstawia architekturę GoogLeNet, w której kolor niebieski jest używany do warstw splotowych, czerwony do warstw zbiorczych, żółty do warstw softmax, a zielony do warstw konkatowych. Możesz dowiedzieć się więcej o wewnętrznej pracy CNN tutaj.

Zbiór danych dotyczących choroby ryżu składa się z obrazów liści zarówno zdrowych, jak i chorych roślin ryżu. Obrazy można podzielić na cztery różne klasy, a mianowicie Brown-Spot, Rice Hispa, Leaf-Blast i Healthy. Zestaw danych składa się z 2092 różnych obrazów, a każda klasa zawiera 523 obrazy. Każdy obraz składa się z pojedynczego zdrowego lub chorego liścia umieszczonego na białym tle.

Dzielimy zbiór danych obrazu na zestawy obrazów treningowych, walidacyjnych i testowych. Aby zapobiec nadmiernemu dopasowaniu, powiększamy obrazy treningowe, skalując i przerzucając obrazy treningowe, aby zwiększyć całkowitą liczbę próbek treningowych.

Kod i zależności są open-source i można je znaleźć tutaj: Kod GitHub

W przypadku różnych aplikacji do klasyfikacji obrazów możemy po prostu zmienić zestaw danych obrazu treningowego.

Krok 4: Szkolenie modelu

Szkolenie modelu
Szkolenie modelu
Szkolenie modelu
Szkolenie modelu
Szkolenie modelu
Szkolenie modelu

W zależności od rozmiaru pamięci wymaganego przez każdy model, wstępnie wytrenowane modele są podzielone na większe i mniejsze modele. Mniejsze modele zużywają mniej niż 15 MB, dzięki czemu lepiej nadają się do zastosowań mobilnych.

Wśród większych modeli Inception-v3 miał najdłuższy czas treningu wynoszący około 140 minut, podczas gdy AlexNet miał najkrótszy czas treningu wynoszący około 18 minut. Wśród mniejszych modeli zorientowanych na urządzenia mobilne MobileNet-v2 miał najdłuższy czas uczenia wynoszący około 73 minuty, podczas gdy ShuffleNet miał najkrótszy czas uczenia wynoszący około 38 minut.

Krok 5: Testowanie modelu

Testowanie modelu
Testowanie modelu
Testowanie modelu
Testowanie modelu
Testowanie modelu
Testowanie modelu

Wśród większych modeli Inception-v3 miał najwyższą dokładność testowania wynoszącą około 72,1%, podczas gdy AlexNet miał najniższą dokładność testowania, wynoszącą około 48,5%. Wśród mniejszych modeli zorientowanych na urządzenia mobilne MobileNet-v2 miał najwyższą dokładność testowania 62,5%, podczas gdy ShuffleNet miał najniższą dokładność testowania 58,1%.

MobileNet-v2 radził sobie znacznie dobrze przy klasyfikowaniu obrazów Brown-Spot, Leaf-Blast i Healthy liści, jednocześnie dokonując kilku błędnych klasyfikacji dla Rice Hispa z dokładnością tylko 46,15%.

Incepcja-v3 wykazała podobne wyniki klasyfikacji jak MobileNet-v2.

Krok 6: Dodatkowe testy

Dodatkowe testy
Dodatkowe testy
Dodatkowe testy
Dodatkowe testy

Powyższy rysunek pokazuje, w jaki sposób model MobileNet-v2 błędnie klasyfikuje obraz liścia trawy na białym tle jako Rice Hispa.

Przetestowaliśmy również dokładność MobileNet-v2 na przyciętych zdjęciach Rice Hispa, gdzie białe tło zostało zminimalizowane tak, że liść zajmuje maksymalny obszar na obrazie. W przypadku przyciętych zdjęć Rice Hispa zaobserwowaliśmy dokładność około 80,81%, tj. W przypadku przyciętych zdjęć Rice Hispa zaobserwowaliśmy znaczny wzrost dokładności klasyfikacji w porównaniu z nieprzyciętymi próbkami testowymi. Dlatego proponujemy, aby rzeczywiste implementacje wykrywania chorób ryżu za pomocą splotowych sieci neuronowych musiały przycinać obrazy testowe w celu usunięcia szumu tła w celu poprawy dokładności.

Zalecana: