APP下载

采用卷积神经网络的低风险可行地貌分类方法

2020-10-12张琪安张波涛王亚东

控制理论与应用 2020年9期
关键词:移动机器人识别率水面

张琪安 ,张波涛,2† ,吕 强 ,王亚东

(1.杭州电子科技大学自动化学院,浙江杭州 310018;2.浙江大学智能系统与控制研究所,浙江杭州 310058)

1 引言

环境识别与建模是非结构环境下移动机器人导航与规划的先决条件,其中,可行区域识别是其关键技术之一.截止到目前,可行区域识别相关研究主要集中于从任务空间中检测无障碍可行区域,通常采用激光、视觉或声呐等传感器对环境进行数据采集与建模,从而区分可行区域与不可行区域[1–3].

然而人类或其他灵长类动物不仅可以辨别可行区域,还能区分不同可行区域对行进效果的影响,例如:硬质与平坦的地貌更能提高行进效率,松软的草地、沙地会增加能耗,并可能影响行进速度[4].不同可行区域在非几何特征如:黏度、硬度、密度等方面有极大差距,从而导致移动机器人在不同可行区域下的行进速度、意外风险概率迥异[5–7].因此,可行区域的地貌识别有利于室外移动机器人实现更精细化的运动规划与导航,进而提高目标任务的执行效率.

近年来,国内外一些机器人领域的研究者开始关注该问题,并进行了一些探索性研究,例如:文献[8]通过驱动移动机器人在沙地、碎石、草地、土地、沥青路面上以6种速度行驶,分别提取车轮与地面接触后相互作用的加速度与声压信号,其后,采用支持向量机(support vector machine,SVM)分类;文献[9]中提出了一种基于静电信号测量的地貌识别方法,通过采集机器人足部与地面接触、分离时的感应电荷及泄放情况,再用k近邻算法对静电信号识别分类.

振动信号与静电信号皆为接触性信号,需通过机器人与地面接触获得,无法预先对地貌进行分类[10].然而,对于非结构环境下的移动机器人导航而言,实时预判地貌具有非常关键的意义.鉴于视觉传感器具有非接触性、蕴含信息丰富的特点[11],文献[12]使用车载摄像机从道路上拍摄数字图像,并提取出图像中的颜色特征,利用多层感知机(multilayer perceptron,MLP)对颜色特征进行分类从而达到可行地貌分类的目的;国内研究者也在本领域进行了探索,例如:文献[13]在获取地貌图像后,提取出大量包含颜色、纹理和几何特征在内的候选地貌特征,再利用基于随机森林的在线特征选择算法,提取出与地貌类型高度相关的一小部分特征用于分类,获得了较高识别率.

受限于传感器技术与图像处理领域的研究进展,地形地貌识别的准确率虽不断提高,但仍然面临许多问题.因目前绝多数方法需手动提取地貌特征,其分类效果受人工地貌特征提取效果影响较大[14].近年来,图像处理领域进展日新月异,其中深度学习方法表现极为出色.自AlexNet模型的提出以来,卷积神经网络(convolutional neural network,CNN)呈爆炸式发展,现已被广泛应用于文字识别、人脸识别、目标检测等领域,相比传统的图像分类方法,CNN能够避免繁琐的特征提取,以CNN为代表的图像分类技术,打破了传统的“先提取特征,后分类”的图像识别模式[15–16].深度学习领域的技术为地形地貌识别提供了极好的工具.

然而,使用卷积神经网络进行地貌识别存在以下问题:1)移动机器人导航对地貌识别有较高的准确率要求,为满足该要求设计的复杂神经网络,会带来训练困难、过拟合等问题.而较低的不可行地貌识别率则会带来严重的风险,导致任务失败,甚至会损坏机器人,如图1所示.2)网络训练需要大批量带标签的地貌数据,目前尚无用于移动机器人地貌识别的公开地貌数据集.

图1 落水的K5巡逻机器人(Knightscope)Fig.1 A drowning K5 patrol robot(Knightscope)

针对风险地貌误判率高的问题,本文提出了以牺牲非风险地貌的识别率为代价,提高感兴趣地貌识别准确率的低风险地貌识别策略.该策略采用双重验证方式,通过多分类与二分类的分类结果共同判别地貌类型.在此基础上,为避免手动地貌特征提取的局限性,将卷积神经网络作为理论基础,根据任务需求分别设计了2个CNN用于多分类与二分类,并采用Adam算法优化网络参数.最终构建了2级卷积神经网络的风险地貌识别算法.此外,本研究收集了大量6类常见地貌的图像,经数据增强后形成数据集用于网络训练与测试.所提出的基于卷积神经网络与二分类的地貌识别与风险优化算法,通过多重CNN的分类决策,显著降低了风险地貌的误判率,可为减少室外移动机器人导航风险提供关键的感知数据支持.

2 基于CNN的低风险地貌识别策略

本文的研究目标是以较高的精度实现地貌识别,并显著减少由“危险地貌”误判带来的经济损失.所谓“危险地貌”误判是指将会给移动机器人带来危险的不可行地貌误判为可行地貌,例如将水面误判为沙地,可能导致移动机器人落水短路.而将沙地误判为柏油路并不构成严重风险,仅会降低移动机器人行进效率.为实现该目标,提出了具有“双重验证”决策思想的最小风险地貌识别方法,该方法描述为:使用多个分类器对可能的“危险地貌”进行多次识别,只要有一类分类器识别出“危险地貌”,则结果直接判定为“危险地貌”.尽管在多次识别的过程中存在将“安全地貌”识别为“危险地貌”的可能性,但这种误判并不能带来灾难性的后果,仅仅是迫使移动机器人绕走其他路线,比较“危险地貌”误判所带来的损失,这种误判导致的危害极小.

基于以上规则,设计了基于CNN的低风险地貌决策算法,算法的识别流程如图2所示.其中,Terrain–CNNⅠ为用于多分类的卷积神经网络,而Terrain–CNNⅡ为用于二分类的卷积神经网络.该算法首先将采集到的地貌图像放入Terrain–CNNⅠ中判断所属地貌类别,若为危险地貌则直接判定为危险地貌;若为非危险地貌,则放入Terrain–CNNⅡ中再次甄别地貌类型,若为危险地貌,则判定为危险地貌,否则,返回Terrain-CNNⅠ的识别结果.

图2 基于CNN的低风险地貌决策算法流程图Fig.2 Flow chart of low-risk terrain decision algorithm based on CNN

选用室外机器人工作空间中常见的几种地貌进行测试,示例地貌分别为:水面、草地、泥地、柏油路、沙地、碎石路.其中,水面属于典型危险地貌,许多游泳池、景观池、人工河的边沿与地面平齐,不易被平扫的激光雷达发现.其余5种地貌作为非危险地貌,具体如图3所示.因数据集构建所需采样工作量较大,故仅以6种地貌测试所提算法,但本算法的适用范围并不局限于以上几种地貌样本.

图3 6种示例测试地貌Fig.3 Six sample terrains for test

3 用于低风险地貌分类的卷积神经网络

卷积神经网络是一类包含“卷积”结构的特殊神经网络,主要由输入层、卷积层、激活层、池化层、全连接层、输出层组成.该类网络通过卷积、池化的反复迭代使用能够自动地将提取到的低层特征逐渐变成高层特征再用于分类.低层次的图像特征包括形状、纹理、边缘等底层的特征,而高层次的图像特征是建立在低层次的特征之上,更能体现图像语义信息的特征[17].池化层的引入使得网络对图像的位移、放大、缩小、变形具有良好的鲁棒性.因此卷积神经网络被广泛应用于图像识别领域.

3.1 用于低风险地貌分类的网络结构

