一、卷积神经网络网络的发展和不同神经网络的特点
近几年,深度学习由于其优异的性能得到了各大研究机构的青睐,在图像处理领域中使用最为广泛的深度学习模型是卷积神经网络。卷积神经网络需要学习非常多的参数,早期没有足够多的训练数据也没有足够强的计算能力,很容易发生过拟合现象。而现在由于高性能计算机的快速发展以及大规模的数据集的发布如ImageNet,使得卷积神经网络产生了远超传统算法的精度。Rumelhart等人于上世纪八十年代提出了反向传播算法(Back Propagation,BP),这为后来的神经网络领域的发展奠定了基础。1998年,LeCun等人[1]发表论文,确立了CNN的结构,其主要方法是设计了一种层状结构的人工神经网络,并称为LeNet-5,使用反向传播算法与随机梯度下降算法优化,对手写数字进行分类,这也成为了后来的卷积神经网络的雏形。然而,由于当时没有大规模的数据集,随着神经网络层数的加深,不可避免的发生过拟合,同时,当时也没有足够的计算资源,训练时间过长,效果相对于当时其他收敛速度快的机器学习算法,神经网络也没有体现出足够的优势,因此神经网络没有引起太大的关注。2006年,Hinton等人[2]发现在训练上的复杂度可以通过逐层训练来有效缓解,成功的解决了神经网络难以训练的问题,同时随着GPU技术的发展,神经网络重新得到了学术界以及工业界的关注。2012年,Alex Krizhevsky等人[3]提出的AlexNet在ImageNet图像识别比赛中获得了第一名,而且其错误率相对于第二名降低了大约10%。AlexNet网络使用Relu[4]函数替换传统的Sigmoid函数作为新的激活函数,缓解了梯度弥散的问题,同时使用Dropout[5]正则化技术来提高算法的鲁棒性,防止过拟合。远超第二名的成绩使得卷积神经网络在计算机视觉领域一鸣惊人,点燃了广大研究人员的研究热情。
至此之后,卷积神经网络开始被重视,各有特色的卷积神经网络框架被开发出来,2014年,Simonyan与Zisserman等人[6]提出的VGG-Net结构简单有效,前几层使用3X3的卷积核来代替大的卷积核,使得每一层的感受野都是一样,同时增加网络的深度,从而获得更多的非线性表达,通过最大池化方式减少特征图的大小,最后三层分别是两个全连接层和一个softmax层,在当时的ImageNet比赛中,VGG-Net取得了不错的效果。同年,Szegedy等人[7]提出了Google-Net,Google-Net提出了一种叫做多级特征提取器(Inception)的概念,即分别使用1X1,3X3,5X5的卷积核对特征图进行提取特征,学习不同尺度的图像信息,最后把这些卷积输出连接起来,当作下一层的输入。在增加网络深度的同时也增加了网络的宽度,减少了模型的参数,而且提高了模型的泛化能力,取得了不错的效果。
2015年He等人[8]提出了深度残差网络(ResNet),ResNet引进了残差学习模块,深度3到了152层,并取得了ImageNet图像数据集第一名的成绩。残差学习模块包含多个卷积层,被设计为通过添加跃层连接使得模块输入可以直接加到模块的输出上。这种模块的出现有效的缓解了由于深度加深导致的梯度消失的问题,使得在模型已经到达100多层以后,网络依旧能够正常的训练。同时,Ioffe S等人[9]提出的Batch Normalization(BN)思想简单,其效果非常明显,极大的提高了卷积神经网络的精度以及收敛速度。
深度学习的本质就是卷积神经网络可以很好的提取物体的特征,也就是传统算法中的特征工程,因此,对于卷积神经网络的研究从未停止。2017年谷歌提出了对于Inception的优化版本Xception[10]。其引入了残差模块以及使用了深度可分卷积层。相对于原始的Inception模块,效果有了一定的提升。同年Huang等人[11]提出了一个新颖的网络结构,DenseNet(Dense Convolutional Network),传统的网络结构要么深(如ResNet)要么宽(如GoogleNet),DenseNet则是将每一层的特征进行尽可能多的利用。其基本思想是在维持之前卷积神经网络的结构的同时,将所有的层都连接起来,换句话说,每一层的输入都包含了之前所有层的输出,从而最大限度的减少浅层特征的丢失,同时,优化了网络结构,每一个卷积层的输出的特征图个数都很少,保证参数较少,可以足够快的收敛。该论文也获得了CVPR 2017的最佳论文。而He等人在2018年提出的Group Normalization替代了Batch Normalization,使得归一化操作不再受批次(batch size)大小的影响,降低了深度学习对于硬件的需求。
二、现有的可通行性分析
无人驾驶汽车是一个复杂的系统,而视觉感知是无人驾驶中很重要的一个组成部分。无人驾驶中的视觉感知负责理解周围环境中道路、车辆及行人等。在道路检测方面,传统方法多聚焦于结构化道路和单一道路的情况。但当无人驾驶汽车行驶在自然环境中,它通常需要应对更复杂的道路条件,如边界模糊,凹凸不平的道路,有树阴遮挡的道路等。在现实环境中,非可通行区域样本复杂多变,收集完备的非可通行区域样本代价很高,几乎不可能实现;可通行区域规律性强,少量的样本即能代表可通行区域的特征[12],对于可通行区域的研究有多种研究手段。
1.提取地形特征的传统方式。
主要通过距离传感器生成的距离图或立体视觉系统生成的视差图。有的通过距离图或立体视觉系统生成的视差图。有部分自主导航系统是在灰度图或者直接在距离图上直接进行,但可能会遇到一些困难,比如激光雷达以非等间距扫描,得到距离图中间密,两边疏,近处密,远处疏,不利于一致性处理;融合多传感器感知地形也会比较麻烦。从视差图或距离图上重建的高程图作为一种通用的描述越野地形的数据结构,更适合于越野环境下的地形分析和路径规划。根据高程地形的相对不变性原理,提取地形想对不变特征,包括地形起伏度、地形坡度和地形粗糙度,最后基于模糊规则实现复杂越野地形可通行性的判别[13]。
针对基于单一特征进行可通行性地形分类效果差的问题,提出了一种融合多可视化特征的地形分类算法[14]。首先通过实验选出了分类效果较好的YIQ 颜色空间并在此空间提取颜色特征,然后引入一种新的能量定义方法对离散余弦变换(DCT) 纹理特征提取法加以改进,由实验得出改进的DCT 纹理特征及小波(Coif lets24) 纹理特征可取得较好的分类效果。将上面3 种特征加以融合并用主成分分析法(PCA) 进行降维处理,利用高斯混合模型( GMM) 作为分类器,在由Vis Tex 标准数据库所生成的马赛克图像和真实的野外环境图像中进行实验,结果令人满意。
