APP下载

一种基于多层RBM网络和SVM的行人检测方法研究

2018-04-27王立德北京交通大学电气工程学院北京100044

铁道学报 2018年3期
关键词:隐层权值分类器

王 银, 王立德, 邱 霁, 申 萍, 杜 欣(北京交通大学 电气工程学院, 北京 100044)

行人检测技术由于应用的广泛性使其在计算机视觉领域成为一个重要分支,其在视频监控、机器人视觉、汽车自动驾驶、虚拟现实技术以及基于内容的视频检索等多个领域中具有重要的作用,因此一直是国内外研究热点;同时由于现实生活中行人在衣着、形态变化、所处背景的多样性以及光照强弱、行人之间的相互遮挡问题也使得行人检测成为计算机视觉领域内的难点问题[1],铁路车站环境下正是存在着这样的行人检测难点问题。而在多突发事件的列车车站环境下人工事后排查监控视频效率极低,因此基于视频检索技术的研究对改变目前的调查取证方式有着非常大的意义,行人检测正是针对监控视频检索技术的核心技术,也是保证检索准确度的首要条件。

目前行人检测技术按照特征提取模式可以分为两类:基于人工特征的行人检测和基于深度学习的行人检测。基于人工特征的行人检测在近几十年的发展当中无论在检测精度上还是检测速度上都取得了长足的进步。2001年Viola等提出了“AdaBoost+Haar”行人检测算法[2],算法通过AdaBoost方法从大量简单的Haar特征中选取判别能力强的特征进而进行分类,取得良好的效果;2005年Dalal等提出梯度方向直方图HOG(Histograms of Oriented Gradients )特征结合简单的线性支持向量机,取得了非常好的效果[3],之后Zhu等采用积分直方图技术快速计算HOG特征提高了行人检测的速度[4]。在之后的研究中研究人员将HOG特征和多种特征相融合也取得了一定的效果,但是仍不可避免的是采用了基于人工定义的特征,其对于复杂背景及遮挡问题检测效果尚差人意。随着2006年Hinton等提出深度学习框架[5]采用“逐层初始化”的方式来克服训练上的难度、采用多隐层结构来提高特征学习能力获得特征的非线性表达,其强大的特征提取能力和泛化能力显示了深度学习在机器视觉领域的优点。继而各种深度学习架构在短短十余年中相继提出,近几年开始出现将深度学习引入到行人检测领域的研究,2013年,香港中文大学欧阳万里提出JointDeep方法[6],利用CNN网络提取行人特征进行行人检测,文章结合行人遮挡模型和形变模型取得了不错的效果。同年Pierrie Sermonettes根据卷积稀疏编码提出非监督方法ConvNet-U[7]进行行人检测也取得了一定的效果。Moez等[8]利用3D卷积神经网络3D CNN(3D Convolutional Neural Networks)进行人体行为的识别, Martinson等[9]将Alex Net卷积神经网络结构应用到移动机器人的视觉系统中来进行行人的检测,而Youngwook Kim[10]在2016年1月提出将深度卷积神经网络DCNNs(Deep Convolutional Neural Networks)应用到多普勒雷达采集到的信息进行行人的检测以及分类上,检测准确率达到了97.6%,分类准确率达到了90.9%。

本文提出了将玻尔兹曼机级联SVM分类器应用到视频图像中进行行人的检测及特征提取,所建立的训练网络中包含多层玻尔兹曼机无监督网络进行特征提取及最后一层SVM分类器进行特征的分类,本文同时对比了不同层数训练网络对于行人特征提取能力的影响,最后结果显示多层RBM网络的非线性深层次网络结构模型能够很好地表征行人特征,在复杂环境下较之于传统基于人工特征的行人检测方法具有很大的优势。

1 行人特征提取及分类

1.1 行人训练数据库的扩建

到目前为止,在行人检测领域各研究机构开放了多个行人数据库,其中比较常见的有MIT数据库(包括924张行人图片,宽高为64×128像素)、INRIA数据库(902张图片,包括3 542个行人,行人未分割)、Daimler行人数据库(两种大小的行人图片各15 560张)、Caltech行人数据库(视频数据,视频中对行人进行了标注)等,这些数据库多数是在基于传统人工行人特征的训练环境下建立的,数据量较小且各数据库之间由于数据格式不兼容,无法满足深度学习对于高质量大数据量训练数据的要求,因此本文在对现有行人数据库兼容、整合的基础上人工提取了大量监控视频的行人图片及负样本图片并进行了标注,所有图片大小定义为64×128像素,其中扩充完成的行人数据库部分行人样本见图1。

