笔记1:基于锚框(先验框)的目标检测

一、边缘框(bounding box)

1.1 定义

边缘框:真实标注的物体位置

2.1 表示方式

1、(x1,y1)和(x2,y2)
2、(x1,y1)和w,h
笔记1:基于锚框(先验框)的目标检测_第1张图片

二、锚框(anchor box)/先验框(prior bounding box)

2.1 定义

对边缘框的预测

2.2 预测方式

一般很难直接通过坐标数据预测边缘框,通常采用多个边缘框,当包含目标时,再慢慢调整。
第一步:判断是否包含感兴趣目标(目标类别)
第二步:预测锚框到真实边缘框的偏移(目标位置)
笔记1:基于锚框(先验框)的目标检测_第2张图片
s是缩放比,r是宽高比

2.2.1 IOU 交并比

比较两个框之间的相似度
笔记1:基于锚框(先验框)的目标检测_第3张图片
0表示没有重叠,1表示完全重合。

2.2.2 赋予锚框标号

笔记1:基于锚框(先验框)的目标检测_第4张图片
每个锚框都是1个 训练样本(训练框)
锚框有2种属性,1是背景,即为负样本;2是关联边缘框,即为正样本
通常训练中我们会生成大量锚框,在这大量的锚框中,负样本居多
值得注意的是:
1、锚框生成要么是固定生成,要么是根据图片生成;而边缘框是提前标号的真实框,存好的标注
2、赋予锚框编号的过程是每次读入图片后都要进行1次的操作
3、赋予锚框编号的算法有很多种,这其实常见的其中一种。

三、非极大抑制输出(NMS)

目的:1个边缘框对应1个锚框
NMS作用:合并相似的预测
笔记1:基于锚框(先验框)的目标检测_第5张图片
笔记1:基于锚框(先验框)的目标检测_第6张图片

比如dog类的3个预测框中,最大的是0.9,那么第一步选择这个框,第二步计算dog=0.8、dog=0.7这2个框与dog=0.9的这个框的Iou值,如大于我们规定的值,去掉;cat是另外的类,不影响dog类的NMS;第3步,计算下一个类别的最大预测框,重复上述步骤。

四、总结

一类目标检测算法基于锚框来预测
首先生成大量锚框,并赋予标号,每个锚框作为一个样本进行训练
在预测时,使用NMS来去掉冗余的预测。

你可能感兴趣的:(深度学习,目标检测,锚框)