基于改进卷积神经网络的人体检测研究
左艳丽+马志强+左宪禹
摘 要: 为了解决梯度方向直方图在复杂背景下行人检测性能不足的问题,引入深度学习算法进行人体特征提取和行人检测。为了减少卷积神经网络的训练样本数量需求,在保证原数据库背景分布和行人分辨率的基础上使用基于内容的图像检索方法进行数据扩充以便于训练。为了提高算法在复杂背景下的检测效率,在卷积神经网络反射传播权值更新时引入费舍尔约束准则,使用误差反向传播算法获取样本类内类间约束函数的权值,在考虑误差的同时保证算法的分类精度。对INIRIA数据库检测结果表明,改进后算法的漏检率、检测率等性能得到一定提高,在大多数复杂背景下可以成功检测出行人。
关键词: 行人检测; 深度学习; 卷积神经网络; 复杂背景
中图分类号: TN711?34; TP139 文献标识码: A 文章编号: 1004?373X(2017)04?0012?04
Research on pedestrian detection based on improved convolutional neural network
ZUO Yanli1, MA Zhiqiang2, ZUO Xianyu1
(1. Computer and Information Engineering College, Henan University, Kaifeng 475000, China;
2. Department of Electronic Information Engineering, Henan Vocational College of Agriculture, Zhengzhou 451450, China)
Abstract: The deep learning algorithm was introduced to execute the human body feature extraction and pedestrian detection because of the low performance of pedestrian detection histogram of oriented gradient in the complex background. The content?based image retrieval method is used for data expansion to reduce the quantity demand of the training samples of convolutional neural network. The method is able to ensure the original database background distribution and pedestrian resolution. The Fisher criterion is imported when the reflection propagation weights of the convolutional neural network are updated in order to improve the detection efficiency of the algorithm. The back propagation algorithm is adopted to obtain the weight values of the inter?class constraint function in sample to ensure the classification accuracy while the errors exist. The test results on the INRIA database show that the omission rate and the detection rate of the improved algorithm have been improved, and can detect pedestrians in the most complex?backgrounds successfully.
Keywords: pedestrian detection; deep learning; convolutional neural network; complex background
行人检测即在特定的视频或者图像中判断是否存在人体,如果判断有行人还需输出人体位置,这是行为分析、步态分析、行人身份识别和行人跟踪的前提和基础,在视频监控、车辆辅助驾驶、智能机器人等智能服务及安保行业有广泛的应用[1]。目前行人检测经过几十年研究发展,检测速度和精度都得到充分发展,但仍存在一定不足,包括实际环境中复杂背景[2]、强度不一的光照、人体间相互遮挡及环境遮挡、多样化的姿态及取景[3]等因素都对行人检测率和正确率造成较大影响,基于各种复杂环境的行人检测方法不断提出[4],尤其是基于梯度方向直方图(Histogram of Oriented Gradient,HOG)特征的方法大大推动了行人检测的发展[5]。但基于HOG方法的人体检测方法由于HOG特征鲁棒性不强,在复杂背景情况下检测效果不佳,漏检率较高,因此鲁棒性更佳的深度学习逐渐成为行人检测的主流[6]。本文将深度学习理论应用于行人检测,在卷积神经网络反射传播权值更新时引入费舍尔约束准则,使用误差反向传播算法获取样本类内类间约束函数的权值,在考虑误差的同时保证算法的分类精度,同时结合基于内容的图像检索数据扩充方法,提高了算法的检测性能。
1 常用方法
卷积神经网络是一种深度学习模型,可自动学习数据并提取特征,其结构包含输入层、卷积层、下采样层和输出层,构成多层监督学习网络,利用误差反传算法优化网络结构,解算未知参数[7]。卷积神经网络结构如图1所示,在卷积层中各个特征图神经元与上层局部感受野相连,卷积操作后获得局部特征,多个特征图各自对应不同权值,即卷积核,从而获得不一样的特征,经不断调整卷积核,特征逐渐有利于分类。
卷积层计算如下:
式中:为卷积核;为层数; 为第层第个特征图的偏置;是输入层感受野。经卷积层运算输入到下采样层,特征图进行池化运算,主要作用是降低特征维数和特征图分辨率,设池化尺寸为,则特征图会缩小为,其运算过程如下:
式中:为激活函数;为池化函数;为权重系数。
传统的卷积神经网络并不适合行人检测。经研究发现设置合适的卷积核、层数和发类器输入特征维数之后可较好地提取人体特征并完成行人检测。但是,在复杂背景环境和遮挡存在的情况下,检测性能仍然存在一定不足[8],因此借鉴费舍尔准则改进卷积神经网络,提高算法在复杂背景环境下的检测性能。
2 系统框架
2.1 图像检索扩充
将深度学习应用于行人检测前,一般存在训练数据较少的情况。为了在较少训练样本的情况下避免训练网络过拟合,前期对目前常用的行人数据库进行分析发现:ETH行人数据库行人分辨率和图像质量都较高,但背景过于单一;Caltech行人数据库由于采用车载摄像机拍摄的图像,行人分辨率较低;而INRIA行人数据库采用的是高清图像,行人分辨率高,而且背景复杂多变[9]。综上可知三种数据库数据分布相似度低,差异较大,若将这些数据库直接合并,训练的检测效果容易受到影响。因此本文使用图像检索的方法实现数据扩充,扩充来源是包含行人的数据库,通过行人长宽比和分辨率可以获得高相似度行人,主要差异在于背景差别大,为此使用颜色矩搜寻其他数据库中具有相似颜色特征的图像。颜色矩一阶矩、二阶矩和三阶矩分别为:
式中:为像素数;是第个像素的灰度值,通过对图像进行分块并根据行人存在情况设定不同灰度值可生成一系统的灰度值,进而获取三种颜色矩,设目标数据库图像颜色矩为,其他数据库图像颜色矩为,之后通过式(6)获取各外部数据库图像颜色矩相似度为:
式中:为与的余弦相似度;为预设阈值。综合式(6)、式(7)可得外部数据库图像与目标数据库图像的整体相似度得分,从大到小排序所有得分,按对应原则筛选后扩充到目标数据库中。
2.2 改进的卷积神经网络
使用图像检索扩充可以有效提高训练样本数量,避免训练网络过拟合。在此基础上,为了降低复杂背景环境的影响,进一步提高算法的分类精度,借鉴费舍尔准则思想[10]设定以类间距离和类内距离为基础的能量函数。设样本空间中所有样本与类别均值的距离之和为类内相似度度量函数,全部样本类别均值距离和为类间相似度度量函数,,的计算方法如下:
式中,是第类样本均值,由式(10)獲取:
将类内相似度度量代为卷积神经网络代价函数执行梯度算法运算时,迭代可使样本预测值到该类别平均预测值的距离变小,将类间相似度代为卷积神经网络代价函数执行梯度算法运算时,迭代可使不同类的样本间距离变大。为让各层学习的特征对分类更有利,设计类内与类间能量函数模型为:
式中:是总体代价函数;是卷积神经网络的代价函数;分别是,的权值,通过实验确定,一般对于不同的网络结构和数据库其值略有不同,其取值范围区间为。通过式(11),在考虑误差的同时增大类间间距并减小类内间距。权值调整时向更便于分类的t方向调整,可在较少的迭代次数情况下实现分类的目标。本文使用误差反向传播(Error Back Propagation,BP)算法更新权值,关键点是获取输出单元残差,各子函数分别解算输出单元残差。对于,,各单元输出层残差计算公式分别为:
通过式(12)、式(13)获得最后一层输出的单元残差后,代入BP算法迭代后可生成全部权值。
3 系统实现与实验验证
3.1 系统实现
算法流程如图2所示,将INRIA数据库作为训练集和测试集,共有902张图片,其中288张为测试集,614张为训练集,选择ETH数据库和Caltech数据库作为训练集扩充库,选择扩充库中分辨率不小于2 000且宽高比为的行人图像,按式(3)~式(5)计算图像的颜色矩,再利用式(6)计算颜色矩相似度,将扩充库图像颜色矩相似度值进行从大到小排序,筛选前30%的图像扩充到训练集中,最后得到的数据库共2 385张,其中2 097张为训练集,288张为测试集。在改进的卷积神经网络中引入费舍尔准则思想加入类内类间约束的能量函数模型,使用BP算法更新卷积神经网络代价函数的权值以提高算法的分类性能。
3.2 实验验证
为了验证本文算法性能使用Matlab进行实验验证。对于数据库图像,将其设定为大小的窗口,并从RGB模型转换为HSV模型,将HSV模型的三个通道缩小为的尺寸。卷积神经网络第一个卷积层有64个滤波器,输入图像的各相邻块作为单个元素输入滤波器,输出64个大小为的特征图,其后在下采样层压缩得到64个大小为的特征图,其后的卷积层和下采样层处理过程类似。根据前期实验结果设定类内相似度度量和类间相似度的权值为。分类器选择支持向量机。
首先比较扩充数据库前后改进的卷积神经网络算法的检测性能,实验结果如图3所示。可以看出,经过图像检索扩充,改进的卷积神经网络算法误检率在0.1时,漏检率从0.51降低到0.44,说明了图像检索扩充方法可以有效降低算法的漏检率,提高检测效率。
在使用图像检索扩充的基础上,使用传统卷积神经网络和改进的卷积神经网络进行行人检测,检测率和检测速度如表1所示。
从表1中可以看出,改进的卷积神经网络检测算法速度比传统的卷积神经网络算法有所降低,但检测率和虚警率性能都有所提升,其中检测率提升了2.6%,证明了本文算法的优越性。图4为使用本文算法对INRIA测试集中部分复杂背景图像的检测结果,大部分复杂背景和遮挡情况下都可以准确检测出图像中的行人,但图4中,第9图、第10图中却有行人没有成功检测,主要是由于这些行人分辨率较低,算法难以从复杂背景中区分出来。
4 结 语
本文针对梯度方向直方图行人检测方法在复杂背景下性能不高的问题,引入深度学习方法进行人体特征提取和行人检测。使用基于内容的图像检索方法进行数据扩充并在卷积神经网络反射传播权值更新时引入费舍尔约束准则以保证算法的分类精度。实验结果表明,本文算法在检测率、虚警率和漏检率等方面都有一定提升,可以从大多数复杂背景下检测出行人,但当行人分辨率较低的情况难以从复杂背景中分辨出来,这将是下一步重点解决的问题。
参考文献
[1] YE Q, LIANG J, JIAO J. Pedestrian detection in video images via error correcting output code classification of manifold subclasses [J]. IEEE transactions on intelligent transportation systems, 2012, 13(1): 193?202.
[2] 芮挺,费建超,周遊,等.基于深度卷积神经网络的行人检测[J].计算机工程与应用,2016,52(13):162?166.
[3] MUNDER S, GAVRILAD M. An experimental study on pedestrian classification [J]. IEEE transactions on pattern analysis and machine computer vision, 2006, 28(11): 1863?1868.
[4] 雷庆,陈锻生,李绍滋.复杂场景下的人体行为识别研究新进展[J].计算机科学,2014,41(12):1?7.
[5] 孙宏国,李天然,蒲宝明,等.复杂背景下人体检测算法[J].计算机系统应用,2013,22(4):134?137.
[6] 张阳.结合纹理特征和深度学习的行人检测算法[J].辽宁工程技术大学学报,2016,35(2):206?210.
[7] CAO Xianbin, WANG Zhong, YAN Pingkun, et al. Transfer learning for pedestrian detection [J]. Neurocomputing, 2013, 100(1): 51?57.
[8] 曾敏,周益龙.基于深度学习模型的行人检测研究与仿真[J].南京邮电大学学报(自然科学版),2015,35(6):111?116.
[9] 王斌.基于深度学习的行人检测[D].北京:北京交通大学,2015.
[10] WONG W K, SUN Mingming. Deep learning regularized Fisher mapping [J]. IEEE transactions on neural networks, 2011, 22(10): 1668?1675.
摘 要: 为了解决梯度方向直方图在复杂背景下行人检测性能不足的问题,引入深度学习算法进行人体特征提取和行人检测。为了减少卷积神经网络的训练样本数量需求,在保证原数据库背景分布和行人分辨率的基础上使用基于内容的图像检索方法进行数据扩充以便于训练。为了提高算法在复杂背景下的检测效率,在卷积神经网络反射传播权值更新时引入费舍尔约束准则,使用误差反向传播算法获取样本类内类间约束函数的权值,在考虑误差的同时保证算法的分类精度。对INIRIA数据库检测结果表明,改进后算法的漏检率、检测率等性能得到一定提高,在大多数复杂背景下可以成功检测出行人。
关键词: 行人检测; 深度学习; 卷积神经网络; 复杂背景
中图分类号: TN711?34; TP139 文献标识码: A 文章编号: 1004?373X(2017)04?0012?04
Research on pedestrian detection based on improved convolutional neural network
ZUO Yanli1, MA Zhiqiang2, ZUO Xianyu1
(1. Computer and Information Engineering College, Henan University, Kaifeng 475000, China;
2. Department of Electronic Information Engineering, Henan Vocational College of Agriculture, Zhengzhou 451450, China)
Abstract: The deep learning algorithm was introduced to execute the human body feature extraction and pedestrian detection because of the low performance of pedestrian detection histogram of oriented gradient in the complex background. The content?based image retrieval method is used for data expansion to reduce the quantity demand of the training samples of convolutional neural network. The method is able to ensure the original database background distribution and pedestrian resolution. The Fisher criterion is imported when the reflection propagation weights of the convolutional neural network are updated in order to improve the detection efficiency of the algorithm. The back propagation algorithm is adopted to obtain the weight values of the inter?class constraint function in sample to ensure the classification accuracy while the errors exist. The test results on the INRIA database show that the omission rate and the detection rate of the improved algorithm have been improved, and can detect pedestrians in the most complex?backgrounds successfully.
Keywords: pedestrian detection; deep learning; convolutional neural network; complex background
行人检测即在特定的视频或者图像中判断是否存在人体,如果判断有行人还需输出人体位置,这是行为分析、步态分析、行人身份识别和行人跟踪的前提和基础,在视频监控、车辆辅助驾驶、智能机器人等智能服务及安保行业有广泛的应用[1]。目前行人检测经过几十年研究发展,检测速度和精度都得到充分发展,但仍存在一定不足,包括实际环境中复杂背景[2]、强度不一的光照、人体间相互遮挡及环境遮挡、多样化的姿态及取景[3]等因素都对行人检测率和正确率造成较大影响,基于各种复杂环境的行人检测方法不断提出[4],尤其是基于梯度方向直方图(Histogram of Oriented Gradient,HOG)特征的方法大大推动了行人检测的发展[5]。但基于HOG方法的人体检测方法由于HOG特征鲁棒性不强,在复杂背景情况下检测效果不佳,漏检率较高,因此鲁棒性更佳的深度学习逐渐成为行人检测的主流[6]。本文将深度学习理论应用于行人检测,在卷积神经网络反射传播权值更新时引入费舍尔约束准则,使用误差反向传播算法获取样本类内类间约束函数的权值,在考虑误差的同时保证算法的分类精度,同时结合基于内容的图像检索数据扩充方法,提高了算法的检测性能。
1 常用方法
卷积神经网络是一种深度学习模型,可自动学习数据并提取特征,其结构包含输入层、卷积层、下采样层和输出层,构成多层监督学习网络,利用误差反传算法优化网络结构,解算未知参数[7]。卷积神经网络结构如图1所示,在卷积层中各个特征图神经元与上层局部感受野相连,卷积操作后获得局部特征,多个特征图各自对应不同权值,即卷积核,从而获得不一样的特征,经不断调整卷积核,特征逐渐有利于分类。
卷积层计算如下:
式中:为卷积核;为层数; 为第层第个特征图的偏置;是输入层感受野。经卷积层运算输入到下采样层,特征图进行池化运算,主要作用是降低特征维数和特征图分辨率,设池化尺寸为,则特征图会缩小为,其运算过程如下:
式中:为激活函数;为池化函数;为权重系数。
传统的卷积神经网络并不适合行人检测。经研究发现设置合适的卷积核、层数和发类器输入特征维数之后可较好地提取人体特征并完成行人检测。但是,在复杂背景环境和遮挡存在的情况下,检测性能仍然存在一定不足[8],因此借鉴费舍尔准则改进卷积神经网络,提高算法在复杂背景环境下的检测性能。
2 系统框架
2.1 图像检索扩充
将深度学习应用于行人检测前,一般存在训练数据较少的情况。为了在较少训练样本的情况下避免训练网络过拟合,前期对目前常用的行人数据库进行分析发现:ETH行人数据库行人分辨率和图像质量都较高,但背景过于单一;Caltech行人数据库由于采用车载摄像机拍摄的图像,行人分辨率较低;而INRIA行人数据库采用的是高清图像,行人分辨率高,而且背景复杂多变[9]。综上可知三种数据库数据分布相似度低,差异较大,若将这些数据库直接合并,训练的检测效果容易受到影响。因此本文使用图像检索的方法实现数据扩充,扩充来源是包含行人的数据库,通过行人长宽比和分辨率可以获得高相似度行人,主要差异在于背景差别大,为此使用颜色矩搜寻其他数据库中具有相似颜色特征的图像。颜色矩一阶矩、二阶矩和三阶矩分别为:
式中:为像素数;是第个像素的灰度值,通过对图像进行分块并根据行人存在情况设定不同灰度值可生成一系统的灰度值,进而获取三种颜色矩,设目标数据库图像颜色矩为,其他数据库图像颜色矩为,之后通过式(6)获取各外部数据库图像颜色矩相似度为:
式中:为与的余弦相似度;为预设阈值。综合式(6)、式(7)可得外部数据库图像与目标数据库图像的整体相似度得分,从大到小排序所有得分,按对应原则筛选后扩充到目标数据库中。
2.2 改进的卷积神经网络
使用图像检索扩充可以有效提高训练样本数量,避免训练网络过拟合。在此基础上,为了降低复杂背景环境的影响,进一步提高算法的分类精度,借鉴费舍尔准则思想[10]设定以类间距离和类内距离为基础的能量函数。设样本空间中所有样本与类别均值的距离之和为类内相似度度量函数,全部样本类别均值距离和为类间相似度度量函数,,的计算方法如下:
式中,是第类样本均值,由式(10)獲取:
将类内相似度度量代为卷积神经网络代价函数执行梯度算法运算时,迭代可使样本预测值到该类别平均预测值的距离变小,将类间相似度代为卷积神经网络代价函数执行梯度算法运算时,迭代可使不同类的样本间距离变大。为让各层学习的特征对分类更有利,设计类内与类间能量函数模型为:
式中:是总体代价函数;是卷积神经网络的代价函数;分别是,的权值,通过实验确定,一般对于不同的网络结构和数据库其值略有不同,其取值范围区间为。通过式(11),在考虑误差的同时增大类间间距并减小类内间距。权值调整时向更便于分类的t方向调整,可在较少的迭代次数情况下实现分类的目标。本文使用误差反向传播(Error Back Propagation,BP)算法更新权值,关键点是获取输出单元残差,各子函数分别解算输出单元残差。对于,,各单元输出层残差计算公式分别为:
通过式(12)、式(13)获得最后一层输出的单元残差后,代入BP算法迭代后可生成全部权值。
3 系统实现与实验验证
3.1 系统实现
算法流程如图2所示,将INRIA数据库作为训练集和测试集,共有902张图片,其中288张为测试集,614张为训练集,选择ETH数据库和Caltech数据库作为训练集扩充库,选择扩充库中分辨率不小于2 000且宽高比为的行人图像,按式(3)~式(5)计算图像的颜色矩,再利用式(6)计算颜色矩相似度,将扩充库图像颜色矩相似度值进行从大到小排序,筛选前30%的图像扩充到训练集中,最后得到的数据库共2 385张,其中2 097张为训练集,288张为测试集。在改进的卷积神经网络中引入费舍尔准则思想加入类内类间约束的能量函数模型,使用BP算法更新卷积神经网络代价函数的权值以提高算法的分类性能。
3.2 实验验证
为了验证本文算法性能使用Matlab进行实验验证。对于数据库图像,将其设定为大小的窗口,并从RGB模型转换为HSV模型,将HSV模型的三个通道缩小为的尺寸。卷积神经网络第一个卷积层有64个滤波器,输入图像的各相邻块作为单个元素输入滤波器,输出64个大小为的特征图,其后在下采样层压缩得到64个大小为的特征图,其后的卷积层和下采样层处理过程类似。根据前期实验结果设定类内相似度度量和类间相似度的权值为。分类器选择支持向量机。
首先比较扩充数据库前后改进的卷积神经网络算法的检测性能,实验结果如图3所示。可以看出,经过图像检索扩充,改进的卷积神经网络算法误检率在0.1时,漏检率从0.51降低到0.44,说明了图像检索扩充方法可以有效降低算法的漏检率,提高检测效率。
在使用图像检索扩充的基础上,使用传统卷积神经网络和改进的卷积神经网络进行行人检测,检测率和检测速度如表1所示。
从表1中可以看出,改进的卷积神经网络检测算法速度比传统的卷积神经网络算法有所降低,但检测率和虚警率性能都有所提升,其中检测率提升了2.6%,证明了本文算法的优越性。图4为使用本文算法对INRIA测试集中部分复杂背景图像的检测结果,大部分复杂背景和遮挡情况下都可以准确检测出图像中的行人,但图4中,第9图、第10图中却有行人没有成功检测,主要是由于这些行人分辨率较低,算法难以从复杂背景中区分出来。
4 结 语
本文针对梯度方向直方图行人检测方法在复杂背景下性能不高的问题,引入深度学习方法进行人体特征提取和行人检测。使用基于内容的图像检索方法进行数据扩充并在卷积神经网络反射传播权值更新时引入费舍尔约束准则以保证算法的分类精度。实验结果表明,本文算法在检测率、虚警率和漏检率等方面都有一定提升,可以从大多数复杂背景下检测出行人,但当行人分辨率较低的情况难以从复杂背景中分辨出来,这将是下一步重点解决的问题。
参考文献
[1] YE Q, LIANG J, JIAO J. Pedestrian detection in video images via error correcting output code classification of manifold subclasses [J]. IEEE transactions on intelligent transportation systems, 2012, 13(1): 193?202.
[2] 芮挺,费建超,周遊,等.基于深度卷积神经网络的行人检测[J].计算机工程与应用,2016,52(13):162?166.
[3] MUNDER S, GAVRILAD M. An experimental study on pedestrian classification [J]. IEEE transactions on pattern analysis and machine computer vision, 2006, 28(11): 1863?1868.
[4] 雷庆,陈锻生,李绍滋.复杂场景下的人体行为识别研究新进展[J].计算机科学,2014,41(12):1?7.
[5] 孙宏国,李天然,蒲宝明,等.复杂背景下人体检测算法[J].计算机系统应用,2013,22(4):134?137.
[6] 张阳.结合纹理特征和深度学习的行人检测算法[J].辽宁工程技术大学学报,2016,35(2):206?210.
[7] CAO Xianbin, WANG Zhong, YAN Pingkun, et al. Transfer learning for pedestrian detection [J]. Neurocomputing, 2013, 100(1): 51?57.
[8] 曾敏,周益龙.基于深度学习模型的行人检测研究与仿真[J].南京邮电大学学报(自然科学版),2015,35(6):111?116.
[9] 王斌.基于深度学习的行人检测[D].北京:北京交通大学,2015.
[10] WONG W K, SUN Mingming. Deep learning regularized Fisher mapping [J]. IEEE transactions on neural networks, 2011, 22(10): 1668?1675.