Apa arti notasi mAP @ [. 5: .95]?

17

Untuk deteksi, cara umum untuk menentukan apakah satu proposal objek benar adalah Persimpangan atas Union (IoU, IU). Ini mengambil himpunan dari objek piksel yang diusulkan dan set piksel objek benar dan menghitung:BSEBUAHB

sayaHaiU(SEBUAH,B)=SEBUAHBSEBUAHB

Secara umum, IoU> 0,5 berarti bahwa itu hit, jika tidak maka gagal. Untuk setiap kelas, seseorang dapat menghitung

  • True Positive ( ): proposal dibuat untuk kelas dan sebenarnya ada objek kelasc cTP(c)cc
  • False Positive ( ): proposal dibuat untuk kelas , tetapi tidak ada objek kelasc cFP(c)cc
  • Rata-rata Presisi untuk kelas :# T P ( c )c#TP(c)#TP(c)+#FP(c)

PETA (rata-rata presisi rata-rata) =1|clSebuahsses|cclSebuahsses#TP(c)#TP(c)+#FP(c)

Jika seseorang menginginkan proposal yang lebih baik, ia memang meningkatkan IoU dari 0,5 ke nilai yang lebih tinggi (hingga 1,0 yang akan menjadi sempurna). Seseorang dapat menyatakan ini dengan mAP @ p, di mana adalah IoU.hal(0,1)

Tapi apa artinya mAP@[.5:.95](seperti yang ditemukan dalam makalah ini )?

Martin Thoma
sumber
Saya menduga [.5:.95]bagian ini mengacu pada rentang nilai IoU, tetapi bagaimana rentang itu dinilai menjadi satu peta yang saya tidak akan tahu.
Neil Slater
@ NeilSlater Tapi mengapa Anda ingin batas atas? Bukankah IoU yang lebih tinggi selalu lebih baik?
Martin Thoma
Mencapai kecocokan dengan IoU yang lebih tinggi lebih baik, tetapi mungkin nilai mAP berkurang jika kita mengukur seberapa baik model menggambarkan kecocokan sempurna (untuk model apa pun), dan itu tidak dianggap sebagai ukuran yang berguna. Mengapa itu tidak termasuk dalam rentang yang saya tidak tahu, tapi kemudian saya tidak tahu bagaimana peta dihitung dalam kasus ini - itu mungkin berarti sederhana berdasarkan sampel misalnya.
Neil Slater
1
Ada repositori github ini dengan penjelasan yang sangat baik tentang IOU , Precision , Recall , Average Precision dan mAP . Ini juga memiliki kode yang mengevaluasi setiap detektor objek. Ini pasti akan membantu kalian : https://github.com/rafaelpadilla/Object-Detection-Metrics
Rafael Padilla

Jawaban:

10

mAP@[.5:.95](seseorang dilambangkan mAP@[.5,.95]) berarti rata-rata pemetaan atas ambang batas IoU yang berbeda, dari 0,5 menjadi 0,95, langkah 0,05 (0,5, 0,55, 0,6, 0,65, 0,7, 0,75, 0,8, 0,85, 0,9, 0,95).

Ada tantangan MS COCO terkait dengan metrik evaluasi baru, yang rata-rata memetakan atas ambang batas IoU yang berbeda, dari 0,5 menjadi 0,95 (ditulis sebagai "0,5: 0,95"). [ Ref ]

Kami mengevaluasi pETA rata-rata untuk IoU ∈ [0,5: 0,05: 0,95] (metrik standar COCO, cukup dilambangkan sebagai pETA @ [. 5, 0,95]) dan mAP@0,5 (metrik PASCAL VOC). [ Ref ]

Untuk mengevaluasi deteksi akhir kami, kami menggunakan COCO API resmi [20], yang mengukur rata-rata pemetaan atas ambang batas IOU di [0,5: 0,05: 0,95], di antara metrik lainnya. [ Ref ]

BTW, kode sumber dari coco menunjukkan apa mAP@[.5:.95]yang dilakukan:

self.iouThrs = np.linspace(.5, 0.95, np.round((0.95 - .5) / .05) + 1, endpoint=True)

Referensi

https://github.com/pdollar/coco

http://mscoco.org/

https://www.cs.cornell.edu/~sbell/pdf/cvpr2016-ion-bell.pdf

https://arxiv.org/pdf/1506.01497.pdf

https://arxiv.org/pdf/1611.10012.pdf

Icyblade
sumber
Apakah Anda keberatan dengan pertanyaan? Jika misalnya kita memiliki 3 contoh kelas tertentu dalam dataset, dan model mengembalikan nilai Iou 0,1, 0,6 dan 0,9 untuk mereka, apakah itu berarti bahwa kita membuang hasil 0,1 dan rata-rata iou dari 0,75 dan mAP yang sesuai?
Alex
5

#TP(c)#TP(c)+#FP(c)

anhvh
sumber
Bagi mereka yang mencari melalui referensi, definisi Average Precision (AP) ada di halaman 11.
Waylon Flinn
3

AP dirata-rata untuk semua kategori. Secara tradisional, ini disebut "rata-rata presisi" (mAP). Kami tidak membuat perbedaan antara AP dan mAP (dan juga AR dan mAR) dan menganggap perbedaannya jelas dari konteksnya.

http://cocodataset.org/#detections-eval

Mark Yang
sumber
Saya pikir mAP adalah rata-rata AP di multi-class. Saya suka mengetahui / penulis definisi kertas kategori Anda.
Cloud Cho