行人检测的深度稀疏自编码网络*

2019-06-19 12:34赵莎莎范志旭
计算机与生活 2019年6期
关键词:编码器行人样本

崔 鹏,赵莎莎,范志旭

哈尔滨理工大学 计算机科学与技术学院,哈尔滨 150080

1 引言

目标检测问题可看作一种分类问题,需要把目标从背景中识别出来并精准定位。行人检测比检测其他物体如汽车、人脸更加困难[1],因为人体是非刚性、高度的链接,不仅受到光照的变化、遮挡、视觉上的扭曲,还有不同的姿势姿态。另外,由于人体穿着的多样性,行人不能仅利用纹理和颜色信息特有的优势去检测。

特征提取对于检测器的设计起着至关重要的作用,近年来,国内外研究人员设计出多种特征描述符。Dalal等人[2]提出梯度方向直方图(histogram of oriented gradient,HOG)去提取人体形状的轮廓信息,能对光照、尺度、方向有很好的适应性,因此得到广泛的应用。随后,一些研究者在HOG的基础上设计新的检测器[3-4]。Dollár等人[5]首先引入积分通道(integral channel features,ICF),结合6个梯度方向直方图通道、梯度幅度通道等,得到有效的特征。为了提高鲁棒性,相继提出聚合通道特征如ACF(aggregate channel feature)[6]、LDCF(locally decorrelated channel features)和 Spatial Pooling[7]等,将通道分块,并将每个块中的像素求和作为特征值。还有矩形特征如ChnFtrs、Squares ChnFtrs[8]、Informed Haar、NNNF(nor-neighboring and neighboring features)[9]等考虑一阶或更高阶矩形特征。随着强大的并行计算架构的出现,深度神经网络正在迅速革新机器学习和人工智能的世界[10-11],文献[12]设计的无监督深度学习方法,是第一个使用卷积网络来检测行人。深度堆栈网络代替原始特征,提高系统的判别能力,同时保留可变形部分模型的优点,即对姿态和部分遮挡的鲁棒性,Ouyang等人[13]构建一个能够执行特征提取、部件变形处理和遮挡处理的可判别网络。Hosang等人[14]使用有监督的深度学习方法,适应图像分类设计的网络来检测行人。这种方法在检测精度方面具有良好的结果,改进了基于手工特征提取的最新方法的性能。

以上研究中的深度网络方法可以达到不错的性能,但需要昂贵的设备如GPU及大量的训练图像。此外,直接对图像进行学习,会消耗大量的时间,并影响分类器的性能。在文献[15]中,作者将额外特征(包含前面提到的ICF通道、边缘通道特征等)输入到卷积神经网络中,从而提升检测性能,但是不同通道整合的特征维数大,训练CNN(convolutional neural networks)的计算成本昂贵。自动编码器作为常用的深度网络结构,可以捕捉图像的重要信息,学习到表示行人信息的主要特征,降低时间复杂度。在此启发下,本文提出了一种基于深度稀疏自编码网络(deep sparse auto-encoder network,DSAEN)方法,将行人信息特征结合到深度学习的检测框架中来学习行人图像的主要特征。

本文的组织结构为:第2章讲述自动编码器的理论方法;第3章详细描述了基于深度稀疏自编码网络的行人检测方法;第4章介绍实验应用的数据库、性能评估指标以及各种算法的对比实验;第5章对全文进行总结,并对下一步的研究方向加以展望。

2 自动编码器

常用的深度网络结构有深度置信网络(deep belief networks,DBN)、卷积神经网络(convolutional neural networks,CNN)和自动编码器(auto-encoders,AE)[16]。AE接受一些输入x并尝试将其复制到输出y。它具有三层,一个大小为n的可见层,一个节点为d的隐含层和一个具有n个节点的重构层[17]。设x∈Rn为输入向量,h∈Rn为隐含层的输出,x͂∈Rn为x的重构。当dn时,执行一个过完备表示。隐含层和重建层的输出可以用下面的公式计算:

其中,f(∙)是非线性激活函数,W和b是编码过程中的权重矩阵和维度为d的偏置矢量,W′和b′是解码的权重矩阵和n维偏置矢量。参数(W、W′、b和b′)可以通过反向传播算法最小化目标函数来估计。

3 基于深度稀疏自编码网络的行人检测方法

传统的网络以整幅图像作为输入[18],导致网络学习时间长,并且目标函数不能使数据有效地收敛,从而影响检测器的性能。本文提出的DSAEN在输入层后加了一层感兴趣层,提取出充分表示行人信息的混合特征。通过网络得到的特征输入到线性核函数的SVM分类器中进行训练。检测时,通过训练好的检测器对测试图像进行判断,最后采用非极大抑制算法(non-maximum suppression,NMS)[19]对行人的位置精确定位。

3.1 感兴趣层的设计

目前,大部分行人检测技术是通过描述局部图像区域特征而设计,没有充分利用行人的固有属性。事实上,行人的一些固有属性可以进一步提高检测器性能。NNNF利用行人图像固有的外观属性,设计出侧向内部差异特征(side-inner difference features,SIDF)和对称相似性特征(symmetrical similarity features,SSF),充分表示了图像信息。本节在NNNF的基础上进行改进,并将跨通道特征融合到特征设计中。

如图1所示,用矩形表示两个目标,目标1(图中第一行)中间有一条直线,而目标2(图中第二行)没有,如果用相邻特征表示目标,得到的特征值相同,不能区分开目标,而图中的非相邻特征为不同的值,因此可以正确地区分这两个目标。将这种非相邻特征应用到行人图像中,如图2,图像中标注的非相邻区域可以观察到行人与背景之间、行人轮廓与内部之间的差异以及行人的外观对称性。

Fig.1 Difference between nor-neighboring and neighboring features图1 非相邻特征与相邻特征的区别

Fig.2 Application of nor-neighboring features in pedestrian images图2 非相邻特征在行人图像中的应用

对于SIDF,非相邻的两个区域在同一水平位置,而尺寸、距离、比例关系可以呈现多样性,图3为SIDF可能存在的形式。假设图3(a)为标准的矩形区域块,图3(b)~(e)为相对于图3(a)做出的改变。

Fig.3 Different types of SIDF图3 不同类型的SIDF

假设SIDFf(A,B)由两个块A和B组成。A和B的像素数目由NA和NB表示,每个通道中像素和由SA和SB表示。通过式(3)计算侧向内部差异特征f(A,B)。

SSF是根据行人的对称性而设计的,如图2中的对称区域,两个区域有相似的特征,块A和A′的对称相似性特征f(A,A′)的表达式如式(4)。

其中,fA和fA′表示块A和A′的特征,fA=SA/NA。

在文献[9]中提出的对称特征是单一的以90°为对称轴,如图2的对称区域标注,而实际场景中,人的行为具有多样性,本文增加两种对称轴线,分别为45°和135°,以满足图4的情况。为了消除行人形变的影响,引入随机池来表示块特征,对称块A和A′分别由四个子区域随机组成,每个子区域的面积应大于块的一半,块的特征由子区域随机池得到的特征表示。Stochastic pooling为基于概率的随机池化,是对块中元素值赋予权重概率,如果区域内只有一个非零元素,则概率为1,取不到元素为零的值,没有考虑元素的顺序。因此,增加元素排序影响因子,其计算过程如下:

Fig.4 Application of different symmetry axes in image symmetry information extraction图4 不同对称轴在图像对称性信息提取的应用

步骤1对池化区域的元素进行去重排序,确保相同元素具有相同的概率值。

步骤2加入排序影响因子,计算如下:

其中,α为超参数,ri代表xi在块中排序的索引值,n为块中元素个数。

步骤3计算元素权重概率。

步骤4从有关p的多项式分布取样,得到xi。

图5为本文改进的随机池化方法的计算示意图。对称块A和A′的尺寸允许在合理范围内变化,其范围从6×6个像素到10×10个像素,f(A,A′)转化为式(8)计算。

在具有多通道类型的行人检测器中,如HOG+LUV,不同的通道包含不同类型的信息。目前流行的聚合通道主要是分开捕获各个通道中的信息特征,一次只在一个通道中接收矩形的响应,就会丢失一些信息。为了解决这个问题,本文提出一种跨通道的特征,通过比较同一矩形在不同通道中的响应来捕获这些有价值的信息。这两个矩形之间的响应差异被记为特征值,如式(9)。不同通道的特征应进行标准化处理以使其具有可比性。为了生成跨通道的矩形,首先在模型区域中随机生成一个矩形,然后为它分配不同的通道索引。如图6,对测试图像,计算同一区域位置在不同通道下的特征。

其中,S(A)和Y(A)分别为块A在不同通道下的特征值。

Fig.5 Schematic diagram of calculation of improved stochastic pooling method图5 改进的随机池化方法的计算示意图

Fig.6 Feature representation of same region in same image under different channels图6 同一图像同一区域在不同通道下的特征表示

3.2 基于深度稀疏自编码网络的训练过程

图7 描述了本文的深度稀疏自编码网络的结构,上节得到的混合特征作为DSAEN网络感兴趣层的输出,可以减少网络学习的复杂度。随后由四个自动编码器的隐含层组成,在所提出的系统中,自编码网络用作特征学习。

Fig.7 Architecture of deep sparse auto-encoder图7 深度稀疏自编码网络结构图

给定混合特征样本集{x1,x2,…,xn},其中xi∈Rn,第一层隐含层h1=δ(W1xi+b1),W1∈Rn×s为在第一层中学习的权重矩阵,s为第一层编码器隐含层节点的数量,b1为偏置值。δ(∙)是非线性激活函数,其经典的有ReLU、S形或正切型双曲线函数。ReLU函数可以避免在使用S或正切双曲线函数时遇到的梯度消失问题[20]。此外,即使不需要预训练,使用ReLU函数也能有效地训练深度自编码网络。但是,当x<0时,其值为0,易出现一些“死”节点。因此,使用改进的ReLU作为激活函数,定义如式(10)所示。

改进的ReLU函数增加一个很小的常数项α。从而解决无效节点的问题,适合利用数据中的稀疏性,生成稀疏表示。第一个自编码器的输出值为:

其中,y1为第一个解码器的输出,W1、b1分别为第一个编码器(即第一层隐含层)与解码器之间的权重矩阵与偏置值。第一层隐含层的输出h1被用作第二层的输入。以此类推,第四层隐含层的输出为h4=δ(W4h3+b4)。其中W4∈Rm×q和b4分别是第四层的权重矩阵和偏置值。网络最后的输出为:

混合特征是相关的并且存在某种潜在结构,类似主成分分析算法,自动编码网络试图学习较低维度的相关性数据。DSAEN的学习是通过更新其参数来实现的,即θ={W,b},其中,W为各层之间的权重矩阵,b为各层之间的偏置矢量,用于输入特征最小化目标函数。以第1个自编码器为例,描述其训练与微调过程。传统的损失函数以均方误差为准则,该方法是在输出为正态分布的假设条件下推导出的,存在一定的局限性。因此采用交叉熵为损失函数,其定义如式(13)所示。

由于DSAEN具有高灵活性,需要进行适当的设置,以确保其学习到数据的内在结构。考虑两个问题:第一,不是所有的特征都同样重要;第二,稀疏性迫使DSAEN通过选择关键的特征来找到一个紧凑的、共享的和高层次的特征。因此,为了避免过度拟合和增强DSAEN的泛化能力,在训练过程中加入权重衰减项J和稀疏正则化项S。大权值会导致高度的非平滑弯曲映射。权重衰减保持权重小,因此映射平滑,减少过度拟合。同样,稀疏性有助于选择最相关的特征以增强泛化。

γ和β分别为对权重衰减和稀疏化的参数调节。J惩罚倾向于减小权重W={W1,W1}的量级。

稀疏自编码器试图执行式(18)中的约束,其中ρ是近似为零的稀疏参数。每个隐含的神经元应有约为0.05的平均激活值。为了满足这个约束,隐含单元的激活必须接近0。因此,优化目标添加一个额外的惩罚项,由式(19)所示,~ρj与ρ显著偏离。利用式(20)中的Kullback-Leibler散度作为惩罚项,激活稀疏的隐含层单元。

