您的位置:首页 > 其它

目标检测

2016-03-20 20:27 281 查看
目标检测的过程分为三步,第一步,为每一步目标局部块P_i训练一个分类器(Classifier);第二步,选择最有区分力的局部块P_0的分类器来检测目标的初始位置;第三步,用其它的分类器对初始位置进行确认,得到最终检测结果。在目标局部块初始化检测过程中,采用了滑动窗口的方法对目标块进行检测和定位。

5.1分类器学习

分类器是用来对一组特征向量进行分类,判断该组特征向量所属的图像窗口是否包含需要寻找的目标局部块。一个目标由n个局部块组成,需要为每一个目标局部块训练一个分类器,形成一个分类器集{Cf_0 (∙),〖Cf〗1 (∙),⋯,〖Cf〗(n-1) (∙)}。以局部块P_i为例,首先选取该目标局部块的样例图像,建立正训练样本集和负训练样本集;之后,运用4.2节中提出的特征描述符提取样本图像特征,形成了样本图像的特征向量,并标注正负标签;最后,将这些特征向量集作为分类器监督学习的输入数据,训练该分类器,使其具有该类特征向量具有辨别力的分类器。在本文实验中,支持向量机学习分类算法LIBSVM被用来学习分类【1】。

【1】Chih-Chung Chang and Chih-Jen Lin, “a library for support vector machines,” Software available at http://www.csie.ntu.edu.tw/_cjlin/libsvm, 2001.

5.2初始检测

初始化检测就是选择局部块集里面最具有区分力的块P_0作为初始检测的目标,判断在待检测图像中是否包含有目标局部块P_0,及其在图像中的位置。在这个过程中,降低该块的阈值,减少漏检错误,同时也增加了错误检测。局部块P_0对应的分类器Cf_0 (∙)与滑动窗口的遍历方法相结合,在图像特征金字塔中探寻目标局部块P_0。每一个滑动窗口都会用特征向量ϕ(r,y)来表示其特征,其中,r表示滑动窗口在特征金字塔中的尺度,y表示该滑动窗口在图像中的位置。对于在遍历特征金字塔过程中的每一个滑动窗口,分类器Cf_0 (∙)都会获得一个检测值s_(P_0 )。

s_(P_0 )=Cf_0 (ϕ(r,y))

为了确定当前窗口中是否包含了局部块P_0的实例,根据经验值定义阈值α可以辅助判断。如果s_(P_0 )>α,则该窗口所在的位置(r,y)包含有局部块P_0,将位置(r,y)标记为h_j (0),称其为初始检测位置,并将该位置加入到初始检测位置集H={h_1,h_2,⋯,h_k }。降低阈值α,增加了正确检测率,同时,增加了错误的检测率;提高阈值α,则相反。

5.3确认

初始位置检测集H={h_1,h_2,⋯,h_k }包含了多个检测到的初始目标位置信息h_j,但是这些目标位置中有的真实的存在需要检测的目标,有的位置却是虚假的。为了保留真实目标的位置,去除虚假位置,需要对这些初始目标位置进行验证。下面以初始目标位置h_j为例来描述验证算法。首先,基于目标模型NAOM和目标初始位置(r,y),利用转换函数T(∙)可以生成目标局部块P_0之外的局部块假设集h_j={p_1,p_2,⋯,p_(n-1) },其中p_i=(r_i,y_i,d_i )是指目标局部块P_i可能出现的位置空间域,d是以(r_i,y_i )为中心点的“半径向量”。图5(b)和(c)描述了这一转换过程。转换函数T(∙)描述如下:

{p_1,p_2,⋯,p_(n-1) }=T((r,y),NAOM)

其次,运用分类器Cf_i (∙)在对应的目标局部块P_i的假设位置空间域p_i进行遍历,得到一个最大检测值

s_(P_i )=Max{Cf_i (ϕ(r,y)),(r,y)ϵp_i }

目标的验证值是在目标局部块检测值的基础上,依据局部块空间的约束关系来计算:

〖S_ver (h_j )=s〗(p_0 )+∑(i=1)^(n-1)▒(s_(p_i )×w_i-ψ(x_i,y_i,〖de〗_i ))

其中,s_(P_i )值可以用来判断在空间域p_i是否包含目标局部块P_i,ψ(x_i,y_i,〖de〗_i )是指目标检测位置相对于最优期待位置的偏移损耗,w_i是目标局部块P_i的区分权重,〖de〗_i是目标检测位置相对于最优期待位置的偏移向量。目标的验证过程如图5(c)和(d)所示。

目标验证值的判断,采取阈值取舍法。当目标验证值大于设定的阈值β时,位置h_j包含有一个该目标实例。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: