APP下载

基于改进卷积神经网络的动态障碍物检测方法

2019-04-01何明祥蒋纪威

计算机应用与软件 2019年2期
关键词:池化层栅格网络结构

孙 凯 何明祥 张 红 蒋纪威

(山东科技大学计算机科学与工程学院 山东 青岛 266590)

0 引 言

障碍物检测是无人驾驶汽车和机器人研究方面的关键技术之一。目前,国内外研究人员在障碍物检测方面进行了大量的研究,但是由于检测所用的工具和应用环境的不同,其检测的具体方法也不尽相同。Zhou等[1]提出了一种基于多普勒频移和高度的障碍物检测方法;邹斌等[2]提出一种基于三维激光雷达的动态障碍物检测和追踪方法;金立生等[3]提出了一种基于Adaboost算法的日间前方车辆检测方法;Delp等[4]提出一种基于贝叶斯集群学习的分类方法;王铮等[5]提出了一种基于双目视觉的AGV障碍物检测方法。

此外,卷积神经网络也是一种很好的障碍物检测方法,它擅长处理大型图像信息,目前已经成功应用于人脸识别和交通信号识别等领域。传统的卷积神经网络大多是采用卷积层和池化层循环抽样的多层级联的结构[6-7],此类结构主要利用卷积层提取图像的细节特征,利用池化层来降低特征图的分辨率,最后通过全连接层进行分类整合得出结果[8]。

但是,在运动障碍物检测识别过程中过于考虑局部细节特征,容易受限于图像本身。例如需要识别的障碍物较远时,即当感兴趣的目标过于小时,按照多层级联的结构只靠提取细节来识别会影响准确率,反而适量的增加感兴趣目标的全局特征能达到比较好的效果[9-10]。针对以上问题,本文通过增加全局特征来修正传统卷积神经网络,在层层抽取细节特征的基础上融入了全局特征,利用全局特征修正细节特征的提取,进而提高对动态障碍物识别的准确率。

1 卷积神经网络

卷积神经网络(CNN)是一种多层非全连接的深度学习网络结构。CNN通常由输入层、卷积层、池化层、全连接层以及输出层五层结构组成。传统的卷积神经网络LenNet-5是LeCun等[11]提出的一种基于卷积神经网络的文字识别模型,其网络结构如图1所示。

图1 卷积神经网络结构示意图

1.1 卷积层

卷积层的主要作用是提取图像的特征信息,具备自学习能力的卷积核能够对上一层获得的特征图进行卷积计算,并加上一个合适的偏置数值,然后经过激活函数后输出形成这一层的特征图。

卷积层的计算公式如下:

(1)

1.2 池化层

池化层是对输入进行不重叠的采样操作,进一步提取图像特征,来降低特征图的分辨率,除去冗余的数据,减少图像特征维数,同时保持位移不变。

(2)

式中:down(·)表示池化函数。

1.3 全连接层

全连接层是用来连接经过卷积和池化操作的全部特征,并对其进行特征分类,再交由输出层输出最后的结果。

全连接层的计算公式如下:

(3)

1.4 Softmax层

Softmax层是卷积神经网络中的最后一层,用来进行最后的分类和归一化,得到最终的图像信息。

当父母无法接纳孩子的某个身体部位,或者某个特别的行为,甚至去强行掰正孩子时,孩子就会自动做起父母的帮凶:压抑天性,排斥自己,龟缩到只有自己的世界里。

Softmax层的计算公式如下:

式中:zi表示第i类预测结果。

2 改进卷积神经网络

针对传统卷积神经网络在特定的情况下,因过度关注细节特征而影响识别的准确率这个问题,本文对传统卷积神经网络进行了改进。该网络结构是由上下两层并行组成,最后由一个全连接层整合两层的识别结果。上层的卷积神经网络主要对图像的细节特征进行采样,因此不改变原来的网络结构,下层卷积神经网络主要对上层采样的结构进行修正,对图像的全局特征进行采样,因此改进点主要在下层,网络结构如图2所示。

图2 改进卷积神经网络结构图

如图2所示,该网络结构上半部分是一个由3层卷积层和3层池化层组成的传统卷积神经网络结构。该结构的主要作用是对细节的采样和表达图像的特征。为了保证对细节的足够采样,所有卷积层步长均为1。第一个卷积层的卷积核为8×8,第一层池化操作提取的特征图数为16,第二个和第三个卷积层的卷积核为3×3,第二层和第三层池化层提取的特征图数为32。

如图2所示,下半部分是一个由3层卷积层和1层池化层组成的新卷积神经网络结构,目的是对图像的全局特征进行采样。第一层卷积层的卷积核为5×5、步长为1,第一层池化操作提取的特征图数为16,第二层和第三层卷积层的卷积核为3×3,但是只保留初次卷积后的池化操作,因为第一次卷积操作会注重图像的边界提取,在此基础上保留池化层可以最大化地保留图像的全局特征。

