• 目标检测(4)—— 经典算法和常用指标


    一、深度学习的经典算法

    • two-stage(两阶段):RCNN
    • one-stage(一阶段):YOLO,SSD(这个好像很牛)

    one-stage: 将图片输入到CNN里,经过特征提取,输出4个值,得到框的x1,y1,x2,y2,即为一个回归任务。即一个CNN网络提取特征做一个回归任务,中间不需要加任何的额外的补充。
    two-stage: 多加了一个网络,叫做区域建议网络RPN,多了一些预选框,先经过预选,再得到最终结果。结果会更好一点。

    优缺点:

    • one-stage:
    • 速度快,适合做实时检测任务(视频)
    • 效果不太好
    • 明确任务:速度快,要做视频检测任务
    • 自己选择特征提取网络,简单复杂自己决定
    • two-stage:
    • 速度慢,5FPS
    • 效果好

    在这里插入图片描述

    在这里插入图片描述

    目标检测的衡量指标:

    • FPS:快OR慢
    • mAP:衡量指标,越大越好,越接近1越好

    在这里插入图片描述

    二、目标检测用的衡量指标

    YOLO系列一直在改进,改进有两个点:

    • MAP值更高
    • 速度更快

    在这里插入图片描述

    MAP值

    map指标:综合衡量检测效果,单看精度和recall不行。
    IOU:是Ground truth真实值和Prediction预测值交集和并集的一个比值。越高越好,代表越重合
    精度:希望真实值和预测值越吻合越好。
    recall:希望把真实值都检测到了。

    精度和召回率

    在这里插入图片描述

    在目标检测中,精度和召回率代表什么?

    • 精度:希望预测的框和真实的框越接近越好
    • 召回率:希望没检测到的框越少越好(漏检)

    在这里插入图片描述

    • 置信度:在预测时,会有很多重叠的框,每个框上都有一个值。需要指定一个阈值,低于阈值的框会被舍弃掉。
    • 设置阈值为0.9

    设置阈值为0.9,计算下面三张图的Precision和recall。

    0.9的时候,只有第一张图预测的框保留下来了,TP为真正类(是人脸,并且检测到了),即为1;FP为假正类(预测错了,错误的把背景判断成人脸了),为0;FN为假负类(预测错了,把人脸预测成背景了,漏检了!),为2。
    Precision=1/1
    Recall=1/3

    在这里插入图片描述

    • 然后计算每个阈值的精度和召回率,比如计算0-1之间的的P和R
    • 构建一个P-R图,横轴为召回率,纵轴为精度
    • 把所有的阈值都考虑进来,MAP值即为,将这张图画出来,下方所围成的这张图的面积,取最大值下方的面积。面积代表MAP值是多少,希望MAP值越大越好,越接近1越好。

    在这里插入图片描述

  • 相关阅读:
    日志导致线程Block的这些坑,你不得不防
    从技术创新到应用实践,百度智能云发起大模型平台应用开发挑战赛!
    【图灵MySQL】MySQL索引优化实战(上)
    论文阅读 (74):A Review: Knowledge Reasoning over Knowledge Graph
    vue 页面加水印
    Tomcat深入浅出——Servlet(二)
    ES实战快速学习
    【USACO15DEC】最大流Max Flow
    IT30--制造业数字化战略规划(论文1)
    使用PDFBox封装一个简单易用的工具类快速生成pdf文件
  • 原文地址:https://blog.csdn.net/weixin_45703331/article/details/127712344