2. 公安部第三研究所, 上海, 201204
2. The Third Research Institute of Ministry of Public Security, Shanghai, 201204, China
行人检测在视频监控、虚拟现实技术和机器人视觉中都有着广泛的应用研究。由于行人具有姿态多变性的特征,外观易受衣着、尺度变化、外物遮挡、姿态改变和拍摄角度等因素的影响,一直是图像处理领域的研究热点与难点。目前主流的行人检测算法包括两部分:特征提取和分类器学习。常用的目标特征有梯度方向直方图(Histograms of oriented gradient, HOG)[1]、颜色特征如(RGB, LUV和HSV等)、Harr小波变换以及梯度幅度等,分类器主要包括支持向量机(Support vector machine, SVM)、随机森林[2] (RandomForest)、决策树以及深度学习[3]等。
2005年Dalal和Triggs提出的基于梯度直方图加支持向量机(HOG+SVM)的行人检测算法,是行人检测领域中的一大突破;Oliver等[4]利用边缘图像来对不同的形状模型进行匹配(ASM);2008年Felzenswalb教授基于HOG+SVM框架的理论知识,提出了经典的目标形变部件模型检测算法(Deformable part models, DPM)[5],极大提高了行人形变检测的鲁棒性和准确性,不过该算法的时间复杂度太高,不适合用来进行实时检测;曾波波[6]于2012年提出了一种颜色自相似性(CSS)特征,其计算方法是在LUV颜色通道上计算大小一致、不同位置的矩形区域内的数值和之比,该特征具有计算快、尺度不变等特点;文献[7]等针对5种干扰类型:物体遮挡、图像失焦、亮度异常、偏色、噪声干扰提取出有效的特征,进行分类检测和识别,具有较好的检测效果,且能够满足监控系统实时性的要求。ACF[8]采用决策树为弱分类器训练Boosting分类器,训练和检测阶段时间花费较少,适合用于实时检测,但在实际检测中会有较多的误检数。对于Objectness[9]窗口筛选方法,文献[10]将BING[11]及EdgeBoxes[12]结合经典的DPM模型[13]来进行行人检测,在一定程度上可以提高模型的检测效果,但该模型在检测速度上仍有待提高, Gadeski E等[14]在DPM模型的基础上采用了GPU实现,用于实时图像处理。经典的ACF算法采用多通道特征和Boosting分类器进行行人检测,而未结合目标在图片中的一些先验知识,同时在行人检测后处理过程中仅仅采用了面积信息,而忽略了重要的得分信息,造成在实际检测过程中存在误检数较高的情况。本文基于ACF行人检测算法进行改进,在不影响检测效率的条件下,首先结合Objectness方法对低得分区域进行进一步验证,可以在一定程度上减少算法的误检数;其次结合检测窗口的得分及位置信息,对非极大值抑制算法(Non-maximum suppression, Nms)[15]进行了改进;最后采用星型可形变部件模型(Star-cascade DPM, casDPM)[16]进行级联检测,对低得分窗口进行二次检测。实验表明,在充分结合目标在图片中的先验知识和后处理过程中的得分信息,极大地降低了误检数,在满足实时检测的条件下,提升了行人检测的准确率,具有较好的行人检测效果。
1 算法介绍 1.1 聚合通道特征算法聚合通道特征(Aggregate channel features, ACF)[8]是将多个通道特征结合到一起形成一种聚合特征,结合多通道特征包含的信息,能够高效描述行人特征,给定检测图像I,对应通道特征可以表示为图像像素的线性或非线性的输出响应, 即有
$ C = \mathit{\Omega }{\rm{(}}I) \to {C^1} = \sum (C) $ | (1) |
其中:Ω表示计算特征的函数,C表示特征,∑为聚合运算,C1为聚合特征,灰度图像C=I,该通道特征即为灰度图本身,灰度是最简单的特征通道,ACF算法检测流程如图 1所示。输入检测图像I,分别计算颜色、梯度幅值和梯度方向直方图特征金字塔,将3种特征组合形成ACF,采用决策树为弱分类器训练Boosting分类器,得到初始检测窗口及本文方法检测结果。
ACF算法采用与文献[8]相同的通道特征:标准化的1通道梯度幅度,6通道梯度方向直方图,3通道LUV颜色通道,结合形成10通道的聚合特征F,图像I使用[1 2 1]/4算子f进行滤波,可以有效降低噪声的影响。将特征F划分为4×4的小块,并对每一块中的像素大小求和,再次采用f算子进行滤波处理。在计算图像特征金字塔[17]时,将图像分组到金字塔层结构中,每组金字塔内的特征只需计算一层,其他层通过该层采样得到,降低了时间开销,采用的分类器是Boosting,弱分类器为决策树,训练正负样本(INRIA数据集2007),得到最终的检测子。
为了量化检测器的性能,这里采用PR曲线和DET曲线作为评价标准。TP表示检测为正样本,实际为正样本;TN检测为负样本,实际为负样本;FP检测为正样本,实际为负样本;FN检测为负样本,实际为正样本;其中precision=TP/(TP+FP),recall=FP/(FP+TN),FEPPI=FP/(图片数)。
1.2 BING二值规范化梯度一般目标当归一化到某一个小尺度时都具有定义完好的封闭轮廓和中心,在封闭的轮廓中,目标梯度比较明显,所以是一个很好的可区分特征。范数梯度(Normed gradients, NG)特征是紧凑且密集的Objectness[9]特征,无论对象窗口如何改变尺度、位置及纵横比,它对应的NG特征基本不会改变,这一特性在对象检测中很有用,其次NG特征使得计算和核实更加有效率,能够很好地应用在实时检测中。
将图像缩放成不同的尺寸,然后使用大小的窗口扫描,提取NG特征,详细步骤见文献[11]。通过cascade SVM训练,可以学习得到一个线性模型w∈R64,对于待检测图像,仍采用8×8大小的窗口滑动提取NG特征,然后通过式(2)可以求出窗口得分, 即有
$ {s_l} = \langle w, {g_l}\rangle $ | (2) |
$ l = (\mathit{i, x, y}) $ | (3) |
式中:l是尺度为i窗口坐标为(x, y)的位置;gl是其对应的NG特征; sl代表过滤器得分。
为每个尺度提供一些建议窗口,不同尺寸图像中的物体可能性是不一样的,模型对于不同尺度的图像学习了一个权值,重新计算窗口的得分。
$ {\mathit{O}_t} = {v_i} \cdot {S_t} + {t_i} $ | (4) |
式中vi, ti为模型学习的参数,Ol是窗口最终得分。
2 基于ACF算法的改进 2.1 BING目标区域的引入在INRIA数据集上训练得到BING模型记为M,每张640像素×480像素大小的测试图片上产生大约1 000个候选窗口,在测试集上检测召回率可以达到98%左右,基于这种特性,可以有效的引入BING目标区域来降低ACF算法的误检数。首先用M检测图像得到A1区域,部分筛选情况如图 2(c)所示;其次用ACF算法检测图像,得到目标区域A2,采用目标区域A1对每一个目标区域A2的窗口进行筛选,记为BACF算法。学习到的64D线性BING模型w及标注信息如图 2所示,其中图 2(c)中的红色区域为筛选得到的行人窗口,绿色区域为非行人目标窗口对比图 2(d),可以看出BING模型已大致将行人区域提取出来。实验表明,引入BING目标区域,在不影响精度、效率情况下,可以一定程度上减少ACF算法的误检数。
2.2 引入保留外围窗口的Nms方法
在目标检测中Nms算法应用十分广泛,主要用以消除多余的检测框,找到最佳的物体位置,如图 3所示。
Nms算法本质是搜索局部极大值,抑制非极大值元素。本文采用的是基于贪心策略的抑制算法,算法主要分为4个步骤:(1)按照检测分数降序排序初始检测窗口;(2)选取抑制窗口(当前分数最高窗口)Bi;(3)检测窗口得分低于抑制窗口的作为被抑制窗口Bj,计算overlap=(Bi∩Bj)/(min (Bi, Bj)),剔除重合面积比率高于设定阈值的窗口;(4)若只剩一个初始检测窗口则结束,反之按照得分信息降序,取下一个得分高的作为抑制窗口,转到步骤(3)。该Nms算法只是简单的结合面积信息与得分信息,对抑制窗口进行剔除,未利用抑制与被抑制窗口的相对位置信息,造成较高的误检数。本文引入保留外围窗口的Nms方法,记为NBACF。
$ {\rm{Suppress(}}{B_i}){\rm{where}}\{ ({B_i} \in {B_j})\& \& ({\rm{score(}}{B_i})-{\rm{score}}({B_j}) \le 15)\} $ | (5) |
即当窗口完全覆盖窗口Bi,同时score(Bi)-score(Bj)≤15时,抑制当前抑制窗口Bi,并将窗口Bi得分赋值给窗口Bj,实验表明,在提升检测精度的同时减少了误检数。
2.3 级联casDPM模型检测策略 ACF是采用聚合多特征、Boosting分类器训练得到的单一模型,未考虑实际检测过程中行人姿态的形变,容易对具有明显姿态变化的行人“视而不见”。引入对形变具有鲁棒性的形变部件模型,考虑到DPM模型的检测时间复杂度太高,本文采用快速形变部件casDPM模型,casDPM模型采用滑动窗口检测策略,通过构建特征金字塔在各个尺度进行目标检测。该模型有一个根部件、n个子部件和子部件模型的偏离损失,可以很好的检测出形变大的行人。考虑到ACF检测窗口的尺度及位置不精确的问题,若直接将低分检测区域由casDPM模型检测,容易造成漏检和误检。对ACF检测得分低于10的窗口记为误检窗口,得分高于10且小于50的窗口(记为t)适当扩展1.1倍,扩展后的窗口通过casDPM检测,记检测得到的区域为r,选取区域r中最大面积max(area(r)),若
首先在ACF初始检测窗口上引入BING模型,提出了BACF算法,如序号①,得到检测窗口区域A,引入保留外围窗口的Nms方法,如序号②,窗口区域A通过NBACF算法得到窗口区域B,级联casDPM模型检测策略,提出了NBACF-casDPM算法,如序号③,得到后续分类结果,flag=0为误检,flag=1为行人,详细流程见图 4。
3.2 BING目标区域
本文采用PASCAL准则来判断模型检测的结果是否正确,具体含义:若Groud truth与检测结果交的大小与并的大小比值大于0.5,即检测为行人,否则检测错误。并且,每个Ground truth最多对应一个检测结果,其余窗口则为误检。
本文采用INRIA2007数据集614幅中的1 237个行人作为训练正样本,912幅背景图中随机裁剪区域作为负样本训练BING模型,训练得到的BING模型,在每张测试图片上可以得到约1 000个目标区域。在INRIA数据集上进行检测, 其中有288幅图片包含589个行人,ACF算法检测区域为Bi,BING模型筛选区域为Bj,对每一个测试图片的Bi,对应的筛选区域Bj,计算重叠面积,overlap=(Bi∩Bj)/(Bi∪Bj),当overlap < 0.57,并且score(Bj) < 30,认为检测结果为误检,反之为行人,改进的BACF算法可以降低误检窗口数量,检测效果如图 5。
ACF算法和BACF算法误检数对比如图 6所示, 蓝色表示ACF算法,黄色表示BACF,实验可知,漏检数在36~42的情况下,召回率(Recall)为约94%,BACF算法明显优于ACF算法,不影响检测精度的情况下,平均误检数降低了163个,在漏检数为36的情况下效果尤为明显,减少了347个误检数。
3.3 引入保留外围窗口的Nms方法
ACF检测时的步长较小,在整个金字塔层空间搜索,使得检测出的真实行人窗口周围往往会存在若干个冗余窗口,Nms算法贪心的保留检测分数最高的窗口,可以抑制大部分重合目标区域,未充分考虑到检测得分与窗口位置之间的包含关系,会造成一定程度上的漏检和误检,本节采用2.2节提出的NBACF算法,该方法可以在一定程度上减少大量的误检窗口,结果如图 7(c)所示。
图 7中红色框表示误检窗口,黄色框表示行人窗口,改进的NBACF算法剔除了所有的误检窗口,检测效果最佳,同时算法的平均精度(AP)由88.82%提升到了89.23%,提升了0.41%,平均对数漏检率(LAMR)由16.69%下降到了15.20%,降低了1.49%,具有较好的检测效果,ACF算法和NBACF算法误检对比如图 8所示,其中蓝色表示ACF算法,红色表示NBACF算法,实验可知,漏检数在36~42的情况下,NBACF算法误检数明显少于ACF算法,同时通过实验发现,漏检数从原来的36下降到了32,在漏检数为36的情况下效果尤为明显,降低了734个误检数,具有较好的检测效果。
3.4 级联casDPM模型检测策略
通过改进的NBACF算法,可以在一定程度上降低误检数,但对于背景相对复杂的场景,存在一些特征较丰富的目标,NBACF算法将此类目标检测为行人即误检窗口,如图 9所示。
针对图 9的纹理丰富的误检窗口,提出利用casDPM模型进行低得分窗口的级联检测,记为NBACF-casDPM,利用上述2.3节提出的方法,实验发现,可以减少误检数,提升算法检测的效果,平均精度从89.23%提升到了89.47%,提升了0.24%,平均对数漏检率从15.20%下降到14.63%,降低了0.57%。ACF算法和NBACF-casDPM算法误检对比如图 10所示,其中蓝色表示ACF算法,红色表示NBACF-casDPM算法。实验可知,漏检数在37~42之间,在多1个漏检数的情况下,NBACF-casDPM算法误检数明显少于ACF算法,在漏检数为37的情况下效果尤为明显,降低了635个误检数。
3.5 整体效果对比及性能分析 3.5.1 整体效果对比
ACF,BACF,NBACF和NBACF-casDPM算法误检对比如图 11所示,NBACF-casDPM算法具有最好的检测效果,在漏检数为43的情况下,误检数仅仅只有196个,相比ACF算法,降低了误检数,检测时间及检测精度对比如表 1所示。
3.5.2 性能分析
环境参数:8 GB内存,CPU为Intel(R)core(TM)i7-6700k@ 4.00 GHz,4线程。
召回率(Recall)、精度(Precision)、平均精度(AP)如图 12所示。图 12可以发现,在引入BING模型及保留外围检测窗口后,NBACF算法平均精度相比ACF算法有1.41%的提升;在级联casDPM模型检测后,NBACF-casDPM算法平均精度有0.65%的提升。
图 13可以发现,在采用改进的NBACF算法后,LAMR相比ACF算法下降了1.49%;在采用NBACF-casDPM算法后,LAMR相比NBACF算法又下降了0.57%,相比ACF算法,下降了2.06%,实验表明,该改进方法可以在一定程度上提升算法的检测精度。
4 结束语
本文提出了一种改进ACF算法的行人检测算法,该算法针对ACF算法在实际检测过程中误检数较多的情况,引入了Objectness方法来过滤ACF算法检测出的部分误检窗口,同时结合检测窗口得分及位置信息提升了非极大值抑制算法的效果,最后级联casDPM模型检测来剔除背景特征复杂的非行人窗口,最终得到改进的NBACF-casDPM算法。实验证明与原始ACF算法相比,本文提出的NBACF-casDPM算法提升了算法的检测性能,AP提升了0.65%,LAMR降低了2.06%,具有良好的行人检测效果。同时,结合深度学习和其他Objectness方法,提高算法的检测效果是以后工作的重点;并以行人检测为基础,继续进行行人跟踪、再识别方向的研究。
[1] |
Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]//IEEE Conference on Computer Vision & Pattern Recognition. [S. l]: IEEE, 2005: 886-893.
|
[2] |
Marín J, Vázquez D, López A M, et al. random forests of local experts for pedestrian detection[C]//International Conference on Computer Vision. [S. l. ]: IEEE, 2013: 2592-2599.
|
[3] |
Ouyang W, Wang X. Joint deep learning for pedestrian detection[C]//IEEE International Conference on Computer Vision. [S. l. ]: IEEE, 2013: 2056-2063.
|
[4] |
Sidla O, Lypetskyy Y, Brandle N, et al. Pedestrian detection and tracking for counting applications in crowded situations[C]//IEEE International Conference on Video and Signal Based Surveillance. [S. l. ]: IEEE, 2006: 70.
|
[5] |
Felzenszwalb P, Mcallester D, Ramanan D. A discriminatively trained, multiscale, deformable part model[C]//IEEE Conference on Computer Vision and Pattern Recognition. [S. l. ]: IEEE, 2008: 1-8.
|
[6] |
曾波波, 王贵锦, 林行刚. 基于颜色自相似度特征的实时行人检测[J]. 清华大学学报(自然科学版), 2012(4): 571-574. Zeng Bobo, Wang Guijin, Lin Xinggang. Color self-similarity feature based real-time pedestrian detection[J]. Journal of Tsinghua University (Science and Technology), 2012(4): 571-574. |
[7] |
姬贯新, 周利莉. 智能视频监控系统中的干扰检测及分类[J]. 数据采集与处理, 2013, 28(2): 231-238. Ji Guanxin, Zhou Lili. Tampering detection and classification of intelligent video surveillance system[J]. Journal of Data Acquisition & Processing, 2013, 28(2): 231-238. |
[8] |
Dollar P, Appel R, Belongie S, et al. Fast feature pyramids for object detection[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2014, 36(8): 1532-1545. |
[9] |
Benenson R, Omran M, Hosang J, et al. Ten years of pedestrian detection, what have we learned?[J]. Computer Science, 2014, 8926: 613-627. |
[10] |
Wu X, Kim K Y, Wang G, et al. Fast human detection using deformable part model at the selected candidate detection positions[C]//Rough Sets and Knowledge Technology. [S. l. ]: [s. n. ], 2015.
|
[11] |
Cheng M M, Zhang Z, Lin W Y, et al. BING: Binarized normed gradients for objectness estimation at 300fps[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. [S. l]: IEEE, 2014: 3286-3293.
|
[12] |
Zitnick C L, Dollár P. Edge boxes: locating object proposals from edges[C]//Computer Vision-ECCV 2014, [S. l]: [s. n. ], 2014: 391-405.
|
[13] |
Felzenszwalb P F, Girshick R B, David M A, et al. Object detection with discriminatively trained part-based models[J]. Pattern Analysis & Machine Intelligence IEEE Transactions on, 2010, 32(9): 1627-1645. |
[14] |
Gadeski E, Fard H O, Borgne H L. GPU deformable part model for object recognition[J]. Journal of Real-Time Image Processing, 2014, 1-13. |
[15] |
陈金辉, 叶西宁. 行人检测中非极大值抑制算法的改进[J]. 华东理工大学学报(自然科学版), 2015, 41(3): 371-378. Chen Jinhui, Ye Xining. Improvement of non-maximum suppression in pedestrian detection[J]. Journal of East China University of Science and Technology (Natural Science Edition), 2015, 41(3): 371-378. |
[16] |
Felzenszwalb P F, Girshick R B, McAllester D. Cascade object detection with deformable part models[C]//Computer vision and pattern recognition (CVPR), 2010 IEEE Conference on. [S. l. ]: IEEE, 2010: 2241-2248.
|
[17] |
Dollár P, Belongie S, Perona P. The fastest pedestrian detector in the west[C]//BMVC. [S. l]: [s. n. ], 2010.
|