基于深度卷积神经网络的红外图像行人检测

2020-06-07 12:00王江涛陈得宝李素文
激光与红外 2020年5期
关键词:错误率卷积神经网络

单 巍,王江涛,陈得宝,李素文

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

1 引 言

行人检测作为汽车辅助驾驶[1-2]、智能监控[3-4]和高级人机接口[5-6]的先决条件,一直是计算机视觉领域的研究热点。由于行人姿态与所处背景的多样性,行人检测也一直是计算机视觉中的难点问题。行人检测主要采取统计分类的方法,先图像进行感兴趣区域(ROIs)分割[7-8],然后对ROIs进行特征提取[9-11],最后送入分类器进行二分类[12-13]。早期应用较为广泛的是梯度方向直方图(HOG)与支持向量机(SVM)相结合的方法[14],在实践中也取得了较好的效果。但在复杂背景和存在遮挡的情况下,检测效果将大打折扣。将其他特征与HOG相结合可以提高算法的鲁棒性,但实时性有所降低[9]。与可见光图像相比,红外成像系统对光照不敏感,夜间也能正常工作,物体的亮度取决于物体本身辐射出的热量,人体在红外图像中一般体现为高亮区域;但其缺点在于红外图像中损失了颜色、纹理等信息,能够利用的仅仅是亮度与梯度信息,可用信息的降低给特征提取增加了难度[15]。因此,传统行人检测方法中,检测效果很大程度上取决于设计特征的好坏。人工设计特征费时费力,需要启发式专业知识,很大程度上依靠设计者的经验和运气。

随着“Alpha Go”战胜人类棋手成为人工智能领域最热门的新闻[16],“深度学习”(deep learning,DL)[17]方法引起研究者们越来越多的关注。与以往的模式识别方法相比,深度学习(deep learning)最大的特点是不再由人工设计特征,而是输入原始数据,通过大量的训练样本对构建的含有多个隐藏层的神经网络进行训练,由网络自动地学习所需的特征。A.Krizhevsky等[18]将卷积神经网络(CNN)与深度学习相结合在图像网络大规模视觉识别挑战赛(ImageNet large scale visual recognition challenge,ILSVRC)中,以15.3 %的错误率取得了图像分类与目标定位任务的最好成绩。此后先后出现了R-CNN、Faster R-CNN等神经网络不断取得了更好的检测效果[19-21]。

虽然深度卷积网络在ILSVRC中取得了极大的成功,但是在红外图像中的行人检测问题上,采用深度学习的方法却不是很多。尽管Faster R-CNN等神经网络在物体检测领域取得了很好的检测效果,但由于网络过于庞大,难以胜任单机或手持设备上的行人检测任务。本文从深度学习的角度出发对红外图像中的行人检测问题展开研究,致力于研究一类规模适中的网络模型来解决红外行人检测问题。首先建立了对应的样本库。在此基础上,通过设计不同结构的深度卷积神经网络来解决红外图像中的行人检测问题。实验结果表明该方法对红外图像中的行人具有很高的检测率和很低的虚警率,优于依靠特征提取检测行人的传统方法。此外,本文提出的深度卷积神经网络参数选择方法对构建深度网络解决相关问题也有很高的参考价值。

2 深度卷积神经网络

2.1 传统神经网络结构

传统的人工神经网络中,隐含层的神经元与前一层是全连通的(full connected),这意味着每一个神经元都与前一层的所有神经元存在参数关联[22]。假定输入图像大小为M·N·D(M、N、D分别代表图像的宽度、高度和深度),此时输入层将有F=M·N·D个输入,而第二层中每一个神经元对应F个权值。由此可以见第二层中每个神经元的参数随图像尺度而指数增长,庞大的参数量,容易导致过拟合,因此需要改变神经网络的结构,使之适应直接输入原始图像数据,而卷积神经网络就是深度学习的一种有效实现手段。

2.2 卷积神经网络

卷积神经网络作为传统神经网络的特例,一般由多个单层的卷积神经网络组合而成,除第一层输入的原始图像以外,每层的输入、输出都是由一组向量构成的特征图(feature maps)。每个单层的卷积神经网络包含有卷积、非线性变换和下采样三个阶段[23],其结构如图1所示。

图1 单层卷积神经网络的三个阶段Fig.1 Three phases of a single layer convolution neural network

卷积阶段的输入是由n1个n2×n3大小的二维特征图构成的三维张量,将输入特征图记作xi;而卷积阶段的输出是由m1个m2×m3大小的二维特征图构成三维数组,将输出特征图记作yj。连接输入特征图xi和输出特征图yj的权值记作ωij,该权值ωij就是可训练的卷积核,大小为k2×k3。输出特征图yj与输入特征图xi的关系表达式为

(1)

式中,*为二维离散卷积运算符;bj为可训练的偏置参数。