因此,要解决式(21)中目标函数的优化问题。

隐含层单元数为表示行人信息的最佳特征数量。自动编码器试图通过使输入节点等于输出节点来学习最优参数。在每个输入节点之后,根据目标函数的梯度下降法确定网络的参数W和b,并通过反向传播步骤来调整权重和偏置。继续训练,直至达到最大迭代次数的阈值或式(21)降低到最小代价值。

通过网络第四层隐含的节点得到的特征即学习到的表示行人信息的主要特征。

3.3 时间复杂度分析

在具有d层的CNN中,N个样本的时间复杂度可以用式(22)计算。

其中,nl-1和nl分别是第l层中输入映射数量和核数量,sl和ml分别是卷积核的空间大小和输出特征映射的空间大小。

4 实验和结果

4.1 数据库和实验环境

本文采用加州理工学院行人数据库(Caltech)[21]和INRIA数据库。Caltech是一个大规模,具有挑战性的数据库,已经成为衡量行人检测器性能的标准。其包含大约10 h的车辆驾驶的街道视频。视频内容的分辨率和采样率分别为640×480和30 frame/s。共分成11个子数据集,前6个为训练集,后5个为测试集。为了避免使用非常相似的帧,对测试集进行重新采样,使得每30帧一个图像用于评估。每次实验,从训练样本中选取2 000个正样本,800个负样本,从测试集选取3 500个正样本,1 500个负样本,共5 500个正样本,2 300个负样本。INRIA行人数据库中的样本在服装、视角等因素变化大,环境比较复杂,更符合实际场景中的行人,包含正样本3 552个(1 213个行人左右反射),负样本1 218张,从所有正样本中选取3 000张,负样本选择1 218张,共4 218张图像进行实验。这些图像都被规范为128×64的尺寸。进行10次实验,每次从正负样本中随机选取40%用于训练,60%用于测试,最后取实验结果的平均值。图8为两个数据库的部分正样本。实验使用Intel Core i3-2310M处理器,8 GB内存,Intel HD Graphics 3000显卡,在Matlab2016a环境下进行。

Fig.8 Pedestrian sample example图8 行人数据库部分样本

4.2 感兴趣层设计分析

在实验中,每个样本共选择6 321个特征,其中包含2 553个非相邻特征和3 768个HOG特征和局部纹理特征(local binary pattern,LBP)。在非相邻特征中,包含1 085个SIDF,830个对称特征,638个跨通道特征,通道选择LUV颜色通道、梯度通道特征和LBP特征。所选特征比例约为17%、13%、10%、60%。将这种特征设计记为NNFHL(nor-neighboring feature and HOG and LBP)。

本文在感兴趣层中的特征提取算法NNFHL及现有的其他特征提取算法检测结果如表1所示。利用文献[21]中提出的对数平均漏检率来评估检测器性能,其是通过对在10-2到100范围内的对数空间中的9个误检率(false positive per image,FPPI)相对应的漏检率进行平均计算得到。从表中可以看出,混合的多通道特征比单一通道特征更能充分描述图像的重要信息,降低了检测器的漏检率。与流行的Checkerboards[22]、SpatialPooling等多通道特征相比,增加非相邻特征能减少漏检率,NNFHL特征旨在捕捉行人的一些特定特征,并为其他特征提供补充信息,与HOG和LBP特征相结合,能提升检测器性能。为进一步评估算法的高效性,采用检测错误权衡(detection error tradeoff,DET)线来衡量以上几种算法的检测性能。DET曲线的横坐标代表误报率,纵坐标代表漏检率,能反映出检测器的整体性能水平。从图9可以观察到,NNFHL算法在测试子集上都取得了最好的结果。

Table1 Statistics of detection results of different feature extraction algorithms表1 不同特征提取算法的检测结果统计表

4.3 网络参数设计分析

本节对网络中的调节参数进行设置,在网络的训练过程中存在5个参数,分别为Relu函数中的α、β、γ、ρ以及实验的迭代次数。分别从INRIA和Caltech数据库中选取3组验证集进行实验,在求最小化目标函数的过程中,对实验的迭代次数进行约束,一定的迭代数,会使总的误差和减小,但迭代数过大,也会使误差变大,误差与迭代次数的变化过程如图10所示。表2为DSAEN网络中的调节参数设置值。

