基于BING-casDPM 的快速行人检测算法

2019-10-31 08:18胡燕伟徐美华郭爱英
关键词:分类器行人滤波器

胡燕伟,徐美华,郭爱英

(上海大学机电工程与自动化学院,上海200444)

在日常生活中,行人检测具有广泛的应用价值和市场价值,如智能交通、视频监控、车辆辅助驾驶等[1-3].行人是目标检测中较难检测的类型之一,具有较大的挑战性,这主要是因为行人具有不同的姿态、体貌,且行人所处环境中的背景一般较为复杂,而且还要考虑光照变化、遮挡等外部因素.目前,行人检测方法以背景建模法和基于统计学习的检测方法为主.背景建模法包括背景减除法、光流法、帧差法等,通过提取出前景运动的目标,在目标区域内判断是否包含行人,不过这类方法易受环境光照变化、画面抖动等条件影响[4].基于统计学习的方法主要通过提取行人特征,利用大量的行人样本构建行人检测分类器,能够克服行人姿态不同和光照变化等难点,相较于背景建模法可达到更高的检测精度[5].

基于统计学习的行人检测方法是目前研究的主要方向,其中选取哪种行人的特征描述子和分类器会影响这类方法的检测性能.描述图像中行人的特征主要有:Haar,LBP和梯度方向直方图(histogram of oriented gradient,HOG)等,利用的分类器主要有:神经网络、支持向量机(support vector machine,SVM)和Boosting等.大多数基于此方法的行人检测算法都需要进行大量的计算,在检测速度方面存在较大问题,故需要进一步优化以减少检测时间.Papageorgiou等最早提出Haar特征后,Viola等[6-7]提出了使用积分图来加快Haar特征的计算速度,并使用Adaboost构建级联分类器进行行人检测;Dalal等[8]提出的HOG是应用较广的行人特征,对光照变化具有较强的鲁棒性,但检测时间较长;Zhu等[9]提出用积分直方图来加快HOG特征的计算,并利用AdaBoost实现一个快速行人检测系统;Wojek等[10]通过GPU使用并行技术实现HOG计算,建立了一个实时行人检测系统;2008年Felzenswalb等[11]提出了可变形部件模型(deformable part model,DPM)目标检测算法,该算法对目标多视角和形变问题具有较强的鲁棒性,但是DPM特征维度较高,单幅图像检测速度较慢[11].针对DPM的加速算法主要有2种方式:①星型级联可变形部件(star-cascade DPM,casDPM)模型中通过主成分分析(principal component analysis,PCA)法降维和级联分类器的检测方式,该方式可过滤掉不存在目标的区域,提高检测速度[12];②Dubout等[13]使用FFT加速HOG特征和滤波器模型的卷积运算.虽然这2种方法都对经典DPM模型加速了约10倍,但均可以更进一步提高检测速度.

本工作通过对传统DPM模型的研究发现,在DPM算法通过滑动窗口方式进行目标检测时,滑动窗口数量与待检测图像的分辨率大小线性相关,且一般图像中背景区域面积占整幅图像的一半以上,而背景区域的检测花费了大量时间.根据上述分析,如果能过滤掉背景并提取出包含目标的区域,只在该区域上检测,就可以加快检测速度,因此本工作提出了基于二进制化的梯度范数(binarized normed gradients,BING)-casDPM的快速行人检测算法.该算法首先通过BING算法标定出目标候选区域,然后根据候选区域特点提取待检测框,最后利用casDPM模型进行快速行人检测.实验结果证明,该行人检测算法较传统DPM模型和casDPM模型在基本不降低检测率的同时,大幅提升了检测速度.

1 基于BING的目标候选区域标定

虽然,一些传统的特征描述子对行人有较好的表达效果,但因为其维度较高而不适合用作筛选目标候选区域的特征,所以Cheng等[14]根据特征范数提出了BING特征,经过有监督特性的分类,快速筛选出一组包含目标的候选窗口.

1.1 BING特征

