基于加权Hash特征与卷积辅助网络的ACF行人检测研究

2019-04-29 05:51王薇薇王江涛
长春师范大学学报 2019年4期
关键词:权值分类器行人

王薇薇,王江涛,陈 燕

(淮北师范大学物理与电子信息学院,安徽淮北 235000)

1 研究背景

近年来,随着人工智能技术特别是无人驾驶技术的兴起,使行人检测成为当前的研究热点,行人检测是计算机视觉的重要分支,在智能监控、主动安全、人机交互等领域都发挥着重要的作用。行人检测技术经过几十年的发展,取得了较大的进展,但由于人体形状是多变的,且人体所处的场景也是动态时变的,这些因素都导致行人检测难以得到理想的结果,还需要进一步展开研究。

在行人检测的发展中,学者们提出了许多方法,也试图对提出的方法加以改进,比较主流的行人检测方法按照系统使用的分类器一般可分为两类:一类是基于SVM的行人检测;一类是基于AdaBoost的行人检测。SVM一般与DPM或者HOG相结合进行行人检测,而AdaBoost一般与Haar小波或ACF相结合进行行人检测。HOG算法[1]由Dalal和Triggs在2005年提出,这对于行人检测有着里程碑的意义,HOG能够非常好地表征行人,HOG+SVM系统也使行人检测的性能大大提高,但HOG特征的计算时间长,特征维度高,且由于行人多样性、背景多样性以及遮挡等原因,单一的HOG特征不足以表达复杂的变化情况。对此,广大学者提出了许多改进的方法[2-4],取得了不错的效果。

2009年,Dollár[5-9]等人利用积分图技术,将各种特征(如HOG、颜色特征、梯度幅度特征、边缘特征等)的积分图进行有机的结合,经过滤波,降采样等操作形成聚合通道特征(ACF)。ACF集成了各种信息,所以能更好地表征行人,也更具有鲁棒性。而且积分图技术与特征金字塔的使用,加速了特征的计算,在分类阶段使用AdaBoost分类器,获得了具有实时效果的行人检测器。ACF对检测目标优异表征能力引起了广大研究者的关注,他们对ACF进行了改进。对于单一波段下的行人检测,其检测性能总达不到理想的效果,如可见光波段对光照很敏感,当遇上雾霾、灯光昏暗等情况时,检测效果会变差。而对于红外波段,当目标热辐射弱或者有其它热源干扰时,检测效果也会欠佳。对此,彭志蓉等[10]提出了一种基于多光谱的聚合通道特征,他们利用了可见图像与红外图像进行特征提取,克服了单一波段下鲁棒性差的问题,提高了行人检测的精度。李庆武等[11]提出了一种多尺度聚合通道特征估计算法,利用高斯拉普拉斯算子与高斯差分算子之间的关系,结合特征金字塔算法,减小了计算特征的时间开销,实现了实时、精确的行人检测系统。韩建栋等[12]提出了一种结合纹理特征和边缘特征的聚合通道特征,提高了检测精度,同时降低了误检率。在行人检测领域,ACF+AdaBoost系统取得了较好的效果,但仍没有达到实际运用的要求,仍存在改进的空间。一个精确度高、误检率低、实时的行人检测系统才是市场的需求。简单、易算、表征能力强的Hash码[13]的出现与神经网络的兴起给行人检测提供了新的思路。本文通过增加改进的自适应加权的Hash码通道,设计AdaBoost与CNN的级联结构,旨在从增加系统特征的多样性和改善AdaBoost分类器两方面提高行人检测系统的性能。

2 ACF行人检测算法

2.1 聚合通道特征(ACF)

聚合通道特征集成了各种特征,从不同的角度描述行人的外观共性,典型的ACF如图1所示,包含灰度特征、颜色特征、梯度幅度特征、梯度方向直方图等。ACF采用了快速特征金字塔,能够快速地计算出不同尺寸的行人的特征,一般的特征金字塔需要将图像放缩到每一层对应的尺寸,再计算每一层图像的ACF,而快速金字塔算法是把金字塔分成几个组,只需计算缩放因子为1、1/2、1/4层的特征,然后用计算好的层来估计其它层。

图1 特征通道示例

2.2 基于AdaBoost分类器的ACF行人检测算法

