İçindekiler:

Makine Öğrenimi Kullanarak Bitki Hastalıkları Nasıl Tespit Edilir: 6 Adım
Makine Öğrenimi Kullanarak Bitki Hastalıkları Nasıl Tespit Edilir: 6 Adım

Video: Makine Öğrenimi Kullanarak Bitki Hastalıkları Nasıl Tespit Edilir: 6 Adım

Video: Makine Öğrenimi Kullanarak Bitki Hastalıkları Nasıl Tespit Edilir: 6 Adım
Video: hadi canım bu kadar basit ve hızlı olamaz %100 ve bedava PH öğrenme 2024, Kasım
Anonim
Makine Öğrenimi Kullanarak Bitki Hastalıkları Nasıl Tespit Edilir
Makine Öğrenimi Kullanarak Bitki Hastalıkları Nasıl Tespit Edilir

Hastalıklı bitkileri tespit etme ve tanıma süreci, her zaman insanların bitki gövdesini görsel olarak incelemesini gerektiren ve genellikle yanlış bir teşhise yol açabilen manuel ve sıkıcı bir süreç olmuştur. Ayrıca, iklim değişikliği nedeniyle küresel hava modelleri değişmeye başladıkça, mahsul hastalıklarının daha şiddetli ve yaygın hale geleceği de tahmin edilmektedir. Bu nedenle, ek mahsul hasarını sınırlamak için mahsulleri hızlı ve kolay bir şekilde analiz eden ve belirli bir hastalığı tanımlayan sistemler geliştirmek önemlidir.

Bu Eğitilebilir Kitapta, hastalıklı pirinç bitkilerinin görüntülerini sınıflandırmak için "Transfer Learning" olarak bilinen bir makine öğrenimi kavramını keşfedeceğiz. Aynı yöntem, başka herhangi bir görüntü sınıflandırma problemi için yeniden kullanılabilir.

Adım 1: Pirinç Hastalıkları Türleri

Pirinç Hastalıkları Türleri
Pirinç Hastalıkları Türleri

Pirinç, esas olarak Asya, Afrika ve Güney Amerika'da yetiştirilen en popüler temel gıda ürünlerinden biridir, ancak çeşitli zararlılara ve hastalıklara karşı hassastır. Yaprakların renginin açılması gibi fiziksel özellikler, pirinç mahsulünü etkileyebilecek çeşitli hastalıkları tanımlamak için kullanılabilir. Örneğin, yaprakların koruyucu kılıfını etkileyen bir mantar hastalığı olan Brown-Spot durumunda, yapraklar gri merkezli birkaç küçük oval kahverengi lekeyle kaplanırken, Leaf-Blast durumunda yapraklar örtülür. daha büyük kahverengi lezyonlarla. Benzer şekilde, Rice Hispa zararlısından etkilenen yapraklar, yaprağın yüzeyinde gelişen uzun iz izlerinden tanımlanabilir.

Adım 2: Önceki Yöntemler Hastalıkları Nasıl Tespit Etti?

Önceki Yöntemler Hastalıkları Nasıl Tespit Etti?
Önceki Yöntemler Hastalıkları Nasıl Tespit Etti?

[1]'de kullanılan kural tabanlı sınıflandırıcılar gibi hastalıklı bitki görüntülerini otomatik olarak sınıflandırmaya yönelik önceki yöntemler, yaprağı etkilenen ve etkilenmeyen bölgelere ayırmak için sabit bir dizi kurala dayanır. Öznitelik çıkarma kurallarından bazıları, etkilenen ve etkilenmeyen bölgelerin rengi arasındaki ortalama ve standart sapmadaki değişimi gözlemlemeyi içerir. Şekil özelliklerini çıkarma kuralları, etkilenen bölgenin üzerine birkaç ilkel şeklin ayrı ayrı yerleştirilmesini ve etkilenen bölgenin maksimum alanını kaplayan şeklin belirlenmesini içerir. Görüntülerden öznitelikler çıkarıldıktan sonra, bitkiyi etkilemiş olabilecek hastalığa bağlı olarak görüntüleri sınıflandırmak için bir dizi sabit kural kullanılır. Böyle bir sınıflandırıcının ana dezavantajı, her hastalık için onu gürültülü verilere duyarlı hale getirebilecek birkaç sabit kural gerektirmesidir. Yukarıdaki resimler, resmi iki bölgeye ayırmak için kural tabanlı bir karar ağacının nasıl kullanılabileceğini göstermektedir.

1. Santanu Phadikar ve diğerleri, “Özellik seçimi ve kural oluşturma teknikleri kullanılarak pirinç hastalıklarının sınıflandırılması”, Tarımda Bilgisayar ve Elektronik, cilt. 90, Ocak 2013.

3. Adım: Öğrenmeyi Aktarın

Transfer Öğrenimi
Transfer Öğrenimi

Bu Talimatlarda açıklanan görüntü sınıflandırma tekniği, birkaç evrişim katmanından, bir havuzlama katmanından ve son tam bağlantılı katmandan oluşan bir CNN'nin temel yapısını kullanır. Evrişimsel katmanlar, görüntünün üst düzey özelliklerini çıkaran bir dizi filtre görevi görür. Maksimum havuzlama, çıkarılan özelliklerin uzamsal boyutunu azaltmak ve böylece her bir katman için ağırlıkları hesaplamak için gereken hesaplama gücünü azaltmak için katmanları havuzlamada kullanılan yaygın yöntemlerden biridir. Son olarak, çıkarılan veriler, görüntünün sınıfını belirleyen bir softmax aktivasyon fonksiyonu ile birlikte tamamen bağlı bir katmandan geçirilir.

