图像识别检测

初始检测

初始检测采用滑动窗口结合分类器的方法来检测图像中的目标。滑动窗口在目标检测中得到广泛应用,方法简单,运算效率高,检测过程中能够有效的给出检测目标的位置信息。首先定义滑动窗口的大小,再将滑动窗口按照一定顺序和步长遍历整个图像,遍历过程中,截取每一个经历的窗口,并将该窗口图像转换成特征向量,最后运用已经训练学习成功的分类器对该窗口的特征向量进行分类,判断其为正样本或负样本,即,该窗口中是否包含有所要检测的目标。

当滑动窗口按照一定的步长遍历待检测图像时,窗口中的待检测目标将会被检测出来并定位。由于分类器对于目标较小的变化具有不变性,在一幅图像中的目标周围的多个窗口中都会包含该目标,只是目标在窗口中的位置会有较小变化,此时这些窗口都会被判断为正。这样会导致一幅图像中的一个目标对应多个被检测的窗口。
有很多方法被提出来解决这一问题,文献【】提出一种简单的方法,检测窗口被分成不相交的窗口集,每一个窗口集给定一个中心位置,这个中心位置对应着最开始的目标检测。这种方法运用了零相交的条件来限制检测窗口,限制强大太大,会导致目标漏检率增加。文献【】中的系统对多个相邻比较近的目标检测窗口进行同意度量,如果在该相邻的区域内能够获得较高的可信值,则多个目标检测窗口融合为同一个目标的检测窗口,该窗口的中心在原始检测中心。
本文提出了积分累计策略来确定目标的位置,其中,积分来自分类器的检测值,具体实现可以分为以下三个步骤,首先,对于每一个检测到的局部块目标,采用其检测积分进行计算,检测积分关联着分类器检测值,检测值越接近1,积分越大。每一个检测窗口检测值表示该窗口中的目标的相似度,越是接近1,则相似度越大,反之,距离1越远,则相似度越小。在图像中表现出来就是当同一个目标出现在窗口的中心位置,其检测值就越靠近1,随着目标偏离中心位置,检测值就越远离1.,当目标慢慢离开窗口,检测值就会小于0,即窗口中不包含目标。该检测窗口是在进行目标局部块的检测,当检测到的目标检测值达到阈值时,则计算其检测积分。其次,每一个检测积分辐射到一个半径为r的圆形区域,该区域的值就是积分值。当目标邻域的多个检测窗口计算出积分时,就会出现多个积分区域叠加,重叠区域积分累积计算。最后,所有的积分累计计算完成,形成一个检测积分图,在检测积分图中搜寻检测密集区域,检测出累计积分局部最大值,这个积分最大值就是该目标局部块的中心。
在检测目标局部块的过程中,为了适应检测目标在图像中大小的变化,采用了两种检测机制,第一种是待检测图像保持单尺度不变,检测窗口由大到小变化,建立五个尺度的窗口,依次遍历整个图像;第二种是改变待检测图像,建立多尺度图像空间,检测窗口大小不变,依次遍历整个多尺度图像空间。这两种检测机制都是为了检测窗口最优的覆盖目标,使分类器更优应对目标大小的变化。

单尺度—多窗口

