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 12: Veri Artırma ve Üretici Modeller

dersveri-artırmaaugmentationgandcgancycleganmixupcutmix

12.1 Giriş: Tarımda Veri Kıtlığı Problemi

Derin öğrenme modelleri, başarılı sonuçlar için büyük miktarda etiketli veriye ihtiyaç duyar. ImageNet 14+ milyon görüntü içerirken, tipik bir tarımsal veri seti yüzlerce ile birkaç bin görüntü arasında değişir. Bu kıtlığın nedenleri:

  1. Mevsimsellik: Belirli bir hastalık yılda sadece 2-3 ay görülür. Örneğin pirinç yanıklığı (rice blast) sadece nemli muson döneminde yaygındır. Veri setinde yeterli örnek toplamak için birden fazla sezon beklemek gerekir.

  2. Uzman etiketleme gereksinimi: Bir yaprağın hangi hastalığa sahip olduğunu belirlemek için bitki patologu gerekir. Etiketleme maliyetli ve zaman alıcıdır. Shrivastava ve arkadaşları (2019), pirinç hastalığı sınıflandırmasında sadece 619 görüntü toplayabilmiştir (RB: 88, BLB: 240, SB: 100, HL: 191).

  3. Dengesiz sınıflar: Sağlıklı bitki örnekleri bol, nadir hastalıklar az. BLB (240 görüntü) ve RB (88 görüntü) arasındaki 3 katlık dengesizlik, modelin nadir sınıfı öğrenememesine yol açar.

  4. Koşul değişkenliği: Aydınlatma, kamera açısı, yaprak yaşı, arka plan (toprak, diğer bitkiler) görüntüler arası büyük varyans oluşturur.

  5. Gizlilik ve erişim: Bazı tarımsal veriler (uydu görüntüleri, şirket verileri) kısıtlı erişimlidir.

Veri artırma (data augmentation), bu sorunu mevcut verileri çeşitlendirerek ve yeni sentetik veriler üreterek çözer.

12.2 Geleneksel Veri Artırma Yöntemleri

12.2.1 Geometrik Dönüşümler

Dönüşüm Açıklama Tarımsal Gerekçe
Yatay Aynalama Görüntüyü sağ-sol çevirme Yaprağın yönü teşhisi etkilemez
Dikey Aynalama Görüntüyü üst-alt çevirme Drone görüntülerinde yön değişkenliği
Döndürme (0-360) Rastgele açı ile döndürme Tarla fotoğraflarında sabit yön yok
Ölçekleme Büyütme/küçültme (%80-120) Farklı mesafelerden çekim
Kırpma (Crop) Rastgele bölge kesimi Yaprağın farklı bölgelerine odaklanma
Kaydırma (Shift) Görüntüyü x/y ekseninde kaydırma Nesnenin görüntüdeki konum değişkenliği

12.2.2 Fotometrik Dönüşümler

Dönüşüm Açıklama Tarımsal Gerekçe
Parlaklık Aydınlatma artırma/azaltma Sabah/öğlen/akşam ışık farklılıkları
Kontrast Kontrast değiştirme Bulutlu/güneşli hava farklılıkları
Doygunluk Renk yoğunluğu değiştirme Yaprak yaşı ve mevsim etkisi
Renk bozma (Jitter) RGB kanallarında rastgele kayma Kamera sensör farklılıkları
Gaussian Gürültü Rastgele piksel gürültüsü ekleme Düşük kaliteli kamera/sensörler
Bulanıklaştırma (Blur) Gaussian veya motion blur Hareket eden drone, rüzgar

12.2.3 Geometrik + Fotometrik Birlikte

Wu ve arkadaşları (2020), domates yaprak hastalığı tespitinde geleneksel artırma yöntemlerini (döndürme, çevirme, kaydırma) sınırlı bulmuştur. Bu yöntemler görüntünün semantik içeriğini değiştirmez -- yani yeni bir hastalık görünümü oluşturmaz, sadece mevcut görüntüyü farklı açılardan gösterir. Bu nedenle genelleme yeteneği sınırlıdır.

12.3 Gelişmiş Artırma Teknikleri

12.3.1 Mixup

