顾昊;曲毅
【摘 要】深度学习发展至今已经在诸多领域展现出卓越的性能,利用卷积神经网络进行图像识别是当前深度学习的重要应用之一.运用卷积神经网络对大量楼梯图片进行网络训练,使机器人在识别楼梯或类似障碍物时能自主攀爬.采用当前主流深度学习框架Caffe,使用卷积神经网络AlexNet和ResNet对楼梯图片集进行训练和测试.实验得出,ResNet的识别准确率为96.5%,AlexNet识别准确率为92.3%,相较而言,ResNet性能优于AlexNet,可以为机器人对楼梯的自动识别提供一些参考.
【期刊名称】《现代计算机(专业版)》
【年(卷),期】2018(000)028
【总页数】4页(P44-47)
【关键词】深度学习;卷积神经网络;Caffe;楼梯识别
【作 者】顾昊;曲毅
【作者单位】武警工程大学研究生大队一队,西安710086;武警工程大学信息工程学院,西安710086
【正文语种】中 文
0 引言
深度学习诞生于人工神经网络的研究,2006年加拿大多伦多大学教授Geoffrey Hinton和他的学生Rus⁃lan Salakhutdinov在Science上发文,提出贪婪的逐层训练算法,解决了深层网络训练中的梯度消失问题,自此开启了深度学习研究浪潮。作为机器学习领域的一个新的研究方向,深度学习已经在计算机视觉、语音识别、信号处理、临床医学等各个领域取得了突破性进展。它模拟人类大脑神经元连接结构,通过提取低层特征并加以组合形成更加抽象的高层,表示属性类别或特征,进而给出数据解释。
深度神经网络(Deep Neural Networks,DNN),即是通过深度学习得到的深层次的神经网络,卷积神经网络(Convolutional Neural Network,CNN)是常用的深度神经网络模型
之一。80年代初期日本学者Fukushima等人受猫的视觉皮层细胞感受野的概念启发,提出了神经认知机(Neocognitron),第一次实现了卷积神经网络的现实搭建。1998年,Y.Lecun等人提出卷积神经网络LeNet,该网络由两个卷积层、两个池化层和两个全连接层构成,在手写数字的识别中表现优异,为卷积神经网络由理论走向实际应用打开了大门。继LeNet之后,经过几十年发展,又出现了AlexNet[3]、GoogleNet、VGG、DRL四种经典CNN模型,神经网络的深度和卷积的计算量不断加深扩大。
从本质上来说,卷积神经网络是多层感知机,核心思想是将局部感受野、权值共享以及时间或空间上的亚采样三种思想融为一体,一方面减少了权值的数量,使得网络的计算量大大减少,更有利于网络的优化,另一方面也降低了过拟合的风险。在二维图像处理方面,卷积神经网络更具优势,它能自行抽取丰富的图像特征,包括颜、纹理、形状及图像的拓扑结构,在识别图像的位移、缩放及其他形式扭曲不变性的应用上,卷积神经网络具有更好的鲁棒性和更高的运算效率。
利用卷积神经网络对楼梯进行识别,进一步提高机器人的性能,对机器人的发展和应用意义重大。尤其在军事应用方面,若机器人在执行侦察任务过程中能够迅速准确地识别出楼梯或类似障碍物,做出相应的处置动作,那么任务成功的可能性也会有一定程度的提高。
1 数据集
本文采用的数据集由楼梯图片集和非楼梯图片集构成。训练集共500张,有正样本400张,为各类楼梯图片,负样本100张,包含桌、椅、饮水机等干扰物体;测试集共300张,包含正样本200张,负样本100张。图片大小不统一,视角大多由下向上,符合小型机器人视角,测试集中负样本种类较多,大大增加了楼梯识别的难度。部分图片如图1所示:
图1
2 目标网络结构
本文采用深度卷积神经网络AlexNet和ResNet34[1]进行对比实验,两种网络结均是卷积神经网络问世以来的经典模型和佼佼者,分别在2012和2015年取得了ImageNet最好成绩。
2.1 AleexxNNeett
AlexNet由Alex Krizhevsky等人设计,该模型包括5个卷积层、3个池化层和3个全连接层。如图2所示:
图2 AlexNet网络配置
从输入到输出,该模型可分为8个模块。模块一和模块二流程相同,都是对数据进行“卷积-激活-降采样-标准化”的过程,卷积层(Convolutional Layer)后紧跟池化层(Pooling Layer),采用激活函数ReLU加快收敛速度,最后添加标准化层(Normalization Layer)控制数值范围,以便后续的计算。经过前两个模块的处理,输入到模块三和四的特征数据量已经比较小,所以在这两个模块中省去了降采样过程,模块五在重复卷积之后再次降采样,进一步减少数据量。总的来说,模块一至五都是在做卷积运算,根据每一模块接收到的图像尺寸决定是否进行降采样,加上一些必要的函数来控制数值。模块六和七是全连接层,结构与人工神经网络相同,由于其连接节点过多,为避免过拟合,引入Dropout层,随机删除一般的神经元,但是不改动输入层和输出层,通过这种方式增强网络模型的鲁棒性。最后模块八是一个输出层,结合Softmax函数得出识别的结果。
2.2 ReessNNeett
ResNet由何恺明等人设计提出。AlexNet问世以来,后续的卷积神经网络如GoogleNet、VGG都着力于增加网络的深度,更深层次的学习网络固然对最后的分类和识别的效果有进
一步的提高,但事实上,简单地堆叠层数,加深网络深度,在网络很深的时候,其性能会逐渐趋于饱和甚至下降,这就会使训练越来越困难,识别和分类准确率也会下降,这就是梯度消失(Vanish⁃ing Gradient)问题。ResNet模型主要解决一个问题:更深的神经网络如何收敛。该模型主要的创新点在于引入了残差网络(Residual Network)结构,通过在输出和输入之间创建一个捷径连接(Identity Shortcut Connec⁃tion),直接跳过一层或多层,即图3中的曲线。自身的捷径连接既不会添加额外的参数也不会增加计算复杂度,整个网络依然可以用SGD+反向传播来做端到端的训练,并且可以很容易用大众框架,如Caffe来实现,而不用修改slover配置。这样可以解决梯度消失问题,从而把网络做地很深。残差块的基本结构如图3所示。
当构造一个深度模型时,把新加的层叫做identity mapping,其他层则从学好的浅层模型中复制过来,下面就要保证这个构造的深度模型并不会比之前的浅层模型产生更高的训练误差,何恺明团队针对这个难点提出了一个深度残差学习框架来解决网络加深之后准确率下降的问题。用公式来表示,若我们需要的理想的identity mapping定义为H(x),那么新加的非线性层就是F(x)=H(x)-x,原始的mapping就从H(x)变成了F(x)+x,F(x)就是层与层之间的残差。极端情况下,如果之前的H(x)是最优的,那么新加的identity mappingF(x)就应该都
是0。整个残差网络是端对端的,可以通过随机梯度下降反向传播,收敛更快,错误率更低,而且实现起来很简单,在Caffe中可以用Elt⁃wise层实现。
图3 残差块结构
从图3中可以看出,残差块基本结构有两层,x输入后经过两个权值和一个非线性函数ReLU的运算,如下表达式:
然后通过一个捷径连接和第二个ReLU函数,获得输出y:
当需要对输入和输出维数进行变化时,可以在进行捷径连接时对x做一个线性变换,添加系数W,如下式:
通常情况下,由于单层的残差块并不能提升网络性能,系数W要大于1。
3 实验
3.1 实验步骤
本文中AlexNet和ResNet运行在深度学习框架Caffe上,采用GPU+cuDNN运行。由于输入的原始图片大小不一,在进行网络训练之前,我们将所有图片统一大小,然后借助Caffe中的工具生成均值文件作为数据输入。两种网络模型的实验结果如表1所示:
未识别的网络表1?
3.2 实验分析
从表中看出,ResNet网络模型表现更为出,对楼梯的识别准确率较高,收敛速度也更快。结合两种网络模型的结构和算法原理进行分析,有以下几点主要原因:
(1)神经网络模型的深度对分类和识别的效果有很大影响,更深的网络对图片特征的提取能力更强,有利于提高准确率。从网络深度来看,与AlexNet相比,ResNet占据天然优势,并且整个网络结构存在明显层级,特征图个数随层数依次递进,保证了输出特征表达能力不下降。事实上,AlexNet在表征能力上并不存在巨大优势,但是其重复的参数化使得加深网络深度变得可行。
(2)ResNet可优化能力更强,在进行前向和反向传播时,11层的AlexNet比34层的ResNe
t更容易产生震荡,而ResNet则要平稳一些,简化了深度模型的优化。
(3)没有使用AlexNet中的Dropout层,减少了的池化层数量,大量使用下采样,提高传播效率,利用BN和全局平均池化进行正则化,加快了训练速度。
(4)就收敛性能方面来说,不同于AlexNet或之前的卷积神经网络,残差网络在加深网络深度之后,性能并未出现退化,反而有了一定程度的提升,也就是说残差网络能够获得更低的收敛损失,并将过拟合程度控制在可接受的范围内,同时也说明结合较深的网络深度,残差网络才更能凸显其优势,与较浅的神经网络拉开性能差距。
发布评论