Spisu treści:
- Krok 1: Rodzaje chorób ryżu
- Krok 2: W jaki sposób wcześniejsze metody wykrywały choroby?
- Krok 3: Transfer nauki
- Krok 4: Szkolenie modelu
- Krok 5: Testowanie modelu
- Krok 6: Dodatkowe testy
![Jak wykrywać choroby roślin za pomocą uczenia maszynowego: 6 kroków Jak wykrywać choroby roślin za pomocą uczenia maszynowego: 6 kroków](https://i.howwhatproduce.com/images/010/image-28195-j.webp)
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: Jak wykrywać choroby roślin za pomocą uczenia maszynowego: 6 kroków](https://i.ytimg.com/vi/7z9PEstexE4/hqdefault.jpg)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
![Jak wykrywać choroby roślin za pomocą uczenia maszynowego? Jak wykrywać choroby roślin za pomocą uczenia maszynowego?](https://i.howwhatproduce.com/images/010/image-28195-1-j.webp)
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](https://i.howwhatproduce.com/images/010/image-28195-2-j.webp)
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?](https://i.howwhatproduce.com/images/010/image-28195-3-j.webp)
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](https://i.howwhatproduce.com/images/010/image-28195-4-j.webp)
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](https://i.howwhatproduce.com/images/010/image-28195-5-j.webp)
![Szkolenie modelu Szkolenie modelu](https://i.howwhatproduce.com/images/010/image-28195-6-j.webp)
![Szkolenie modelu Szkolenie modelu](https://i.howwhatproduce.com/images/010/image-28195-7-j.webp)
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](https://i.howwhatproduce.com/images/010/image-28195-8-j.webp)
![Testowanie modelu Testowanie modelu](https://i.howwhatproduce.com/images/010/image-28195-9-j.webp)
![Testowanie modelu Testowanie modelu](https://i.howwhatproduce.com/images/010/image-28195-10-j.webp)
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](https://i.howwhatproduce.com/images/010/image-28195-11-j.webp)
![Dodatkowe testy Dodatkowe testy](https://i.howwhatproduce.com/images/010/image-28195-12-j.webp)
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:
Automatyczny system nawadniania roślin za pomocą Micro:bit: 8 kroków (ze zdjęciami)
![Automatyczny system nawadniania roślin za pomocą Micro:bit: 8 kroków (ze zdjęciami) Automatyczny system nawadniania roślin za pomocą Micro:bit: 8 kroków (ze zdjęciami)](https://i.howwhatproduce.com/images/001/image-1132-j.webp)
Automatyczny system nawadniania roślin przy użyciu Micro:bit: W tej instrukcji pokażę, jak zbudować automatyczny system nawadniania roślin przy użyciu Micro:bit i kilku innych małych elementów elektronicznych. Micro:bit wykorzystuje czujnik wilgoci do monitorowania poziomu wilgoci w glebie rośliny i
Jak zbudować system nawadniania roślin za pomocą Arduino: 7 kroków
![Jak zbudować system nawadniania roślin za pomocą Arduino: 7 kroków Jak zbudować system nawadniania roślin za pomocą Arduino: 7 kroków](https://i.howwhatproduce.com/images/001/image-2191-j.webp)
Jak zbudować system nawadniania roślin za pomocą Arduino: W tym samouczku dowiemy się, jak stworzyć system nawadniania roślin za pomocą czujnika wilgoci, pompy wody i migania zielonej diody LED, jeśli wszystko jest w porządku, oraz wyświetlacza OLED i Visuino. Obejrzyj wideo
Monitor roślin za pomocą ESP32 Thing i Blynk: 5 kroków
![Monitor roślin za pomocą ESP32 Thing i Blynk: 5 kroków Monitor roślin za pomocą ESP32 Thing i Blynk: 5 kroków](https://i.howwhatproduce.com/images/005/image-13371-j.webp)
Plant Monitor za pomocą ESP32 Thing i Blynk: PrzeglądCelem tego projektu jest stworzenie kompaktowego urządzenia zdolnego do monitorowania warunków rośliny doniczkowej. Urządzenie umożliwia użytkownikowi sprawdzenie poziomu wilgotności gleby, poziomu wilgotności, temperatury oraz „odczuć jak”; temperatura od
Prosty, ale potężny wykrywacz elektryczności statycznej, który może również wykrywać „duchy”: 10 kroków
![Prosty, ale potężny wykrywacz elektryczności statycznej, który może również wykrywać „duchy”: 10 kroków Prosty, ale potężny wykrywacz elektryczności statycznej, który może również wykrywać „duchy”: 10 kroków](https://i.howwhatproduce.com/images/009/image-26975-j.webp)
Prosty, ale potężny wykrywacz elektryczności statycznej, który może również wykrywać „duchy”: Witam, to jest moja pierwsza instrukcja, więc proszę daj mi znać o błędach, które popełniłem w tej instrukcji. W tej instrukcji stworzę obwód, który może wykryć elektryczność statyczną. Jeden z jego twórców twierdził, że wykrył "
Przewidywanie temperatury w pomieszczeniu za pomocą czujnika LM35 i uczenia maszynowego: 4 kroki
![Przewidywanie temperatury w pomieszczeniu za pomocą czujnika LM35 i uczenia maszynowego: 4 kroki Przewidywanie temperatury w pomieszczeniu za pomocą czujnika LM35 i uczenia maszynowego: 4 kroki](https://i.howwhatproduce.com/images/003/image-7301-3-j.webp)
Przewidywanie temperatury w pomieszczeniu za pomocą czujnika LM35 i uczenia maszynowego: WprowadzenieDzisiaj koncentrujemy się na zbudowaniu projektu uczenia maszynowego, który przewiduje temperaturę za pomocą regresji wielomianowej.Uczenie maszynowe to aplikacja sztucznej inteligencji (AI), która zapewnia systemom możliwość automatycznego uczenia się