图2所示为ACF+AdaBoost行人检测流程,首先提取待检测图像的ACF特征,为了满足行人多尺度的需求,需要构建特征金字塔,然后生成特征向量,再经过之前训练好的AdaBoost分类器检测行人,会产生多个预选行人区域,每个区域有各自的得分。得分越高的,越有可能是行人区域,反之亦然。因此要用非极大值抑制(NMS)算法[14]去掉那些可能性小的区域,得到最终的检测结果。

图2 ACF+AdaBoost行人检测流程

3 自适应加权的Hash码

Hash码可看作是图像的“指纹”,它的运算非常简单,但分辨能力很强,这些特点也让Hash码得到广泛的应用,如相似图片搜索引擎、视觉追踪以及行人检测等。

3.1 传统的Hash码

传统的Hash码的计算一般分为以下几个步骤[15]:

步骤1 对图像进行离散余弦变换(DCT);

步骤2 取变换后图像左上角的8×8区域I1。因为经过余弦变换,图像的能量都集中在低频部分。所以可取左上角区域进行Hash码的提取;

步骤3 计算I1的平均灰度值v,比较I1中各个像素点与v的大小。比v大的点赋值为1,比v小的点赋值为0;

步骤4 最后按一定的规则排列这64位数,得到Hash码。

对图像进行DCT可以获取图像的低频部分,减少图像像素域均值的影响,使算法更具有鲁棒性。DCT是一种可分离变换,一维的DCT的变换核为:

(1)

(2)

(3)

对于大小为M×N的二维图像矩阵,其变换核为:

(4)

DCT为:

(5)

其中,x,u=0,1,,M-1,y,v=0,1,,M-1.

由于DCT的可分离性,可用两次一维的DCT来完成二维的DCT,即通过式(6)来计算。

f(x,y)→F行[f(x,y)]=F(x,v)→F(x,v)T→F列[F(x,v)T]=F(u,v)T→F(u,v).

(6)

3.2 改进的Hash码

本文用的Hash码的目的在于增加特征通道,拓展ACF特征,加入传统的Hash码时,结果并不理想,考虑到增加的特征的维度和幅度,不能与原有的通道特征有较大差异,所以要对传统的Hash码进行改进。

3.2.1 Hash码图

在进行Hash码计算时,为了不丢失图像的信息,本文用原图离散余弦变换后的整张图来进行计算。同样地,如上述步骤3,可得到与原图大小一样的二值Hash码图,如图3(b)所示。

图3 Hash码图与原图的对比

3.2.2 对Hash码图进行加权

为了使Hash码图能更好地加入到ACF特征通道,本文尝试了多种Hash码图的加权,首先要构造一个权值矩阵,它与Hash码图的大小相同,每一个点的值即为Hash码图对应点的权值,由于Hash码图是一个二值图,所以没有采用一般的权值与灰度值相乘的加权方法,而是采用了权值与灰度值相加的方法,对于权值矩阵的构造,本文也有多种尝试,如图4是不同的权值辐射点的权值矩阵,构造权值矩阵具体步骤如下:

步骤1 计算矩阵中其它点(x,y)与权值辐射点(x0,y0)的距离:

(7)

步骤3 把1赋值给权值辐射点。

由上文所述可知,权值矩阵中的点离辐射点越近,权值就越大,反之亦然。

110.50.330.2510.70.450.310.240.50.450.350.280.220.330.310.280.230.20.250.240.220.20.18

(a)以左上角的点作为权值辐射点

0.350.480.50.450.330.450.710.70.330.51110.330.450.710.70.330.350.450.50.450.33

(b)以中心点作为权值辐射点

0.180.20.220.240.250.20.240.280.320.330.220.280.330.480.50.240.320.480.710.250.330.511

(c)以右下角的点作为权值辐射点

图4不同的权值矩阵

4 辅助网络的设计

传统的ACF+AdaBoost系统在达到理想的检测率时,会带来虚警率过高的问题。辅助网络可以提高AdaBoost分类器的性能,从而提高系统的检测率,其设计考虑到了系统的实时性,故辅助网络必须是一个简单而有效的网络。

4.1 卷积神经网络(CNN)

CNN是近年兴起的一种前馈神经网络,其在行人检测领域优异的表现引起了广大学者的关注[16-18]。CNN应用了局域感受野、权值共享和池化机制,局域感受野指网络通过滤波器在输入图像上滑动提取图像的特征,权值共享机制与池化减少了网络所需的参数,防止过拟合。这些机制的使用使CNN具有分类精确、鲁棒性高的特点。具体的卷积操作如下:

(8)

4.2 本文的辅助CNN

