摘 要:【目的】针对深度相机视角有限,难以捕捉复杂场景内的所有细节这一问题,提出一种基于GICP算法实现两台深度相机点云配准方法。【方法】首先,制作一个立方体标定物,并用两台深度相机进行验证实验。其次,通过深度相机采集并融合不同视角下物体模型的点云数据,用Voxel Grid滤波器对点云数据进行预处理。最后,使用GICP算法对点云计算最优变换进行配准,实现点云融合。【结果】采集原始点云数据后,计算并比较基于GICP算法、ICP算法的处理结果,从而验证基于GICP算法的有效性。结果显示,相较于传统的ICP算法,GICP算法的运行时间减少,且精度提高18.7%。【结论】基于GICP算法能提升多深度相机的点云融合效果,适合在较大范围的真实场景中应用。
关键词:点云配准;深度相机;GICP算法;数据融合
中图分类号:TP391.4" " "文献标志码:A" " 文章编号:1003-5168(2025)02-0020-04
DOI:10.19968/j.cnki.hnkj.1003-5168.2025.02.004
Abstract: [Purposes] In view of the limited viewing angle of the depth camera, it is difficult to capture all the details in the complex scene. This study proposes a point cloud registration method for two depth cameras based on the GICP algorithm to expand the perception range of the depth camera. [Methods] Firstly, a" cube calibrator was made and two depth cameras were used to verify the experiment. Secondly, the point cloud data of object models from different perspectives of two cameras was collected and fused by the depth camera, and the point cloud data was pre-processed through Voxel Grid filter. Finally, this paper uses GICP algorithm to compute the optimal transformation of point cloud to achieve point cloud fusion." [Findings] After collecting the original point cloud data, the processing results based on GICP algorithm and ICP algorithm are calculated and compared, so as to verify the effectiveness of GICP algorithm. The experimental results show that compared with traditional ICP algorithm, the running time of GICP algorithm is reduced, and the accuracy is increased by 18.7%. [Conclusions] The GICP-based algorithm improves the point cloud fusion effect of multi-depth camera, and is more suitable for application in a wide range of real scenes.
Keywords: point cloud registration; depth camera; GICP algorithm; data fusion
0 引言
当前科技迅速发展,深度相机在三维重建与建模[1]、虚拟现实与增强现实[2]、手势识别与追踪[3]等应用领域展现出巨大优势,具有广泛的应用前景。使用深度相机采集目标及环境的深度信息,并对空间中的物体进行识别。相较于传统的2D相机,3D相机通过增加一维的深度信息,能更准确描述真实世界的信息特征。同时,相较于其他深度传感器,深度相机还具有更快的速度和更高的实时性,是人机协作中的一种重要感知设备[4]。
点云配准[5]是三维视觉领域中的一个关键步骤,对不同视角获取的点云数据进行空间变换对齐,使其在统一的坐标系中实现匹配。迭代最近点(Iterative Closest Point,ICP)算法是其中的一种经典方法[6],依赖于点云数据中特征点的选择,通过迭代优化点云间的对应关系来配准。但ICP算法对初始位置较为敏感,很难保证达到全局最优。随着深度学习的发展,PointNetLK[7]、PointAF[8]等网络通过学习点云的特征表达,克服传统方法对特征工程的依赖性,提高配准的速度和准确性,但网络结构较为复杂,结果难以复现。此外,基于概率密度函数的方法将点云视为概率分布模型,如高斯混合模型(GMM)[9],重构配准问题为分布对齐问题[10],这些方法在处理噪声、异常值方面具有优势,但计算复杂度较高。
针对上述算法存在的缺陷,本研究提出基于广义迭代最近点(Generalized Iterative Closest Point,GICP)算法的深度相机点云配准方法[11]。GICP算法通过改进和泛化经典的ICP算法,在距离度量中引入了点到平面的距离,使其在处理不同表面特性的点云时更加有效。GICP算法根据距离度量计算目标函数相对于变换参数的梯度,并使用优化方法找到二者之间的最佳变换,对噪声和部分遮挡具有更好的鲁棒性,且适用性广,适用于不同类型的表面。
1 原理概述
1.1 传统ICP算法
传统的ICP通过迭代方式来处理源点云和目标点云,并逐步最小化点云之间的距离,实现两者间的对齐。对目标函数进行优化,见式(1)。
1.2 GICP算法
GICP算法是在经典的ICP点云配准算法基础上改进而来的,通过引入高斯概率模型来优化点云配准过程。源点云记为 [A=aii=1,…,N]、目标点云记为 [B=bii=1,…,N],源点云和目标点云中每个点位及其领域点位组成的小的点云集合满足高斯分布模型,见式(3)。
GICP算法通过在距离度量中引入点到平面的距离来找到二者之间的最佳变换(旋转和平移),从而能更好地利用点云的局部结构信息,适用于不同类型的表面,包括曲面和平面。同时,对噪声和部分遮挡具有更好的鲁棒性。在某些情况下,GICP的配准精度比传统的ICP更高,适用于多种实际应用场景。
2 深度相机点云数据采集
2.1 Kinect硬件
本研究使用的深度相机为Azure Kinect,其配置了100万像素ToF式(Time-of-Flight)深度传感器和1 200万像素RGB摄像头。ToF式深度相机通过发射红外光,并计算发射与接收时间差,从而得到每个像素点的深度信息,并生成详细的三维点云图像数据,实现对不同条件下的深度感知和深度图像采集。ToF式深度相机生成点云的优势在于测量速度快、适合实时应用。此外,每个Azure Kinect设备附带3.5 mm同步端口,支持多设备同时连接,多个设备同步能增加数据的准确度。
2.2 点云数据采集
Azure Kinect深度相机生成点云过程如下。红外光源发射器(IR emitter)发射的红外光到物体表面后,深度传感器捕捉反射回来的红外光波,并测量时间差。在计算出距离后,生成深度图,根据深度图中的每个像素点在图像中的位置和深度值转换后生成三维点云。上述点云数据是通过两台Azure Kinect深度相机拍摄现实物体模型采集到的。用于采集点云数据的实物模型如图1所示。
3 试验分析
在Windows环境中,使用C++语言对数据集进行仿真分析,所选的数据集包括物体等环境信息。试验基于开源点云库PCL,封装库Azure Kinect DK。
3.1 点云预处理
通过Voxel Grid滤波器对初始点云进行体素化,在保持点云原本形态的基础上,减少点云数量,实现对点云数据的下采样。将上述原始点云数据进行滤波预处理,得到的点云数据如图2所示。由图2可知,经Voxel Grid滤波器处理后,将点云数据简化为较小的体素,减少点云密度,从而减少计算量和存储空间。滤波处理前每帧原始点云数量为2 973个,经过体素化处理后,数量降为每帧1 362个,降低了54%。
3.2 GICP算法点云配准分析
为了验证GICP算法在深度相机点云配准上的有效性,在Windows系统中进行仿真试验,并以传统的ICP算法为对照,结果如图3所示。图3(a)为传统ICP算法的点云匹配结果,基本接近实物轮廓,但部分点云数据匹配结果较差;图3(b)为GICP算法下的点云匹配结果,由于GICP算法引入高斯概率模型,不仅考虑了点到点的距离,还考虑了点到平面的距离。在面对点到平面的情况时,能更好地利用点云的局部结构信息。相较于传统的ICP算法,GICP算法点云配准的精度和鲁棒性有了较大的提升。
4 结语
针对传统点云配准算法ICP存在的速度慢、易形成局部最优等问题,本研究提出一种将物体模型生成的点云数据通过GICP算法融合的方法。GICP算法在距离度量中引入了点到平面的距离,由于物体模型具有平面特征,在搜索对应点时,可利用目标点云中平面的局部结构,使其在处理点云时更加有效。此外,本研究通过两台Azure Kinect 深度相机拍摄同一物体进行试验验证,点云预处理后利用GICP算法进行点云配准,并与传统的ICP算法进行对比,结果显示,GICP算法融合效果良好,能有效弥补单深度相机点云数据视野角度窄、易出现空洞等问题,可应用于空间三维建模等。
参考文献:
[1]付燕平,严庆安,廖杰,等.基于彩色图像引导的RGB-D相机追踪与三维重建[J].武汉大学学报(工学版),2022,55(1):92-100.
[2]廖禹韬,吴黎明,王桂棠,等.基于深度相机的金属柜体三维重建[J].电子测量技术,2023,46(20):36-40.
[3]孙晓明,任磊.RGB-D相机的三维重建综述[J].软件导刊,2021,20(5):249-252.
[4]朱明超,吕镇炯,邓民翰,等.基于多传感器融合的自主导航ROS智能机器人[J].自动化应用,2024,65(13):1-4.
[5]李建微,占家旺.三维点云配准方法研究进展[J].中国图象图形学报,2022,27(2):349-367.
[6]戴静兰,陈志杨,叶修梓.ICP算法在点云配准中的应用[J].中国图象图形学报,2007(3):517-521.
[7]李荣华,董欣基,薛豪鹏,等.改进PointNetLK的点云智能配准与位姿图优化方法[J].宇航学报,2022,43(11):1557-1565.
[8]刘界鹏,胡骁,李东声,等.基于深度学习的室内多视角点云自动化配准方法[J/OL].土木与环境工程学报(中英文),1-11[2024-09-01].http://kns.cnki.net/kcms/detail/50.1218.TU.20240723.1821.002.html.
[9]林桂潮,唐昀超,邹湘军,等.融合高斯混合模型和点到面距离的点云配准[J].计算机辅助设计与图形学学报,2018,30(4):642-650.
[10]杨磊,李桂菊,王丽荣.面向场景重构的多序列间配准[J].光学精密工程,2015,23(2):557-565.
[11]CHEN Z J,XU Y,YUAN S H,et al.iG-LIO:An incremental GICP-based tightly-coupled LiDAR-inertial odometry[J].IEEE Robotics and Automation Letters,2024,9(2):1883-1890.