YOLOv3 如何快速計算mAP (一條指令搞定)

今天跑了一下YOLOv3,用的VOC格式的數據集,發現不知道怎麼計算mAP。

於是乎,百度了一下,折騰了好幾下,我發現,有些人的方法繞來繞去,不知道是不是故意炫技,雖然也能計算,但讓人覺得不知所云,一會要輸入命令行,一會又要用到python,一會又要刪除什麼文件,一會又要設置什麼difficult參數,甚至有的要修改darknet源碼,總之搞得非常複雜。

偶然間自己發現了一個快速計算mAP的方法,完全不需要用到python,1分鐘就能搞定,只要修改幾個地方,然後一條命令行指令搞定。

進入正題:

1. 如果你之前訓練的是VOC格式的數據集,你一定會得到一個測試用的.txt文件,裏面寫了測試圖片的絕對路徑,例如:
1
2. 修改voc.data文件,修改裏面的 valid 設置爲測試用的.txt文件的路徑,其他不要動,如下所示:

classes= 20
train  = data/voc/voc_train.txt
valid  = data/voc/2007_test.txt    #這裏寫的是你測試用的.txt文件的相對路徑
names = data/voc.names
backup = data/weights

3. 然後cd 進入你的…darknet-master/build/darknet/x64 路徑下,在CMD中輸入:

darknet.exe detector map data/voc.data data/yolov3-voc.cfg data/weights/yolov3-voc_22000.weights -points 11 -thresh 0.5 -iou_thresh 0.5

一些參數說明:
data/voc.data   #改成你使用的voc.data 的相對路徑
data/yolov3-voc.cfg    #改成你使用的yolov3-voc.cfg 的相對路徑
data/weights/yolov3-voc_22000.weights    #改成你使用的.weights權重參數文件的相對路徑
points 11     #11表示該數據集爲VOC格式的數據集,coco爲101 ,ImageNet爲0
thresh 0.5     #只計算預測置信值大於0.5的預測框
iou_thresh 0.5   #只計算IOU交併比大於0.5的預測框

結果如圖所示,總共測試了4952張圖片,你會發現所有的指標都已經幫你計算好了,其中mAP=74.61%

2

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章