您现在的位置是:首页 >技术杂谈 >十二、目标检测网站首页技术杂谈
十二、目标检测
文章目录
1、 目标定位
qquad
目标检测是图像识别中的更加复杂的应用情景,图像识别只需要输出某一幅图像的种类即可,目标检测不仅需要输出图像的种类,还需要使用边框框出图像中某一种物体的的位置,从而需要输出表示物体位置的参数:(
b
x
,
b
y
,
b
h
,
b
w
b_x, b_y, b_h, b_w
bx,by,bh,bw),
b
x
,
b
y
b_x, b_y
bx,by表示物体中心位置坐标,
b
h
,
b
w
b_h, b_w
bh,bw表示框线的高度和宽度参数。
qquad
除了上述信息之外,输出向量中还需要包含:是否含有某个对象和含有哪个对象的信息。如执行一个多目标检测(3个目标)的任务,输出向量中的第一个元素表示图像中是否含有3个目标中的某一个,之后是位置参数(
b
x
,
b
y
,
b
h
,
b
w
b_x, b_y, b_h, b_w
bx,by,bh,bw),最后三个参数表示具体含有哪一个目标。
qquad
如果一幅图片中没有目标,则将输出元素第一个置为0,其他元素取值为空即可。
2、特征点检测
qquad
特征点检测表示在一幅图偏重设置一些特征点,之后通过训练,将新图片中的特征点识别出来,从而进行图片信息的提取,如人脸识别,人体姿态识别等。
3、卷积网络的滑动窗口
qquad
滑动窗口检测表示设定一个矩形框之后,在一幅图片中按照一定的步长移动矩形框,将每一次移动剪切到的图片均输入到卷积神经网络中进行训练和识别,从而检测出整个图片中的特定目标。但在卷积神经网络中使用滑动窗口会产生很多重复计算,所以可以通过下述方式减少卷积神经网络中滑动窗口的计算量。
qquad
原本红色,绿色,黄色和紫色四个窗口需要分别计算,但通过上图中的处理,可以通过一次计算,获得四个滑动窗口的卷积结果。
4、交并比(Intersection over Union)
qquad
交并比用来衡量目标检测算法的优劣。交并比=训练集中某个队形的精确bounding box和模型输出的bounding box之间的交集的面积必上二者之间并集的面积,如下图所示:
qquad
若交并比大于0.5,说明检测结果是可以接受的。
5、非最大值抑制(Non Max Suppression)
qquad
在目标检测任务中,同一个图片中的同一个目标可能会被检测很多次,即有多个bounding box均检测到某个目标。为了减少重复输出,首先将概率最大bounding box选择出来,之后使用交并比,将和这个概率最大bounding box的交并比较大的bounding box进行删除,最后对每一个对象只保留一个bounding box。
qquad
YOLO算法中非最大值抑制的算法流程如下所示:
6、anchor box
qquad
在目标检测时,若同一个bounding box中包含多个目标,即多个目标出现重叠的情况,则上述算法无法准确输出目标的种类,所以提出了anchor box的概念。anchor box是预先定义好的不同形状,之后将预测结果和这些不同的box形状进行关联,如若设置了两种不同形状的anchor box,则只需要将原先设定的输出向量y进行重复两次即可,如下图所示:
qquad
检测相互重叠的对象是anchor box的一大作用;anchor box的另一大作用是使得目标检测算法更加specialize,如设定纵向长瘦的anchor box可以更好地检测行人,设定横向矮宽的anchor box可以更好地检测车辆。