一.计算单类精度及mAP
1.批处理测试图输出检测结果文本
./darknet detector valid cfg/voc.data cfg/yolov3-voc.cfg results/yolov3-voc_final.weights -out detect_result.txt
使用detector valid参数,具体函数是detector.c下的validate_detector函数。将训练集的检测结果保存到detect_result.txt。
其中thresh在validate_detector中默认为0.005,按需修改。
修改txt文件名为检测的类别名,我的标签是weeds,即weeds.txt
2.使用py-faster-rcnn下的voc_eval.py计算mAP
将py-faster-rcnn/lib/datasets/voc_eval.py拷贝到darknet根目录
新建compute_mAP.py
from voc_eval import voc_eval
print voc_eval(’/xxx/darknet/results/{}.txt’, ‘/xxx/darknet/scripts/VOCdevkit/VOC2007/Annotations/{}.xml’, ‘/xxx/darknet/scripts/VOCdevkit