Fig.9 Comparison of DET curves of various feature extraction algorithms图9 多种特征提取算法的DET曲线对比

Fig.10 Curves of iteration times and errors图10 迭代次数与误差的变化曲线图

Table2 DSAEN network parameter setting表2DSAEN网络参数设置

4.4 整体性能分析

为了证明本文方法的有效性,与手工特征提取方法如HOG+LBP+PCA+SVM[23]、HOG+SVM、Checkerboards、SpatialPooling、ACF、NNNF 以及深度学习方法如四层卷积神经网络、Deepparts进行实验比较。通过图11的结果所示,传统的手工特征提取方法HOG+SVM在INRIA库上漏检率达到50%左右,对于更复杂的环境,如Caltech,漏检率更高。对单一特征进行补充与扩展后,能有效地降低漏检率,如ACF、DPM(deformable part model)。深度学习方法CNN漏检率在INRIA与Caltech数据库上分别降到21.6%和23.1%,DSAEN平均漏检率在INRIA上仅为12.1%,在Caltech上为14.3%,除了结构复杂的深度网络外,这是所有比较方法中效果最好的。

对图12的曲线呈现情况进行分析,传统的手工提取特征方法,如HOG+SVM,存在一些冗余特征,对分类器有一定的影响。在HOG+LBP+PCA方法中,PCA实现了对混合特征的降维,并保留主要的信息,提高了检测率,但是PCA能有效地学习线性数据,而现实生活中的数据往往是非线性的。经典的深度学习方法CNN由于直接对整幅图像进行卷积学习,图像背景的复杂性导致部分行人没有被检测出来,其性能受到一定的影响。根据行人图像特点设计出的更为复杂深度网络[24]虽然学习了数据的潜在结构,一定程度上提高了精确率,但是时间复杂度高,需要GPU设备的支持。从表3可以看出,深度学习的方法与手工特征提取方法相比,运行时间(每幅图像平均运行时间(second/figure,s/f))显著增加。DSAEN在效率与时间上都达到了很好的效果。

Fig.11 Comparison of lb(average miss rate)between DSAEN and other advanced methods图11 DSAEN和其他先进方法的对数平均漏检率对比

Fig.12 Comparison of DET curves between DSAEN and other advanced methods图12DSAEN和其他先进方法的DET曲线比较

Table3 Comparison of running time between DSAEN and other methods表3 DSAEN与其他方法运行时间的比较(s/f)

在INRIA和Caltech数据库上进行测试,其检测结果如图13所示。

5 结束语

Fig.13 Pedestrian detection results on INRIAand Caltech databases图13 在数据库INRIA与Caltech上的行人检测结果

本文将特征设计融入到深度网络,提出了一种基于深度稀疏自编码网络的行人检测方法,相对于传统的对整幅图像直接训练,加入了一层感兴趣层,根据行人图像固有的属性,通过改进的非相邻和相邻特征,捕捉行人与背景、行人内部差异的信息,作为其他特征的补充,从而得到具有判别性的特征,随后通过基于交叉熵的损失函数与改进的ReLU函数来学习稀疏自编码网络,获取少量的表示图像内在结构的有效特征。与现有的方法在INRIA和Caltech数据库上进行验证,该方法的平均漏检率在INRIA与Caltech上分别降低到12.1%和14.3%,相对于复杂的深度网络方法,不需要GPU也可以快速达到同样的效果。在接下来的研究中,以此为基础,结合新的方法,研究如何处理更加复杂的环境比如行人被遮挡或者非站立的姿势等难题。

猜你喜欢
编码器行人样本
WV3650M/WH3650M 绝对值旋转编码器
设定多圈绝对值编码器当前圈数的方法
毒舌出没,行人避让
转炉系统常用编码器选型及调试
舞台机械技术与设备系列谈(二)
——编码器
路不为寻找者而设
规划·样本
人大专题询问之“方城样本”
我是行人
随机微分方程的样本Lyapunov二次型估计