非线性变换阶段是把卷积阶段提取的特征通过非线性映射R=h(y)进行筛选,非线性操作可以采用sigmoid、tanh或softsign等饱和非线性函数或ReLU不饱和非线性函数实现,其目的在于利用函数的非线性提高模型的表达能力,避免线性模型表达能力不足的问题。下采样阶段中,采用式(2)分别对每张特征图进行下采样,下采样后特征图数量不变,分辨率降低,以达到降维的目的。

yj=βjdown(xj,N)+bj

(2)

式中,xj是卷积层中第j个特征映射的激活值;N为子采样层所需要的窗口边界大小;βj为子采样层中第j个权重系数,其值通常为1,bj是第j个向量的偏置,通常为0;yj是子采样层中第j个特征映射,down为基于因子N进行下采样的池化函数。

2.3 卷积神经网络的训练参数

由于卷积层中每个神经元仅在局部感知范围内数据连通,因此需要合理安置神经元的空间排列对整个输入数据进行传播。在确定卷积核大小的情况下,神经元的空间排列和个数由以下三个参数决定:

1) 输出数据的深度(depth):输出数据的深度指同一局部感受野有多少个神经元与之连通,连接到同一局部感知野的神经元组成一个深度行(depth column)。输出数据的深度也被形象的称为特征图的个数。

2) 卷积核移动的步长(stride):卷积核的大小决定了感受野的大小,也就是滑动窗口的大小,卷积核平移的步长大于1且小于等于卷积核的大小。

3) 所采用的补零方式(zero-padding):有时在卷积过程中会在图像的边缘补零,补零的尺度会影响到输出数据的空间尺度。

3 基于卷积神经网络的红外行人检测

本部分中我们将设计相应的卷积神经网络实现红外行人检测功能。在设计网络时综合考虑网络的规模和性能,以期望建立单CPU可快速运行的卷积神经网络。在结构上以LeNet-5[24]为参考,通过实验来确定网络的具体层数和参数。构建网络时采用BU-TIV (Thermal Infrared Video) Benchmark红外人体数据库作为训练依据,从中选取正负样本各3000个,共6000个构成样本集,其中正负各2000个用来训练,其余正负各1000个样本则作为测试集。初始时,将所有样本归一化为32×32,由于红外图像为灰度图像,所以图像深度为1。

3.1 网络参数的选择思路

卷积神经网络的参数主要包括网络层数、卷积核大小和特征图个数,三者相互联系、互相影响、相互制约。目前卷积神经网络的参数选择没有统一的方法,更多的是依靠设计者的经验与大量的实验。考虑到三个参数中网络层数与卷积核大小对网络结构的影响更大且两者的联系更为密切,特征图个数相对独立且对网络结构影响较小,因此我们以检测的错误率作为参数选取的衡量标准,错误率越小,代表网络提取特征的能力越强,错误率为0.5表示系统无法收敛,错误率的定义为:

(3)

式中,ER为总的错误数;TOTAL为总样本数。具体选择参数的思路为:

1) 在单层卷积网络中测试不同大小的卷积核提取特征的能力,依次增加特征图个数,观察卷积核大小与特征图个数在特征提取能力方面的内在联系,根据错误率最小的实验结果预选择单层卷积网络中卷积核大小与特征图个数的选取范围。

2) 根据预选的卷积核大小,根据输入图像大小和卷积网络构建规则列出网络可能的结构形式,并按网络层数进行归类,设计出用于红外行人检测的卷积神经网络的初始结构。

3) 在确定的网络层数下,固定各卷积层中卷积核的大小,依次改变各卷积层中特征图个数,对可能的网络结构进行大量实验,记录错误率结果。

4) 对比第3)步中的实验结果,选择最小错误率对应的组合为最优的网络结构参数。

3.2 网络结构设计

根据实验样本大小和3.1节中提出的卷积网络构建规则,令步长为S=1,补零为P=0,考虑到卷积核大小F不可任意取值,必须保证输出的特征图边长为整数,则可能的网络结构参数如表1组合所示,可以看出受样本大小限制,网络层次最深只能做到7层。以7层网络为例,设计出深度卷积网络结构及参数如图2所示,图2中除输入层外共包含3个卷积层、3个池化层和1个输出层,X、Y、Z分别是各卷积层与池化层中特征图的个数,表1中,M、N、P、Q、R、S和m、n、p、q、r、s分别为各个特征图的宽和高。如果是5层网络,则没有C5和S6层,S4层直接全连接到输出层。

表1 可能的网络结构参数Tab.1 Possible network structure parameters

图2 7层卷积神经网络Fig.2 Seven layers convolutional neural network

从表1可以看出,组合2、9、10、11由于参数选取不当造成特征图大小不是整数,组合不成立;组合1、3、8、12是单层卷积结构,也暂时不考虑。对剩下的组合进行归类,组合4、6、13、14、15、17可以构成5层深度卷积网络,而组合7、16可以构成7层深度卷积网络。

3.3 网络结果的选定