CNN对目标的精确分类能力和对复杂背景的高鲁棒性给了本文的行人检测新的启发。通过实验发现,传统的AdaBoost分类器因为虚警率太高而引起性能衰减。结合CNN的特点,考虑构建一个辅助CNN网络对AdaBoost的后续样本进行判决,旨在不影响实时性能的前提下,降低检测的虚警率。基于这两点的考虑,通过实验设计如图5所示的CNN网络,除输入层外网络包含了5层,网络固定输入48*48的灰度图,采用6个通道对输入图像进行卷积,卷积核的大小为5*5,滑动步长为1,故第一层的输出大小为44*44*6,第二层为池化层,其以第一层的输出作为输入,对其输入的每个非重叠的2*2区域求均值,故第二层的输出大小为22*22*6,达到了减少数据冗余的目的,网络的第三次问卷积层,该层卷积核的大小为5*5,有12个卷积通道,故其输出大小为18*18*12,第四层为池化层,其操作与第二层相同,第五层为全连接层,其作用是根据实际的分类要求,把该层的输入整合成一个向量输出。在传统的ACF+AdaBoost系统对检测图像进行分类后,级联上本文设计的CNN网络,进行二次分类,能够有效地减少系统的虚警率。

图5 本文辅助CNN的结构

5 实验结果与分析

算法的运行环境:内存为8 GB,CPU为AMD A10 PRO 7800b R7处理器,主频为3.5 GHz。算法的运行软件平台为MATLAB R2012a。

实验均在INRIA数据库上进行,该数据库分为训练集和测试集,训练集包含了614幅正样本图(含有2416个行人)和1218幅负样本图,测试集包含了288幅正样本图(含有1126个行人)和453幅负样本图。INRIA数据库包含的行人丰富,数据集也很完善。以系统的漏检率MR-FPPI作为评估标准,在检测过程中,检测器可能把背景误认为是行人,影响系统的检测性能,以FP(False Positive)为检测器误把背景判断为行人的窗口总数,以TP(True Positive)为检测器准确判断出行人的窗口总数。其中,漏检率的定义为:

(9)

5.1 不同权值矩阵的Hash码比较

实验发现,ACF还具有良好的拓展性,因此可以增加ACF的通道。当加入适当的特征通道时,能有效地提高系统的检测率,而当加入的特征不当时,不但增加了行人检测的时间,还有可能降低系统的检测率。如当加入辐射点为左上点或右下点的权值矩阵的Hash码时,系统的漏检率不但没有下降,反而分别上升到19.74%和21.43%,而当加入辐射点为中心点的权值矩阵的改进Hash码时,其漏检率降低到16.31%。改进的Hash码计算简单,且对行人刻画能力强,能有效地提高系统的检测率,结果如图6所示。

图6 不同的权值矩阵检测率

5.2 加入辅助CNN网络前后结果对比

图7(a)为运用10个ACF作为检测特征时行人检测的结果,可以看出系统把某些不是行人的物体也标记为行人,系统的误检率很高。级联本文设计的辅助CNN网络后,系统的检测结果如图7(b)所示,辅助CNN有效地降低了系统的误检率。

图7 辅助CNN的效果对比

5.3 本文的方法

通过大量实验发现,基于ACF+AdaBoost系统,可以通过加入改进的Hash码通道来降低系统的漏检率,同时级联辅助CNN网络来降低系统的误检率,由图8可知,系统行人检测的性能大大提高。

图8 本文方法与ACF+AdaBoost系统的比较

6 结论

本文针对传统ACF+AdaBoost系统在达到理想检测率时会有较高误检率的问题,从两个方面改善系统的性能,一方面通过加入自适应加权的Hash码通道特征,增加系统特征的多样性,降低系统的漏检率;另一方面,通过级联辅助CNN,提高AdaBoost分类器的性能,降低系统的误检率,最终达到了提高系统检测性能的目的。下一步研究会将神经网络运用于行人检测,进一步提高行人检测的性能,旨在开发可以实时运行的检测软件。

猜你喜欢
权值分类器行人
一种融合时间权值和用户行为序列的电影推荐模型
毒舌出没,行人避让
CONTENTS
路不为寻找者而设
基于实例的强分类器快速集成方法
我是行人
基于权值动量的RBM加速学习算法研究
基于多维度特征权值动态更新的用户推荐模型研究
曝光闯红灯行人值得借鉴
加权空-谱与最近邻分类器相结合的高光谱图像分类