目标检测(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
  • 效果好

目标检测(4)—— 经典算法和常用指标_第1张图片

目标检测的衡量指标:

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

目标检测(4)—— 经典算法和常用指标_第2张图片

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

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

  • MAP值更高
  • 速度更快

目标检测(4)—— 经典算法和常用指标_第3张图片

MAP值

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

精度和召回率

目标检测(4)—— 经典算法和常用指标_第4张图片

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

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

目标检测(4)—— 经典算法和常用指标_第5张图片

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

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

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

目标检测(4)—— 经典算法和常用指标_第6张图片

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

目标检测(4)—— 经典算法和常用指标_第7张图片

你可能感兴趣的:(目标检测,目标检测,计算机视觉,神经网络,深度学习,人工智能)