在单尺度图像中,滑动窗口大小设定为5级{〖WIN〗_1,〖WIN〗_2,〖WIN〗_3,〖WIN〗_4,〖WIN〗_5 },遍历过程中,每一个遍历截取的窗口都转换成特征向量,运用学习好的分类器进行分类。待检测图像可以根据检测需要对其大小(w,h)做适度调整,使其适应不同尺度窗口,当目标检测完成后,将检测目标按同等比例映射到原图中,定位在原图中检测出的目标。原图大小调整函数为:
(w,h)_NEW=(w.h)×ϑ_NORM
其中ϑ_NORM为具体应用中设置为可调整的调节参数。
分类器对窗口的特征向量判断后,返回一个检测值d_i^(x,y),当检测值是负值时,表示该窗口不包含检测目标,把检测值转换成0,映射到检测累计积分图;当检测值为正值时,将检测值换成投票积分m_i^(x,y),映射到检测累计积分图M。检测转换函数如下:
m_i^(x,y)=k×|1-d_i^(x,y) |+b
其中,k和b是函数的两个变量,控制着检测值到投票积分的映射空间;x,y表示检测窗口在图像中的位置,i表示目标检测块的序号。
当检测值大于一个特定阈值α时,即d_i^(x,y)>α,表示检测窗口中包含有目标(通常α定义为0,即检测值为正)。检测值也可以理解为检测目标的相似度,如果检测值越接近1,表示该目标相似度越大,则有更高的投票积分;反之,检测值远离1,表示目标相似度越小,检测积分越低。
每一个检测积分值以(x,y)为中心,投射到半径为r的圆形区域,在该区域中的每一个点的值都是m_i^(x,y)。同一个目标相邻的窗口位置比较接近,这些窗口的检测积分值的投射区域会出现重叠,重叠区域的检测积分累计相加。
各级尺度窗口遍历完图像,符合要求的窗口检测值转换成检测积分值,并以圆形区域叠加到积分累计图中,形成了检测积分累计图。在检测积分累计图中,需要分析计算出每一个目标块的尺度和位置。本节采用邻域抑制算法计算出目标局部块的位置,过滤掉一个目标局部块的多个检测窗口。该算法的基本思想是在积分累计图只中定义的区域内,寻找极大值并定位,抑制非极大值。算法开始,积分累计图中所有的积分都是“非抑制”,然后,算法开始在图中按照顺序寻找“非抑制”最大值,如果该值在定义的大小区域内是极大值,则该值及其位置被列为目标局部检测位置,并且在该区域中所有其它值被标注为“抑制”;这表示在该区域中没有其它位置的值可以作为目标候选对象。如果当前找到极大值是非抑制,但是比该区域中后续发现更大的非抑制值,则用后续发现极大值替代当前极大值,并把当前极大值标注抑制。重复这一过程,直到所有非极大值被抑制。定义区域的面积大小依据目标局部块自身的特点来设置。

多尺度-单窗口

单尺度图像进行目标检测的方法可以扩展到多尺度图像,单一检测窗口。待检测图像进行尺度调整,建立一个多尺度图像金字塔,滑动检测窗口在图像金字塔中遍历每一个尺度的图像,遍历过程中,用学习好的分类器对每一个窗口进行分类判断,形成一个三维的检测积分累计图。在多尺度图像金字塔生成过程中,待检测图像是原图,相邻两个图像间的尺度比是1:1.2。原图在金字塔图像中的位置,依据原图像的大小而定。
对于目标局部块检测的三维积分累计图,采用邻域非极大值抑制算法和重复块消除算法相结合来定位各局部块的位置。在三维的积分累计图中,领域非极大值抑制算法需要作两处调整,第一,算法需要对每一级尺度分别进行,确定各级尺度中目标局部块的位置;第二,算法中定义的区域面积需要在对应的尺度图中做调整,区域面积间的比是1:1.2。算法的输出也是在三维积分累计积分图中标注个目标快的类型、位置和尺度。
重复块消除算法的思想是在检测积分值图上寻找最高响应值,并输出其对应检测窗口的位置。然后删除包含在这个窗口中所有检测出的块,并再次调用对应的分类器对该窗口进行分类计算出新的检测值。反复重复这一过程,直到检测积分图中所有的值变成了0。这一算法需要反复调用已经训练好的分类器,但是避免了在邻域抑制算法中需要确定合适的邻域参数。
邻域抑制算法和重复块消除算法想结合可以将检测单尺度检测积分图的分析进行扩展,应用在多尺度检测积分图中。在多尺度检测积分图中,算法输出了积分图中检测到的窗口的位置,同时也输出窗口所对应的尺度。邻域抑制算法运用在多尺度环境下的三维邻域,在不同尺度中邻域大小通过原图尺度变化参数确定。重复局部块算法可以移除在每一个尺度中对应的所有块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值