论文部分内容阅读
同时定位与地图构建(Simultaneous Localization and Mapping,SLAM)是机器人导航中的重要研究内容,其中实时定位与三维地图构建(3D-SLAM)是目前的国内外一个重要研究方向。随着三维距离扫描仪的迅速发展,实时、稠密的三维点云获取不再成为难题。研究高效、精确地构建三维地图与机器人自定位是可行的,并具有非常重要的意义。
本文将帧速为30fps的深度传感器实时获取的深度图像转换为稠密三维点云,结合GPU超强的并行能力,经过三维点云配准、融合与精简、建网三个步骤,快速、精确的建立非结构室内场景模型。对比多组实验,对方法的有效性和可靠性进行了验证。论文主要工作包括:
1.解决不同摄像机坐标系下点云配准问题,为提高实时性,从三个方面改进了传统的最近邻迭代(Iterative Closest Point,ICP)算法:
(1)投影映射法获取匹配点对;
(2)点到切平面的误差量测法,并使用线性化方法最小化误差函数;
(3)结合GPU(Graphic Processing Unit)的特殊体系结构,将大量点云数据放入多个GPU线程中并行处理。实时跟踪了摄像机位姿并将不同摄像机坐标系下的点云统一到世界坐标系中,所耗时间约10ms,是CPU单线程处理的11%左右。
2.针对本文深度传感器kinect特有的缺陷―单帧深度图像“黑洞”过多,采用包围盒算法实现点云融合与精简,包围盒中的栅格属性使用符号距离函数描述,在一定空间内,使用固定分辨率的离散点描述模型表面。动态的将新深度帧获取的点云融入到已有的三维模型中,补充模型未探测到的区域和漏洞,消耗时间与分辨率、包围盒尺寸相关,一般在50ms以内。
3.使用基于GPU的marching cubes算法(移动立方体算法)建立三角网格,抽取符号距离等于零的等值面作为模型表面。步骤如下:
(1)构建边缘索引表和三角形索引表,并利用GPU纹理存储器可快速查表的优势,获取所有与等值面相交的边缘及三角拓补关系;
(2)计算等值面与边缘相交的顶点,绘制三角网格。该部分工作与点云融合中生成的顶点数目相关,耗时1s以内。