1.2 行人多层玻尔兹曼机训练模型结构

为对比不同深度的网络模型对于特征提取能力的影响,分别建立多层网络结构,每个网络均包含多层RBM网络[11]及最后一层SVM分类器,多层RBM网络中每层由显层(Visible Layer)及隐层(Hidden Layer)构成,显层由显元组成,相应的隐层由隐元组成,显层和隐层内部神经元之间没有互联,相邻层之间神经元全连接,通过自下而上的学习形成特征多层的抽象表示,多层深度网络结构见图2。

图2第一层RBM网络的显层为输入的行人数据,由行人数据集特征可计算输入向量维数为8 192,层间连接权值为ω,后面每个RBM网络的输入层均为上一层的输出层,由于显层和隐层内部神经元之间没有互连,在给定显元的值的情况下,每个隐元之间的值互不相关,同理在给定隐元值的情况下所有显元的值也互不相关,因此可得

( 1 )

( 2 )

( 3 )

p(hj=0|v)=1-p(hj=1)

( 4 )

式中:aj为偏置量;ωj为第j个隐元与输入层之间的连接权值,其连接见图3。

隐层中每个神经元分配两个状态:开启为1,或关闭为0,为了获取具体每个神经元的实际状态需要从1个(0,1)均匀分布中抽取1个随机值u∈U(0,1),进行如下计算

( 5 )

根据初始化随机值ω及a结合式( 3 )~式( 5 )可以算出由行人图像的输入向量得到对应的隐含层二值化向量,在训练权值更新阶段引入联合组态能量函数来进行权值及偏置的更新,隐层与显层之间的联合组态能量函数为

( 6 )

式中:aj、bi为隐层和显层(输入层)的偏置量;vi、hj为显层和隐层的二进制状态;ωij为两者间的连接权值,θ={ω,a,b}。训练时不断改变权值和偏置大小来将能量函数值降到最低。所建的网络模型通过能量函数给每对可见和隐藏向量分配1个概率

( 7 )

式中

( 8 )

因此,网络分配给可见向量的概率为

( 9 )

对式( 9 )针对ωij进行对数求导可得

(10)

式中:〈vihj〉data为数据的期望,〈vihj〉model为模型的期望,该式即为可见向量对权值的对数梯度,可以设定权值每次更新变化量为学习率ε与数据、模型期望差值的乘积为

Δωij=ε(〈vihj〉data-〈vihj〉model)

(11)

以ω+Δω更新权值矩阵直到E(v,h;θ)收敛,训练每一层玻尔兹曼机确定整个网络参数。

训练算法如下:

Step1模型初始化:网络层数p;权值矩阵ω;各隐层偏置a,b;各层神经元数量。

Step2构建sigmoid层,定义代价函数。

Step3输入训练行人样本集X={(x1,l1),(x2,l2),…,(xN,lN)},N为行人训练样本数量。

Step4利用式( 3 )~式( 5 )计算隐层神经元的状态。

Step5生成函数列表,在给定层计算一步梯度下降,设定学习率ε。

Step6权值更新,ω←ω+Δω。

1.3 结合SVM分类器的有监督学习

行人检测有别于图像识别或数字识别,其可以看做是1个二分类问题,只需判断在图片中截取的窗口是否为行人,SVM正是一种二类分类模型,因此本文将SVM分类器级联到多层玻尔兹曼机的最后层来进行特征的分类。

0≤αi≤Ci=1,2,…,N

(12)

式中:α为拉格朗日乘子,为待求参数;C为惩罚参数,可根据实际情况调节,由于提取到的行人高层特征并不一定满足线性可分这一基本条件,因此引入核函数将行人特征映射到更高维度的空间,这里选择高斯核作为核函数

(13)

综合式(12)、式(13)及输入的行人特征向量得到非线性支持向量机的训练方程

0≤αi≤Ci=1,2,…,N

