• 1. yolo 前置知识


    1. 深度学习经典检测方法

    • two-stage(两阶段):Faster-rcnn、Mask-Rcnn系列。先确定一些候选,再进一步确定。
      在这里插入图片描述
      优点:效果通常比较好。
      缺点:速度通常较慢(5FPS)。

      FPS:用来评估目标检测的速度。

    • one-stage(单阶段):YOLO系列。一步到位,没有预选。
      在这里插入图片描述
      优点:速度非常快,适合做实时检测任务。
      缺点:效果通常不太好。

    2. IOU(Intersection over Union)

    I O U = A r e a o f O v e r l a p A r e a o f U n i o n = 交集 并集 IOU = \frac{Area of Overlap}{Area of Union}= \frac{交集 }{并集} IOU=AreaofUnionAreaofOverlap=并集交集

    下面是某次检测的情况:
    蓝框是物体实际存在的位置,即真实值。
    红框是物体被检测到的位置,即预测值。
    上式中的交集和并集就是蓝框和红框区域的交集和并集。
    所以,IOU 越高说明蓝框和红框重合度越高,预测值越接近真实值,检测效果越好。
    在这里插入图片描述

    3. 精度、召回率、MAP 值

    精度(precision):预测为正的样本中有多少是真正的正样本(找得对)。
    召回率(recall):样本中的正例有多少被预测正确了(找得全)。
    精度和召回率的计算公式如下:
    P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP + FP} Precision=TP+FPTP
    R e c a l l = T P T P + F N Recall=\frac{TP}{TP + FN} Recall=TP+FNTP

    TP(true positive)正确地判断成正例。即本来是正例,判断成正例。
    FP(false positive)错误地判断成正例。即本来是负例,判断成正例。
    FN(false negative)错误地判断成负例。即本来是正例,判断成负例。
    TN(true negative)正确地判断成负例。即本来是负例,判断成负例。

    【例】已知班级总人数100人,其中男生80人,女生20人。目标是找出所有的女生。
    结果:从班级中选择了50人,其中20人是女生,还错误的把30名男生挑选出来了。
    请计算TP 、FP 、FN、TN。
    TP = 20; FP = 30; FN = 0; TN = 50

    map 指标:综合精度和召回率两者来衡量目标检测效果。
    这里有个问题:单看精度或召回率(recall)来衡量目标检测效果不行吗?
    答案是不行,因为精度和召回率在很多问题上会呈现 “一个变高了,另一个就变低” 的现象。

    置信度:用于描述 “检测的框中是某个给定物体的可能性有多大”。

    下面展示求解 map 指标的过程:

    首先基于置信度阈值来计算精度和召回率(绿框为预测值,旁边的数字是置信度),以置信度阈值 0.9 为例:
    在这里插入图片描述
    因为置信度阈值为 0.9,所以图2、图3不满足要求,直接过滤掉。
    所以 TP = 1,FP = 0,FN = 2,精度和召回率分别为:
    P r e c i s i o n = T P T P + F P = 1 1 + 0 = 1 Precision=\frac{TP}{TP + FP} = \frac{1}{1 + 0} = 1 Precision=TP+FPTP=1+01=1
    R e c a l l = T P T P + F N = 1 1 + 2 = 1 3 Recall=\frac{TP}{TP + FN}=\frac{1}{1 + 2} = \frac{1}{3} Recall=TP+FNTP=1+21=31

    如何计算 MAP 呢?需要把所有阈值下的精度和召回率都计算出来。反映到下图中,就是连线以下的面积(注意:两个点之间取最大值,最终面积如第二幅图所示)。
    在这里插入图片描述

  • 相关阅读:
    【GBASE培训】GBase数据库2022年第6期培训圆满结束
    系统编程09-总结
    Java8 新特性之Stream(一)-- 认识Stream
    windows下应急响应工具列表
    2-17 基于matlab的改进的遗传算法(IGA)对城市交通信号优化分析
    Linux下vi文件的时候替换指定的内容
    左耳朵耗子:云原生时代的开发者应具备这5大能力
    VisualStudio配置opencv
    【Redis 开发】缓存穿透解决
    在爬虫的时候发现request 中的from data 是一串数据格式
  • 原文地址:https://blog.csdn.net/qq_44378854/article/details/126906091