İçeriğe atla
SinaptikLabAI KNOWLEDGE PLATFORM
DersOrta45 dakikaComputer Vision Engineer · 4. ders

Nesne tespitinde eşleşme kuralı ve ölçüm

Tespit çıktısının doğru kutularla nasıl eşleştirildiğini, ortalama kesinlik ölçümünün neyi topladığını ve çapa tabanlı ile çapasız atamanın hangi kararı değiştirdiğini öğretir.

Önkoşul: Computer Vision, Deep Learning

BU DERSİN SONUNDA

  • IoU eşiğini görevin konum hassasiyetine göre seçmek
  • Bir tespit çıktısını kaçırma, yanlış konum, yanlış sınıf ve çift sayım olarak ayırmak
  • Ortalama kesinlik ile işletme çalışma noktası arasındaki farkı gerekçelendirmek
  • Çapa tabanlı ve çapasız atama arasında seçim yapmak
  1. 1

    Teori

    Kavramın çalışma mantığı

  2. 2

    Örnek

    Gerçek bir senaryo üzerinde gösterim

  3. 3

    Lab

    Uygulamalı alıştırma

  4. 4

    Test

    Kısa ölçüm

  5. 5

    Proje

    Rotadaki projeye katkı

Kısa cevap

Tespit iki soruyu aynı anda sorar: burada bir nesne var mı ve sınırları nerede? Ölçüm bu yüzden bir eşleşme kuralına dayanmak zorundadır; yaygın kural, tahmin kutusu ile doğru kutunun kesişiminin birleşime oranıdır (IoU). Ortalama kesinlik (AP) tek bir çalışma noktasının başarısı değil, güven eşiği taradıkça çizilen kesinlik-geri çağırma eğrisinin altındaki alandır. Ürün kararı ise tek bir sabit eşikte verilir; bu ikisini karıştırmak tespit projelerinin en yaygın ölçüm hatasıdır.

Teori: tespit bir atama problemidir#

Bir tespit ağı görüntü üzerinde çok sayıda aday konumda tahmin üretir; eğitimde her adayın hangi doğru kutudan sorumlu olduğuna karar vermek gerekir ve buna atama denir. Atama kuralı modelin davranışını doğrudan biçimlendirir: eşiği gevşetirseniz aynı nesne için çok sayıda pozitif üretilir ve çıktı kalabalıklaşır, sıkarsanız küçük nesneler hiç pozitif alamaz ve öğrenilemez. İkinci yapısal baskı sınıf dengesizliğidir: aday konumların ezici çoğunluğu arka plandır, düz bir sınıflandırma kaybı bu kolay negatiflerin toplamında boğulur ve zor örnekler görünmez olur. Çözümler aynı fikre dayanır, kolay negatifin katkısını bastırmak: zor negatif seçimi bunu örnek seçerek, odaklanmış kayıp ise iyi sınıflandırılmış örneğin ağırlığını düşürerek yapar.

Atama kuralının iki yaygın ailesi vardır. Çapa, kutu biçimi hakkında önceden yazılmış bir varsayımdır: şu ölçek ve en-boy oranlarında nesneler bekliyorum. Bu varsayım doğruysa regresyon işi kolaylaşır, yanlışsa model hiç göremeyeceği bir biçimi kovalar; bu yüzden çapa kümesi veri setinizin kutu istatistiğine bakılarak ayarlanır. Çapasız yaklaşımlar kutuyu bir noktadan kenarlara olan uzaklıklarla ya da bir merkez ısı haritasıyla ifade eder: ayarlanacak çapa kalmaz, ama atama mantığı (hangi nokta hangi nesneden sorumlu) yeni hiperparametreler getirir. Birebir eşleme kullanan tasarımlarda ise her nesneye tek tahmin atanır ve sonradan bastırma adımına gerek kalmaz.

Eşleşme kuralı: IoU#

python
def iou(a, b):
    """a, b: (x1, y1, x2, y2) kose koordinatlariyla verilmis kutular."""
    x1, y1 = max(a[0], b[0]), max(a[1], b[1])
    x2, y2 = min(a[2], b[2]), min(a[3], b[3])
    kesisim = max(0, x2 - x1) * max(0, y2 - y1)
    alan_a = (a[2] - a[0]) * (a[3] - a[1])
    alan_b = (b[2] - b[0]) * (b[3] - b[1])
    birlesim = alan_a + alan_b - kesisim
    return kesisim / birlesim if birlesim > 0 else 0.0


