• 计算机视觉基础-4——物体检测


    一、什么是目标检测

    即用框(bounding box)标出物体的位置,并给出物体的类别

     一些数据集介绍:

    PASCAL VOC数据集http://host.robots.ox.ac.uk/pascal/VOC/  20类物体

    COCO数据集 http://cocodataset.org/#home 80类物体

    二、IoU介绍

    IoU:Intersection over Union,交并比。

    解释:

    1.绿色框为我们认为标定的框。

    2.红色框为预测的框。

    3.我们计算两个框的交集和并集。

    4.交集/并集就是IoU。

    三、PR曲线绘制

    PR曲线:precision-recall curve。用于评价检测器性能。

    PR曲线如何绘制:

    如上图所示,我们给定了3个人工绘制的框(绿色):

    检测器输出了5个红色框:

    其中得分表示检测器框住的东西是人的概率。我们先将其按这个得分排序:

    排好序后,我们按得分从高到低,将框与人工绘制的框进行计算IoU,当IoU大于一个阈值时,我们打上TP的标签。

    注意:每个绿色框只能匹配一次,例如1号红框与1号绿框匹配,IoU=0.9,那么1号红框标注TP,为真正例。2号红框也与1号绿框匹配,IoU=0.8,此时只能标注其为FP,即假正例。在这种情况下,上表中出现TP的个数最多就等于3。也就是说召回率最大不能超过1。

    准确率(Precision)和召回率(Recall):

    我们设定不同的阈值,在每一个阈值情况下计算P和R的值,并绘成PR曲线:

    解释:

    1.由于检测器输出只有5个框,最低得分是0.7,假设阈值为低于0.7,例如取0.6。计算P=3/5=0.6,R=3/3=1。

    2.假设阈值为0.7。P=3/4=0.75,R=3/3=1。

    3.假设阈值为0.8。P=3/3=1,R=3/3=1。

    4.假设阈值为0.9。P=3/3=1,R=2/3=0.67。

    5.假设阈值为0.9。P=3/3=1,R=1/3=0.33。

    画成PR曲线,如下图:

     

    直观理解:

      假设我们在这个例子中,检测器输出了很多很多红色框,例如100个框,他们的得分从高到低排列。假设我们将阈值取得很低,例如0.3,那么大量的框很有可能包含了所有需要检测的物体(例如30个物体),那么Recall就为1(Recall就是一共需要检测的物体中,我们检测到了的比例)。但是,由于大量的框大部分都是不准确的(只有30个框是准确框住了物体),那么准确率(Precision)就非常低(只有30%)。

      反之,我们将阈值设置得非常高,例如0.95,那么排在前面3位的框确实框住了物体,但是需要检测的物体可能有30类,虽然这3个框都框住了物体(Precision为1),但是召回率却只有3/30=10%。

    如何使用PR曲线评价一个检测器:

      我们采用PR曲线下面所包含的面积大小来评价一个检测器,面积越大,检测器越好。

    看下面这个情况:

    排名第一的红框没有框住物体,这种情况下他属于假正例(FP),那么这种情况下得PR曲线如右边所示,当阈值为0.9时,Precision和Recall都为0。

  • 相关阅读:
    knox 编译 源码
    springboot 新建项目
    python 在工程中处理相对路径的思考
    Mac配置虚拟环境Virtualenv,安装Python科学计算包详解
    Python 日志文件处理
    Django与JS交互的示例代码-django js 获取 python 字典-Django 前后台的数据传递
    python for 循环
    Java Script 学习日志 Div
    如何制作windows live writer绿色便携版
    中国大数据企业排行榜V6.0- 5 年后再去看看中几个大数据公司的发展状况
  • 原文地址:https://www.cnblogs.com/leokale-zz/p/11163243.html
Copyright © 2020-2023  润新知