Saya cukup bingung bagaimana saya bisa menghitung nilai AP atau mAP karena tampaknya ada beberapa metode yang berbeda. Saya secara khusus ingin mendapatkan nilai AP / mAP untuk deteksi objek.
Yang saya tahu pasti adalah:
Ingat = TP / (TP + FN), Presisi = TP / (TP + FP)
Misalnya, jika saya hanya memiliki 1 kelas untuk mengevaluasi, dan mengatakan 500 gambar uji. Setiap gambar uji mungkin memiliki jumlah prediksi yang berbeda (proposal kotak pembatas) tetapi setiap gambar hanya memiliki satu kotak pembatas tanah-kebenaran.
Gambar 1: [kelas, probabilitas, x1, y1, x2, y2], [kelas, probabilitas, x3, y3, x4, y4], [kelas, probabilitas, x5, y5, x5, y6], [kelas, probabilitas, x7, y7, x8, y8], ...
Gambar 2: [kelas, probabilitas, x1, y1, x2, y2], [kelas, probabilitas, x3, y3, x4, y4], ...
. . . (dan seterusnya)
* hanya sebuah contoh, saya mengada-ada
Saya tahu bahwa untuk mendapatkan TP, kita harus menemukan IOU dari setiap prediksi dan menghitung yang di atas ambang batas yang dipilih seperti 0,5 (jika kita memiliki beberapa prediksi dengan IOU di atas ambang batas, apakah kita hanya menghitung satu kali dan memperlakukan yang lain sebagai FP?).
Di sinilah tempat itu membingungkan saya:
Apakah TP + FP = # prediksi dibuat untuk setiap gambar?
Karena semua gambar uji tidak memiliki negatif, TP + FN = 500?
Apakah dihitung per gambar, atau per kelas?
Bisakah seseorang memberi tahu saya panduan langkah demi langkah untuk mendapatkan AP / MAP berdasarkan contoh saya? Saya menemukan bagian yang paling ambigu adalah apakah kita melakukannya per gambar, atau per kelas (yaitu 500 gambar sekaligus).
Sebagian besar panduan / makalah yang saya temukan sangat bertarget pencarian informasi. Sangat menghargai bantuan dalam hal ini.
* Catatan: Saya mengujinya pada beberapa dataset khusus. Saya tahu PASCAL VOC memiliki beberapa kode untuk melakukannya, tetapi saya ingin menulis kode sendiri, disesuaikan dengan data saya sendiri.