我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:刘伯温论坛 > 发散束卷积法 >

语义智能导盲平台研究

归档日期:06-18       文本归类:发散束卷积法      文章编辑:爱尚语录

  随着科技的发展,多样的移动平台及其控制方法的研究发展迅猛,智能移动平台的自主导航技术成为研究热点。SLAM(Simultaneous Localization and Mapping,同时定位与地图构建)技术被认为是解决自主导航问题的关键。这个问题可以描述为:机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和已有地图进行自身定位,同时在自身定位的基础上建造增量式地图,从而实现自主定位和导航。这种具有高度智能的末端自主移动平台有广阔的应用前景,如:智能巡检、故障报警、无人驾驶、无源侦察等等。

  本文旨在设计实现交互性好的语义智能导盲系统:(1) 采用麦克纳姆轮移动平台和PID双闭环控制系统实现一种高效准确的移动方式;(2) 利用IMU惯性导航模块和摄像头模块融合感知提供更加精准的位姿信息;(3) 打破现有的有源导航方式,动态构建地图、定位和轨迹规划;(4) 通过语义系统增强与盲人的交互性。初步试验结果表明,该系统能较好的满足移动平台的高精度、对环境进行感知能力和多环境的适应能力。

  近年来,导盲问题成为社会关注的热点问题,传统的导盲犬有很多的限制,比如说闹市区不安全情绪不稳定等等,具有一定危险性,此外,还有手杖类导盲辅具、穿戴式导盲辅具、移动式导盲辅具。导盲手杖能够让使用者感受到一定高度的障碍物,通过震动手柄通知使用者,但是在行动上有诸多受限,盲人在生活中还是面临很大的挑战。腰带式行动辅具以超声波试图描绘出区域内的全景地图,转变成声音的大小、频率及左右方位差异等发音方式,告知使用者所在区域内障碍物的大小、远近等信息,但是无法自主去判断,还是要依靠使用者去探索。

  随着人工智能和机器学习技术的发展,计算机渐渐可以通过图片辨别出物体、人脸、声音、文字等等。那么,我们是不是可以通过摄像头代替盲人的眼睛呢?因此,如何能够让机器人的摄像头代替盲人的眼睛是一个值得研究的问题。其难点在于:在没有先验信息的情况下怎样动态建立地图模型,具有自主运动的能力。

  为了能够具有自主运动能力,需要明确三个问题:自己在哪里?这是什么地方?怎么离开这个地方?SLAM是解决前两个问题的关键方法。SLAM是指搭载特定传感器的主体,在没有环境先验信息的情况下,在运动过程中建立环境的模型,同时估计自己的运动。按传感器不同主要分为基于激光雷达的SLAM和基于视觉的SLAM。激光雷达能以很高精度测出机器人周围障碍点的角度和距离,提供机器人本体与周围环境障碍物间的距离信息,是古老并且传统的方式,但是激光雷达的造价昂贵,反馈信息较少。VIO-SLAM(Visual Inertial Odometry SLAM,即基于视觉惯性里程计的SLAM)是以摄像头和惯性导航元件作为主要传感器,通过计算机视觉处理手段,在运动过程中建立环境模型并估计运动。相比,VIO-SLAM的传感器摄像头要便宜很多,并且采集的数据是一帧帧图像包含信息很丰富,有利于后期的数据处理和挖掘。因此,本项目将基于VIO-SLAM展开研究。

  VIO-SLAM一直是研究热点,利用视觉里程计进行定姿定位,目前主流的视觉传感器有以下三种:单目摄像头(Monocular Camera)、双目摄像头(Binocular Camera)、深度摄像头(RGB-D Camera)。深度摄像头可以直接获得图像及其对应的深度信息,但是成本太高,体积较大,不适用于室内环境。双目摄像头可以通过三角方法计算出深度信息,但是双目摄像头在目标距离较远时就会变成单目摄像头。单目摄像头通过临近图像匹配计算出摄像头位姿的变换,在两个视角上进行三角测距得到对应点的深度信息,通过迭代实现定位及建图。相比而言,单目摄像头具有载荷轻、体积小、灵活等优势,本项目采取单目摄像头方式。

  基于单一的图像处理的SLAM技术,摄像头在快速移动过程中,会出现运动模糊,两帧图片之间重叠区域太少无法完成特征匹配,造成定位估计误差非常大,难以适用与快速运动。为了解决这个问题,本项目将采用惯性测量单元(IMU)和摄像头两种传感器相融合的方式。IMU能够通过内置的陀螺仪和加速度计测量角速度和加速度,进而推算相机的姿态。在静态过程中,因存在明显的漂移而导致两次积分后得到的位姿数据非常不可靠。但对于短时间内的快速运动,IMU能够提供较好的估计。摄像头较适合于低速运动过程或者静态过程,位置姿态固定非常稳定,可以修补IMU的漂移误差。所以,采用摄像头和IMU相结合的方式对于高速运动下是十分必要的。因此,本项目的自主移动平台采用IMU和单目SLAM相结合的方式。

  直接建立的地图是杂乱无章的点,若想要机器人可以告诉使用者前方到底是什么,就要采用深度学习的方式认知出物体,并且在地图上标注标签,这个过程称为语义SLAM。这样机器人便可以把物体的具体信息反馈给使用者,相比传统的导盲辅具具有更好的交互性。

  综上所述,本项目将要研究一种基于语义VIO-SLAM多传感器融合的动态建模自主导盲平台。

  接下来,从移动机器人、移动机器人定位方法、移动机器人的地图创建与同步定位技术、基于深度学习的语义分割等几个方面介绍下国内外在该领域的研究现状。

  国际标准化组织(ISO)中的工业自动化系统委员会(TC184)所属工业机器人分会(SC2)对机器人的定义是:“A robot is a machine which can be programmed to performsome tasks which involve manipulative or locomotive actions under automatic control”,即“机器人是一种自动控制下通过编程可完成某些操作或移动作业的机器”。机器人是在创造一个“与人一样思考、一样行动的机械装置”的构想下诞生的。随着机器人应用领域的不断拓展,机器人技术已经超出工业机器人范畴。早在七十年代中期,在计算机技术、传感器技术和人工智能理论的推动下,国际上广泛开展了对智能机器人的研究,其中以移动机器人[1]的研究最为广泛。近年来,移动机器人技术在工业、农业、医学及社会服务业等领域显示了越来越广泛的应用前景。在我国,移动机器人研究也蓬勃开展起来,尤其当神州五号载人飞船发射成功之后,国家加大在宇航领域的科学研究力度,移动机器人作为星际探索的重要工具,成为相关科技人员研究攻关重点。

  所谓移动机器人就是指能够对复杂的环境进行自主的分析、判断和决策,并实现快捷、安全、自由移动的机器人。

  按移动方式来分,可分为轮式移动机器人、步行移动机器人、蠕动机器人、履带式移动机器人、爬行机器人和水下推进式机器人等;

  按控制体系结构来分,可分为功能式(水平式)结构机器人、行为式(垂直式)结构机器人和混合式结构机器人;

  按功能和用途来分,可分为医疗机器人、军用机器人、助残机器人、清洁机器人和管道检测机器人等;

  按作业空间来分,可分为陆地移动机器人、水下机器人、无人飞机和空间机器人。

  目前,国内外关于移动机器人的研究主要集中在机构设计理论、控制策略研究、空间定位技术、自主导航等方面。移动机器人的性能从根本上取决于上层决策系统的设计,如何在未知环境中进行定位与导航是亟待解决的关键问题。国内外已涌现出不少综合的决策方法,主要有李群算法、粒子群算法等。

  定位是确定机器人在其作业环境中所处位置的过程。更具体地说是利用先验环境地图信息、机器人位姿的当前估计以及传感器的观测值等输入信息,经过一定的处理和变换,产生更加准确的对机器人当前位姿的估计。应用传感器感知的信息实现可靠的定位是自主移动机器人最基本、最重要的一项功能,也是移动机器人研究中倍受关注、富有挑战性的一个重要研究主题。定位方法主要有两大类,一类是相对定位,另一类是绝对定位。

  相对定位包括两种定位方法:惯性导航[3]和测距法。惯性导航通常使用加速度计、陀螺仪、电磁罗盘、里程计等传感器。来自密歇根大学机器人实验室及Barshan和Durrant-Whyte[2]的实验结果表明加速度计定位并不很理想。为了获得位置信息,加速度计必须积分两次,因此对漂移特别敏感。在一般的操作状态下加速度计的加速度很小,只有0.01g 左右的数量级;然而只要加速度计相对于水平位置倾斜0.5°,就会产生对应数量级的波动,因此会带来较大的测量误差。和加速度计相比,陀螺仪能够提供更为精确的航向信息;然而,陀螺仪能够直接提供的只是角速度信息,必须经过一次积分才能获得航向信息,因此静态偏差漂移对陀螺仪的测量值有很大影响。此外,里程计虽然具有良好的短期精度,但长距离和长时间定位时,会由于误差的不断累加,而严重影响定位效果。

  广义测距法利用外界传感器扫描机器人导航环境,提取环境特征信息并和环境地图匹配,应用数据融合算法来提高机器人的定位精度。机器人定位过程中,需要利用外界的传感器信息补偿测距法的误差。广泛用于机器人定位的外界传感器有陀螺仪、电磁罗盘、红外传感器、超声波传感器、声纳、激光测距仪、视觉系统等。

  目前利用室内环境的自然特征实现机器人的位置估计变得越来越流行。机器人定位研究中,一般利用外界传感器提取导航环境特征,并和环境地图进行匹配以修正测距法的误差。因此利用外界传感器定位机器人时,主要任务在于如何提取导航环境的特征并和环境地图进行匹配。在室内环境中,墙壁、走廊、拐角、门等特征被广泛地用于机器人的定位研究,在机器人的研究领域获得了广泛的应用,包括机器人避障[4]、室内外环境特征提取[5]、地图创建[6]和定位[7]等领域。

  绝对定位不利用以前的位置信息,完全根据传感器的观测确定当前位置,也无需知道机器人的初始位置,对于机器人位置丢失后的位置恢复非常有用。绝对定位经常依赖于如下的几种方法:导航信标、主动或被动标识、图形匹配、基于卫星的导航信号(GPS定位)、概率定位等

  基于信标的绝对定位经常采用三视距法[8](Trilateration)和三视角法[9](Triangulation)。标识定位是一种常见的绝对定位技术。标识是具有明显特征的、能被机器人传感器识别的特殊物体。根据标识的不同,分为基于自然标识定位和基于人工标识定位。其中,人工标识定位技术应用最为成熟。人工标识定位是在移动机器人的工作环境里,人为地设置一些坐标已知的标识,如超声波发射器、激光反射板等,机器人通过对标识的探测来确定自身的位置。地图匹配指移动机器人通过自身的传感器探测周围环境,并利用感知到的局部信息进行局部地图构造,然后将这个局部地图与预先存储的环境地图进行比较,如果两地图相互匹配,就能计算出机器人在工作环境中的位置与方向。环境地图可以是 CAD 模型,或者是传感器建立的模型。地图匹配定位的两个关键技术是地图模型的建立和匹配算法。GPS 是一种以空间卫星为基础的导航与定位系统,在智能交通系统(Intelligent Transportation System,ITS)中获得了广泛的应用。然而,当车辆经过高楼、林荫道、隧道、立交桥等区域时,茂密的树叶造成卫星信号的大幅度衰减,高楼阻挡或者反射部分卫星信号,从而导致 GPS 接收机不能够定位或者定位误差较大,因此目前主要是把 GPS 和航位推算系统(Dead Reckoning,DR)集成在一起,实现车辆连续、高精度的导航定位[10,11,12]。

  上世纪80 年代时的SLAM 问题[13]是一个状态估计问题,最早是由Smith, Self 和Cheeseman [14]提出来的,当时被称为“空间状态不确定性的估计”。由此开始的三十年, 前一阶段的二十年来主要研究了基于概率估计的SLAM,例如扩展卡尔曼滤波、粒子滤波和最大似然估计,这一阶段面临着数据关联稳定性和算法有效性的挑战;之后的十年则是算法的分析,主要包含算法的可观测性、收敛性、一致性问题,滤波算法变得日趋成熟。

  随着计算机视觉的发展,在2006年视觉SLAM作为一个新的分支被提出并受到研究者的关注,2012年视觉SLAM成为机器人领域的热点问题。而在这个过程中,SLAM逐渐被划分为两个部分,首先是前端,通过传感器的观测来获取相关信息,主要涉及计算机视觉及信号处理相关理论,如图像的特征提取与匹配等;其次是后端,对获取的信息筛选优化并得到有效信息,其中几何、图论、优化、概率估计等都是所涵盖的研究内容, 主要涉及滤波及非线]。

  基于概率估计的SLAM主要的应用环境、地图表示主要是在二维空间,而在三维空间的扩展有所局限。对于该问题,一方面需要提高移动机器人对环境的感能力,另一方面也需要在现有感知能力限制下,设计更好的SLAM系统,以提高系统的实用性。视觉SLAM[17]最开始使用的外部传感器主要有声纳和激光雷达,具有分辨率高、抗有源干扰能力强等优点,但其工作受到了环境的约束,如GPS 信号。由于SLAM主要在未知环境下完成,我们无从获知环境信息,而相机能够获取精准直观的环境信息且成本低、功耗小。随着计算机视觉的广泛应用,利用相机作为外部传感器成为了视觉SLAM 研究的主要方向。根据其工作方式的不同,可分为以下三种:单目相机、双目相机、RGB-D相机[18]。

  移动机器人通过传感器来感知周围环境,最终建立自己的环境地图。研究者对于地图存在不同需求,构建地图主要是服务于定位,则需要建立与任务要求对应的地图。构建的地图需满足以下三点要求:

  ?地图的构建能够充分展示环境的特征信息,根据不同的任务需求建立相应的地图模型, 并保证SLAM 的精度。在保证精度的同时,尽量减少地图创建过程中的数据量,来提高SLAM 算法的实时性。

  常用的一些环境地图的构建方法[19]有2D栅格地图、2D拓扑地图、3D点云地图、3D 网格地图,以及近两年刚兴起的八叉树,该方法占用存储空间小且能够实现动态建模,在实时性上优于3D 点云地图[20]。

  在机器视觉领域,随机森林分类与纹理基元森林分类是图像语义分割的传统作法。最初的分割大都基于简单的像素级别的“阈值法”,随着分割技术的不断改进,基于“图划分”的分割法改善效果明显,精度较高,成为经典的传统语义分割方法之一。在深度学习算法被创造性地引入机器视觉领域后,语义分割[21,22]问题有了突破性进展,如全卷积神经网络基于多图学习与块对角约束的全监督语义分割方法、基于模型评估的弱监督语义分割方法等许多基于神经网络训练的语义分割方法相继出现,分割精度不断提高。

  全卷积神经网络(FCN)是目前语义分割最常用的网络,也是深度学习在图像语义分割任务上的开创性工作。深度卷积神经网络模型(CNN)是图像级别语义理解的利器,而FCN则是基于CNN实现的像素级别的语义理解,适用于图像语义分割、边缘检测等应用场景。FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的特征图进行上采样,使它恢复到与输入图像相同的尺寸,从而可以对每个像素都产生一个预测,同时保留原始输入图像中的空间信息,最后在上采样的特征图上进行逐像素分类。

  社会老龄化问题更加催生了服务机器人成为研究热点,智能导盲平台为盲人提供生活服务是其中重要方面,其涉及到的关键问题包括价格、安全性和互动性。在价格方面,导盲手杖无疑是最低的,但是在安全性和互动性方面都比较差;在互动性方面,导盲犬较好,但是价格昂贵;于此相比,我们提出的智能导盲平台可以较优的给出解决方案。

  在对需求和研究现状分析的基础上,本文给出了一种基于语义VIO-SLAM的多传感器融合得动态建模自主导盲平台设计方案。主要采用单目摄像机和惯导系统IMU相结合的方式,利用单目ORB-SLAM算法实现未知环境中的地图构建与实时定位,利用基于深度神经网络的语义分割算法实现常见场景下地图的语义标注。

  [11]哈特利.计算机视觉中的多视图几何[M]. 安徽大学出版社,2002:158-256.

  [22]曹攀,钱军浩,陈智,等.基于图像分层树的图像语义分割方法[J].计算机应用研究,2017.

  基于VIO-SLAM的全向自主移动平台主要利用图像处理和路径规划的相关理论,实现对未知环境中的场景信息进行特征提取、特征匹配、闭环检测等,并进行地图模型的构建;然后,实时进行路径规划,到达预期目的地。研究工作包含以下三个方面:移动系统设计、控制系统搭建、决策系统搭建。

  其中,在决策系统中,需要深入研究IMU和摄像头两种传感器的数据融合方式,需要考虑环境的适应性,选择占优的模型架构,着重考虑前端特征提取及闭环检测的准确性,基于深度学习方法对图像进行语义分割,将一些已知物体与原本毫无意义的点云地图相融合着重考虑实时性和判断准确性;移动系统设计方面,需要完成对移动平台的建模和受力分析工作,同时考虑到结构的稳定性和不同场景的适应性,需要对平台外形进行合理的布局和优化,保证安全性和美观;在控制系统搭建过程中,需要考虑闭环控制精度,调节PID参数,以保证控制系统的健壮性。通过设计合理的技术路线和研究方案,开发出一个语义交互的智能移动平台。

  接下来,分别针对上述三个方面的问题系统展开论述,给出每个部分的具体技术路线)SLAM流程

  SLAM主要流程分为:传感器信息获取,相机图像信息的读取、传输和预处理,IMU惯性传感器等信息得读取和同步;视觉里程计,估算相邻图像间相机得运动,通过IMU内置的陀螺仪和加速度计可以测量角速度和加速度,融合确定位姿;回环检测,判断机器人是否曾经到达过先前得位置;后端优化,接受不同时刻视觉里程计测量的位姿和回环检测得到得信息,进行优化得到全局一致得轨迹和地图。SLAM流程图如图2所示:

  ①通过通过张正友棋盘标定法对摄像头的畸变参数进行标定,用标定好的参数对每一帧图像进行畸变修正,然后对图像进行高斯滤波,消除噪声,为特征点提取做准备。

  ②提取图像的ORB特征点,即采用具有方向信息的多尺度FAST 特征点,用32个字节256位比特数的BRIEF作为描述符,即一个特征点用一个256位的0或1表示,这样就构成了256维空间的特征点空间。

  ③利用词袋技术对特征点空间进行分类,分为M*N层,通过汉明距离就可以把提取的ORB 特征点在空间中进行分类。

  ④前后帧图像中的特征点经过分类就可以在不同的空间位置上进行快速匹配,通过匹配特征点满足的极线约束关系就可以建立前后帧图像几何关系,从而得到相机的实时位姿信息。

  ⑤对每一帧图像进行上述操作,存储关键点和关键帧,从而构建环境地图信息,对新增加的关键点和关键帧在已建立的地图中搜索匹配实现重定位或者闭环检测。在整个SLAM过程中,通过光束平差法不断对误差进行修正,当检测到闭环时,对整个地图进行优化,从而提高SLAM定位的精度。

  将一些已知物体与原本毫无意义的点云地图相融合,通过综合上述图像序列的点云和预先计算的目标模型来对地图中所包含的目标进行语义标注。本项目采用CNN进行图像语义分割。

  一般来说,CNN 的基本结构包含以下几个部分:卷积层,池化层,非线性变换层和全连接层。CNN 是一个多层的神经网络,它的每一层都由多个特征图(Feature Map)组成,而每个特征图中的点代表一个神经元。

  ①卷积(Convolutions):在每个卷积层中,输入特征图通过与该层的卷积核进行卷积操作得到输出特征图。 输入尺度大小为32*32的图像经由6个模板大小为5*5的卷积核卷积之后,得到6个尺度大小为 28*28的特征图。该过程可以看作是一种图像滤波,输入特征图中的局部神经元依据卷积模板中的参数进行加权求和,再加上偏置得到输出神经元的数值。相比于全连接网络,卷积神经网络中每个特征图上的神经元共享同一组权值,因而大大减少了网络参数,降低了网络模型的复杂度。

  ②池化(Pooling):池化层连接在卷积层之后,它的特征图个数与上一层的特征图个数保持一致,并且一一对应。由卷积层输出的6个尺度大小为28*28的特征图,经过2*2大小的池化模板进行降采样,得到6个14*14大小的特征图。降采样的方式一般是选取池化区域内最大的数(最大值池化),或者区域内的平均数(均值池化)。此外,也有随机池化和金字塔池化等方法。池化层通过降采样操作不仅提取了空间不变性特征,达到了二次学习的效果,而且减少神经元数量,降低了网络模型的计算量。

  ③非线性变换:卷积操作是多项式加权求和的计算方法,属于线性变换。而复杂的分类识别任务往往需要非线性函数拟合,所以卷积神经网络在每个卷积层之后都要加入非线性变换函数,也称激活函数。传统的CNN中所使用的激活函数是饱和非线性函数 sigmoid函数和tanh函数。然而,相较于饱和非线性函数,不饱和的非线性函数,如softplus 函数和ReLU函数等能够缓解网络训练时梯度消失的问题,加快网络训练速度。本设计中采用ReLU函数作为激活函数。

  ④全连接(Full connection):由池化层输出120维的特征向量,经过84组权值向量进行加权求和,得到84维的输出特征。全连接层通过与前一层所有神经元相连获取图像的全局信息,以此学习出图像中具有类别区分性的特征。在最后一个全连接层之后接入一个分类层,完成对图像的识别。

  基于上述设计和实施,开展了部分综合验证试验,如图16-18所示,分别是导航路径规划、地图构建和试验过程的展示。初步的试验结果基本实现了预期目标,可以完成自主建图、导航、路径规划和运动控制。由于所采用的处理器算力有限,在计算和移动速度方面还有一定的局限,下一步的工作将深入进行算法的优化,并完善硬件的设计,

  经研究,采用人工智能技术的导盲平台性能上能够代替现有的导盲手杖、导盲犬等完成导盲任务,能够在保证安全的前提下增强交互性。

  深度学习与SLAM 的结合在一定程度上改善了视觉里程计和场景识别等由于手工设计特征而带来的应用局限性,同时对高层语义快速准确生成以及机器人知识库构建也产生了重要影响,从而潜在提高了机器人的学习能力和智能化水平。

  深度学习方法因其良好的自适应、自学习能力在地图构建、实时定位、语义分割等方面都有很好的应用,但是目前只是在子模块上进行应用,如何将深度学习算法应用到整个SLAM系统仍然值得深入研究。

  本研究完成了基于语义VIO-SLAM的多传感器融合得动态建模自主导盲平台设计和初步实施,初步的试验结果证明和所提设计思路的可行性,在平台算力、算法优化和硬件优化设计方面有待进一步深入研究。

本文链接:http://19721112.com/fasanshujuanjifa/474.html