$$\tilde{x} = \lambda x_i + (1-\lambda) x_j$$ $$\tilde{y} = \lambda y_i + (1-\lambda) y_j$$

İki görüntüyü ve etiketlerini ağırlıklı olarak karıştırır (lambda ~ Beta(alpha, alpha) dağılımı).

Tarımsal Örnek: %70 sağlıklı yaprak + %30 hasta yaprak = yarı saydam bir karışım. Etiket de %70 sağlıklı + %30 hasta olarak yumuşatılır. Bu, modelin sınıf sınırları arasında daha yumuşak geçişler öğrenmesini sağlar.

12.3.2 CutMix

Bir görüntüden dikdörtgen bir bölge kesilir ve başka bir görüntüye yapıştırılır. Etiket, alan oranına göre karıştırılır.

Tarımsal Örnek: Sağlıklı yaprak görüntüsünün bir bölgesi, hasta yaprak görüntüsüyle değiştirilir. Bu, modelin görüntünün tüm bölgesine değil, ilgili bölgelere odaklanmasını sağlar.

12.3.3 Cutout / Random Erasing

Görüntüden rastgele dikdörtgen bölgeler siyahla kapatılır. Model, kısmi bilgiyle sınıflandırma yapmaya zorlanır.

Tarımsal Örnek: Yaprağın bir bölgesini kapatarak modelin sadece görünen kısımdan teşhis yapmasını sağlamak. Gerçek dünyada yapraklar birbirini örtebilir veya gölge düşebilir.

12.3.4 Karşılaştırma Tablosu

Yöntem Nasıl Çalışır Avantaj Tarımsal Uygulama
Mixup İki görüntüyü karıştır Yumuşak sınırlar Sınıf sınırlarında belirsizlik azaltma
CutMix Bölge kes-yapıştır Lokalizasyon güçlendirir Yapraktaki lezyona odaklanma
Cutout Rastgele bölge kapat Kısmi bilgiyle öğrenme Gölge/üst üste durumu
Mosaic 4 görüntüyü birleştir Çoklu nesne, değişken ölçek YOLO eğitiminde standart

12.4 GAN: Üretici Çekişmeli Ağlar

12.4.1 GAN'ın Temel Yapısı

GAN (Generative Adversarial Network), Goodfellow ve arkadaşları tarafından 2014'te önerilmiştir. İki rakip ağdan oluşur:

Üretici (Generator - G): Rastgele gürültü vektöründen (z) gerçekçi görüntüler üretmeye çalışır.

Ayırt Edici (Discriminator - D): Bir görüntünün gerçek mi yoksa üretilmiş mi olduğunu belirlemeye çalışır.

Amaç Fonksiyonu:

$$\min_G \max_D V(D,G) = E_{x \sim p_{data}}[log D(x)] + E_{z \sim p_z}[log(1 - D(G(z)))]$$

Wu ve arkadaşları (2020), bu süreci şu şekilde açıklamıştır: İlk başta üretici çok kötü görüntüler üretir. Ayırt edici bunları kolayca ayırt eder. Sonra ikinci nesil üretici biraz daha iyi görüntüler üretir ve ikinci nesil ayırt edici daha dikkatli olur. Bu süreç N nesil boyunca devam eder ve sonunda ayırt edici üretilmiş görüntüyü gerçekten ayırt edemez hale gelir.

12.4.2 Tarımsal Benzetme

Bu süreç bir tohum kalite kontrol benzetmesiyle anlaşılabilir: - Üretici = Sahte tohum üretici: Gerçek tohumlara benzeyen sahte tohumlar üretmeye çalışır. - Ayırt edici = Kalite kontrolcü: Gerçek ve sahte tohumları ayırt etmeye çalışır. - Her iki taraf da sürekli iyileşir; sonunda sahte tohumlar gerçeklerinden ayırt edilemez hale gelir.

12.5 DCGAN: Derin Evrişimli GAN

12.5.1 DCGAN Mimarisi

DCGAN (Deep Convolutional GAN), Radford ve arkadaşları (2015) tarafından önerilmiştir. GAN'ın genel yapısını evrişim katmanları ile güçlendirir:

Üretici (G) Yapısı: - Giriş: z vektörü (rastgele gürültü, örneğin 100 boyutlu) - Transposed convolution (fractional-strided convolution) ile boyut artırma - Batch normalization + ReLU aktivasyon - Son katmanda Tanh aktivasyon (piksel değerleri [-1, 1])

Ayırt Edici (D) Yapısı: - Giriş: Görüntü (gerçek veya üretilmiş) - Strided convolution ile boyut azaltma - Batch normalization + LeakyReLU aktivasyon - Son katmanda sigmoid (gerçek mi? 0-1)

Temel Kurallar: - Tam bağlı katmanlar kullanılmaz (tamamen evrişimsel) - Batch normalization her katmanda (ilk ve son hariç) - Pooling yerine strided convolution

12.5.2 DCGAN ile Domates Hastalığı (Wu et al., 2020)

Wu ve arkadaşları, domates yaprak hastalığı tespitinde DCGAN'ı kapsamlı şekilde kullanmıştır. Çalışma, Northeast Agricultural University (Harbin, Çin) tarafından yürütülmüştür.

Veri Seti: 5 sınıf domates yaprak görüntüsü: 1. Target Spot Bacteria (Hedef Leke Bakterisi) 2. YLCV Virus (Sarı Yaprak Kıvırcıklığı Virüsü) 3. Healthy (Sağlıklı) 4. Late Blight Water Mold (Geç Yanıklık Su Küfü) 5. Septoria

Yöntem: 1. Her sınıf için ayrı DCGAN eğitimi 2. Mini-batch boyutu: 64 3. Üretilen görüntüler + orijinal görüntüler birlikte sınıflandırma ağına besleme 4. GoogLeNet transfer öğrenme ile sınıflandırma

Sonuçlar:

Yöntem Doğruluk (%)
GoogLeNet (artırmasız) ~88
GoogLeNet + Geleneksel artırma (döndürme, çevirme) ~91
GoogLeNet + DCGAN artırma 94.33

DCGAN ile üretilen görüntüler, gerçek görüntülere benzer özellikler göstermektedir. Farklı hastalık sınıflarının karakteristik örüntüleri (lezyon rengi, şekli, dağılımı) üretilen görüntülerde korunmuştur.

Değerlendirme Metrikleri:

Wu ve arkadaşları, GAN kalitesini değerlendirmek için üç metrik kullanmıştır:

Metrik Açıklama Sonuç
GAN-train GAN görüntüleriyle eğit, gerçek görüntülerle test et Üretilen görüntülerin çeşitliliğini ve gerçekçiliğini ölçer
GAN-test Gerçek görüntülerle eğit, GAN görüntüleriyle test et Üretilen görüntülerin dağılımının gerçeğe yakınlığını ölçer
Visual Turing Test Bitki uzmanlarına gerçek/sahte ayırt ettirme İnsan gözüyle değerlendirme

CNN Mimari Karşılaştırması (Wu et al., 2020):

Mimari Doğruluk (%)
AlexNet En düşük
VGG-16 Orta-yüksek
ResNet Yüksek
GoogLeNet En yüksek (94.33)

GoogLeNet'in Inception modülü sayesinde az parametreyle yüksek performans sağlaması, DCGAN ile birleştiğinde en iyi sonuçu vermiştir.

12.5.3 Farklı GAN Türlerinin Karşılaştırması

Wu ve arkadaşları (2020), DCGAN'ı diğer GAN türleriyle de karşılaştırmıştır:

GAN Türü Doğruluk (%) Avantaj Dezavantaj
DCGAN En yüksek Kararlı eğitim, iyi görüntü kalitesi Çözünürlük sınırlı
WGAN Orta-yüksek Modal çökme sorunu az Yavaş eğitim
Standart GAN Düşük Basit Kararsız eğitim

12.6 CycleGAN: Çift Yönlü Görüntü Dönüşümü

12.6.1 CycleGAN Nasıl Çalışır?

CycleGAN, Zhu ve arkadaşları (2017) tarafından önerilmiştir. Eşleştirilmemiş görüntü çiftleri arasında dönüşüm öğrenir. İki üretici ve iki ayırt edici içerir:

  • G_AB: A alanından B alanına dönüşüm (örneğin sağlıklı → hasta)
  • G_BA: B alanından A alanına dönüşüm (hasta → sağlıklı)
  • Döngü Tutarlılığı (Cycle Consistency): A → B → A dönüşümü orijinale yakın olmalıdır.

