计算机视觉基础-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。

 

posted @ 2019-07-10 13:04  风间悠香  阅读(1521)  评论(0编辑  收藏  举报