论文部分内容阅读
三维重建是涉及到计算机视觉、虚拟现实、逆向工程、机器人自主导航等诸多领域的热门课题。一方面,随着深度相机技术的发展,以Kinect为代表的深度相机因其操作简单、价格低廉和性能能够满足使用要求等优点,越来越广泛地应用在三维重建上。另一方面,因物体形状、环境和设备自身限制的影响,通常无法一次性获得重建所需的全部数据,因而点云拼接成为三维重建中的重点。不同角度下采集到的数据拥有不同的坐标系,点云拼接就是将这些处于不同坐标系下的点云按照某种算法统一到同一个坐标系下,从而获得完整的待重建物体的模型数据。本文以Kinect为数据采集装置,对点云的生成与拼接展开理论和实验研究。本文主要研究内容有:首先对Kinect相机的工作原理进行说明,对粒子群算法(Particle Swarm Optimization)进行改进,将改进后的粒子群算法用于相机标定,以得到更加精确的二维像素坐标系与三维世界坐标系之间的转换关系。然后对RGB图像和深度图像进行对齐,再引入近些年刚出现的导向滤波算法和FMM算法(Fast Marching Method)对深度图像进行滤波去噪处理。其次,根据相机标定得到的转换关系进行点云生成。最终,本文进行点云拼接技术的研究。点云拼接分为粗拼接和精拼接两部分,本文采用SAC-IA算法对点云进行粗拼接,采用ICP算法对点云进行精拼接。针对点云拼接过程中出现的计算量大问题,本文利用ORB-SVD方法为ICP(Iterative Closest Point)算法提供初始值,同时,用点到平面的距离来代替欧式距离作为最近点的判断依据,并采用下采样以及KD树搜索的方法来优化ICP的拼接速度,并通过实验来检验改进效果。