(14)

lj(ω*·xj+b*)-1=0

利用核技巧将线性支持向量机扩展到非线性支持向量机只需要将内积换为核函数,则可得

(15)

最终分类决策函数为

(16)

在整个网络参数训练完成确定各层RBM网络权值、偏置及SVM中α、b*、σ后,输入测试样本x=(x1,x2,x3,…,xn)T(n为输入特征的维度,其值为1或-1),经过多层RBM后转换为特征向量x(p-1)=(h1(p-1),h2(p-1),…,hd(p-1))T(p为整个网络的层数,h表示神经元所处的状态:0或1,d表示第p-1层神经元数量即特征维度),在网络的最后一层将该向量作为SVM向量机的输入向量,最终由分类决策函数得出二分类值,f(x)=1则表明建立的行人检测模型对于输入的图片判断为行人,f(x)=-1表明判断为非行人。

SVM训练算法如下:

Step1SVM模型参数初始化;

Step2构造式(14)所示的约束最优化问题的目标函数;

Step4构造并计算分类决策函数f(x)。

2 实验结果及分析

2.1 实验环境

本文的实验是在linux环境下基于Theano深度学习框架下搭建的,计算机配置如下:Inter Core i5 4590 CPU 3.3 GHz,内存8 G,显卡为NVIDIA GeForce GTX 950,训练样本集合了MIT行人数据库、INRIA数据库和Daimler行人数据库并将数据库进行了扩充,行人图片大小统一为64×128像素。

2.2 不同网络深度测试对比

本文设定了不同层次网络进行测试,测试样本采用了两个数据库中的行人图片:(1)MIT行人数据库,该数据库中包含924张已经分割的行人照片;(2)INRIA数据库,该数据库包含测试图片741张,其中正样本图片288张,负样本图片453张。为了便于评价及分析实验结果,这里引入了检测率及虚警率指标来对实验的检测效果进行分析和评估,其计算式为

(17)

(18)

式中:tp为被正确分类的正样本数量;fp为被错误分类的正样本数量;fn为被错误分类的负样本数量。

实验中通过改变多层RBM网络的层数及隐含层神经元数量来获得最优判别模型,测试结果见表1。

表1 MIT行人数据库测试结果

以上数据为针对MIT行人数据库所做的测试,该数据库中行人为单个个体,无负样本数据,因此没有虚警率指标,在网络层数为5或6层时检测正确率较高,网络层数变为8后检测正确率反而下降,这说明过高的网络层数可能导致过拟合情况的发生。

表2 INRIA测试集实验结果

以上数据为针对INRIA数据库的实验结果,该数据库中正样本测试图片为包含多个行人的复杂场景图片,负样本不含行人,测试中采用滑动窗口法等比例的截取图片,截取高宽比例为2.7∶1,检测窗口移动步长设为(8,8)。实验结果显示建立6层RBM网络能够有效的检测行人并将虚警率降至最低,而过深的网络层次反而降低检测效率。

2.3 复杂场景下行人检测测试

本测试采用传统基于人工HOG特征结合SVM分类器在复杂场景下的行人提取实验作为对照,验证基于深度学习的行人特征提取的有效性及相比传统方式的优势。基于HOG特征的SVM分类器采用INRIA的正负样本进行训练,该测试在Windows下OpenCV环境中进行,硬件环境与本文提出方法一致,测试图片均来源于互联网,训练完成后与本文所提出的方法进行对比测试,测试结果见表3,并选择其中部分有代表性的图,见图4。

图4为众多测试结果中选取的比较有代表性的图,其检测结果基本能够代表基于HOG特征的行人检测在复杂场景下的平均检测效果,测试结果显示在人群复杂遮挡严重情况下采用基于人工定义特征进行行人检测将会大大降低行人提取的有效性,存在误检及大量漏检情况,与简单场景无行人遮挡情况下相比提取效果相去甚远。

图5为采用本文提出的方法进行的对比实验,图中可以看出未出现误检情况,对于行人的定位也更加准确,漏检率基于HOG特征的方式低了很多,其检测效果基本能够反映如表3所示的测试结果。

