Tôi khá bối rối về cách tôi có thể tính toán các giá trị AP hoặc mAP vì dường như có khá nhiều phương pháp khác nhau. Tôi đặc biệt muốn nhận các giá trị AP / mAP để phát hiện đối tượng.
Tất cả những gì tôi biết chắc chắn là:
Nhớ lại = TP / (TP + FN), Chính xác = TP / (TP + FP)
Ví dụ: nếu tôi chỉ có 1 lớp để đánh giá và nói 500 hình ảnh thử nghiệm. Mỗi hình ảnh thử nghiệm có thể có số lượng dự đoán khác nhau (đề xuất hộp giới hạn) nhưng mỗi hình ảnh chỉ có một hộp giới hạn mặt đất.
Hình 1: [lớp, xác suất, x1, y1, x2, y2], [lớp, xác suất, x3, y3, x4, y4], [lớp, xác suất, x5, y5, x6, y6], [lớp, xác suất, x7, y7, x8, y8], ...
Hình 2: [lớp, xác suất, x1, y1, x2, y2], [lớp, xác suất, x3, y3, x4, y4], ...
. . . (và như thế)
* chỉ là một ví dụ, tôi đã làm điều này
Tôi biết rằng để có được TP, chúng ta phải tìm IOU của từng dự đoán và đếm những cái trên ngưỡng đã chọn, chẳng hạn như 0,5 (nếu chúng ta có nhiều dự đoán với IOU trên ngưỡng, chúng ta chỉ đếm một lần và xử lý các dự đoán khác như FP?).
Đây là nơi nó đánh đố tôi:
TP + FP = # dự đoán được thực hiện cho mỗi hình ảnh?
Vì tất cả các hình ảnh thử nghiệm không có tiêu cực, TP + FN = 500?
Nó được tính trên mỗi hình ảnh, hoặc mỗi lớp?
Ai đó có thể cho tôi biết hướng dẫn từng bước để có được AP / mAP dựa trên ví dụ của tôi không? Tôi thấy phần mơ hồ nhất là liệu chúng ta làm điều đó trên mỗi hình ảnh hay mỗi lớp (tức là 500 hình ảnh cùng một lúc).
Hầu hết các hướng dẫn / giấy tờ tôi tìm thấy đều rất nhắm đến việc truy xuất thông tin. Sẽ đánh giá cao một số trợ giúp trong việc này.
* Lưu ý: Tôi đang thử nghiệm nó trên một số tập dữ liệu tùy chỉnh. Tôi biết PASCAL VOC có một số mã để làm điều đó, nhưng tôi muốn tự viết mã, tùy chỉnh theo dữ liệu của riêng tôi.