参照近年在图像识别有出色表现的AlexNet模型[18],分别设计了Terrain–CNNⅠ与Terrain–CNNⅡ网络,其中,Terrain–CNNⅠ为本文所设计的多分类网络,其结构如图4所示,由1个输入层、3个卷积层、3个池化层、1个全连接层和1个Softmax层组成,Terrain–CNNⅠ的输入为所有待识别的地貌样本,而输出则为对输入地貌的判别.Terrain–CNNⅡ包含1个输入层、4个卷积层、4 个池化层、1个全连接层以及1个Softmax层.这样做的目的是让两个网络能够提取到不同的图像特征,使得其分类结果不同,进而可用于双重验证地貌类型.

图4 Terrain–CNNⅠ网络架构图Fig.4 The structure of Terrain–CNNⅠnetwork

Terrain–CNNⅠ与Terrain–CNNⅡ具体的网络层数、类型、卷积核尺寸或池化大小、步长、输出尺寸如表1–2所示.

除输出层采用Softmax函数以外,其余采用ReLU函数f(u)=max(u,0)(u∈(0,∞))作为激活函数,ReLU函数相较于其他激活函数(例如Sigmoid,Tanh)能够有效解决在反向传播时梯度弥散的问题.

为了提高网络的泛化能力,将Dropout引入到网络中.在网络的每一次训练时,Dropout能够将网络中任意一个神经元以概率p将其暂时从网络中丢弃[19].在网络训练完成后再将p设置为1,让所有神经元工作.此外,为衡量模型的性能指标,采用交叉熵函数作为代价函数.

表1 Terrain–CNNⅠ结构参数Table 1 Parameters of Terrain–CNNⅠnetwork

表2 Terrain–CNNⅡ结构参数Table 2 Parameters of Terrain–CNNⅡnetwork

3.2 Adam参数优化算法

采用Adam(adaptive moment estimation)梯度下降优化算法来优化所构建的Terrain–CNNⅠ与Terrain–CNNⅡ.普通的梯度下降算法保持单一的学习率更新权重,且学习率选定困难,而Adam算法[20]利用梯度的一阶矩估计和二阶矩估计,能够动态调整每个参数的学习率,使网络快速收敛.一阶矩估计如式(1)与式(2)所示,二阶矩估计如式(3)与式(4)所示:

其中:dw,db分别为代价函数对权值w、偏置值b的梯度;Vdw,Vdb分别为对dw,db的一阶矩估计;Sdw,Sdb则是对dw,db的二阶矩估计;β1,β2为矩估计的指数衰减速率,β1,β2的推荐值分别为0.9,0.999[21–22].初始化时,Vdw=0,Sdw=0,Vdb=0,Sdb=0.由于初始值0的设定,前几次矩估计并没有对实际梯度进行合适的估计,因此需要进行偏差修正,修正方式如式(5)–(8)所示:

其中:ε为数值不变的小常数,其目的是避免分母为0;α为学习率.本算法取ε=10−8, α=10−4.

4 实验结果与分析

为说明本文所提算法的效果,以下将低风险算法与Terrain–CNNⅠ,Terrain–CNNⅠ+SVM的分类方法对比,用于评估所提低风险地貌识别算法对提升分类算法的避险能力以及整体识别率情况.

4.1 数据集的构建

数据集的数量及质量都对实验结果有直接影响,因目前尚无公开的地貌数据集,故采用网络爬虫从搜索引擎中获取各类地貌图片,再手动筛选删除不相关的图片.在获取水面图片时,除了湖面、河面等常见的水面,也考虑了积水、水坑等机器人可能会遇到的水面情况,最终获取到每类图片300–500张,各类地貌样图如图5所示.

图5 6种典型地貌示例图Fig.5 Examples of six typical terrains