综合测试结果显示,传统人工定义行人特征的方式在复杂场景下的检测效果远远不如其对于单个行人的判断能力,存在诸多误检及漏检的情况,而本文提出的采用深度学习方式提取行人特征并结合SVM分类器进行行人的检测则显著改善复杂场景下漏检及误检情况。

3 结束语

本文提出了采用深度学习框架搭建多层RBM网络级联SVM分类器来进行行人检测的方法,从理论上分析了多层玻尔兹曼机的工作原理以及SVM分类器的非线性特征分类算法,对比了不同结构的RBM网络对实验结果产生的影响确定了最终的网络层数,实验结果证明该方法能够有效的提取行人的深层次特征,降低基于传统人工特征的行人检测方法在复杂场景下的漏检及误检概率。但该方法在实时性的表现上还有所欠缺,针对多个行人互相严重遮挡仍然存在较多误检或漏检的情况,未来将重点研究提高行人检测实时性以及采用其他深度学习网络结构来进行特征的提取提高检测性能。

参考文献:

[1] 苏松志, 李绍滋, 陈淑媛,等. 行人检测技术综述[J]. 电子学报, 2012, 40(4):814-820.

SU Songzhi.LI Shaozi,CHEN Shuyuan,et al. A Survey on Pedestrian Detection[J].Acta Electronica Sinica,2012,40(4):814-820.

[2] VIOLA P, JONES M J, SNOW D. Detecting Pedestrians Using Patterns of Motion and Appearance[J]. International Journal of Computer Vision, 2005, 63(2):734-741.

[3] DALAL N, TRIGGS B. Histograms of Oriented Gradients for Human Detection[J]. Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2005, 1(12):886-893.

[4] ZHU Q, YEH M C, CHENG K T, et al. Fast Human Detection Using a Cascade of Histograms of Oriented Gradients[C]// Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition. New York:IEEE, 2006:1491-1498.

[5] HINTON G E, SALAKHUTDINOV R R. Reducing the Dimensionality of Data with Neural Networks[J]. Science, 2006, 313(5786):504-507.

[6] OUYANG W, WANG X. Joint Deep Learning for Pedestrian Detection[C]//Proceedings of IEEE International Conference on Computer Vision. New York: IEEE, 2013:2056-2063.

[7] SERMANET P, KAVUKCUOGLU K S C,et al. Pedestrian Detection with Unsupervised Multi-stage Feature Learning[C]//Proceedings of IEEE Internatinal Conference on Computer Vision and Pattern Recognition. New York: IEEE,2013:3626-3633.

[8] BACCOUCHE M, MAMALET F, WOLF C, et al. Sequential Deep Learning for Human Action Recognition[C]// Proceedings of ACM International Conference on Human Behavior Unterstanding.New York:Springer-Verlag, 2011:29-39.

[9] MARTINSON E, YALLA G. Augmenting Deep Convolutional Neural Networks with Depth-based Layered Detection for Human Detection[C]// Proceedings of IEEE International Conference on Intelligent Robots and Systems. New York:IEEE,2016:1073-1078.

[10] KIM Y, MOON T. Human Detection and Activity Classification Based on Micro-doppler Signatures Using Deep Convolutional Neural Networks[J]. IEEE Geoscience & Remote Sensing Letters, 2016, 13(1):8-12.

[11] TAYLOR G W, HINTON G E. Factored Conditional Restricted Boltzmann Machines for Modeling Motion Style[C]// Proceedings of International Conference on Machine Learning( ICML2009). Montreal:DBLP, 2009:1025-1032.

[12] PLATT J C. Fast Training of Support Vector Machines Using Sequential Minimal Optimization[M]. Massachusetts:MIT Press, 1999.

猜你喜欢

隐层权值分类器
基于RTD可编程逻辑门的n变量函数实现算法
一种融合时间权值和用户行为序列的电影推荐模型
一种自适应确定隐层节点数的增量半监督超限学习机算法
基于朴素Bayes组合的简易集成分类器①
基于特征选择的SVM选择性集成学习方法
基于RDPSO结构优化的三隐层BP神经网络水质预测模型及应用
代价敏感正则化有限记忆多隐层在线序列极限学习机及图像识别应用
强规划的最小期望权值求解算法∗
程序属性的检测与程序属性的分类
基于差异性测度的遥感自适应分类器选择