论文部分内容阅读
三维重建是计算机图形学及计算机视觉领域中的一个重要组成部分。不仅是在科学研究中处处可见它的身影,它与我们的日常生活也是息息相关。如何利用消费者级别的深度相机进行一个大场景的三维重建,是本文所研究的内容。本文基于微软公司的深度相机Kinect,利用PCL和OpenCV等第三方库,实现了对大场景的三维重建。点云的质量直接取决于深度图的质量,由于通过Kinect拍摄得到的原始深度图有大量的孔洞,所以我们需要对原始的深度图数据进行预处理。本文提出了一种基于时域上的滤波方法来对深度图进行预处理,并将其与现在广为使用的两种滤波技术,即均值滤波和中值滤波进行了对比。结果表明新的滤波方法更能够有效地填补这些孔洞。想要利用深度图信息生成点云,就需要通过相机标定来获得相机内参以便进行点云坐标的计算。所以本文也介绍了相机标定的相关内容,同时也介绍了三维重建中几个常用的坐标系及其之间的相互映射关系。由于本文所处理的单个点云拥有近10万个点,所以当多帧点云进行配准和拼接时,直接使用ICP算法运算量巨大,效率极低,故本文对此方法提出了改进。本文首先介绍了SIFT特征点和特征匹配的相关内容,并且简述了如何利用随机采样一致性算法(RANSAC)来对特征点匹配结果进行筛选。然后利用筛选出的高质量匹配点对,找出它们在三维空间中对应的三维点坐标,利用这些三维点坐标替换之前点云中的点坐标来进行后续的计算,这便是本文所提出的“基于特征点匹配的ICP配准算法”。这一改进使得将要处理的数据对象从约5万个点变为了约1000个点,这对于ICP这样一个需要重复迭代的算法来说,更是一次巨大的效率提升。同时本文还描述了对点云的降采样、去离群点、三角化等处理方法。本文的研究结果表明,用户可以利用消费者级别的深度相机进行一些大场景的三维重建工作,虽然可能会受到帧间图片色差以及相机精度的影响,使得点云的局部细节并不完美,但是利用文中的一些预处理算法以及配准算法,仍可以获得满足基本需求的三维重建结果。