全连接层在该网络结构中总共有3个,在上下两部分的网络结构中分别有2个具有400个单元的全连接层,分别对上下层网络结构提取的图像特征进行融合,然后由1个100个单位的全连接层将两部分融合在一起,最后经过Softmax层进行分类操作,输出一组图像与原图像相对应。

以下主要是本文对卷积神经网络的改进点的详细描述:

(1) 下半部分的卷积神经网络只保留第一次卷积之后的池化操作。下层卷积神经网络的第一层卷积层的卷积核为5×5、步长为1;第二层和第三层卷积层采用的均是3×3核。保留第一层的池化层是因为第一层的卷积层是处理图像边缘的操作,而对于目标边缘的识别尤为重要。采用5×5的卷积核也是为了最大限度地保留图像的全局特征。当然下半部分的卷积网络最大的缺点是有可能带来过拟合。

(2) 最后一层全连接层融合上下两部分卷积网络提取的特征。上层卷积神经网络通过全连接层1提取的是局部的图像特征,下层卷积神经网络通过全连接层2提取的是全局的图像特征,该改进的算法即是将局部特征与全局特征融合在一起得到更为准确的图像识别,最后一步的融合至关重要,因此采用一层100个单位的全连接,最后用Softmax分类层进行分类识别。

3 基于改进卷积神经网络的动态障碍物识别方法

改进卷积神经网络在避障系统中用于对障碍物的识别和分类,其输入是经过处理后的点云图像,识别并分割出的障碍物,如汽车、自行车、行人等,输出为与障碍物相对应的一组对象,用于后续的操作处理。

3.1 映射栅格图坐标

栅格地图[12]能准确地表达某一时刻的环境情况,比如当前车的位置、障碍物的位置等。在避障系统的研究中,可将栅格图作为最基础的环境建模,在栅格图的基础上进行智能决策和路径规划操作。本文研究的主要是运动的障碍物,因此选用可以更好地描述障碍物动态位置信息的三维障碍物栅格图作为表达环境的建模方法。在三维坐标系内对环境进行建模,按时间轴表示出一段时间内栅格的占用情况,从而连续地展示环境中所有的运动关系,为接下来的行为决策和路径规划提供依据。

本文采用512×512的栅格划分标准,即将能够检测到的环境大小按比例映射到此512×512的环境地图中,将得到的某一时刻点的雷达原始数据中所有环境信息同样按比例映射到相应的位置,这样便得到了单点时刻的栅格图。依次按照时间顺序将周围的环境信息映射到同一个三维坐标系中,便得到一个三维的栅格占用图,在这个三维坐标系中可以明显地看出该环境中所有的运动情况。

在传统的二维栅格图中按照单个时间点映射得到的栅格图可得到单帧的动态障碍物栅格图,在本文中三维坐标系中按照时间轴多帧叠加便会得到一个三维的动态障碍物栅格图。图3(a)为单帧的动态障碍物栅格图示意图,图3(b)为多帧叠加的动态障碍物栅格图示意图,由图可知,多帧叠合的栅格图能够看出障碍物的运动状态变化。

(a) 单帧 (b) 多帧叠加图3 动态障碍物栅格图示意图

3.2 感兴趣区域过滤

感兴趣区域[13]指为硬件设施检测到的动态障碍物所处的环境区域,感兴趣过滤器处理感兴趣之外的点云数据,去除背景的物体,比如道路上的建筑物和树木等,剩下的就是感兴趣区域的点云,方便用于后续的处理。

此处采用检测到的视线内可操作的最小多边形进行过滤,经过感兴趣区域过滤后,可得到每个雷达点代表的物体是在感兴趣区域内还是区域外。

3.3 障碍物识别模块

假定该卷积神经网络已线下完成训练,获得使最损失函数最小的权值并保留该权值。在经过感兴趣过滤器识别周围环境之后,识别模块得到了仅在感兴趣区域内的点云,这时大部分的背景障碍物已被去掉。同时通过线下训练完的本文改进卷积神经网络模型的上下两层网络结构,学习点云的特征预测障碍物的相关属性(前景物体的概率、物体的高度、物体分类等),再经过卷积神经网络的特征识别、提取、聚类等操作,得到一组识别分类结果。

4 实验结果与分析

4.1 时间复杂度对比实验

本实验是在CPU为Intel i5-6300,主频2.30 GHz、四核,8 GB内存,64位Microsoft Windows 10操作系统,使用Matlab进行实验验证。采用的数据来自Geiger开放的KITTI数据集[14],选取1 000张道路障碍物图片,其中900张用于训练,100张用于测试。

