无图/无目录/格式错误/更多相关请到上方的文章首发页面查看。

基于NAIE平台的YOLOv5识别超超超可爱的逢坂大河

如果有误,麻烦评论提出,谢谢。


目录



1. 传参



2. 评估参数



3. 如何提高mAP



4. 参考文献


传参
  • conf_thres
  • Confidence Threshold,置信度阈值。
  • 只显示预测概率超过conf_thres的预测结果。
  • 想让YOLO只标记可能性高的地方,就把这个参数提高。
  • iou_thres
  • Intersect over Union Threshold,交并比阈值。
  • IOU值:预测框大小∩真实框大小 / 预测框大小∪真实框大小。
  • 预测框与真实框的交集与并集的取值。
  • iou_thres在detect.py中:
  • 越大,则容易将对于同一个物品的不同预测结果 当成 对多个物品的多个预测结果,导致一个物品出现了多个预测结果。
  • 越小,则容易将对于多个物品的不同预测结果 当成 对同一个物品的不同预测结果,导致多个物品只出现了一个预测结果。
  • 如下面对甜甜圈的预测一般,多个甜甜圈重叠在一起的图片中:
  • 将iou阈值设为0.65,检测出了18个甜甜圈。
  • 设为0,检测出了6个甜甜圈,并且检测区域都没有重复。
  • 设为0.98,检测出了111个甜甜圈,将一个甜甜圈检测成多个甜甜圈。

yolov5和resnet50_目标检测

图1:iou-thres = 0.65

yolov5和resnet50_目标检测_02

图2:iou-thres = 0

yolov5和resnet50_目标检测_03

图3:iou-thres = 0.98

评估参数
  • P
  • Precision,精确率
  • 对类A来说(下面提到的都是被预测成A的):
  • P = 正确数 / 预测总数
  • 或 P = 正确数/ 正确数+错误数
  • 即,预测的东西正确了多少百分比。
  • R
  • Recall,召回率
  • 对类A来说(下面提到的都是被归为A类的):
  • R = 预测正确数 / 真实A类总数。
  • 或 R = 预测正确数 / 被预测到的A + 未被预测到的A
  • 即,预测的东西找到了多少百分比。
  • F1
  • F-Measure,F值,P与R的调和平均
  • F=1/(λ1P+(1−λ)1R),λ = 0.5时,简化为F1
  • F1 = 2*P*R / (P + R)
  • 例:对于一个二分类问题来说:
  • 要对动物进行分类,分为猫与非猫两类。样本中,猫有350份,非猫有150份。
  • 预测出了400份被认为是猫,其中,正确的有300份,错误的有100份。则:
  • P = 300 / 400 = 0.75
  • R = 300 / 350 ≈ 0.86
  • PR图
  • 横坐标是R值,纵坐标是P值,曲线表示当召回率为R时,精确率P的大小。
  • 例:
  • 假设测试集图片数量为一百张,且测试了一百张。
  • 当A类的R值设为0时,表示以某精确度P1计算,没有检测到A类。
  • 当A类的R值设为0.1时,表示以某精确度P2计算,检测到了A类总数的10%。
  • 以此类推,当A类的R值设为1时,表示以某精确度P11计算,检测到了所有的A类标签。
  • 可以看出,随R值的升高,A被预测到的数量也会增加,即那些可能性较低的A类也逐渐被预测出来。
  • 因此,可以判断P值是随着R的升高而降低。
  • P值如果设为100,即要求被标记出来的区域一定属于A类,这种概率非常低,所以可能一个A类都识别不出来,进而导致R值为0。
  • 而若P值设为0.1,则要求被标记出来的区域只要有百分十的概率属于A类即可,那么将有很多A类被标记,R值也进一步提高。
  • 因此,PR图左下方的面积越大,则表示模型对该数据集的效果越好。
  • AP
  • Average Precision
  • 以某种方式计算AP值来表达PR图的面积
  • 下面提到的是PASCAL VOC竞赛于2010年前的计算方式,
  • 根据我查到的资料,也是YOLOv3的计算方式(目标检测中常提到的IoU和mAP究竟是什么?)。
  • 但我没有在YOLOv5的github wiki上找到相关资料,也没有在其它地方找到。
  • 使用平均,以R in range(0 : 1 : 0.1)作为IOU,满足这个R值的最大P值作为Pi,求11个Pi的平均数。
  • 这里的R是以0为起点,1为终点,0.1为步长的十一个值,1也算。
  • 即上面解释PR图时的例子里R与P的关系。
  • mAP
  • mean Average Precision
  • 每个类的AP值的平均数。
  • 用于表达多类标签预测的性能,如AP一样,mAP越高,性能越好。
  • mAP@.5
  • 当IoU为0.5时的mAP。
  • mAP@.5 : .95
  • 当IoU为range(0.5 : 0.95 : 0.05)时的mAP的平均数。
如何提高mAP
  • 优化数据集:
  • 每类图片数量:每类大于1500张图片
  • 每个类的实例:每类实例(标签)大于一万份。
  • 图像多样性:确保图片来自不同环境。对于现实世界物体的识别,推荐使用来自不同时间、不同季节、不同天气、不同光照度、不同角度、不同来源的图片。
  • 标签一致性:所有类中所有实例必须都被标签标记,不要遗漏。
  • 标签准确性:标签能准确标记对象,不要在对象与标记框之间留下缝隙。没有对象可以不用标记(背景图片)。
  • 背景图片:背景图片是指没有对象的图片,用来减少误报。YOLO推荐0~10%的背景图片来减少误报(COCO数据集包含1000张背景图片,占据总数1%)。
  • 简单来说:
  • 增加不同角度/光照度的数据集。
  • 增加不同环境的数据集。
  • 增加背景图片(无目标的图片)。
  • 增加数据集大小。
  • 确保标签标定准确。
  • 欢迎补充。
参考文献

推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)

目标检测中常提到的IoU和mAP究竟是什么?

目标检测评价指标(mAP)

mAP@0.5与mAP@0.5:0.95的含义,YOLO