前言
本文只介绍如何利用YOLOv3训练好的model来计算VOC数据集的mAP。
举一反三,很容易理解如何利用自己训练的model来计算自己的数据集的mAP。
1 运行detector valid命令,进行测试
./darknet detector valid cfg/voc.data cfg/yolov3-voc.cfg backup/VOC/yolov3-voc_final.weights -out "" -gpu 0 -thresh .5
注意:-out “” 双引号其实可以加内容的,但建议初次使用时不要加自定义内容,网上很多教程都加了,其实一点用都没有。之后可以再慢慢探索。
运行速度很快,大概90秒
运行结束后,在results文件夹下生成20个.txt文件,为什么是20个,因为VOC数据集就是20类呀。
2 下载voc_eval.py
https://github.com/rbgirshick/py-faster-rcnn/tree/master/lib/datasets
3 新建compute_mAP.py
写入
from voc_eval import voc_eval
print voc_eval('/home/cxx/Amusi/Object_Detection/YOLO/darknet/results/{}.txt'