表1中,时间复杂度公式中Dek、Drk表示单层输入层需要访问的参数,log2(|V|)表示输出层Softmax层需要访问的参数,其中|V|表示词典的大小,De表示原卷积神经网络单层词向量的维度,Dr表示改进卷积神经网络的单层词向量维数。由于改进的卷积神经网络只保留了一层池化层,并且卷积层的卷积核数也有所降低,即De>Dr,所以改进的卷积神经网络的时间复杂度比传统的卷积神经网络低。

表1 实验检测速率比较

从表1给出两种算法的检测速率的比较结果可以看出,改进的卷积神经网络检测速率比传统的卷积神经网络有所降低,表明了本文算法具有较低的时间复杂度,因此本文方法的实时性也能够得到保证。

4.2 障碍物检测实验

本文的仿真实验基于百度开放Apollo的平台,采用的数据来自Geiger开放的KITTI数据集、城市交通数据集Cityscapes[15]和Apollo数据集中的相机图片。

此处实验目的为验证改进卷积神经网络算法在图像识别中具有全局优势,因此对改进卷积神经网络上下部分的网络分别输入相同的样本图片,通过上下层网络结构中卷积层输出的特征图结果来验证。

首先手动筛选出一部分较易识别、边缘较明显的图片组成样本图片库,分别通过本文中改进卷积神经网络上下层结构,输出样本图片经过卷积层的特征图。图4和图5分别展示出了经过上下两层卷积网络得到的特征图,可以看出,上层卷积网络输出的特征图较为抽象,而下层卷积网络输出的特征图较为全局,能够更好地反映出图像的特征。

图4 上层卷积神经网络输出的特征图

图5 下层卷积神经网络输出的特征图

浅层神经网络具有全局性的特点,本文改进卷积神经网络是受此启发,利用浅层神经网络的全局特性对传统卷积神经网络对图像进行层层抽象的特点进行补充修正,从而改善卷积神经网络过度抽取细节特征从而缺乏全局特征的问题;同时,通过下层卷积神经网络对全局特征的把握,可以改善在训练学习过程中出现过拟合的概率。

为了验证本文提出的改进方法在动态障碍物识别过程中的适用性,本文采用以上数据集中的真实数据构建了一个91 271个样本的测试库,并将其分为测试集和训练集两部分,样本集包括三个数据集中的数据,包括多种场景下的运动障碍物的样本。表2中列出了本文在训练及测试时各个数据库中样本数量的情况。

表2 实验样本集

分别采用表2中相同的训练集(82 329条数据)对传统的卷积神经网络和本文改进卷积神经网络分别进行权值训练,分别保存上线两层卷积神经网络训练后的权值数值。再采用表2中的测试集(8 942条数据)进行实验验证,表3列出了本文改进卷积神经网络在各个数据集的测试结果。通过改进CNN与CNN的算法对比,可以直观地看出本文算法在运动障碍物的识别上的优势。

表3 实验测试结果

上述实验采取的数据集均是采用道路真实的数据,从侧面展示出了改进的算法在不同的环境中具有一定的适应能力,在进行验证实验的同时用改进的算法对三个数据集进行了测试。图6为算法改进前后的召回率曲线,从图中可以看出,本文的改进卷积神经网络算法在三个数据集中具有较强的适应能力。

图6 召回率曲线

为了验证本文改进卷积神经网络在增加全局特性后的有效性,在Apollo数据库中分别测试了改进CNN、下层全局粗特征CNN和上层局部细化CNN,测试结果的ROC曲线(受试者工作曲线 Receiver Operating characteristic Curve)如图7所示。可以明显地看出改进卷积神经网络算法在识别障碍物的性能上明显比上下层网络结构的性能好。

图7 改进前后ROC曲线对比

5 结 语

本文提出了一种基于改进的卷积神经网络对动态障碍物的识别方法。与传统的CNN相比,该网络在保留局部特征提取力度的同时增加全局特征的修正,通过局部特征和全局特征的同时提取,再通过一个全连接层将局部特征与全局特征进行整合,最终获取图像的整体信息。实验结果也表明,改进的卷积神经网络在对运动障碍物的识别具有较强的适应性和有效性。同时,由于实验中所使用训练样本数量和种类的限制,对实验的结果会有一定的影响,因此接下来的工作中,要扩大训练样本集的数量和种类来进一步验证改进的CNN比传统的CNN在动态障碍物识别方面有更高的准确性。

猜你喜欢

池化层栅格网络结构
栅格环境下基于开阔视野蚁群的机器人路径规划
超声速栅格舵/弹身干扰特性数值模拟与试验研究
改进深度卷积神经网络及其在变工况滚动轴承故障诊断中的应用
快递网络结构研究进展
基于卷积神经网络的纸币分类与点钞
基于深度学习卷积神经网络的人体行为识别研究
基于AutoML的保护区物种识别①
反恐防暴机器人运动控制系统设计
基于栅格地图中激光数据与单目相机数据融合的车辆环境感知技术研究
增强层次的卷积神经网络模型研究