$$L_{cycle} = E[||G_{BA}(G_{AB}(x_A)) - x_A||] + E[||G_{AB}(G_{BA}(x_B)) - x_B||]$$

12.6.2 Tarımsal Uygulama: Sağlıklı-Hasta Yaprak Dönüşümü

Li ve arkadaşları (2021), incelemelerinde Tian ve arkadaşlarının (2019) CycleGAN kullanarak sağlıklı elma yaprak görüntülerinden hastalıklı elma yaprak görüntüleri ürettiğini raporlamıştır. Bu yaklaşımın avantajı, eşleştirilmiş veri çiftlerine ihtiyaç duymamasıdır -- sadece "sağlıklı yaprak grubu" ve "hasta yaprak grubu" yeterlidir.

CycleGAN Tarımsal Uygulamaları: - Sağlıklı → Hasta dönüşümü: Nadir hastalık sınıflarını zenginleştirme - Yaz → Kış dönüşümü: Mevsimsel çeşitlendirme - Normal ışık → Düşük ışık dönüşümü: Aydınlatma koşullarını çeşitlendirme

CycleGAN'ın Sınırlılıkları (Li et al., 2021): - Üretilen görüntülerin çoğu düşük kalitelidir - Çeşitlilik sınırlıdır (benzer görüntüler tekrarlanabilir) - Eğitim kararsızlığı

12.6.3 LeafGAN: Yaprak Odaklı GAN

Li ve arkadaşları (2021), LeafGAN yaklaşımının sağlıklı yaprağı farklı hastalık türlerine dönüştürerek veri setini dengelediğini aktarmıştır. LeafGAN, CycleGAN'a attention mekanizması ekleyerek daha hedefli dönüşüm gerçekleştirir.

12.7 Veri Arttırma Stratejisi Seçimi

12.7.1 Karar Ağacı

Veri setiniz ne kadar büyük?
    |
    |-- Büyük (10000+): Hafif geleneksel artırma yeterli
    |-- Orta (1000-10000): Geleneksel + Mixup/CutMix
    |-- Küçük (100-1000): Geleneksel + DCGAN/CycleGAN
    |-- Çok küçük (<100): Transfer öğrenme + agresif artırma + GAN

Sınıf dengesi nasıl?
    |
    |-- Dengeli: Standart artırma
    |-- Dengesiz: Az örnekli sınıf için GAN + oversampling

Görüntü domaini ne kadar spesifik?
    |
    |-- Genel (yaprak görüntüsü): ImageNet transfer + standart artırma
    |-- Spesifik (mikroskop, multispektral): GAN + domain-specific artırma

12.7.2 Yöntem Karşılaştırma Tablosu

Yöntem Veri Gereksinimi Kalite Çeşitlilik Hesaplama En İyi Kullanım
Geometrik Yok Orta Düşük Çok düşük Her zaman temel
Fotometrik Yok Orta Düşük Çok düşük Işık değişkenliği
Mixup/CutMix Yok Orta Orta Düşük Sınır yumuşatma
DCGAN Orta (500+/sınıf) Yüksek Yüksek Yüksek Sınıf dengesizliği
CycleGAN Orta (iki alan) Orta-Yüksek Yüksek Çok yüksek Alan dönüşümü
StyleGAN Yüksek (5000+) Çok yüksek Çok yüksek Çok yüksek Fotorealistik üretim

12.8 GAN Eğitim Zorlukları ve Çözümleri

12.8.1 Modal Çökme (Mode Collapse)

Üretici, sınırlı sayıda görüntü üretmeye mahkum olur; çeşitlilik kaybolur. Tarımsal örnekle: GAN hep aynı tipte lezyon görüntüsü üretir, farklı lezyon şekillerini öğrenemez.

Çözümler: - WGAN-GP: Gradient penalty ile eğitim kararlılığını arttırır - Spektral normalizasyon: Ağırlıkları sınırlar - Çeşitlilik kaybı (diversity loss): Üreticinin çeşitli çıktılar üretmesini teşvik eder

12.8.2 Eğitim Kararsızlığı

Üretici ve ayırt edici birbirlerini dengede tutamaz; kayıplar salınır.

Çözümler: - Öğrenme oranı zamanlama (learning rate scheduling) - İki taraflı label smoothing - Progressive growing (küçük çözünürlükten büyüğe kademeli eğitim)

12.8.3 Değerlendirme Güçlüğü

GAN görüntülerinin kalitesini objektif olarak ölçmek zordur.

Metrik Ölçer Tarımsal Yorum
FID (Frechet Inception Distance) Gerçek vs üretilmiş dağılım farkı Düşük FID = gerçekçi yaprak görüntüsü
IS (Inception Score) Çeşitlilik + kalite Yüksek IS = farklı hastalık tipleri üretilebiliyor
GAN-train / GAN-test Sınıflandırma bazlı Üretilen görüntüler eğitimi ne kadar iyileştiriyor?
Visual Turing Test İnsan değerlendirmesi Uzman bile ayırt edemiyor mu?

12.9 Gerçek Dünya Uygulama Senaryosu

12.9.1 Senaryo: Nadir Buğday Pası Hastalığını Tespit Etme

  1. Problem: 5000 sağlıklı, 200 hasta (sarı pas), 50 hasta (kahverengi pas) görüntü. Kahverengi pas sınıfı çok yetersiz.

  2. Adım 1 -- Geleneksel Artırma: 50 kahverengi pas görüntüsüne döndürme, aynalama, parlaklık değişimi uygulanır → 200 görüntü.

  3. Adım 2 -- DCGAN: 200 görüntüyle DCGAN eğitilir → 500 sentetik kahverengi pas görüntüsü üretilir.

  4. Adım 3 -- Kalite Kontrol: Üretilen görüntüler bitki patologu tarafından görsel olarak değerlendirilir; düşük kaliteli olanlar çıkarılır.

  5. Adım 4 -- Birleşik Eğitim: Orijinal + geleneksel artırma + DCGAN görüntüleri ile model eğitilir.

  6. Beklenen Sonuç: Wu ve arkadaşları (2020), benzer bir yaklaşımla %88'den %94.33'e doğruluk artışı raporlamıştır.

12.10 Özet

Kavram Tanımı Tarımsal Karşılığı
Veri Artırma Mevcut veriden yeni örnekler türetme Mevsimsel kısıtlamayı aşma
Geometrik Artırma Döndürme, aynalama, ölçekleme Kamera açısı değişkenliği
Fotometrik Artırma Parlaklık, kontrast, renk Hava ve ışık değişkenliği
Mixup İki görüntüyü karıştırma Sınıf sınırları yumuşatma
CutMix Bölge kes-yapıştır Lokalizasyon güçlendirme
GAN Üretici vs ayırt edici Sentetik hastalık görüntüsü üretme
DCGAN Evrişimsel GAN Yaprak lezyonu görüntüsü oluşturma
CycleGAN Çift yönlü dönüşüm Sağlıklı → hasta yaprak dönüşümü

Temel Çıkarımlar: 1. Tarımda veri kıtlığı en büyük engellerden biridir; veri artırma çoğu zaman gerekir. 2. Geleneksel yöntemler (geometrik + fotometrik) her projede temel olarak uygulanmalıdır. 3. GAN tabanlı yöntemler, özellikle sınıf dengesizliği ve nadir hastalık durumlarında büyük fayda sağlar. 4. DCGAN, domates yaprak hastalığı tespitinde doğruluğu %88'den %94.33'e yükseltmiştir (Wu et al., 2020). 5. CycleGAN, eşleştirilmiş veri gerektirmeden alan dönüşümü sağlar; ancak görüntü kalitesi sınırlıdır. 6. GAN görüntülerinin kalitesinin uzman tarafından da değerlendirilmesi yerinde olur.


Bu ders serisi burada tamamlanmaktadır. Önceki dersler: 07 Sinir Aglari Temelleri | 08-cnn-ve-transfer-öğrenme | 09 Lstm Ve Zaman Serileri | 10 Nesne Tespiti Yolo | 11 Segmentasyon Unet