def eslestir(tahminler, gercekler, esik=0.5):
    """Tahminler guvene gore sirali islenir; her gercek kutu en fazla bir kez eslesir."""
    kalan = list(range(len(gercekler)))
    sonuc = []
    for kutu, guven in sorted(tahminler, key=lambda t: -t[1]):
        en_iyi, en_iyi_iou = None, esik
        for i in kalan:
            d = iou(kutu, gercekler[i])
            if d >= en_iyi_iou:
                en_iyi, en_iyi_iou = i, d
        if en_iyi is None:
            sonuc.append(("yanlis_alarm", guven, None))
        else:
            kalan.remove(en_iyi)
            sonuc.append(("dogru", guven, en_iyi_iou))
    sonuc += [("kacirma", None, None) for _ in kalan]
    return sonuc

Ortalama kesinlik ne topluyor?#

  1. 1Tahminleri sırala

    Bütün görüntülerdeki tahminleri güven değerine göre büyükten küçüğe dizin; sıralama, eşiği kademe kademe gevşetmenin başka bir ifadesidir.

  2. 2Eşleştir

    Her tahmini seçilen IoU eşiğinde henüz eşleşmemiş bir doğru kutuya bağlayın; bağlanamayan tahmin yanlış alarm, hiç bağlanmayan doğru kutu kaçırmadır.

  3. 3Eğriyi çıkarın

    Sıralamada aşağı indikçe biriken doğru ve yanlış sayılarından kesinlik ile geri çağırmayı hesaplayıp kesinlik-geri çağırma eğrisini çizin.

  4. 4Alanı alın

    Eğrinin altındaki alan o sınıf için AP değeridir; tek sayıya indirgeme burada olur ve bilgi burada kaybolur.

  5. 5Ortalayın

    Sınıflar üzerinden ortalama mAP'i verir. Protokol birden çok IoU eşiği kullanıyorsa eşikler üzerinden de ortalanır; bu, konum hassasiyetini ölçüme karıştırır.

Hata tipleri#

Hata tipiBelirtiOlası nedenMüdahale
KaçırmaGeri çağırma düşük, kesinlik iyiNesne girdi çözünürlüğünde çok küçük; atama eşiği bu ölçeğe pozitif vermiyorGirdi çözünürlüğü, çok ölçekli harita, atama kuralının ölçek duyarlılığı
Yanlış konumGevşek eşikte iyi, sıkı eşikte çöküyorKutu regresyonu kaba; çapa oranları veri istatistiğine uymuyorÇapa kümesini kendi kutularınıza göre ayarlayın; regresyon kaybını gözden geçirin
Yanlış sınıfKonum doğru, etiket yanlışSınıflar görsel olarak yakın; etiket rehberi sınırı tanımlamamışSınıf birleştirme, etiket rehberi netleştirme, karışan çift için hedefli veri
Çift sayımAynı nesne için birden çok kutuBastırma eşiği gevşek (yüksek IoU eşiği az kutu eler); birebir eşleme yokBastırma eşiğini düşürüp bastırmayı sertleştirin; kalabalık sahnede birebir eşlemeli tasarımı değerlendirin
Hayalet kutuBoş bölgede yüksek güvenli tahminEğitimde o arka plan dokusu zor negatif olarak hiç görülmemişNegatif örnek toplayın; benzer arka planları sete ekleyin

Karar: çalışma noktası#

Ürün kararı metrikten değil maliyetten çıkar. Kaçırmanın bedeli mi yüksek, yanlış alarmın bedeli mi? Güvenlik uyarısında kaçırma pahalıdır, geri çağırma öne alınır ve operatör gürültüye katlanır. Otomatik sayım hattında yanlış alarm pahalıdır, kesinlik öne alınır. Güven eşiği bu karşılaştırmadan seçilir ve sonra sabitlenir; raporlanacak sayılar da o sabit noktadaki kesinlik ve geri çağırmadır. AP yalnızca modeller arasında kabaca sıralama yapmak için kullanılır.

Sık yapılan hata#

Kutu biçimi karışıklığı bu alanın klasik hatasıdır: köşe koordinatı (x1, y1, x2, y2), merkez-boyut (cx, cy, w, h) ve normalize edilmiş biçimler birbirine benzer ama sessizce yanlış sonuç verir. İkinci hata, artırmada görüntüyü dönüştürüp kutuları dönüştürmeyi unutmaktır; model tutarsız hedeflerle eğitilir ve konum hatası açıklanamaz görünür. Üçüncüsü, küçük nesne sorununu çözmek için girdiyi küçültmektir: hesap düşer ama nesne birkaç piksele iner ve ağ onu hiçbir katmanda göremez.

LAB · UYGULAMALI ALIŞTIRMA

Kendi ölçüm hattınızı elle kurun

  1. 1Kendi fotoğraflarınızdan 10 tanesini seçip her birinde ilgilendiğiniz nesnelerin kutularını (x1, y1, x2, y2) ve sınıfını bir metin dosyasına elle yazın; toplam en az 25 kutu olsun.
  2. 2Aynı dosyaya bir tahmin listesi üretin: bazıları doğru, bazıları birkaç piksel kaymış, bazıları yanlış sınıflı, bazıları aynı nesne için iki kez; her birine bir güven değeri verin.
  3. 3Yukarıdaki iou ve eslestir fonksiyonları sınıf bilgisi taşımaz; bu yüzden eşleştirmeyi her sınıf için ayrı koşturun. Listeleri sınıfa göre bölüp 0,5 ve 0,75 eşiklerinde eşleşme sonuçlarını çıkarın ve yanlış sınıflı bir tahminin kendi sınıfında yanlış alarm, doğru sınıfta kaçırma olarak iki kez sayıldığını doğrulayın.
  4. 4Her eşikte kesinlik-geri çağırma eğrisini ve eğri altındaki alanı hesaplayıp iki sonucu yan yana yazın.
  5. 5Kaydırılmış kutuların yalnızca sıkı eşikte kaybedildiğini doğrulayın ve hangi hata tipinin hangi eşikte görünür olduğunu tabloya dökün.
  6. 6Çift sayımları elemek için basit bir bastırma uygulayın (aynı sınıfta IoU eşiğini aşan düşük güvenli kutuyu atın) ve ölçümü yineleyip farkı not edin.

Beklenen çıktı

Kendi yazdığınız IoU-eşleşme-AP hattı ve iki IoU eşiğinde hata tipi dağılımını gösteren karşılaştırma tablosu.

Sık sorulan sorular

mAP yükseldi ama ürün kötüleşti, bu nasıl olur?

mAP sınıflar ve çoğu protokolde eşikler üzerinden ortalama alır. Nadir bir sınıftaki iyileşme ya da gevşek eşikteki kazanç ortalamayı yukarı çekerken, sizin sabit çalışma noktanızda önemsediğiniz sınıfın kesinliği düşmüş olabilir. Karar için her zaman sabit eşikte, sınıf başına kesinlik ve geri çağırmaya bakın.

Çapasız yöntem her zaman daha basit mi?

Daha az değil, farklı hiperparametre demektir. Çapa ölçekleri ve oranları ortadan kalkar, yerine merkez örnekleme yarıçapı, atama maliyet ağırlıkları veya ısı haritası hedeflerinin yayılımı gelir. Gerçek kazanç, bu parametrelerin veri setinizin kutu istatistiğine sizin elinizle uydurulması gerekmemesidir; bedeli, atamanın neden öyle davrandığını incelemenin zorlaşmasıdır.

Küçük nesnelerde geri çağırma neden bu kadar düşük?

Üç mekanizma üst üste biner: nesne birkaç piksele indiğinde bilgi zaten yoktur; adımlı katmanlar o bilgiyi erken seyreltir; atama kuralı küçük kutuya yeterli pozitif aday bulamaz. Çözüm tek başına daha büyük bir model değil, girdi çözünürlüğü, kararın alındığı ölçek ve atama kuralının birlikte ayarlanmasıdır.

LEARN

Computer Vision Engineer rotasına devam et

Dersler tek başına da okunabilir, ama sıralı ilerlemek önkoşul boşluklarını kapatır.