基于2-D范围扫描的室内场景识别方法
2018-12-17郜春艳何秀娟黄文美刘卓锟
郜春艳,何秀娟,黄文美,刘卓锟
(河北工业大学省部共建电工装备可靠性与智能化国家重点实验室,天津 300132)
0 引言
场景识别是室内移动机器人研究的一个重要分支[1],移动机器人的诸多功能如定位、导航、路径规划的实现都基于其良好的场景识别能力[2]。利用2-D测距信息进行机器人场景识别技术的研究是当前一大热点[3]。不同的室内场景由于结构和布置不同而有着不同的形状与大小特征,比如走廊呈现规则的矩形,又窄又长;卧室的床与墙之间存在窄缝;客厅面积宽阔且较为杂乱,卫生间面积最小。这些特点都是基于2-D扫描进行室内场景识别的重要依据[4-5]。
安装有激光雷达传感器的移动机器人在室内行驶的过程中,范围扫描数据也会被实时记录下来,这些数据描述了移动机器人所处环境的轮廓特征。基于激光雷达扫描的室内场景识别问题可以描述为:给定一系列来自不同类型室内场景的激光雷达测距样本,利用机器学习算法对已知样本进行学习,归纳总结出各类场景特有的数据特征,当再给予陌生的测距样本时,可判断出其所属室内场景的类型[6-8]。
本文在Ubuntu系统下,利用机器人操作系统(ROS)和仿真软件 Gazebo搭建仿真环境,并采集虚拟激光雷达测距信息,对范围扫描数据提取二值化图像信息后,利用基于局部感受野的极限学习机(ELM-LRF)对特征信息进行学习与分类。最后,利用公共数据集DR Dataset所提供的从123个真实生活场景中所采集到的激光雷达范围扫描信息对所提出的方法进行了验证。
1 仿真环境中的数据采集
1.1 搭建仿真环境
ROS以其点对点设计、模块化程度高、代码可重利用性强、采用分布式架构等优点成为目前国内外机器人研究者的主要操作平台。在ROS操作平台中利用仿真软件Gazebo能够模拟现实生活场景搭建3-D仿真环境。相比普通2-D仿真环境,如MobileSim,Gazebo能够更加真实地模拟事物的各种属性以及物体之间在物理上合理的相互作用,如摩擦、碰撞、打滑等。两种仿真环境的直观展现如图1所示。
图1 仿真环境Fig.1 Simulation environment
本文共搭建了4种仿真环境,包括客厅、卧室、厨房、卫生间,每个房间的大小、形状、位置都参考真实生活场景,每个场景中都有相应的摆设,如客厅摆放有茶几、沙发等家具。由于Gazebo的编辑界面仅包含一些简单模型,衣柜、花盆等模型需在solidworks中进行编辑,再将文件导入Gazebo。
1.2 数据采集
在仿真场景中,模拟移动机器人Pioneer 3-AT进行数据采集,在该移动机器人平台上安装激光雷达传感器RP LIDAR A1,其最大扫描距离为6 m,扫描范围为360°,每进行一次范围扫描,将提取到一组包含400个采样点的距离数据的测距信息。
通过ROS节点发布命令消息控制移动机器人的行驶方向与时间,使移动机器人在仿真环境中无碰撞前行,且所经路途均无重复。同时对激光雷达主题进行订阅,实时记录并保存所采集到的测距信息。由于各房间大小不同,在每个房间中所采集到的样本数量也有所差别,卧室样本为751、厨房样本为678、客厅样本为1338、卫生间样本为572。
2 数据特征提取
每一组原始的激光雷达测距数据均为单纯的离散数据集,各个数据的关联性很弱,边缘特征和局部特征均很模糊,无法进行有效的特征提取,故需要对数据进行处理。特征提取过程如图2所示。
图2 特征提取过程Fig.2 Feature extraction process
以任意一组激光雷达所测得的距离数据为例,利用Matlab将其转化为极坐标图,如图2a所示,图像的中心点为O,进行范围扫描时,将装有激光雷达或声纳传感器的移动机器人所处的位置相邻的点连接起来便得到红色边缘部分,表示该时刻所扫描到的环境的轮廓信息。
为除去冗余信息,进一步提取有效特征,如图2b所示,将极坐标图提取到直角坐标系中,生成矩形图,矩形图的中点为极坐标图的原点。为增强其特征信息,对极坐标图中的范围轮廓内部进行颜色填充,此时所得到的图像为以白色为背景的三通道彩色图像。
图像处理对计算机的性能要求较高,所占内存较大,为简化计算,减少空间占用,先对彩色图像进行灰度化处理,将每个像素点的R,G,B分量分别求平均值,得到灰度图像的像素信息矩阵,如图2c所示。
随后使用最大类间方差法找到灰度图像像素点的一个合适的阈值,将大于阈值的像素点的值转换为1,小于阈值的像素点的值转换为0,完成灰度图像到二值图像的转换,如图2d所示。最后,二值化图像像素矩阵将作为输入基于局部感受野的极限学习机的训练样本和测试样本。
3 基于局部感受野的极限学习机
基于局部感受野的极限学习机(ELM-LRF)是一种快速有效的机器学习算法。该算法在输入层节点和隐藏层节点引入了根据连续概率分布函数产生的局部感受野,提出利用组合节点将多个隐藏层节点的输出进行组合。并且可随机生成卷积层节点与输入层节点之间的输入权重,各网络参数在学习过程中均不需要进行迭代调整,最终可产生唯一的最优解,因此,与SVM相比,ELM-LRF的学习速度要快几十倍[9]。
图3 基于局部感受野的极限学习机原理图
(1)
式中,i,j=1,2,…,(d-r+1)。
组合层节点即为池化节点,对所得到的特征图进行平方根池化处理,这样便将多个卷积节点所得到的特征值组合为一个节点值。设e为池化的大小,表示池化区域的中心到边的距离,若hp,q,k表示第k个池化图中的组合节点(p,q)的值,则hp,q,k的算式为
(2)
对池化层进行全连接处理,即将某个输入所得到的所有组合节点的值连接成一个行向量,假设共有N个输入,则可得到N个组合的行向量,将它们组合在一起,形成组合层矩阵H∈RN×K·(d-r+1)2,采用正则化最小二乘法计算输出权重矩阵β。
当N>K·(d-r+1)2时,
(3)
当N≤K·(d-r+1)2时,
(4)
式中:C为可调参数;T为输入样本所对应的标签矩阵。本文中,输入为二值化图像像素矩阵,其大小为43×43,局部感受野的大小为5×5。
4 实验与结果分析
每个房间随机选取80%的样本进行训练学习,其余样本用于测试。则训练集共包含2670个样本,其中600个取自卧室,542个取自厨房,458个取自卫生间,1070个取自客厅,其余样本全部组成测试集。给不同类型的房间设置不同的标签,卧室为1,厨房为2,客厅为3,卫生间为4。生成训练标签矩阵的大小为2670×4,若第k个样本取自客厅,则训练标签矩阵的第k行,除第3列的值为1,其余列的值都为0。同样,生成测试标签矩阵。
将特征图个数设置为30,调节参数C从10-4到104,将训练集以及训练标签矩阵输入ELM-LRF对网络进行训练,获得输出权重β,随后将测试集和测试标签输入已完成训练的网络结构,得到测试正确率。所得实验结果如图4所示。
图4 训练与测试正确率规律图Fig.4 The correct rate of training and testing
从图中可看出,随着C的增大,训练样本的分类正确率越来越高,最终达到100%,测试样本的分类正确率逐渐增大达到90%左右后逐渐减小,稳定性较好。
图5表示各个房间的具体分类情况,可以看到,每个房间的分类正确率都达到了80%以上,分类效果很好。
图5 基于ELM-LRF分类的混淆结果Fig.5 Confusion results based on ELM-LRF classification
利用SVM对激光雷达测距数据进行分类实验,测试结果如图6所示。
图6 基于SVM分类的混淆结果Fig.6 Confusion results based on SVM classification
与图5进行对比可见,应用ELM-LRF的房间分类测试结果比SVM要好,前者每一类房间的识别率都比后者高很多,且前者的训练时间比后者快几十倍。
5 基于DR Dataset的验证实验
图7展示了数据采集平台,在移动机器人Pioneer P3-DX上安装激光测距雷达Hokuyo URG,其离地高度约为30 cm,测量半径为5.6 m,扫描范围为240°,同时在移动机器人平台上安装里程计,激光雷达测距信息与相应的里程计读数以10 帧/s的频率输出到计算机,这样便记录下了该场景下的测量信息。
图7 DR Dataset数据采集平台Fig.7 DR Dataset data acquisition platform
原始的测量数据包括时间戳、激光雷达测距数据、里程计读数等信息,分别将每组测量数据的激光雷达范围扫描数据提取出来,转化为二值化图像并将像素矩阵作为ELM-LRF的输入样本。每类场景中,随机选取80%的样本组成训练集,其余样本组成测试集,同时生成相应的训练标签矩阵和测试标签矩阵。
在K分别为10,20,30,40的情况下,调节C从10-5增长到104,实验结果如图8所示。
图8 测试正确率变化规律图Fig.8 Correct rate of test
从图中可看出,随着C的增大,测试正确率逐渐升高,当C=10时正确率达到最大值,随后逐渐降低。K越大,测试正确率越高,当C=10,K=40时,总体的测试正确率最高,达到89%左右。表1描述了当C=10,K=40时,训练集与测试集的样本组成情况以及各类房间测试集分类结果的具体情况,每类场景的识别率均在80%以上。
表1 样本集组成与分类结果统计表
实验结果说明,本文提出的方法可有效地应用于真实的室内场景。
6 结束语
本文将激光雷达测距数据转化为图像信息,用于处理移动机器人的室内场景识别问题,将基于局部感受野的极限学习机作为分类器,大大提高了分类效果。实验结果证明:本文提出的方法可满足移动机器人对室内场景识别的要求,适用于各种室内环境。