【《SLAM算法中剔除动态物体的点云地图构建分析案例》3800字】_第1页
【《SLAM算法中剔除动态物体的点云地图构建分析案例》3800字】_第2页
【《SLAM算法中剔除动态物体的点云地图构建分析案例》3800字】_第3页
【《SLAM算法中剔除动态物体的点云地图构建分析案例》3800字】_第4页
【《SLAM算法中剔除动态物体的点云地图构建分析案例》3800字】_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SLAM算法中剔除动态物体的点云地图构建分析案例目录TOC\o"1-3"\h\u4215SLAM算法中剔除动态物体的点云地图构建分析案例 1207101.1引言 1124161.2地图的分类以及存储形式 1115041.3点云地图构建 2112911.3.1基于动态信息和共视信息的关键帧筛选 3160191.3.2点云的拼接与滤波 6202061.4实验与分析 880741.5小结 91.1引言移动机器人/无人平台与环境进行交互离不开场景建图,其提供的信息可以协助路线规划与避障,可以帮助移动机器人/无人平台更好熟悉场景。然而目前SLAM算法的建图环节多是处理静态环境这种场景的,缺少对场景中动态物体的处理,动态物体随着位移其位置不断的改变,严重影响了场景地图的一致性。此外,稠密场景图涉及大量点云数据,建图的实时性也是我们关心的问题。1.2地图的分类以及存储形式在前端和后端中,主要需要关心的是同时估计相机运动轨迹以及特征点所在的空间位置的问题。但是,在现实中应用SLAM时,还存在除相机定位外的各式各样的要求。例如,搭载在移动机器人/无人平台上的SLAM,还会由诸如定位、导航、避障和交互的需要,而仅仅依赖特征点地图是无法实现的。所以,本节会将目前存在的各种地图进行研究。SLAM一般是为上层应用服务的。而应用层通常需要SLAM提供相机的位姿信息来完成“定位”功能。但是关于地图,其要求则各式各样。根据应用层面的需求和用途的不同,可将地图分为三类,如图4-1所示。图4-1地图的分类稀疏路标地图。顾名思义,仅包含稀疏的特征点,主要用于采用特征点法的SLAM;该地图的优点对存储需求不大,易于进行效率的优化,其缺点则是表现不够直观,只能用于基本的定位场景。稠密地图。包含栅格化场景空间的数据,因此可以存储近乎全部的场景信息,常用于采用直接法的SLAM。该地图优点是足够只管,信息量保留度高;缺点是对存储的需求大,存储成本高,并且由于数据量过大,不易过滤噪声。可用于导航、避障和重建。语义地图[61]。在建图的同时,除了识别环境几何信息外,还需要检测出其中的独立对象,将获取的位姿和轮廓等信息结合到SLAM中,构建带物体标签的地图,该分类信息需要能够被人类理解,从而能够处理复杂场景、提供更智能的服务,并具有交互功能。综上所述,稠密地图更能满足现实中多样的需求。不同的地图有其对应的不一样的建图方法。最容易的方法,就是通过估算的相机位姿对RGB-D进行计算,将其变为点云(PointCloud)数据,接着拼接这些点云数据,最终所有点拼接起来的得到的就是点云地图(PointCloudMap)。除此之外,如果我们对可视化交互有更高的需求,例如需要算出物体的几何表面,则要结合如三角网格(Mesh),面片(Surfel)等技术来完成。如果要感知地图中的障碍物,以及需要在其中提供导航能力,也可结合体素(Voxel)来建立占据网格地图(OccupancyMap)。1.3点云地图构建1.3.1基于动态信息和共视信息的关键帧筛选如果将场景中的动态物体也构建在地图中,则影响地图的可读性。由第三章的算法在跟踪线程可获取实际运动的物体,将此物体进行标记为建图线程提供被剔除信息。即利用边缘检测算子提取物体轮廓,利用填充库函数floodFill对轮廓内像素进行标记,常用的边缘检测算法及其特点如下表4-1所示。表4-1边缘检测算法及其特点算子特点Roberts定位精度高,但无平滑处理,对噪声敏感Sobel使用加权法过滤噪声,提取的边缘更宽,且边缘不连续点多,不适用于混合复杂噪声的图像Prewitt使用平均法过滤噪声,其他同SobelCanny使用一阶导数检测边缘,准确率高,误判少考虑到现实情景中的复杂噪声,以及对高准确率需求,本研究采用canny算子[62]对筛选出的动态物体(如图4-2(a)所示)进行边缘检测,如图4-2(b)所示。canny算子属于二阶微分算子,通过给定图像边缘处的二阶导数零点来提取图像的边缘,相比于一阶微分算子提取的边缘更细,连续性更好,抗噪声能力强,而且对强、弱边缘独立设置的阈值,因此可以有效的识别出弱边缘。具体步骤如下:(1)消除图像噪声。首先利用高斯函数对图像进行平滑处理,设为输入图像,为输出图像,为高斯函数,定义为:(4-1)进行卷积降噪,则:(4-2)(2)计算梯度幅值和方向。利用高斯滤波之后的图像,选用合适的梯度算子计算相邻像素之间一阶偏导的有限差分来计算各像素点梯度的大小和方向。(4-3)(4-4)式中,,为Sobel梯度算子,,为水平和垂直方向的差分,则梯度幅值和方向为:(4-5)(4-6)(3)过滤非极大值。高斯滤存在引起边缘放大的现象,采用非极大值抑制方法来过滤不是边缘的点。若得到的梯度幅值大于该点梯度方向上相邻2个像素点的梯度幅值,则这个点属于候选的边缘点,否则不是,采取抑制手段,将灰度值设为0。(4)双阀值检测和连接边缘。经过以上步骤的处理仅得到候选边缘点,再采用上、下阈值的检测处理来剔除伪边缘点。超过上阈值的点都被判定为是边缘点,小于下阈值的点都被判定为非边缘点,介于两个值之间的点则被检测为弱边缘点,接着判定边缘点的邻接的点也为边缘点,不邻接的点则为非边缘点。图4-2动态物体轮廓提取再利用填充库函数floodFill对边缘检测的物体内像素进行标记,如图4-3所示。4-3标记被剔除信息在地图的构建过程中,我们除了关注点云信息的正确问题,即地图的准确性与可读性之外,同时也关心大量数据处理所带来的时效性问题是否能满足SLAM的实时性要求。为了提高静态环境点云地图的构建效率,在拼接过程中对ORB-SLAM所维护的关键帧[63]再进行进一步的精简和筛选,考虑以下两个策略:关键帧有效性判断。若被剔除的点云像素点的总和超过当前关键帧的一半,则该关键帧无法提供足够的有效信息来进行后续的地图构建,其不参与叠加。关键帧冗余性判断。能被多个关键帧观测到的特征点,称为多个关键帧的共视地标点。对当前关键帧观测到的共视地标点做检测,假设已确定的绘图关键帧集合为,观测到的地标点集合为,当前关键帧观测到的地标点集合,若的数量超过的一半,则认为当前关键帧包含过多共视地标点,信息冗余,不参与叠加。满足以上两个条件,则更新以及,这样既能保证引入新的点云信息又能保证有足够多的静态环境信息,实验过程中跟踪的关键帧如图4-4所示。图4-4关键帧跟踪示意图1.3.2点云的拼接与滤波如上所述,可得绘图关键帧,利用绘图关键帧的位姿数据进行点云建图。点云是由许多离散空间点拼接得到的地图。这些空间点至少拥有X,Y,Z三维坐标信息,当然也可以包含R,G,B等色彩信息。RGB-D相机自身便能给出彩色图和深度图,因此根据这些可以方便算出RGB-D点云。如果获知了相机的位姿,简单的将点云进行加和,即可得到全局点云地图。综上所述,点云的拼接需要完成两件事:(1)通过内参转换RGB-D点云;(2)根据各张图的相机位姿(也就是外参),把点云加起来,组成地图。经过SLAM算法识别移动内容,完成位姿图优化,便可以取得全局一致的关键帧结果。将关键帧中的点坐标转换到成点云坐标,叠加后即可得到局部地图,方法如图4-5所示。如果将这些点云通过旋转和平移变换到世界坐标下叠加,这样便取得局部的全局点云地图。

