Dr. Mehmet Solak Siirt Üniversitesi · Ziraat Fakültesi · Biyosistem Mühendisliği · Tarım ve Tarımsal Eğitim İçin Makine Öğrenmesi İçeriği

Ders 8: CNN ve Transfer Öğrenme

derscnnevrişimtransfer-öğrenmebitki-hastalığıgörüntü-işlemeVGGResNet

8.1 Giriş: Görüntüden Bilgi Çıkarma

Tarımda görsel tanı kritik bir gereksinimdir. Bir çiftçi, yaprağın rengindeki değişimi, lezyon şekillerini ve doku bozukluklarını göze bakarak değerlendirir. Evrişimli Sinir Ağları (CNN -- Convolutional Neural Network), bu görsel değerlendirme sürecini otomatikleştiren derin öğrenme mimarisidir. Geleneksel makine öğrenimi yaklaşımlarında uzmanın elle tanımladığı özellikler (renk histogramı, doku parametreleri, şekil özellikleri) kullanılırken, CNN bu özellikleri veriden otomatik olarak öğrenir. Li ve arkadaşları (2021), bitki hastalığı tespitinde derin öğrenmenin insan görsel değerlendirmesinin dezavantajlarını aşarak özellik çıkarımını daha objektif hale getirdiğini vurgulamıştır.

Shrivastava ve arkadaşları (2019), pirinç bitkisi hastalık sınıflandırmasında transfer öğrenme yaklaşımını kullanarak AlexNet'ten özellik çıkarımı ve SVM sınıflandırıcıyla başarılı sonuçlar elde etmiştir. Çalışmada 619 gerçek tarla görüntüsünden oluşan veri seti (Pirinç Yanıklığı, Bakteriyel Yaprak Yanıklığı, Kılıf Yanıklığı ve Sağlıklı) ile cesurlandırıcı sonuçlar alınmıştır.

8.2 Evrişim (Convolution) Nedir?

8.2.1 Filtre ve Özellik Haritası

Evrişim, küçük bir filtre matrisinin (kernel) görüntü üzerinde kaydırılarak yerel örüntülerin tespit edilmesi işlemidir. Tarımsal bağlam: Bir yaprak görüntüsündeki hastalığın oluşturduğu lezyonu bulmak için:

  1. Filtre (Kernel): Örneğin 3x3'luk bir matris. Bu filtre, görüntünün her bölgesinde belirli bir örüntüyü arar.
  2. Kayan Pencere: Filtre, görüntünün sol üstünden başlayarak sağa ve aşağıya doğru kayar.
  3. Özellik Haritası (Feature Map): Her konumda filtre ile görüntü bölgesi arasındaki çarpım toplamı hesaplanır. Sonuç, o örüntünün görüntünün neresinde bulunduğunu gösteren yeni bir matristir.

Tarımsal Örnek -- Yaprak Lezyonu Tespiti:

İlk katmanlardaki filtreler basit kenarları tespit eder (yaprağın sınırı, damar yapısı). Daha derin katmanlardaki filtreler ise bu basit özellikleri birleştirerek karmaşık örüntüleri yakalar: dairesel lezyon şekli, kahverengi-sarı renk değişimi, doku bozulması vb.

8.2.2 Matematiksel Formül

İki boyutlu evrişim işlemi:

$$(I * K)(i,j) = \sum_m \sum_n I(i+m, j+n) \cdot K(m,n)$$

Burada I görüntü matrisi, K filtre matrisi, (i,j) konum indeksleridir. Her piksel konumunda filtre ile görüntünün çakışan bölgesi çarpılıp toplanır.

8.3 Pooling (Havuzlama)

Pooling, özellik haritalarının boyutunu küçülterek hesaplama maliyetini düşürür ve modelin küçük konum değişimlerine dayanıklılığını arttırır.

8.3.1 Max Pooling

2x2'lik bir pencere içindeki en büyük değeri seçer. Tarımsal anlamı: "Bu bölgedeki en belirgin hastalık belirtisini koru, gereksiz detayları at." Eğer bir yaprak bölgesinde lezyon varsa, en yoğun piksel değeri korunur.

8.3.2 Average Pooling

Penceredeki değerlerin ortalamasını alır. Daha yumuşak bir temsil sağlar, genel doku bilgisini korur.

8.3.3 Stride ve Padding

  • Stride: Filtrenin her adımda kaç piksel kaydığı. Stride=1 her pikselde, stride=2 her iki pikselde bir işlem yapar. Büyük stride, çıkış boyutunu daha çok küçültür.
  • Padding: Görüntünün kenarlarına sıfır eklenerek boyut kaybı önlenir. "Same" padding ile giriş ve çıkış aynı boyutta kalır; "valid" padding ile boyut küçülür.

8.4 CNN Mimarileri Karşılaştırması

8.4.1 VGG (Visual Geometry Group)

VGG-16 ve VGG-19, basit ama derin mimarilerdir. Tüm katmanlarında 3x3 filtreler kullanır. Wu ve arkadaşları (2020), domates yaprak hastalığı tespitinde VGG16'nın GoogLeNet, AlexNet ve ResNet ile karşılaştırmasını yapmış; VGG16'nın 138 milyon parametresi nedeniyle işlemsel olarak zorlayıcı olabileceğini belirtmiştir.

Avantajları: Basit ve düzgün yapı, özellik çıkarımı için popüler. Dezavantajları: Çok fazla parametre (138M), yüksek bellek tüketimi, eğitim süresi uzun.

8.4.2 ResNet (Residual Network)

ResNet, 2015'te He ve arkadaşları tarafından önerilen "artık bağlantı" (skip connection) kavramını yaygınlaştıran etkili mimarilerden biridir. Temel fikir: Bir katmanın girdisi, çıktısına doğrudan eklenir.

$$y = F(x) + x$$

Bu yaklaşım, çok derin ağlardaki gradyan kaybolması problemini azaltmaya yardımcı olur. Tarımsal önemi: 100+ katmanlı ağlar eğitilerek yaprak hastalığı görüntüleri gibi karmaşık verilerdeki ince farklılıklar öğrenebilir. ResNet-50 ve ResNet-101 tarımda yaygın kullanılır.

8.4.3 GoogLeNet / Inception

GoogLeNet, farklı boyutlarda filtreleri (1x1, 3x3, 5x5) paralel olarak kullanır ve sonuçları birleştirir. Wu ve arkadaşları (2020), domates yaprak hastalığı sınıflandırmasında GoogLeNet ile DCGAN veri arttırma kombinasyonuyla %94.33 doğruluk elde etmiştir. GoogLeNet'in avantajı, VGG'ye kıyasla çok daha az parametre (5M) kullanarak benzer veya daha iyi performans sağlamasıdır.

8.4.4 EfficientNet

EfficientNet, ağ derinliği, genişliği ve görüntü çözünürlüğünü birlikte ölçeklendiren bileşik ölçekleme (compound scaling) yöntemi kullanır. Daha az parametre ile yüksek performans sağlar. Tarımda sınırlı hesaplama kaynaklarıyla (mobil cihaz, drone işlemcisi) çalışma gerektiren uygulamalarda tercih edilir.

8.4.5 Karşılaştırma Tablosu

Mimari Yıl Derinlik Parametre Sayısı Temel Yenilik Tarımsal Avantaj
VGG-16 2014 16 138M Tekdüze 3x3 filtreler Özellik çıkarımı için iyi referans
GoogLeNet 2014 22 5M Inception modülü Düşük parametre, yüksek başarı
ResNet-50 2015 50 25M Skip connection Derin özellik öğrenimi
EfficientNet-B0 2019 - 5.3M Compound scaling Mobil/drone uygulamaları
Xception 2017 71 22.9M Depthwise separable conv Transfer öğrenimi verimli

8.5 Transfer Öğrenme: ImageNet'ten Tarım Tarlasına

8.5.1 Neden Transfer Öğrenme Kritik?

Tarımda derin öğrenme uygulamalarının en büyük kısıtlaması veri kıtlığıdır:

  • Hastalık görüntüleri mevsimseldir; yanıklık sadece belirli dönemlerde görülür.
  • Etiketleme uzman bilgisi gerektirir; bir bitki patologu her görüntüyü incelemelidir.
  • Nadir hastalıklar için yeterli örnek bulmak imkansıza yakındır.
  • Tarla koşullarında görüntü kalitesi değişkendir (ışık, açı, arka plan).

Transfer öğrenme, bu sorunu ImageNet (14+ milyon görüntü, 1000+ sınıf) üzerinde eğitilmiş modellerin bilgisini tarıma aktararak çözer.

8.5.2 Transfer Öğrenme Stratejileri

Strateji 1: Özellik Çıkarıcı Olarak Kullanma

Shrivastava ve arkadaşları (2019), pirinç bitkisi hastalıkların sınıflandırmasında bu stratejiyi uygulamıştır. AlexNet'in ön-eğitimli ağırlıkları özellik çıkarıcı olarak kullanılmış ve SVM sınıflandırıcı ile birleştirilmiştir. 619 gerçek tarla görüntüsünden oluşan veri setiyle dört sınıf (Pirinç Yanıklığı-RB, Bakteriyel Yaprak Yanıklığı-BLB, Kılıf Yanıklığı-SB, Sağlıklı-HL) sınıflandırılmıştır.

Bu yaklaşımda: 1. Ön-eğitimli CNN'nin son sınıflandırma katmanı çıkarılır. 2. Geri kalan katmanlar özellik vektörü üretir. 3. Bu vektörler SVM, Random Forest gibi klasik sınıflandırıcılara beslenir.

Strateji 2: İnce Ayar (Fine-Tuning)

Muslikh ve arkadaşları (2023), pirinç hastalığı tespitinde Xception mimarisini transfer öğrenme ile kullanmıştır. Çalışmada beş hastalık sınıfı (blast, brown spot, tugro, leaf smut, blight) için %90 doğrulama doğruluğu ve %89 genel doğruluk elde edilmiştir. Xception modelinin son çıkış katmanı 5 sınıflı yeni bir katmanla değiştirilmiş ve fine-tuning uygulanmıştır. Görüntü boyutları 224x224x3 olarak yeniden boyutlandırılmıştır.

Bu yaklaşımda: 1. Ön-eğitimli modelin son katmanları yeni sınıflarla değiştirilir. 2. İlk katmanlar dondurulur (genel özellikler korunur). 3. Son katmanlar hedef veri setiyle yeniden eğitilir. 4. Kademeli olarak daha fazla katman çözülüp ince ayar yapılabilir.

8.5.3 Transfer Öğrenme Karşılaştırması

Muslikh ve arkadaşları (2023), pirinç hastalığı tespitinde farklı transfer öğrenme modellerini karşılaştırmıştır:

Model Doğruluk Parametre Özellik
VGG Yüksek Çok (138M) Basit, ağır
EfficientNet Yüksek Az (5.3M) Verimli ölçekleme
MobileNet Orta-Yüksek Çok az (3.4M) Mobil uygulamalar
DenseNet Yüksek Orta Güçlü özellik aktarımı
ResNet Yüksek Orta (25M) Derin özellik öğrenimi
Xception %89-90 22.9M Depthwise separable conv

8.5.4 Neden ImageNet Özellikleri Tarımda İşe Yarar?

ImageNet üzerinde öğrenen ilk katmanlar, genel görsel özellikler (kenarlar, dokular, renkler) çıkarır. Bu özellikler evrenseldir: - Kenar algılama: Yaprak sınırlarını belirlemede kullanılır. - Doku öğrenimi: Sağlıklı ve hasta doku arasındaki farkı tespit eder. - Renk örüntüleri: Klorofil kaybı (sarı), nekroz (kahverengi) gibi belirtileri yakalar.

Sadece son katmanlar tarıma özgü sınıflandırma yapar; bu nedenle az veriyle bile etkili eğitim mümkündür.

8.6 Araştırma Örnekleri

8.6.1 Örnek 1: Pirinç Hastalığı Sınıflandırması (Shrivastava et al., 2019)

Problem: Pirinç bitkisi dünyada en yaygın yetiştirilen tahıllardan biridir. Pirinç Yanıklığı (Rice Blast), Bakteriyel Yaprak Yanıklığı (BLB) ve Kılıf Yanıklığı (Sheath Blight) üretimde ciddi kayıplara yol açar.

Yöntem: - AlexNet ön-eğitimli CNN'den özellik çıkarımı - SVM sınıflandırıcı ile doğrusal olmayan sınıflandırma - 619 gerçek tarla görüntüsü (RB: 88, BLB: 240, SB: 100, HL: 191)

Bulgular: - Geleneksel yöntemlerle (renk ve doku özellikleri + MLP) elde edilen sonuçlara kıyasla, transfer öğrenme yaklaşımı daha yüksek doğruluk sağlamıştır. - Gerçek tarla koşullarında çekilmiş görüntülerde başarılı sonuç, klinik ortama ihtiyaç duyulmadığını göstermiştir. - Bu yaklaşım, erken uyarı sistemi olarak kullanılabilecek potansiyel taşımaktadır.

8.6.2 Örnek 2: Pirinç Hastalığı Tespitinde Xception (Muslikh et al., 2023)

Problem: Endonezya'da pirinç üretimini tehdit eden blast, brown spot, tugro, leaf smut ve blight hastalıkları için erken tespit sistemi geliştirme.

Yöntem: - Xception transfer öğrenme modeli (71 katman, depthwise separable convolution) - 224x224x3 görüntü boyutu - %80 eğitim / %20 doğrulama ayrımı - Son çıkış katmanı 5 sınıflı yapıya değiştirilip fine-tuning

Bulgular: - Eğitim doğruluğu: %93, doğrulama doğruluğu: %90 - Eğitim kaybı: 0.13, doğrulama kaybı: 0.18 - Xception, VGG, EfficientNet, MobileNet ve diğer modellerle karşılaştırıldığında rekabetçi performans göstermiştir. - Dengesiz veri seti problemine rağmen tatmin edici sonuçlar alınmıştır.

8.6.3 Örnek 3: Domates Yaprak Hastalığı -- CNN Karşılaştırması (Wu et al., 2020)

Wu ve arkadaşları, transfer öğrenme ile farklı CNN mimarilerinin domates yaprak hastalığı tespitindeki performansını karşılaştırmıştır:

Mimari Doğruluk (%) Özellik
AlexNet Düşük İlk derin CNN, basit yapı
GoogLeNet En yüksek Inception modülü, az parametre
ResNet Yüksek Skip connection
VGG-16 Yüksek Çok parametre, ağır

GoogLeNet, DCGAN veri artırması ile birleştirildiğinde %94.33 ile en yüksek doğruluğu elde etmiştir. Bu sonuç, transfer öğrenme ve veri artırma stratejilerinin birlikte kullanılmasının gücünü ortaya koymaktadır.

8.7 CNN Eğitimi: Pratik Hususlar

8.7.1 Veri Ön-işleme

Adım Açıklama Tarımsal Önemi
Yeniden Boyutlama 224x224 veya 299x299 piksel Farklı kameralardan gelen görüntüler standartlaştırılır
Normalizasyon Piksel değerlerini [0,1] aralığına ölçekleme Işık farklılıkları azaltılır
Veri Arttırma Döndürme, aynalama, parlaklık değişimi Sınırlı veri seti zenginleştirilir

8.7.2 Hiperparametre Seçimi

  • Öğrenme oranı: Genellikle 0.001 ile başlanır, fine-tuning için 0.0001 tercih edilir.
  • Batch boyutu: 16-64 arası yaygındır; GPU belleğine bağlı.
  • Epoch sayısı: Erken durdurma (early stopping) ile belirlenir.
  • Dondurulacak katman sayısı: Transfer öğrenmede ne kadar katmanın yeniden eğitileceği.

8.8 Özet

CNN ve transfer öğrenme, tarımda görüntü tabanlı teşhis için en güçlü araçlardır. Temel çıkarılar:

  1. Evrişim katmanları görüntülerdeki yerel örüntüleri (lezyon, renk değişimi) otomatik olarak öğrenir.
  2. Pooling boyut azaltarak hesaplama verimliliğini arttırır.
  3. Transfer öğrenme, tarımda en kritik stratejidir çünkü az veriyle yüksek performans sağlar.
  4. Xception, ResNet ve EfficientNet tarımsal uygulamalarda en başarılı mimarilerdir.
  5. Fine-tuning ile ImageNet bilgisi tarıma etkin şekilde aktarılabilir.

Sonraki Ders: 09 Lstm Ve Zaman Serileri -- Zamansal bağımlılıkları modelleme: dün yağmur yağdıysa bugünkü toprak nemini ve yarının verimini nasıl tahmin ederiz?