Съдържание:
- Стъпка 1: Видове болести по ориза
- Стъпка 2: Как предишните методи откриха заболявания?
- Стъпка 3: Трансферно обучение
- Стъпка 4: Обучение на модела
- Стъпка 5: Тестване на модела
- Стъпка 6: Допълнителни тестове
Видео: Как да открием болести по растенията с помощта на машинно обучение: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Процесът на откриване и разпознаване на болни растения винаги е бил ръчен и досаден процес, който изисква хората визуално да инспектират тялото на растението, което често може да доведе до неправилна диагноза. Също така се прогнозира, че тъй като глобалните климатични модели започват да се променят поради изменението на климата, болестите по културите вероятно ще станат по -тежки и широко разпространени. Следователно е важно да се разработят системи, които бързо и лесно да анализират културите и да идентифицират конкретно заболяване, за да се ограничат по -нататъшните щети на реколтата.
В тази инструкция ще изследваме концепцията за машинно обучение, известна като „Трансферно обучение“, за да класифицираме изображенията на болни оризови растения. Същият метод може да бъде пренасочен за всеки друг проблем с класификацията на изображения.
Стъпка 1: Видове болести по ориза
Оризът е една от най -популярните основни хранителни култури, отглеждани главно в Азия, Африка и Южна Америка, но е податлив на различни вредители и болести. Физически характеристики като обезцветяване на листата могат да се използват за идентифициране на няколко заболявания, които могат да засегнат реколтата от ориз. Например, в случай на кафяво петно, гъбично заболяване, което засяга защитната обвивка на листата, листата са покрити с няколко малки овални кафяви петна със сиви центрове, докато, в случай на Leaf-Blast, листата са покрити с по -големи кафяви лезии. По същия начин листата, засегнати от вредителя на ориз хиспа, могат да бъдат идентифицирани по дългите следи от следи, които се развиват по повърхността на листата.
Стъпка 2: Как предишните методи откриха заболявания?
Предишните методи за автоматично класифициране на изображения на болни растения, като базирани на правила класификатори, използвани в [1], разчитат на фиксиран набор от правила за сегментиране на листата в засегнати и незасегнати региони. Някои от правилата за извличане на характеристики включват наблюдение на промяната в средната стойност и стандартното отклонение между цвета на засегнатите и незасегнатите региони. Правилата за извличане на характеристики на формата включват индивидуално поставяне на няколко примитивни форми върху засегнатата област и идентифициране на формата, която покрива максималната площ на засегнатата област. След като функциите са извлечени от изображенията, се използват набор от фиксирани правила за класифициране на изображенията в зависимост от болестта, която може да е засегнала растението. Основният недостатък на такъв класификатор е, че той ще изисква няколко фиксирани правила за всяко заболяване, което от своя страна би могло да го направи податлив на шумни данни. Горните изображения показват как дървото на решения, основано на правила, може да се използва за сегментиране на изображението в две области.
1. Santanu Phadikar et al., „Класификация на болестите по ориза, използвайки техники за подбор на характеристики и генериране на правила“, Computers and Electronics in Agriculture, vol. 90, януари 2013 г.
Стъпка 3: Трансферно обучение
Техниката за класифициране на изображения, описана в тези инструкции, използва основната структура на CNN, която се състои от няколко свиващи се слоя, обединяващ слой и последен напълно свързан слой. Свитовите слоеве действат като набор от филтри, които извличат характеристиките на високото ниво на изображението. Максималното обединяване е един от често срещаните методи, използвани при обединяване на слоеве за намаляване на пространствения размер на извлечените характеристики, като по този начин се намалява изчислителната мощност, необходима за изчисляване на теглата за всеки слой. И накрая, извлечените данни се предават през напълно свързан слой заедно с функция за активиране на softmax, която определя класа на изображението.
Но обучението по поръчка на CNN от нулата може да не доведе до желаните резултати и може да има много дълго време за обучение.
За да научим характеристиките на изображенията за обучение, използваме метод, наречен Transfer Learning, при който „горните“слоеве на предварително обучен модел се премахват и се заменят със слоеве, които могат да научат функциите, които са специфични за набора от данни за обучение. Трансферното обучение намалява времето за обучение в сравнение с модели, които използват произволно инициализирани тежести. Нашият метод използва шест различни предварително обучени модела, а именно AlexNet, GoogLeNet, ResNet-50, Inception-v3, ShuffleNet и MobileNet-v2.
Изображението показва архитектурата на GoogLeNet, където синьото се използва за конволюционни слоеве, червено за обединяване на слоеве, жълто за слоеве softmax и зелено за слоеве concat. Можете да научите повече за вътрешната работа на CNN тук.
Наборът от данни за оризовите болести се състои от изображения на листа както на здрави, така и на болни оризови растения. Изображенията могат да бъдат категоризирани в четири различни класа, а именно кафяво-петна, ориз хиспа, лист-бласт и здрави. Наборът от данни се състои от 2092 различни изображения, като всеки клас съдържа 523 изображения. Всяко изображение се състои от един здрав или болен лист, поставен на бял фон.
Разделяме набора от изображения на обучителни, валидиращи и тестващи набори от изображения. За да се предотврати пренастройване, ние увеличаваме учебните изображения чрез мащабиране и обръщане на тренировъчните изображения, за да увеличим общия брой тренировъчни проби.
Кодът и зависимостите са с отворен код и могат да бъдат намерени тук: GitHub Code
За различни приложения за класификация на изображения, ние можем просто да променим набора от данни за обучителни изображения.
Стъпка 4: Обучение на модела
В зависимост от размера на паметта, необходим за всеки модел, предварително обучените модели се категоризират в по-големи и по-малки модели. По -малките модели консумират по -малко от 15 MB и следователно са по -подходящи за мобилни приложения.
Сред по-големите модели Inception-v3 имаше най-дългото време за обучение от приблизително 140 минути, докато AlexNet имаше най-краткото време за обучение от приблизително 18 минути. Сред по-малките модели, ориентирани към мобилни устройства, MobileNet-v2 имаше най-дългото време за обучение от приблизително 73 минути, докато ShuffleNet имаше най-краткото време за обучение от приблизително 38 минути.
Стъпка 5: Тестване на модела
Сред по-големите модели Inception-v3 имаше най-високата точност на тестване от приблизително 72,1%, докато AlexNet имаше най-ниската точност на тестване от приблизително 48,5%. Сред по-малките мобилни модели, MobileNet-v2 имаше най-високата точност на тестване от 62,5%, докато ShuffleNet имаше най-ниската точност на тестване от 58,1%.
MobileNet-v2 се представи значително добре при класифицирането на изображения на кафяви петна, листни струи и здрави листа, като същевременно направи няколко погрешни класификации за Rice Hispa с точност само 46,15%.
Inception-v3 показа подобни резултати от класификацията като MobileNet-v2.
Стъпка 6: Допълнителни тестове
Изображението по-горе показва как моделът MobileNet-v2 погрешно класифицира изображение на тревна листа на бял фон като Rice Hispa.
Ние също така тествахме точността на MobileNet-v2 върху изрязани изображения на Rice Hispa, при което белият фон беше сведен до минимум, така че листът заема максимална площ в изображението. За изрязаните изображения на Rice Hispa, ние наблюдавахме точност от приблизително 80,81%, т.е.за изрязаните изображения на Rice Hispa, ние наблюдавахме значително увеличаване на точността на класифициране спрямо необрязани тестови проби. Следователно, ние предлагаме, че реализациите в реалния свят за откриване на болести по ориза, използващи конволюционни невронни мрежи, трябва да изрязват тестовите изображения, за да премахнат фоновия шум, за да се подобри точността.
Препоръчано:
(Много просто) Моделиране на болести (с помощта на Scratch): 5 стъпки
(Много просто) Моделиране на болести (с помощта на Scratch): Днес ще симулираме огнище на болест, като това е всяка болест, а не непременно COVID-19. Тази симулация е вдъхновена от видеоклип от 3blue1brown, към който ще дам линк. Тъй като това е плъзгане и пускане, не можем да направим толкова, колкото можем с JS или Pyt
Обектно -ориентирано програмиране: Създаване на обекти Обучение/Метод на преподаване/Техника с помощта на Shape Puncher: 5 стъпки
Обектно-ориентирано програмиране: Създаване на обекти Обучение/Метод на преподаване/Техника с помощта на Shape Puncher: Метод на обучение/преподаване за ученици, нови за обектно-ориентирано програмиране. Това е начин да им позволите да визуализират и видят процеса на създаване на обекти от класове. Части: 1. 2-инчов перфоратор на EkTools; плътните форми са най -добри.2. Парче хартия или c
Машинно стрелба с каучукова лента, инфрачервено измерване, ТВ DEFENDER ROBOT: 5 стъпки (със снимки)
Машинно стрелба с гумена лента, Инфрачервено измерване, ТВ DEFENDER ROBOT: Без използване на интегрални схеми, този робот изчаква инфрачервен сигнал от стандартно дистанционно за телевизора и след това бързо задейства набор от ластици. ако не виждате видеоклипа. Отказ от отговорност: Този проект е в
Предвиждане на стайна температура чрез сензор LM35 и машинно обучение: 4 стъпки
Прогнозиране на стайната температура чрез сензор LM35 и машинно обучение: Въведение Днес ние сме фокусирани върху изграждането на проект за машинно обучение, който предсказва температурата чрез полиномиална регресия. Машинното обучение е приложение на изкуствен интелект (AI), което предоставя на системите възможност за автоматично учене
Откриване на болести по растенията с Qualcomm Dragonboard 410c: 4 стъпки
Откриване на болести по растенията с Qualcomm Dragonboard 410c: Здравейте всички, участваме в конкурса Inventing the Future with Dragonboard 410c, спонсориран от Embarcados, Linaro и Baita. и откриване на