Ancak özel CNN'leri sıfırdan eğitmek istenen sonuçları vermeyebilir ve çok uzun bir eğitim süresine sahip olabilir.

Eğitim görüntülerinin özelliklerini öğrenmek için, önceden eğitilmiş bir modelin 'üst' katmanlarının kaldırıldığı ve eğitim veri kümesine özgü özellikleri öğrenebilen katmanlarla değiştirildiği Transfer Learning adlı bir yöntem kullanıyoruz. Transfer öğrenimi, rastgele başlatılan ağırlıkları kullanan modellerle karşılaştırıldığında eğitim süresini azaltır. Metodumuz, AlexNet, GoogLeNet, ResNet-50, Inception-v3, ShuffleNet ve MobileNet-v2 olmak üzere altı farklı önceden eğitilmiş model kullanır.

Resim, evrişim katmanları için mavinin, havuz katmanları için kırmızının, softmax katmanları için sarının ve concat katmanları için yeşilin kullanıldığı GoogLeNet mimarisini göstermektedir. Bir CNN'nin iç işleyişi hakkında daha fazla bilgiyi buradan edinebilirsiniz.

Pirinç hastalığı veri seti, hem sağlıklı hem de hastalıklı pirinç bitkilerinin yaprak görüntülerinden oluşur. Görüntüler Brown-Spot, Rice Hispa, Leaf-Blast ve Healthy olmak üzere dört farklı sınıfa ayrılabilir. Veri seti, her biri 523 görüntü içeren 2092 farklı görüntüden oluşmaktadır. Her görüntü, beyaz bir arka plana karşı yerleştirilmiş tek bir sağlıklı veya hastalıklı yapraktan oluşur.

Görüntü veri kümesini eğitim, doğrulama ve test görüntü kümelerine böldük. Aşırı sığmayı önlemek için, toplam eğitim örneği sayısını artırmak için eğitim görüntülerini ölçeklendirip çevirerek eğitim görüntülerini büyütürüz.

Kod ve bağımlılıklar açık kaynaklıdır ve burada bulunabilir: GitHub Kodu

Farklı görüntü sınıflandırma uygulamaları için eğitim görüntü veri setini basitçe değiştirebiliriz.

Adım 4: Modelin Eğitimi

Modelin Eğitimi
Modelin Eğitimi
Modelin Eğitimi
Modelin Eğitimi
Modelin Eğitimi
Modelin Eğitimi

Her modelin gerektirdiği bellek boyutuna bağlı olarak, önceden eğitilmiş modeller daha büyük ve daha küçük modeller olarak sınıflandırılır. Daha küçük modeller 15 MB'den daha az tüketir ve bu nedenle mobil uygulamalar için daha uygundur.

Daha büyük modeller arasında Inception-v3 yaklaşık 140 dakikalık en uzun eğitim süresine sahipken, AlexNet yaklaşık 18 dakikalık en kısa eğitim süresine sahipti. Daha küçük mobil odaklı modeller arasında MobileNet-v2 yaklaşık 73 dakika ile en uzun eğitim süresine sahipken, ShuffleNet yaklaşık 38 dakika ile en kısa eğitim süresine sahipti.

Adım 5: Modeli Test Etme

Modeli Test Etme
Modeli Test Etme
Modeli Test Etme
Modeli Test Etme
Modeli Test Etme
Modeli Test Etme

Daha büyük modeller arasında Inception-v3 yaklaşık %72.1 ile en yüksek test doğruluğuna sahipken, AlexNet yaklaşık %48.5 ile en düşük test doğruluğuna sahipti. Daha küçük mobil odaklı modeller arasında MobileNet-v2 %62,5 ile en yüksek test doğruluğuna sahipken, ShuffleNet %58,1 ile en düşük test doğruluğuna sahipti.

MobileNet-v2, Brown-Spot, Leaf-Blast ve Sağlıklı yaprakların görüntülerini sınıflandırırken önemli ölçüde iyi performans gösterirken, Rice Hispa için yalnızca %46,15'lik bir doğrulukla birkaç yanlış sınıflandırma yaptı.

Inception-v3, MobileNet-v2 ile benzer sınıflandırma sonuçları gösterdi.

6. Adım: Ek Testler

Ek Testler
Ek Testler
Ek Testler
Ek Testler

Yukarıdaki görüntü, MobileNet-v2 modelinin beyaz bir arka plana karşı bir çimen yaprağı görüntüsünü Rice Hispa olarak nasıl yanlış sınıflandırdığını gösterir.

Ayrıca MobileNet-v2'nin doğruluğunu Rice Hispa'nın kırpılmış görüntülerinde test ettik, burada beyaz arka plan, yaprak görüntü içinde maksimum alanı kaplayacak şekilde en aza indirildi. Rice Hispa'nın kırpılmış görüntüleri için yaklaşık %80,81'lik bir doğruluk gözlemledik, yani Rice Hispa'nın kırpılmış görüntüleri için, kırpılmamış test örneklerine göre sınıflandırma doğruluğunda önemli bir artış gözlemledik. Bu nedenle, evrişimli sinir ağlarını kullanan pirinç hastalığı tespitinin gerçek dünyadaki uygulamalarının, doğruluğu artırmak için arka plan gürültüsünü ortadan kaldırmak için test görüntülerini kırpması gerektiğini öneriyoruz.

Önerilen: