PASCAL VOC Challenge için algılama görevi için mAP nasıl hesaplanır?


22

Pascal VOC skor tabloları için algılama görevi için mAP (ortalama Ortalama Hassasiyet) nasıl hesaplanır? http://host.robots.ox.ac.uk:8080/leaderboard/displaylb.php?challengeid=11&compid=4

Söyledi - sayfa 11 : http://homepages.inf.ed.ac.uk/ckiw/postscript/ijcv_voc09.pdf

Ortalama Hassasiyet (AP). VOC2007 zorluğu için, hem sınıflandırma hem de saptamayı değerlendirmek için enterpolasyonlu ortalama hassasiyet (Salton ve Mcgill 1986) kullanıldı. Belirli bir görev ve sınıf için, kesinlik / geri çağırma eğrisi bir yöntemin sıralı çıktısından hesaplanır. Hatırlama, belirli bir sıralamanın üzerinde sıralanan tüm pozitif örneklerin oranı olarak tanımlanır. Kesinlik, yukarıdaki sınıftan pozitif sınıftan olan tüm örneklerin oranıdır. AP, duyarlık / geri çağırma eğrisinin şeklini özetler ve eşit olarak aralanmış on bir aralıklı geri çağırma düzeyindeki ortalama hassasiyet olarak tanımlanır [0,0.1, ..., 1]: AP = 1/11 ∑ r∈{0,0.1,...,1} pinterp(r)

Her geri çağırma seviyesindeki r hassasiyeti, karşılık gelen geri pinterp(r) = max p(r˜)çağrının r'yi aştığı bir yöntem için ölçülen maksimum hassasiyet alınarak enterpole edilir , burada p (r˜) geri çağrıda precisionr ölçülen hassasiyettir

MAP hakkında: http://0agr.ru/wiki/index.php/Precision_and_Recall#Average_Precision


Yani şu anlama gelir:

  1. Biz Hassasiyet ve Çağır hesaplamak :

    • A) Birçok farklı içinIoU > {0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1} Doğru / Yanlış Pozitif / Negatif değerleri hesaplıyoruz

    Burada True positive = Number_of_detection with IoU > {0, 0.1,..., 1}söylendiği gibi: /datascience//a/16813/37736 ve sonra hesaplıyoruz:

    Precision = True positive / (True positive + False positive)

    Recall = True positive / (True positive + False negative)


  • B) Veya birçok farklı tespit algoritması eşiği için hesaplıyoruz:

    Precision = True positive / (True positive + False positive)

    Recall = True positive / (True positive + False negative)

    Burada True positive = Number_of_detection with IoU > 0.5söylendiği gibi: /programming//a/43168882/1558037



  1. Sonra burada gösterildiği gibi Hassas Geri Çağırma eğrisi oluşturuyoruz : resim açıklamasını buraya girin

  1. Daha sonra AP'yi (ortalama hassasiyet) aşağıdaki noktalarda ortalama 11 değerinPrecisionRecall = {0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1} , yaniAP = 1/11 ∑ recall∈{0,0.1,...,1} Precision(Recall)

(Genel olarak her nokta için, örneğin 0.3, bu noktadaki Hassasiyet değeri yerine Hatırlama için Hassasiyet <= 0.3 alırız)


  1. Ve AP'yi tüm görüntülerde sadece 1 şey nesne sınıfı için hesapladığımızda - o zaman bu sınıf için AP (ortalama hassasiyet) elde ederiz, örneğin, sadece air.

Yani AP bir integraldir (eğrinin altındaki alan): /stats//a/157019/111998

Ancak tüm görüntülerdeki tüm nesne sınıfları için AP'yi hesapladığımızda - tüm resimler veri kümesi için mAP (ortalama ortalama hassasiyet) elde ederiz , örneğin, 88.6R4D_faster_rcnn için: http://host.robots.ox.ac.uk:8080/leaderboard /displaylb.php?challengeid=11&compid=4


Sorular:

  1. Bu doğru mu ve değilse, Pascal VOC Challenge için mAP nasıl hesaplanır?
  2. Ve paragraf 1'de 3 formülden (A, B veya C) Hassasiyet ve Geri Çağırma hesaplaması için doğru olan nedir?

Kısa cevap:

  • mAP = AVG (her nesne sınıfı için AP)
  • AP = AVG (11 hatırlamanın her biri için kesinlik {kesinlik = 0, 0.1, ..., 1})
  • PR-eğrisi = Hassasiyet ve Geri Çağırma (Tahminler bağlı kutularındaki her bir Eşik için)
  • Hassasiyet = TP / (TP + FP)
  • Hatırlama = TP / (TP + FN)
  • TP = IoU> 0.5 ile tespit sayısı
  • FP = IoU <= 0,5 olan veya bir kereden fazla tespit edilen tespit sayısı
  • FN = IoU <= 0,5 ile algılanmayan veya algılanmayan nesne sayısı

Yanıtlar:


15

Sorularınızı cevaplamak için:

  1. Evet yaklaşımınız doğru
  2. A, B ve C için doğru cevap B'dir.

Açıklama şu şekildedir: Nesne Tespiti bağlamında Ortalama Ortalama Hassasiyeti (mAP) hesaplamak için, her sınıf için Ortalama Hassasiyeti (AP) hesaplamanız ve ardından tüm sınıflar için ortalamayı hesaplamanız gerekir. Buradaki anahtar, her sınıf için AP'yi hesaplamaktır, genel olarak Precision (P) ve Recall (R) hesaplamak için aşağıdakileri tanımlamanız gerekir: Gerçek Pozitifler (TP), Yanlış Pozitifler (FP), Gerçek Negatif (TN) ve Yanlış Negatif (FN). Pascal VOC Mücadelesinin Nesne Tespiti ayarında aşağıdakiler vardır:

  • TP: zemin gerçeği (GT) ile sendika (IoU) üzerindeki kesişimin 0,5'in üzerinde olduğu Sınırlayıcı Kutular (BB)
  • FP: GT ile IoU'nun 0,5'in altında olduğu BB, daha önce tespit edilmiş bir GT'ye sahip IoU'ya sahip BB.
  • TN: Gerçek negatif yok, görüntünün en az bir nesne içermesi bekleniyor
  • FN: Bu görüntüler BB üretemeyen yöntemdi

Şimdi tahmin edilen her BB verilen sınıf için bir güven değerine sahiptir. Bu nedenle puanlama yöntemi, güven derecesini azaltmak için tahminleri sıralar ve k = 1 olası her bir sıralama için P = TP / (TP + FP) ve R = TP / (TP + FN) tahmin sayısına kadar hesaplar. Şimdi her bir sıralama için bir (P, R) var, bu P ve R "ham" Hassas-Geri Çağırma eğrisidir. R'nin enterpolasyonlu PR eğrisinin her bir değerini hesaplamak için karşılık gelen R '> = R olan maksimum P'yi seçersiniz.

Voc devkit doc'ye göre PR eğri noktalarını örneklemenin iki farklı yolu vardır . 2010 öncesi VOC Challenge için, R 0, 0.1, ..., 1'e (on bir puan) ait olan herhangi bir R '> = R için elde edilen maksimum P'yi seçiyoruz. Bu durumda AP, Geri Çağırma eşiklerinin her birindeki ortalama hassasiyettir. VOC Challenge 2010 ve sonrasında, R '> = R için maksimum P'yi seçmeye devam ederken, R tüm benzersiz geri çağırma değerlerine (0 ve 1 dahil) aittir. AP, PR eğrisinin altındaki alan boyutudur. Bazı eşik değerlerin üzerinde Geri Çağırma özelliğine sahip bir P değerine sahip değilseniz, Hassasiyet değerinin 0 olduğuna dikkat edin.

Örneğin, "Uçak" sınıfında verilen bir yöntemin aşağıdaki çıktısını düşünün:

BB  | confidence | GT
----------------------
BB1 |  0.9       | 1
----------------------
BB2 |  0.9       | 1
----------------------
BB3 |  0.7       | 0
----------------------
BB4 |  0.7       | 0
----------------------
BB5 |  0.7       | 1
----------------------
BB6 |  0.7       | 0
----------------------
BB7 |  0.7       | 0
----------------------
BB8 |  0.7       | 1
----------------------
BB9 |  0.7       | 1
----------------------

Ayrıca iki görüntüde sınırlayıcı kutuları tespit etmediği için FN = 2 var. TP = 5 (BB1, BB2, BB5, BB8 ve BB9), FP = 5. Sıra = 3 durumunda, BB1 zaten tespit edildiğinden hassasiyet düşer, bu nedenle nesne gerçekten mevcut olsa bile bir FP olarak sayılır. .

rank=1  precision=1.00 and recall=0.14
----------
rank=2  precision=1.00 and recall=0.29
----------
rank=3  precision=0.66 and recall=0.29
----------
rank=4  precision=0.50 and recall=0.29
----------
rank=5  precision=0.40 and recall=0.29
----------
rank=6  precision=0.50 and recall=0.43
----------
rank=7  precision=0.43 and recall=0.43
----------
rank=8  precision=0.38 and recall=0.43
----------
rank=9  precision=0.44 and recall=0.57
----------
rank=10 precision=0.50 and recall=0.71
----------

Önceki sonuçlar göz önüne alındığında: voc2010'dan önceki yolu kullandıysak, enterpolasyonlu Hassas değerler 1, 1, 1, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0, 0, 0'dır. Sonra AP = 5.5 / 11 = 0.5 "Uçaklar" sınıfı. Eğer voc2010'dan beri yolu kullanırsak, enterpolasyonlu Hassas değerler 0, 0.14, 0.29, 0.43, 0.57, 0.71, 1. benzersiz yedi hatırlama için 1, 1, 1, 0.5, 0.5, 0.5, 0'dır. Sonra AP = (0.14-0) * 1 + (0.29-0.14) * 1 + (0.43-0.29) * 0.5 + (0.57-0.43) * 0.5 + (0.71-0.57) * 0.5 + (1-0.71) * 0 = 0.5 "Uçaklar" sınıfı.

Her sınıf için tekrarlayın ve sonra (mAP) var.

Daha fazla bilgi aşağıdaki bağlantılarda bulunabilir 1 , 2 . Ayrıca makaleyi de kontrol etmelisiniz: PASCAL Visual Object Classes Challenge: Daha ayrıntılı bir açıklama için Retrospektif .


1
Rica ederim! Evet, tüm resimlerde hesaplamanız gerekir. IoU> 0.5 ise GT 1'dir. Son FN algılanmayan 3 nesne için 3 olacak
feynman410

1
FN, tahmin yapılmayan görüntü sayısı, FP, IoU <= 0.5 olan veya bir kereden fazla algılanan algılama sayısıdır. Bu sahte kod istatistiklerine bakın.stackexchange.com/a
263758/

1
Maalesef, sağınız algılanmayan sayı nesneleri.
feynman410

1
@ feynman410 kafam karıştı, lütfen tespit edilmeyen ancak olması gereken tablo nesnelerine nereye yerleştirdiğinizi söyler misiniz? masanın sonunda? (çünkü onlar için bir puan yok)
Martin Brišiak

1
Yani "Hassas" ve "Geri Çağırma" her sınıf için ayrı ayrı hesaplanır - sınıf başına AP hesaplamak için. Sağ? Yani her bir görüntü üzerinde ayrı ayrı hesaplanırlar ve sonra ortalamaları alınır mı, yoksa tüm görüntülerdeki toplam tespitler üzerinden hesaplanırlar mı?
SomethingSomething

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.