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 10: Nesne Tespiti -- YOLO Ailesi

dersyolonesne-tespitiobject-detectionmAPIoUdomatestarım

10.1 Giriş: Sınıflandırma, Tespit ve Segmentasyon Farkı

Görüntü tabanlı tarımsal yapay zeka uygulamalarında üç temel görev vardır. Bunları bir domates tarlası örneği üzerinden açıklayalım:

10.1.1 Sınıflandırma (Classification)

Soru: "Bu görüntüde domates hastalığı var mı?" Çıktı: Tek bir etiket -- "hasta" veya "sağlıklı" Bilgi: Görüntünün bütününe dair genel karar. Hastalığın görüntüdeki konumunu vermez.

10.1.2 Nesne Tespiti (Object Detection)

Soru: "Bu görüntüde hasta bölgeler nerede?" Çıktı: Dikdörtgen sınırlandırma kutusu (bounding box) + sınıf etiketi + güven skoru Bilgi: Hastalığın görüntüdeki konumunu (x, y, genişlik, yükseklik) ve türünü belirler.

10.1.3 Segmentasyon (Segmentation)

Soru: "Bu görüntüde hasta pikseller tam olarak hangileri?" Çıktı: Her piksel için sınıf etiketi Bilgi: Hasta bölgelerin piksel düzeyinde hassas sınırları. (Ders 11'de detaylı işlenecek.)

10.1.4 Karşılaştırma Tablosu

Özellik Sınıflandırma Nesne Tespiti Segmentasyon
Çıktı Tek etiket Kutu + etiket Piksel haritası
Konum Bilgisi Yok Dikdörtgen Piksel hassasiyeti
Tarımsal Örnek "Bu yaprak hasta mı?" "Domates meyvesindeki lezyon nerede?" "Hasta yaprak alanı ne kadar?"
Hesaplama Düşük Orta Yüksek
Yaygın Model ResNet, VGG YOLO, Faster R-CNN U-Net, DeepLab

10.2 YOLO: You Only Look Once

10.2.1 YOLO'nun Temel Felsefesi

YOLO, 2016'da Redmon ve arkadaşları tarafından önerilmiştir. İsminden de anlaşılacağı gibi, görüntüye tek bir bakışta tüm nesneleri tespit eder. Bu, önceki iki aşamalı yöntemlerden (R-CNN ailesi: önce bölge öner, sonra sınıflandır) kökensel olarak farklıdır.

Tarımsal Önemi: YOLO'nun gerçek zamanlı çalışması, otonom tarım robotları, drone tabanlı tarla tarama ve mobil hastalık tespit uygulamaları için kritiktir. Bir drone, tarlada uçarken her kareyi anlık olarak analiz edebilmelidir.

10.2.2 YOLO Nasıl Çalışır?

Adım 1: Grid Bölme

Görüntü SxS hücrelik bir ızgaraya (grid) bölünür. Örneğin 13x13 = 169 hücre. Her hücre, merkezi o hücrede bulunan nesnelerin tespitinden sorumludur.

Tarımsal Örnek: Bir domates tarlası fotoğrafı 13x13 hücreye bölünür. Sol üst hücrede bir domates meyvesi, orta hücrede bir lezyon varsa, ilgili hücreler bunları tespit eder.

Adım 2: Anchor Box (Çapa Kutusu) Tahmini

Her hücre için B adet sınırlandırma kutusu tahmin edilir. Her kutu 5 değer içerir:

  • (x, y): Kutunun merkez koordinatları (hücre içinde göreli konum)
  • (w, h): Kutunun genişliği ve yüksekliği
  • confidence: P(Nesne) x IoU -- Bu kutuda gerçekten bir nesne olma olasılığı

Anchor box'lar, veri setindeki tipik nesne boyutlarından K-means clustering ile belirlenir. Liu ve Wang (2021), domates hastalık tespitinde YOLO V3'ün standart anchor boyutlarının domates lezyon boyutlarına uygun olmadığını tespit etmiş ve K-means ile özel boyutlar hesaplamıştır.

Adım 3: Sınıf Tahmini

Her kutu ayrıca sınıf olasılık vektörü içerir. Örneğin: - P(erken_yanıklık) = 0.72 - P(geç_yanıklık) = 0.15 - P(septoria) = 0.08 - P(sağlıklı) = 0.05

Adım 4: Non-Maximum Suppression (NMS)

Birden fazla kutu aynı nesneyi tespit edebilir. NMS, üst üste binen kutulardan en yüksek güvenilirliğe sahip olanı koruyup diğerlerini eler.

NMS Süreci: 1. Tüm kutuları güvenilirliğe göre sırala. 2. En yüksek güvenilirlikli kutuyu seç. 3. Bu kutuyla IoU eşiğinin (genellikle 0.5) üzerinde çakışan kutuları sil. 4. Kalan kutular için 2-3'ü tekrarla.

10.3 YOLO Evrimi: V1'den V8'e

10.3.1 YOLO V1 (2016)

Temel fikri ortaya koymuştur: görüntüyü tek geçişte işle. Hızlı ama düşük doğruluk, küçük nesnelerde başarısız.

10.3.2 YOLO V2 / YOLO9000 (2017)

  • Batch normalization eklendi.
  • Anchor box mekanizması eklendi (K-means ile boyut belirleme).
  • Yüksek çözünürlük eğitimi.

10.3.3 YOLO V3 (2018)

Liu ve Wang (2021), domates hastalık ve zararlı tespitinde YOLO V3'ün iyileştirilmiş versiyonunu kullanmıştır.

Temel Yenilikler: - Darknet-53 omurga ağı: 53 evrişim katmanı, residual bağlantılar içerir. Batch normalization ve dropout ile aşırı uyum önlenir. - Çok ölçekli tahmin (Multi-scale prediction): Üç farklı ölçekte (13x13, 26x26, 52x52) nesne tespiti. Büyük ölçekli özellik haritası küçük nesneler için, küçük ölçekli harita büyük nesneler için kullanılır. - Özellik piramidi (FPN): Yüksek seviyeli semantik özelliklerin düşük seviyeli konum özellikleriyle birleştirilmesi. Üst örnekleme (upsampling) ile farklı seviyeler kaynaştırılır.

Çalışmadaki İyileştirmeler (Liu & Wang, 2021): - Görüntü piramidi yaklaşımı ile çok ölçekli özellik tespiti - Anchor box boyutlarının domates hastalık veri setine özel olarak K-means ile yeniden hesaplanması - Çoklu boyut eğitimi: 320x320'den 608x608'e kadar farklı çözünürlüklerde eğitim - Ek residual birimler ile kenar bilgisinin korunması

Veri Seti: Gerçek sera ortamında çekilmiş domates hastalık ve zararlı görüntüler. Erken yanıklık, geç yanıklık, virüs hastalıkları, yaprak galeri sineği, sera beyaz sineği gibi kategoriler.

Sonuç: İyileştirilmiş YOLO V3, tespit doğruluğunu artırırken hızı da korumaktadır.

10.3.4 YOLO V5 (2020)

Rajasree ve Latha (2023), domates yaprak hastalığı tespitinde YOLO V5 modelini optimize etmiştir.

Mimari Özellikleri: - CSPDarknet omurga: Cross Stage Partial Network ile özellik çıkarımı - PANet (Path Aggregation Network) + SPP (Spatial Pyramid Pooling): Boyun (neck) ağı olarak farklı ölçeklerden bilgi entegrasyonu - Hibrit kafa (head): Evrişim + doğrusal katmanlarla sınıflandırma ve konum tahmini

Çalışmadan Bulgular: - Domates yaprak görüntülerini "sağlıklı" ve "hasta" olarak sınıflandırma - Kerala ve Tamil Nadu bölgelerinden cep telefonuyla çekilmiş gerçek tarla görüntülerinden oluşan özel veri seti - Roboflow ile etiketleme ve ön-işleme - mAP: %93.1 (özel + açık veri seti birlikte), 120 fps hız - EfficientDet ve Faster R-CNN ile karşılaştırmada YOLO V5 hem hız hem doğruluk açısından üstünlük sağlamıştır

10.3.5 YOLO V8 (2023)

Ultralytics tarafından geliştirilen en güncel sürüm. Temel iyileştirmeler: - Anchor-free tespit (anchor box'a gerek yok) - Gelişmiş veri arttırma (Mosaic, MixUp) - Daha verimli C2f bloku - Task-specific head yapılar (tespit, segmentasyon, poz tahmini)

10.3.6 YOLO Sürümleri Karşılaştırması

Sürüm Yıl Omurga Kapı Özellik Tarımsal Kullanım
V1 2016 Darknet - İlk tek geçiş modeli Konsept kanıtı
V2 2017 Darknet-19 Anchor box K-means clustering Büyük nesne tespiti
V3 2018 Darknet-53 FPN Çok ölçekli tahmin Hastalık lezyon tespiti
V5 2020 CSPDarknet PANet+SPP Otomatik anchor Tarla tabanlı uygulamalar
V8 2023 C2f Anchor-free Task-specific head Drone + mobil uygulamalar

10.4 Değerlendirme Metrikleri

10.4.1 IoU (Intersection over Union)

$$IoU = \frac{Kesişim Alanı}{Birleşim Alanı}$$

Tahmin edilen sınırlandırma kutusunun gerçek kutuyla ne kadar örtüştüğü ölçer.

Tarımsal Yorum: - IoU = 1.0: Tahmin kutusu gerçekle birebir aynı (ideal). - IoU = 0.5: Kutuların yarısı örtüşüyor (genellikle kabul edilebilir eşik). - IoU = 0.0: Hiç örtüşme yok (tamamen yanlış).

Domates meyvesindeki bir lezyonu tespit ederken, IoU=0.7 lezyonun büyük kısmının doğru konumlandırıldığını gösterir.

10.4.2 Precision ve Recall

Precision (Hassasiyet): $$Precision = \frac{TP}{TP + FP}$$

"Tespit ettiklerin gerçekten hasta mı?" -- Yanlış alarm oranı düşükse precision yüksektir.

Recall (Duyarlılık): $$Recall = \frac{TP}{TP + FN}$$

"Tüm hasta bölgeleri buldun mu?" -- Kaçırılan hastalık az ise recall yüksektir.

Tarımsal Denge: - Yüksek precision, düşük recall: Az yanlış alarm ama çoğu hastalık kaçırılır. Gübre israfı az ama hastalık yayılır. - Yüksek recall, düşük precision: Tüm hastalıklar bulunur ama sağlıklı bölgeler de hasta olarak işaretlenir. Gereksiz ilaç kullanımı artar. - Optimal denge uygulama senaryosuna bağlı: Erken uyarıda recall, ilaç uygulamasında precision öncelikli olabilir.

10.4.3 mAP (Mean Average Precision)

AP (Average Precision), bir sınıf için farklı eşik değerlerindeki precision-recall eğrisinin altında kalan alandır. mAP, tüm sınıfların AP değerlerinin ortalamasıdır.

  • mAP@0.5: IoU eşiği 0.5 ile hesaplanan mAP. Genel tespit başarısı.
  • mAP@0.5:0.95: IoU eşiği 0.5'ten 0.95'e kadar 0.05 artışlarla hesaplanan mAP ortalaması. Daha sıkı değerlendirme.

Rajasree ve Latha (2023), YOLO V5 ile domates yaprak hastalığında mAP %93.1 rapor etmiştir.

10.4.4 Metrik Karşılaştırma Tablosu

Metrik Ölçer Aralık Tarımsal Anlam
IoU Konum doğruluğu 0-1 Lezyon konumu ne kadar doğru?
Precision Yanlış alarm 0-1 Gereksiz ilaç kullanımı riski
Recall Kaçırma oranı 0-1 Tedavi edilmeyen hastalık riski
mAP Genel başarı 0-1 Modelin tüm hastalıklardaki ortalama performansı
FPS Hız >0 Gerçek zamanlı kullanılabilirlik

10.5 Araştırma Örnekleri

10.5.1 Örnek 1: Domates Hastalık ve Zararlı Tespiti (Liu & Wang, 2021)

Bağlam: Domates, dünyanın en yaygın sebzelerinden biridir. Shandong Shouguang bölgesi Çin'in en önemli domates üretim merkezlerinden biridir. Domates virüs hastalıkları, fungal hastalıklar ve zararlılar üretimi ciddi şekilde etkiler.

Veri Seti: Gerçek sera ortamında izleme kameraları, dijital kameralar ve akıllı telefonlarla çekilmiş görüntüler. Farklı hava koşulları, aydınlatma ve açılarla çeşitlendirilmiştir. Her görüntü etiketleme aracı ile sınırlandırma kutularıyla işaretlenmiştir.

Hastalık Kategorileri: Erken yanıklık, geç yanıklık, virüs hastalıkları, yaprak galeri sineği, sera beyaz sineği ve diğer zararlılar.

Yöntem -- İyileştirilmiş YOLO V3: 1. Darknet-53 omurga ile özellik çıkarımı 2. Görüntü piramidi ile çok ölçekli özellik birleştirme 3. K-means ile veri setine özel anchor boyut hesaplama 4. Ek residual birimlerle ince detay koruma 5. Çoklu çözünürlük eğitimi (320-608 piksel)

Sonuçlar: İyileştirilmiş model, standart YOLO V3'e kıyasla daha yüksek tespit doğruluğu sağlarken hız performansını korumaktadır. Özellikle küçük boyutlu hastalık lezyonları ve zararlıların tespitinde belirgin iyileşme gözlenmiştir.

10.5.2 Örnek 2: YOLO V5 ile Tarla Domates Hastalığı (Rajasree & Latha, 2023)

Bağlam: Hindistan'ın Kerala ve Tamil Nadu bölgelerinde cep telefonuyla çekilmiş gerçek tarla görüntülerinden domates yaprak hastalığı tespiti.

Yöntem: 1. 1000 görüntü toplanmış ve Roboflow ile etiketlenmiş 2. Ön-işleme: boyut normalizasyonu, gürültü azaltma, arka plan temizleme 3. YOLO V5, EfficientDet ve Faster R-CNN karşılaştırması 4. Google Colab ortamında Tesla 4 GPU ile eğitim

Sonuçlar:

Model mAP (%) Hız (FPS)
YOLO V5 93.1 120
EfficientDet ~88 ~30
Faster R-CNN ~85 ~15

YOLO V5, hem doğruluk hem hız açısından diğer modelleri geride bırakmıştır. Bu, gerçek zamanlı tarla izleme uygulamalarında YOLO'nun tercih sebebini açıkça göstermektedir.

10.6 YOLO'nun Tarımsal Uygulama Alanları

Uygulama Açıklama YOLO Avantajı
Meyve sayımı Ağaçtaki elma/portakal sayısı tahmini Gerçek zamanlı, yüksek hız
Yabancı ot tespiti Hassas ilaç uygulaması için ot konumlandırma Otonom robot rehberliği
Zararlı tespiti Böcek ve haşere görsel tespiti Drone uçuşu sırasında anlık analiz
Hastalık tespiti Yaprak/meyve üzerindeki lezyon bulma Mobil uygulama entegrasyonu
Olgunluk tahmini Meyve renk ve boyut analizi Hasat zamanlama kararları
Trafik gözlemi Tarla araçlarının izlenmesi Otonom traktör rehberliği

10.7 Özet

  1. Nesne tespiti, sınıflandırmadan farklı olarak nesnenin görüntüdeki konumunu da belirler.
  2. YOLO, tek geçişte tespit yaparak gerçek zamanlı tarımsal uygulamalara olanak tanır.
  3. YOLO V3, çok ölçekli tahmin ile farklı boyutlardaki hastalık lezyonlarını tespit edebilir.
  4. YOLO V5, CSPDarknet ve PANet ile yüksek doğruluk ve hız dengesi sunar.
  5. mAP ve IoU, modelin konumsal ve sınıfsal başarısını ölçen temel metriklerdir.
  6. Tarımda YOLO, özellikle drone, robot ve mobil uygulama senaryolarında tercih edilir.

Sonraki Ders: 11 Segmentasyon Unet -- Piksel düzeyinde sınıflandırma: tarlada ürün, yabancı ot ve toprak alanlarını hassas şekilde ayırma.