图4-5点云拼接示意图该计算式为:(4-7)式中:——一个关键帧转换得到的对应点云,——当前相机的位姿状态,m——变换到相机坐标的点云。如上一节所述,检测到运动物体,并对其作边缘检测后,便可剔除动态区域内的点,利用静态特征点计算可得位姿,根据相机内参计算可生成单帧点云,最后通过位姿进行点云的拼接,可以得到场景的局部点云地图。然而相机采集图像的过程中难免会引入噪声,对应到点云上就是会出现一些距离点群很远的异常点。这些点并不具备任何意义,甚至削弱地图的可读性,所以需要引入对应的方法处理这些点。这里选用统计滤波器[64]来过滤上述点,它的流程是统计点与其周边N个点的距离分布,如果满足Gaussian分布,则需求解出分布的期望与方差。如果发现这个分布的期望超过设定的阈值,那么这个点是一个异常引入的噪声点。在实验时要注意指定合理的范围和期望阈值,N指定小了,那么很多超过距离阈值的正常点被判定为噪声点,而N太大了,所有点都不会被判定成噪声点。过滤了点云中的噪点后,由于点云图是由多个关键帧转换叠加得到,那么在点云的同一位置肯定存在了很多距离非常近,特征近乎一致的点,这些点带来了额外的计算和存储负担,这里就引入了体素滤波。其主要方法是分割空间,将空间网格化,对于每一个立方体网格中的点做平均化,得到的点即代表了这个立方体,这样就可以去掉立方体中的其他点,通过这一过程,空间中的点被极大的过滤掉,其带来的额外计算和存储也随之消失。上述流程概括如下:通过相机内参将图像中的点的像素坐标u,v及其深度d转换成相机坐标下的空间点Pc;通过相机位姿,将Pc转换到世界坐标下的空间点Pw;利用统计滤波器过滤Pw中的异常点;利用体素滤波,将点构成的空间划分成相等的小立方体,将每个立方体内的Pw做平均化得到Pw’;叠加Pw’即可构成点云地图。1.4实验与分析本实验采用ORB_SLAM和本文算法在以上四个高动态序列中运行得到的位姿估计数据进行点云计算,叠加过程中考虑关键帧的冗余性和有效性。如图4-6所示,实验表明由ORB-SLAM构建的点云地图,其中存在由人运动行走而造成的虚幻重影现象,可读性较差,本文算法构建的点云地图剔除了动态行走的人,没有了重影现象,能清晰可见电脑、办公桌、椅子,大大改善了地图重叠交错的现象,构建了动态场景中较为准确的静态环境图,大大提高了地图可读性。ORB-SLAM2walking_halfsphere序列本文walking_halfsphere序列ORB-SLAM2walking_rpy序列本文walking_rpy序列ORB-SLAM2walking_xyz序列本文walking_xyz序列ORB-SLAM2walking_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论