APP下载

基于双路式卷积神经网络的车辆与行人检测

2019-03-18林少丹李伙钦洪朝群

关键词:双路高斯行人

林少丹, 李伙钦, 洪朝群

(1.福建船政交通职业学院 信息工程系, 福建 福州 350007; 2.厦门理工学院 计算机与信息工程学院, 福建 厦门 361024)

车辆与行人的辨识,主要用于道路监控,自动驾驶等方面。在辨识的算法上多采用传统模型,在正常的开放环境中辨识率较高,但如遇雾霾天气、沙尘天气等恶劣环境条件,交通视频监控的对比度与能见度均会产生较大幅度的下降,导致视频成像无法识别,这将使路况观测、目标跟踪、智能导航、自动驾驶等基于视觉的检测系统无法正常运行,对道路交通安全带来了诸多隐患。图像去模糊技术将有效降低恶劣天气对于视频成像的影响。传统的单目视觉是正常的开放环境中检测车辆和行人的主要方法[1],主要特点在于其硬件的性能和价格合理,获取信息量大等特征,但其处理模糊图像的算法相对简单且效果不佳。采用双路式卷积神经网络架构结合高斯背景差分法进行车辆与行人的辨识,将提高在夜间或恶劣环境条件下车辆与行人的辨识准确率,有利于加强道路监控、自动驾驶等方面的应用,在智能交通等相关领域具有重要的应用价值和前景。

1 双路式卷积神经网络模型介绍

双路式卷积神经网络分为A网络和B网络,分别定义为A-NET和B-NET。A-NET针对正常环境下车辆行人检测网络,而B-NET则针对低能见度环境中车辆行人的检测网络。图1为双路式卷积神经网络模型。

图1 双路式卷积神经网络模型

双路式卷积神经网络模型可以定义为f=(fA,fB),这里fA和fB分别代表A-NET与B-NET的特征函数,那么双路特征函数可以定义为

f=ω×Xi, j+b,

(1)

式中:Xi,j代表A-NET和B-NET输入的第i,j个图片[2],ω代表一个滤波器,是一个偏置量,f是一个非线性激活函数。双路式网络模型的特点在用A-NET和B-NET分别采用不同尺寸的滤波器,调整滤波器的大小可以得到不同环境下图片的特征值[3]。双路式网络模型包含了一个图像描述符,即池化函数P。如果要在图像中的所有位置聚合双路式特征,一种方法是通过池化简单地总结所有双路式特征,可定义为

(2)

式中:Pi, j为池化函数;X为输入图片,根据X的下标i×W+ω,j×H+h,定位得到双路式特征;H,W为池化窗口的高和宽。另一种方法是最大池方法,可定义为

Pi, j=max(Xi×W+ω, j×H+h),

(3)

式中,X的下标参数h和ω的取值范围分别是0≤h≤H-1、0≤ω≤W-1。最大池方法忽略了图像特征的位置,如输入数据大小不一时可以采用最大池采样的方式进行处理,双路式网络模型允许使用最大池方法进行采样[4]。

2 数据集的配置

双路式卷积神经网络的训练数据集整合了清晰和模糊两种图片源,其中包含车辆和行人的高清图片,也包含了低能见度下车辆和行人的图片,这些图片均是在开放环境中车辆与行人的图片,模糊图片的取得,也可以通过把高清图片进行模糊化处理生成模糊图片,建议通过Photoshop的高斯模糊功能实现数据集图片的模糊处理。本文所采用的数据集分别为12 000张车辆图片和12 000张行人图片组成,A和B各12 000张图片。

图片加载程序直接从图片目录中读取图片文件,然后对图片进行JPEG格式解码操作,将图片调整成208×208。由于是二分类问题,因此,把车分类标记为1,人分类标记为0。此外,为提高后续训练的准确率,应随机打乱图片与标签的对应顺序,并生成Batch导入A-NET和B-NET进行处理。