对于图像分类任务,常采用不影响图像标签的图像增强技术来扩充数据集的大小.在地貌数据集的制作过程中,将获取到大小不同的原始地貌图统一调整成300×300像素大小,然后将图片分别沿横、纵方向,以30像素为步长,裁剪成200×200像素大小的图片,再将裁剪后的图片分别进行镜像处理,因此每1张原始图片可以扩展出3×3×2=18张图片,效果如图6所示.

图6 数据增强效果图Fig.6 Data enhancement renderings

最终,从增强后的数据集中给每类随机挑选各5000张训练集及500张测试集组成6类地貌的数据集,数据集分布如表3所示.

表3 6类地貌数据集分布Table 3 Distribution of six types of terrain data sets

因Terrain–CNNⅡ用于处理二分类任务,需要建立包含正负样本的新数据集,实验将水面图片标记为正样本,非水面图片标记为负样本.采用随机算法从每类非水面的训练集、测试集中随机挑选20%的图片作为训练集、测试集,水面的训练集测试集不变,最终,由正负样本组成的新数据集的分布情况如表4所示.

表4 正负样本数据集分布Table 4 Distribution of positive and negative sample data sets

4.2 低风险地貌分类网络模型的训练与测试

采用的实验平台为基于Python的深度学习框架Tensorflow,操作系统为Windows 10 64位;硬件环境为:CPU为6核2.80 GHz Intel(R) Core(TM) i5–8400,内存8 GB,GPU为GTX1060.综合考虑网络的训练效率以及实验设备性能,采用mini-batch方法,批量使用训练集对网络进行训练,batch-size设为25.

两个模型在训练集上的准确率变化如图7–8所示,从变化曲线中看出,两个网络在训练时准确率都有一定幅度的振荡,但振荡幅度随着训练次数的增加在降低,整体的训练精度也呈现上升趋势.振荡的原因是采用了batch-size训练方法,训练初期每次用于训练的batch-size大小的数据集均为新数据,故每次训练精度会发生波动,随着训练次数增加,网络最终趋向稳定.经24000次训练后,Terrain–CNNⅠ的识别精度在95%附近波动,而Terrain–CNNⅡ仅需5000次训练,识别精度即可超过95%,由此可见Terrain–CNNⅡ网络的功能简单,训练的难度比Terrain–CNNⅠ略低.

图7 Terrain–CNNⅠ训练时的准确率变化Fig.7 Changes in accuracy during training Terrain–CNNⅠ

图8 Terrain–CNNⅡ训练时的准确率变化Fig.8 Changes in accuracy during training Terrain–CNNⅡ

使用各自的测试集测试训练好的模型的泛化能力,Terrain–CNNⅠ和Terrain–CNNⅡ的测试结果分别如表5–6所示.

由表5可见Terrain-CNNⅠ在草地、沙地的识别方面有非常高的识别率,几乎接近100%,而在水面、泥地的识别率都低于90%.最终模型在测试集上整体正确率为92.6%.可能的原因是相较于其他地貌,草地、沙地有明显不同的颜色、纹理特征,较容易识别;而水面地貌中,因积水有一大部分存在于泥地、柏油路面中,会影响相互间地貌的识别率.

表5 独立使用Terrain–CNNⅠ的地貌识别Table 5 Use Terrain–CNNⅠfor terrain recognition

表6 独立使用Terrain–CNNⅡ的地貌识别Table 6 Use Terrain–CNNⅡfor terrain recognition

对于地貌的二分类问题,常使用真阳性率(true positive rate)、假阳性率(false positive rate)、真阴性率(true negative rate)、假阴性率(false negative rate)表示二分类的分类效果,分别以TPR,FPR,TNR,TNR表示.由表6可见TPR(将水面正确识别为水面)与TNR(将非水面正确识别为非水面)分别为93.0%,93.8%.

4.3 风险性及平均识别率对比

以下实验旨在验证低风险地貌识别策略对提升分类算法避险能力的作用,同时分析不同技术细节对地貌识别效果的影响.使用下述3种方法进行地貌分类:

A) 独立使用Terrain–CNNⅠ;

B) Terrain–CNNⅠ+SVM;

C) Terrain–CNNⅠ+Terrain–CNNⅡ(低风险地貌识别方法).

测试集均选用表3 中的6 类地貌测试集.其中,SVM用于二分类,由于不同地貌间存在较为明显的粗糙度、平滑度等纹理上的特征差异,因此将局部二值模式(local binary patterns,LBP)算子提取的图像纹理特征作为SVM 输入.LBP算子通过比较中心像素与周围像素的大小后输出一串二进制编码,进而实现图像的LBP特征提取.此外将高斯核做SVM的核函数.SVM(LBP)单独用于地貌二分类时水面的分类准确率为90.6%,如表7所示.

表7 独立使用SVM(LBP)的地貌识别Table 7 Use SVM(LBP)for terrain recognition

A,B和C三种方法下地貌识别的风险性以及平均识别率如表8所示.由实验结果可知,与方法A相比,方法B、方法C均可显著提高水面这种危险地貌的识别准确率.其中,方法C的提升幅值可达9.8%,最终识别率接近100%.然而,伴随危险地貌识别率提升的同时,单个安全地貌的识别率有了不同程度的降低.其中,方法B的下降幅度比方法C大.在包含水面的整体平均识别率方面,方法B的平均识别率降低了5.1%,而方法C的平均识别率有小幅提升,提升幅值为0.5%.导致以上现象原因为:二分类输入为非水面图像,包括:a)真实的非水面地貌;b)虚假的非水面地貌,其实为水面,但被误判成了非水面.以此为输入,二分类结果包括:1)真实非水面输入,被判断为非水面;2)真实非水面输入,被判断为水面;3)虚假非水面输入,被判断为水面;4)虚假非水面输入,被判断为非水面.以上4种结果1)与4)对原多分类无影响,但2)会降低单个非水面的识别率,使得整体识别率降低.3)能提高水面识别率,进而对整体识别率提升产生积极的作用.结果2)和3)共同决定整体识别率变化.相比于SVM,Terrain–CNNⅡ对结果3)的提升更大,出现2)的可能性更小,这是造成了两种方法识别率差异的原因.

表8 风险性及平均识别率对比Table 8 Comparison of risk and average recognition rate

此实验结果表明带有“双重验证”的识别策略可显著提高感兴趣地貌的识别率,然而该优势在一定程度上会伴随其他地貌识别率稍有降低.但与“危险地貌”误判给移动机器人所带来的损失相比,这种牺牲所导致的危害极小,所付出代价回报丰厚.总之,本文提出的Terrain–CNNⅠ+Terrain–CNNⅡ的卷积神经网络模型能够降低危险地貌的误判率,同时能够保证其他地貌的识别率降幅较低,使得整体识别率变化不大.

5 总结

本文提出了基于CNN的低风险地貌识别算法,实验表明该方法对危险地貌的识别率可达99.2%,能显著降低移动机器人因地貌误判带来的风险.室外地貌远不止文中所述几种,因构建数据样本库需收集大量样本,故文中只测试了其中6类,但本方法所适用的对象不限于示例地貌.本算法所采用的低风险地貌识别策略是以微小的牺牲非危险地貌的识别率为代价,显著提高某些危险地貌的识别率.该地貌识别方法适用于复杂地貌下的室外移动机器人自主导航与任务规划等.

猜你喜欢

移动机器人识别率水面
移动机器人自主动态避障方法
移动机器人路径规划算法综述
水黾是怎样浮在水面的
室内环境下移动机器人地图构建与路径规划技术
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
基于多传感器融合的机器人编队ADRC控制
档案数字化过程中OCR技术的应用分析
科技文档中数学表达式的结构分析与识别
人工智能现状和发展
为什么木头可以浮在水面上?