数据集格式&评价指标
数据集
VOC
- JPEGImages 放整个数据集的图片
- Annotations 放整个数据集的标注 xml 文件
- Main中包含train.txt,val.txt,test.txt,trainval.txt (用dataset_seg.py对数据集进行拆分)
coco
从VOC格式转为COCO格式
- 首先运行 voc2coco.py 在 VOC 中生成 labels 和 images 文件夹
- 然后将 images 中的 train 目录下的图片放置到 train2017 中,将 val 目录下的图片放置到 val2017 中
- 最后运行 getcoco.py 根据 VOC 中 labels 下的 train/val 中的 xml,生成 annotations 中的instances_train2017.json / instances_val2017.json
评价指标
label 有框(positive) | label 无框(negative) | |
---|---|---|
预测有框(positive) | TP (iou>0.5) | FP (iou<=0.5)(误检) |
预测无框(negative) | FN(漏检) | TN(不考虑) |
注意:
- true 和 false 都是针对预测结果是否符合label的评价
- TN不考虑是因为,label无框,输出也无框,对loss计算没有影响
(查准率)Precision: 模型预测的所有框中,预测正确的比例。TP/(TP+FP)
(查全率)Recall: label的所有框中, 模型预测正确的比例。TP/(TP+FN )
AP: P-R 曲线下的面积
mAP: 各个类别的平均AP
- 先根据 iou_thr,确定所有detect_bbox 的 true/false 情况,并根据confidence进行排序
- 设定不同的confidence_thr,确定其TP, FP(假阳,误检), FN(假阴,漏检) 的数量,计算查准率和查全率(随着confidence_thr值设置得越小,模型输出bbox越多,查准率降低,查全率会提升)
- 根据不同confidence_thr下的查准率和查全率,画出PR曲线 了(当多个rank的recall值相同时,只保留precision最大的那个rank),计算阴影面积即AP
关于AR指标:https://zhuanlan.zhihu.com/p/535794631