图像中的物体一般孤立存在于背景中,有着清晰的轮廓和闭合的边缘,而背景区域通常只呈现出同质化特点.当把检测窗口调整到一个较小的固定尺寸时,不同物体的梯度范数(normed gradients,NG)特征会表现出一定共性,对于背景和物体有较好的辨别性.在进行图像检测时,将图像缩放到不同的尺度空间,在调整后的尺寸上使用8×8的窗口,在水平和垂直方向使用算子[-1,0,1]计算梯度gx和gy,归一化得到NG特征为

式中,b表示为二进制化后得后的BING特征,b∈{0,1};k,l分别为8×8特征中的行列位置.

图像中物体和背景的梯度图对比如图1所示,图中红框内物体与绿框内背景的梯度有较明显的差异,物体的梯度模式比较杂乱,而背景比较单一和清楚.

图1 尺寸为8×8的NG特征图Fig.1 Size of 8×8 NG feature map

将NG特征二进制化,使用byte类型存储一个梯度,并且只取前Ng位表示梯度范数从而减少计算量,故64维的NG特征近似为BING特征为

式中:b表示为二进制化后得到的BING特征,b∈{0,1};k,l分别为8×8特征中的行列位置.

1.2 基于BING的候选区域标定算法

利用BING特征性质可以有效地筛选出包含目标的窗口.标定目标候选区域就是将似物性较大的窗口筛选出来,检测窗口得分越高表明该区域似物性概率越大.似物性的定义如下:通过一个窗口将目标物体框出来,且这个窗口能够最大程度地包含任何种类的物体[15].基于BING特征的目标候选区域标定算法如图2所示.

图2 基于BING的候选区域标定算法Fig.2 Algorithm of candidate area calibration based on BING

首先,通过训练图像上的标注信息生成多个不同尺度进行采样,保留采样样本和标注样本重叠率大于50%的样本,并归一化到8×8大小保存为正样本;在每张图像中随机采样备选的窗口,保留与标注样本重叠率小于50%的窗口为负样本.建立如式(3),(4)所示的窗口得分模型进行训练:

式中:sl,w,gl分别为滤波器得分、第一级SVM训练得到的权值系数和BING特征;l,i,(x,y)分别为窗口坐标、尺度和位置.

第一级线性SVM分类器中的权值参数w通过二值化处理提升式(3)的计算效率.如式(5)所示,采用“Gram-Schmidt”正交化将w投影到不同的正交向量中,只取包含前Nw个正交向量作为输出来降低计算量[16-17]:

通过二值化近似后,得到BING特征对应的窗口的得分模型:

集合sl中,有些尺寸(如20×500)相对于尺寸(如100×100)来说,窗口包含目标的可能性较小,因此根据窗口大小、第一级分类器得分和最终窗口是否包含目标等信息建立第二级SVM模型.训练时,当l位置的窗口与已标注窗口重合度高于50%时放入正样本,否则就放入负样本;通过如式(7)所示的训练得到第二级分类器参数,并使用其对测试图像进行最终窗口打分,输出一系列按得分降序排列的目标候选区域:

式中:vi,ti为第二级SVM训练得到的参数;ol为最后计算得到的窗口分数.

2 基于BING-casDPM的快速行人检测

测试图像中背景区域通常占图像面积50%以上,而DPM算法通过滑动窗口遍历检测图像,其背景部分的检测会耗费大量时间,因此本工作提出了基于BING-casDPM的快速行人检测算法.该算法首先通过BING算法对目标候选区域进行标定,再根据标定结果的特点进一步处理,提取待检测框,将其作为输入以缩小casDPM模型检测范围,减少滑动窗口数.相较于传统DPM,casDPM采用级联方式通过设定阈值过滤不包含目标的区域,并采用PCA降维方式降低计算复杂度,加快了检测速度.

2.1 待检测框提取

使用基于BING的目标候选区域标定算法,输入待检测图像在保证检测精度的同时,快速筛选产生一系列包含目标的候选窗口.BING算法对每幅图像产生约2 000个候选窗口,由于取得分排名前1 000的候选窗口时的检测率可达96.2%,因此本工作取得分前1 000的窗口进行进一步处理.

通过分析BING算法得到的大量检测结果发现,得分排名1 000以内的前20%的窗口虽然包含大部分目标,但是尺寸过大,且包含背景信息过多;得分排名80%以后的窗口目标似物性较低,因此为了降低计算量以及准确提取待检测框,取得分排名20%~80%的目标候选窗口进行计算,而舍去其他候选窗口.候选窗口位置示意图如图3(b)所示,图中的目标区域以及光照变化明显的区域的候选窗口相对集中,被判定可能存在目标物体.本工作根据图像中像素点在候选窗口出现的频率提取待检测框,结果如图3(c)所示.

图3 提取待检测框Fig.3 Retrieve the box to be detected

待检测框提取步骤如下.

(1)将候选窗口按似物性得分降序排序,取得分排名在20%~80%的600个窗口.设Bi为第i个候选窗口的位置,Pi(x,y)为像素I(x,y)与第i个候选窗口关系结果,则

(2)计算每个像素I(x,y)在所有候选窗口中出现的频率:

(3)利用实验分析得到的频率阈值t对P(x,y)进行二值化得到Q(x,y):

通过式(10)得到一个和图像I大小相同,且只包含0和1的矩阵Q,计算矩阵Q中包含所有数值1的最小矩阵,得到对角坐标(xmin,ymin)和(xmax,ymax),并根据此坐标得到图像I中待检测框(见图3(c)).

2.2 casDPM模型行人检测

行人检测流程如图4所示.将得到的待检测框作为输入,使用casDPM模型进行行人检测.casDPM模型利用改进的HOG特征、隐式支持向量机(latent SVM,LSVM)分类器和滑动窗口方式,在传统DPM模型基础上通过PCA降维和级联检测加快检测.

传统DPM模型中的特征取消了原HOG中的块(block),以单元(cell)为单位,将cell中的梯度值分别离散到18个有符号梯度方向(0°~360°)和9个无符号梯度方向(0°~180°).通过归一化并利用截断函数进行限幅,得到31维HOG特征,而casDPM模型中将31维特征进一步PCA降维,以少量的开销将原特征映射到前K个主成分中,这里取K=5.

casDPM模型的滤波器由2部分组成:①一个粗糙的根滤波器,主要从低分辨率图像中确定整体目标轮廓;②若干个部件滤波器,主要从高分辨率图像中确定各部件的尺寸和位置[18].滤波器的得分是滤波器向量和窗口特征向量的点积.使用φ(H,p)表示为以p为左上角坐标、尺寸为w×h窗口的全部特征向量串接起来的向量;H为HOG特征金字塔;p指定位于金字塔第l层的位置.HOG金字塔的位置用z=(p1,p2,···,pn)表示,其中pi=(xi,yi,li).行人站姿的DPM特征示意图如图5所示,其中(a)为根滤波器ω,(b)为部件滤波器pi(i>0),(c)为部件偏移情况.用di(δi)表示部件滤波器pi的偏离损失,越亮的部分表示部件滤波器相对于根滤波器偏离越大.

级联检测方式通过一系列阈值对部件模型进行修剪.使用的阈值包括一个全局阈值T和按顺序排列的 2n个中间阈值 ((t1,t′1),(t2,t′2),···,(tn,t′n));用Ψ表示图像中每个部件的空间位置,对于每个根位置ω∈Ψ,ω区域在模型检测后的得分为score(ω);对score(ω)采用形变修剪和假设修剪方式进行n阶评估;以mi(ω)表示部件pi在ω的得分;初始化输出集为空集.最终根滤波器和部件滤波器的检测得分为

式中:ai(ω)为部件滤波器pi的理想位置函数;di(δi)为δi的二次函数;⊕为二进制操作符,表示当最终得分score(ω)≥T时,判定该区域包含目标,添加进结果输出集中[19].

待检测框经过casDPM模型级联检测后,得到的包围框通过非极大值抑制产生精确行人结果(见图4(c)).为了证明本算法的准确性,最后将结果返回到原始尺度的检测图中(见图4(d)).

图4 行人检测流程Fig.4 Pedestrian detection process

图5 行人DPM特征示意图Fig.5 DPM feature diagram of pedestrian

3 实验与结果分析

BING算法在Pascal VOC2007数据集中取已标注各类物体的2 500张图像训练;casDPM模型在INRIA数据集中取行人库中1 000个正样本和1 500个负样本训练.系统训练和检测使用的PC机配置为Inter Core i5-7300HQ@2.50 GHz;8 GB内存.

3.1 行人检测流程

本算法行人检测流程如图6所示.BING算法、待检测框提取、casDPM模型组成了基于BING-casDPM的快速行人检测算法.首先,使用BING算法将输入图像进行目标候选区域标定,筛选得到一组按得分降序排列的候选窗口;然后根据候选窗口的分布特性提取待检测框;最后应用训练好的casDPM模型在待检测框上检测行人,并将检测结果还原到原图像中.

图6 本算法的行人检测框架图Fig.6 Pedestrian detection frame of this algorithm

3.2 实验结果分析

本工作是在PC平台上Visual Studio 2012环境下,使用C++语言编程实现基于BING-casDPM的快速行人检测算法.将本算法与经典DPM模型和casDPM模型利用INRIA行人数据库的检测库中进行测试,该检测库图像中行人目标具有姿态多样化、遮挡和视角不同等情况,且背景复杂、光照变化较大,能有效验证算法的检测性能.288张测试图像中包含589个行人,其在平均检测时间、检测率和误检率3个方面的性能比较如表1所示.

表1 经典DPM算法、casDPM算法与本算法性能比较Table 1 Performance comparisons of classical DPM algorithm,casDPM algorithm and this algorithm

表1数据表明,在基本不损失检测率的情况下本算法的平均检测速度和误检率都优于另外2种检测算法,速度比传统DPM模型提高约16倍,比casDPM模型提高约40%.检测库的图像中有1 280×910,640×480,408×370等多种分辨率大小,本算法能从不同分辨率图像中快速准确地识别行人,对不同尺度的图像有较好的适应性.使用BING-casDPM模型在一定程度上也可以有效减少误检窗口,与casDPM模型检测效果对比如图7所示,证明本算法相较于casDPM算法有着更好的检测性能.

图7 不同算法对比图Fig.7 Different algorithms contrast figure

本算法对输入尺寸为640×480的实际场景图像进行行人检测结果测试,运行程序并在图像中检测出行人,结果如图8所示.

图8 本算法的行人检测结果Fig.8 Pedestrian detection performance of this algorithm

从图7中可以看出,该算法对主要行人目标具有良好的检测效果,基本没有出现误检窗口.本算法主要是基于BING算法提取候选窗口,并利用casDPM模型进行滑动窗口方式的快速检测,在速度上较传统DPM算法和casDPM算法有大幅提升.在检测率上较其他2种算法略有下降,主要原因是BING算法在行人候选区域的准确检测对算法整体的检测性能有很大影响.当图像背景非常复杂时,BING算法可能未筛选出准确的目标候选窗口,导致有些目标区域被判定为背景,在提取待检测框时未将目标包含进去,从而没有被casDPM模型检测出,影响了最终检测结果.

4 结束语

本工作提出了一种基于BING-casDPM的快速行人检测算法.该算法主要针对滑动窗口方式的DPM模型,在背景上花费大量时间导致速度较慢的问题,引入基于BING特征的目标候选区域的快速标定;并根据候选窗口在图像上的分布特点进一步处理,提取待检测框;最后通过训练好的casDPM行人模型对待检测框进行细检测.通过仿真实验证明,该算法比经典DPM模型和casDPM模型在保持一定检测率的同时降低了误检率,大幅提高了检测速度.未来本工作将继续研究目标候选区域和行人检测算法的融合方式,进一步分析利用目标候选区域结果,提取更精确合理的待检测框,以提高行人检测算法的准确率和实时性.

猜你喜欢
分类器行人滤波器
毒舌出没,行人避让
从滤波器理解卷积
路不为寻找者而设
开关电源EMI滤波器的应用方法探讨
一种微带交指滤波器的仿真
基于差异性测度的遥感自适应分类器选择
基于实例的强分类器快速集成方法
我是行人
曝光闯红灯行人值得借鉴
基于TMS320C6678的SAR方位向预滤波器的并行实现