对于表1中列出的某个确定组合,其网络层数和每一层卷积核的大小都已经确定了,唯一没有确定的就是特征图的个数,通过实验,我们发现当特征图个数大于9时网络趋向不收敛,因此在1~9的范围内对该参数进行选择。

考虑到理论上更深的网络层数提取的特征种类更多,对目标的描述更加细致,目标特征表达能力也应强于浅层网络,故优先对7层网络进行实验。7层网络中包含有两种组合,分别对应表1中的组合7和组合16。通过大量实验发现,组合7的第一卷积层中特征图个数为2、第二卷积层中特征图个数为8、第三卷积层中特征图个数为7时,网络拥有最低的错误率为0.0335,此时特征表达维数为2×2×7×8×2=448。对于组合16的第一卷积层中特征图个数为3、第二卷积层中特征图个数为3、第三卷积层中特征图个数为7时,网络拥有最低的错误率为0.0175,此时特征表达维数为1×1×7×3×3=63。两组实验结果如表2所示。

表2 7层网络各组合最优参数与结果Tab.2 Optimal parameter and experimental results of all combination in seven layers

从表2可以看出,7层网络中63维特征向量对行人的表达能力最强,维数增大则容易产生过拟合,从而导致错误率升高。表2中7层网络的两种组合在各自最优参数情况下的训练过程如图3所示,可以看到组合16在开始阶段收敛速度快于组合7,两者最终的收敛速度接近,在充分训练的情况下,网络处于稳定收敛状态,组合16的收敛程度略高于组合7。

图3 各网络训练过程Fig.3 Training process of each network

除7层网络外,我们也对其余浅层网络进行了实验,网络最低的错误率为0.0190(高于表2中的错误率0.0175)。由此可见,在合理设置卷积模板大小和特征图个数的前提下,更深的网络层次能够提供更加强大的特征表达能力,且所需的特征向量维数低于浅层网络结构。

综合分析上述的测试结果,将表2实验中确定的参数填入预先设计的网络初始结构(图2),得到最终网络结构如图4所示。

图4 最终的网络结构参数Fig.4 Final network structure parameters

4 实验结果及分析

采用本文所述的网络进行测试实验,测试样本来源BU-TIV Benchmark红外库,共2000个,其中1~1000为正样本,1001~2000为负样本。检测结果中,共有35个样本被误判,其中4个正样本被误判为负样本,31个负样本被误判为正样本。图5中给出了部分被错误分类的样本。

图5 部分被错误分类的样本Fig.5 Part of misclassified samples

由图5(a)可知,误判正样本中有的是不完整的人体或者图像非常模糊,有的则是骑在摩托车上的人,摩托车发动机在图像中体现为高亮度;由图5(b)可知,误判的负样本中有的场景较为复杂,有的样本中存在部分行人的肢体,这都增加了分类的难度。值得一提的是,在检查正确分类的样本时,我们发现所有骑自行车的人都被正确分类为人体。

为直观反映检测效果,本文以错误率、检测率和虚警率作为衡量指标,定义如下:

(4)

(5)

式中,TP为正确分类的正样本数量;FP为被错误分类的正样本数量;FN为被误判为正样本的负样本数量。将本文算法与传统方法:文献[14]和文献[9]进行对比,实验结果如表3所示。从实验结果可以看出,本文提出的算法不但拥有更高的检测率,而且虚警率和总的错误率远远低于参考文献中的算法。

表3 不同行人检测算法性能指标对比Tab.3 Performance comparison between different pedestrian detection algorithms

5 结 论

本文构建了一个7层深度卷积神经网络,通过理论分析与大量实验确定了网络中的所有参数,该网络可以直接输入原始图像,并能够自动的从样本中学习所需的特征,避免了传统的行人检测算法依靠人工设计特征的弊端。从最终的实验结果看,本文方法在总错误率、检测率和虚警率等指标上比传统方法更为优秀。

在红外人体检测问题上,深度卷积神经网络是一种行之有效的方法,但是其难点在于网络参数的选择。目前针对红外行人检测构建深度卷积网络的工作还不多见,主要原因在于缺少大量带标签的红外人体与非人体样本,同时深度网络参数太多,网络训练耗时过长。本文首先构建了能够用于红外行人检测的样本大数据库,然后在分析网络工作原理和大量实验的基础上,对深度卷积网络的结构设计与参数选择方法进行了深入研究,最后得出结论:在合理设置卷积模板大小和特征图个数的前提下,更深的网络层次能够提供更加强大的特征表达能力,且所需的特征向量维数低于浅层网络结构。本文方法构建的深度卷积神经网络在红外行人检测问题上取得了非常好的效果,为构建深度学习网络解决相关问题提供了参考依据。

猜你喜欢
错误率卷积神经网络
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
小学生分数计算高错误率成因及对策
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
正视错误,寻求策略
解析小学高段学生英语单词抄写作业错误原因
基于神经网络的拉矫机控制模型建立