3 双路式卷积神经网络的构建

双路式网络主要通过待识别图像2路信息同时输入网络,卷积层提取特征后,在全连接(FC)层融合形成判别特征,最终在输出层进行逻辑回归实现分类[5]。双路式网络包含了2套独立的卷积网络,输入图片源将分为2类,清晰图片作为A-NET的输入,模糊图片作为B-NET的输入,2路输入在经过卷积层后被映射为高层特征,然后在全连接(FC)层中进行融合,从而构成双路式卷积神经网络模型。

由于A-NET对应的数据集属于正常的高清近景图片,识别复杂度较低,故A-NET采用2个卷积层,2个池化层,2个全连接层组成;并通过softmax分类函数进行分类。B-NET采用4个卷积层,3个池化层,2个全连接层组成。B-NET增加卷积层的目的主要是解决了模糊图片的识别。A-NET和B-NET各自用softmax作为分类函数,针对小规模数据集可以通过取A-NET和B-NET的softmax函数的平均值完成识别模型的训练[6]。

根据双路式架构的特点采用反向传播算法计算梯度。假定两个网络的输出是大小分别为L*A和L*B的矩阵,则梯度函数为f(A,B),可表示为

x=f(A,B),

(4)

设特征大小为A*B,使f(x)=f(A,B),dL/dx定义为损失函数的梯度,其中f(x)为特征大小函数,L为特征图像位置[7]。通过分类损失的反向扩展梯度进行训练,可计算f(x)的梯度。其中A和B分别代表两个输入集,使用梯度链法则,可得

(5)

假设y=g(x)并且z=f(g(x))=f(y),可得

(6)

由(5)和(6)可得

(7)

(8)

(9)

4 基于高斯差分法的图像去模糊

将模糊图像作为训练网络的输入,并设定对应的清晰图像作为标签,这一思路通过实验证明训练模型对模糊图像的识别率较低。对模糊图像识别率较低的主要原因是直接运用卷积神经网络去模糊,只能间接利用输入图像的先验特征,容易受到噪声影响。因此本文提出将高斯差分法用于去模糊方法是利用对模糊图像进行灰度转换后,进行高斯滤波预处理,将图像的先验特征直接用于去模糊, 得到一个较鲁棒的初值,并以此作为差分模型的输入, 最终得到较为清晰的图像[8]。

基于高斯差分法基本原理是将模糊图像中的模糊像素点看作一个随机过程,假设这个随机过程中的模糊像素点出现的概率遵循高斯分布,像素点的像素观察值为(X1,……,Xt),可得:

(10)

(11)

本文取模糊图像灰度化作为背景输入高斯滤波进行运算,所得值作为下一次高斯滤波运算的输入。经过前后两次高斯滤波运算所得值再进行差分运算,便得出去除模糊的图像。高斯差分法去模糊效果如图2。

5 训练过程及对比

根据输入图片大小为208×208,配置3×3的卷积核,3通道代表图片RGB格式,16个卷积核。采用最大池化(max-pooling)窗口,滑动距离(stride)为1,可以根据图片的大小调整窗口滑动距离;采用relu作为激活函数[9]。本文通过上述高斯差分法所得图像作为B-NET的输入数据集进行训练,A-NET则作为常规环境下清晰图像的训练网络。B-NET较A-NET增加了2个卷积层和1个池化层,主要为了防止过拟合,提高模型泛化能力。

图2 高斯差分去模糊效果

本文提供24 000张图片作为训练数据集,导入双路式卷积神经网络进行处理,训练步数设为6 000至10 000步,训练步数通常根据数据集规模大小而定[10]。采用传统的单路式卷积神经网络(即A-NET或B-NET单个网络),进行大规模的数据集训练,需要耗费大量的内存资源和时间,对硬件要求较高,且识别率较低。本文用于训练的硬件环境参数为Intel(R) Core(TM) i7-6820HQ 8核,32G,NVIDIA Quadro M2000M;软件环境以tensorflow1.4结合cuda-8.0构建。上述软硬件环境结合双路式架构进行训练,较之前的单路式架构在训练所用时间、损失率、准确率上均有明显提高,将对单路式模型和双路式模型进行比较,具体比较见表1及图3、图4。

