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
Teori
Kavramın çalışma mantığı
- 2
Örnek
Gerçek bir senaryo üzerinde gösterim
- 3
Lab
Uygulamalı alıştırma
- 4
Test
Kısa ölçüm
- 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#
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 sonucOrtalama kesinlik ne topluyor?#
- 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.
- 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.
- 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.
- 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.
- 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 tipi | Belirti | Olası neden | Müdahale |
|---|---|---|---|
| Kaçırma | Geri çağırma düşük, kesinlik iyi | Nesne girdi çözünürlüğünde çok küçük; atama eşiği bu ölçeğe pozitif vermiyor | Girdi çözünürlüğü, çok ölçekli harita, atama kuralının ölçek duyarlılığı |
| Yanlış konum | Gevşek eşikte iyi, sıkı eşikte çöküyor | Kutu 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ıf | Konum 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ım | Aynı nesne için birden çok kutu | Bastırma eşiği gevşek (yüksek IoU eşiği az kutu eler); birebir eşleme yok | Bastırma eşiğini düşürüp bastırmayı sertleştirin; kalabalık sahnede birebir eşlemeli tasarımı değerlendirin |
| Hayalet kutu | Boş bölgede yüksek güvenli tahmin | Eğ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
- 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.
- 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.
- 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.
- 4Her eşikte kesinlik-geri çağırma eğrisini ve eğri altındaki alanı hesaplayıp iki sonucu yan yana yazın.
- 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Ç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.
