论文部分内容阅读
三维重建是近期研究的热点和难点,它在计算机视觉、虚拟现实、逆向工程等方面有广泛的应用。为了实现场景表面的三维重建,本文基于Kinect相机生成的深度图进行研究,重建出场景表面的三维模型。本文对Kinect相机进行标定,确定相机的内外参数以及红外相机和深度相机的相对位置。为了得到相机的成像模型,基于小孔成像原理对相机进行研究,利用几何关系求出相机的成像模型,选用棋盘标定板对相机进行标定。对于数据采集部分利用PCL下的第三方库Open NI控制Kinect相机,并抓取Kinect相机拍摄的深度图和彩色图像。对于深度图像中的噪声以及视觉差产生的部分遮挡出现的小块黑色区域,利用Open CV对深度图像处理,本文采用均值滤波、形态学滤波以及中值滤波的方案对比分析,最后改进了滤波算法,能够实现较为满意的滤波效果。点云配准是三维重建的关键一步,它要解决不同坐标系下的点云配准到同一坐标系下的问题。本文采用迭代最近的(ICP)算法,实现对点云的重建,ICP算法能够实现点云的精准配准,但是ICP需要有比较好的初始值。因此,本文先基于点特征直方图对点云进行初始配准,然后将初始配准后的点云利用ICP精确配准,并对ICP算法适当改进,为了减少ICP算法迭代的计算量,利用体素滤波原理对点云进行初采样,设置阈值滤掉ICP中距离大的对应点。当得到配准后的点云后,本文对重建出的点云进行三角网格化,利用泊松算法,实现无序点云三角化,并生成三角面片。泊松三角网格化算法基于每一个点的法向量寻找邻近点,生成三角化面片,本文对泊松算法改进,设置了距离阈值,对于三角化中,将边长过大的点滤除,消除错误面片。本文基于一种低成本的RGB-D设备获取数据信息,利用点云库PCL对数据处理,过程中对部分算法进行改进,实现场景的三维重建,这也便于实际生活中的应用。