表1 单双路架构训练参数比较

图3 损失率走势对比图

图4 准确率走势对比图

从图3和图4中可以看出,单路式架构损失梯度并不稳定,双路式架构较为稳定,但两种架构都不存在过拟合现象,且双路式架构拟合度较高。可以得出,双路式架构的训练效果优于传统的单路式架构。

6 实验及结果

通过上述训练后生成双路式和单路式检测模型,然后开展测试验证。准备了2 000张的车辆图片和2 000张行人图片,包含了在大雾天气下的模糊图片与正常天气下的清晰图片,构成了测试数据集,并尝试了2种试验方法:(1)对测试图片未进行特殊处理,导入2个检测模型;(2)使用高斯差分法将雾天图片进行处理后导入检测模型中。实验所得辨识准确率如表2所示。

从表2可以得出,单路式架构与双路式架构对比,虽然在对清晰图片的识别准确率上与双路式架构不相上下,但在识别低能见度环境中的车与人的识别率就大大降低,实验证实,如导入一张大雾天气下的车辆与人物图片给单路式架构识别,图中分别标注出,单路式架构对车的判别率为56%,对人的判别率为53%;而双路式架构对车的判别率为83%,对人的判别率为87%。可见,双路式架构在识别模糊图像上有一定的优势。将测试数据集中随机抽取的模糊车辆与模糊行人图片,导入单双路架构中进行测试,结果如图5,6所示。(图5,6为使用单双路式架构进行模糊环境下车辆与行人判别效果图)。

表2 单双路架构实验参数比较

图5 单双路雾天环境车辆判别对比图

图6 单双路雾天环境人物判别对比图

7 道路监控系统中的应用

课题研发了基于双路式卷积神经网络辨识模型的道路监控系统,该系统硬件由采集摄像头、识别系统、监控中心三个部分组成。系统搭建在树莓派开发板上,在安装Tensorflow后载入双路式卷积神经网络辨识模型对采集来的车辆与行人图像进行检测。系统架构如图7所示。

图7 道路监控系统架构

传统的视频监控系统主要是对道路黑点、繁忙路段交汇点、隧道口等位置进行监视,往往在恶劣天气环境下只能看到某段道路小部分的实况,这种监控方式通常对突发性较强的交通异常事件无法做到提前预警,很容易造成二次严重性的交通事故,如连环车相撞等[11]。将传统的道路监控系统与基于双路式卷积神经网络的道路监控系统的检测参数进行对比(如表3所示),说明使用了双路式卷积神经网络的道路监控系统比传统的监控系统在检测低能见度环境中的车辆与行人的准确率上有了明显的提高。

表3 监控系统检测参数对比

8 结语

本文提出了一种双路式卷积神经网络,采用双路数据集对应双路网络架构进行图像特征提取,并通过反向扩展梯度算法结合2正则化,得出双路式卷积神经网络模型的梯度模型[12]。与单路式卷积神经网络对比,特别在能见度低的环境中,对车辆的辨识率提高至83.49%,对行人的辨识率提高至87.36%。然而,本研究仍有不足之处,比如在有效消除图像背景干扰,以及设定模型参数方面有待进一步的研究。

猜你喜欢

双路高斯行人
毒舌出没,行人避让
数学王子高斯
天才数学家——高斯
路不为寻找者而设
一种双路隔离输出反激变换器的设计
调度集中系统局间数据的双路冗余传输方案
我是行人
曝光闯红灯行人值得借鉴
从自卑到自信 瑞恩·高斯林
浪潮国内首推6核Nehalem服务器