摘 要:【目的】針對深度相機(jī)視角有限,難以捕捉復(fù)雜場景內(nèi)的所有細(xì)節(jié)這一問題,提出一種基于GICP算法實(shí)現(xiàn)兩臺深度相機(jī)點(diǎn)云配準(zhǔn)方法。【方法】首先,制作一個立方體標(biāo)定物,并用兩臺深度相機(jī)進(jìn)行驗(yàn)證實(shí)驗(yàn)。其次,通過深度相機(jī)采集并融合不同視角下物體模型的點(diǎn)云數(shù)據(jù),用Voxel Grid濾波器對點(diǎn)云數(shù)據(jù)進(jìn)行預(yù)處理。最后,使用GICP算法對點(diǎn)云計算最優(yōu)變換進(jìn)行配準(zhǔn),實(shí)現(xiàn)點(diǎn)云融合?!窘Y(jié)果】采集原始點(diǎn)云數(shù)據(jù)后,計算并比較基于GICP算法、ICP算法的處理結(jié)果,從而驗(yàn)證基于GICP算法的有效性。結(jié)果顯示,相較于傳統(tǒng)的ICP算法,GICP算法的運(yùn)行時間減少,且精度提高18.7%。【結(jié)論】基于GICP算法能提升多深度相機(jī)的點(diǎn)云融合效果,適合在較大范圍的真實(shí)場景中應(yīng)用。
關(guān)鍵詞:點(diǎn)云配準(zhǔn);深度相機(jī);GICP算法;數(shù)據(jù)融合
中圖分類號:TP391.4" " "文獻(xiàn)標(biāo)志碼: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 引言
當(dāng)前科技迅速發(fā)展,深度相機(jī)在三維重建與建模[1]、虛擬現(xiàn)實(shí)與增強(qiáng)現(xiàn)實(shí)[2]、手勢識別與追蹤[3]等應(yīng)用領(lǐng)域展現(xiàn)出巨大優(yōu)勢,具有廣泛的應(yīng)用前景。使用深度相機(jī)采集目標(biāo)及環(huán)境的深度信息,并對空間中的物體進(jìn)行識別。相較于傳統(tǒng)的2D相機(jī),3D相機(jī)通過增加一維的深度信息,能更準(zhǔn)確描述真實(shí)世界的信息特征。同時,相較于其他深度傳感器,深度相機(jī)還具有更快的速度和更高的實(shí)時性,是人機(jī)協(xié)作中的一種重要感知設(shè)備[4]。
點(diǎn)云配準(zhǔn)[5]是三維視覺領(lǐng)域中的一個關(guān)鍵步驟,對不同視角獲取的點(diǎn)云數(shù)據(jù)進(jìn)行空間變換對齊,使其在統(tǒng)一的坐標(biāo)系中實(shí)現(xiàn)匹配。迭代最近點(diǎn)(Iterative Closest Point,ICP)算法是其中的一種經(jīng)典方法[6],依賴于點(diǎn)云數(shù)據(jù)中特征點(diǎn)的選擇,通過迭代優(yōu)化點(diǎn)云間的對應(yīng)關(guān)系來配準(zhǔn)。但I(xiàn)CP算法對初始位置較為敏感,很難保證達(dá)到全局最優(yōu)。隨著深度學(xué)習(xí)的發(fā)展,PointNetLK[7]、PointAF[8]等網(wǎng)絡(luò)通過學(xué)習(xí)點(diǎn)云的特征表達(dá),克服傳統(tǒng)方法對特征工程的依賴性,提高配準(zhǔn)的速度和準(zhǔn)確性,但網(wǎng)絡(luò)結(jié)構(gòu)較為復(fù)雜,結(jié)果難以復(fù)現(xiàn)。此外,基于概率密度函數(shù)的方法將點(diǎn)云視為概率分布模型,如高斯混合模型(GMM)[9],重構(gòu)配準(zhǔn)問題為分布對齊問題[10],這些方法在處理噪聲、異常值方面具有優(yōu)勢,但計算復(fù)雜度較高。
針對上述算法存在的缺陷,本研究提出基于廣義迭代最近點(diǎn)(Generalized Iterative Closest Point,GICP)算法的深度相機(jī)點(diǎn)云配準(zhǔn)方法[11]。GICP算法通過改進(jìn)和泛化經(jīng)典的ICP算法,在距離度量中引入了點(diǎn)到平面的距離,使其在處理不同表面特性的點(diǎn)云時更加有效。GICP算法根據(jù)距離度量計算目標(biāo)函數(shù)相對于變換參數(shù)的梯度,并使用優(yōu)化方法找到二者之間的最佳變換,對噪聲和部分遮擋具有更好的魯棒性,且適用性廣,適用于不同類型的表面。
1 原理概述
1.1 傳統(tǒng)ICP算法
傳統(tǒng)的ICP通過迭代方式來處理源點(diǎn)云和目標(biāo)點(diǎn)云,并逐步最小化點(diǎn)云之間的距離,實(shí)現(xiàn)兩者間的對齊。對目標(biāo)函數(shù)進(jìn)行優(yōu)化,見式(1)。
1.2 GICP算法
GICP算法是在經(jīng)典的ICP點(diǎn)云配準(zhǔn)算法基礎(chǔ)上改進(jìn)而來的,通過引入高斯概率模型來優(yōu)化點(diǎn)云配準(zhǔn)過程。源點(diǎn)云記為 [A=aii=1,…,N]、目標(biāo)點(diǎn)云記為 [B=bii=1,…,N],源點(diǎn)云和目標(biāo)點(diǎn)云中每個點(diǎn)位及其領(lǐng)域點(diǎn)位組成的小的點(diǎn)云集合滿足高斯分布模型,見式(3)。
GICP算法通過在距離度量中引入點(diǎn)到平面的距離來找到二者之間的最佳變換(旋轉(zhuǎn)和平移),從而能更好地利用點(diǎn)云的局部結(jié)構(gòu)信息,適用于不同類型的表面,包括曲面和平面。同時,對噪聲和部分遮擋具有更好的魯棒性。在某些情況下,GICP的配準(zhǔn)精度比傳統(tǒng)的ICP更高,適用于多種實(shí)際應(yīng)用場景。
2 深度相機(jī)點(diǎn)云數(shù)據(jù)采集
2.1 Kinect硬件
本研究使用的深度相機(jī)為Azure Kinect,其配置了100萬像素ToF式(Time-of-Flight)深度傳感器和1 200萬像素RGB攝像頭。ToF式深度相機(jī)通過發(fā)射紅外光,并計算發(fā)射與接收時間差,從而得到每個像素點(diǎn)的深度信息,并生成詳細(xì)的三維點(diǎn)云圖像數(shù)據(jù),實(shí)現(xiàn)對不同條件下的深度感知和深度圖像采集。ToF式深度相機(jī)生成點(diǎn)云的優(yōu)勢在于測量速度快、適合實(shí)時應(yīng)用。此外,每個Azure Kinect設(shè)備附帶3.5 mm同步端口,支持多設(shè)備同時連接,多個設(shè)備同步能增加數(shù)據(jù)的準(zhǔn)確度。
2.2 點(diǎn)云數(shù)據(jù)采集
Azure Kinect深度相機(jī)生成點(diǎn)云過程如下。紅外光源發(fā)射器(IR emitter)發(fā)射的紅外光到物體表面后,深度傳感器捕捉反射回來的紅外光波,并測量時間差。在計算出距離后,生成深度圖,根據(jù)深度圖中的每個像素點(diǎn)在圖像中的位置和深度值轉(zhuǎn)換后生成三維點(diǎn)云。上述點(diǎn)云數(shù)據(jù)是通過兩臺Azure Kinect深度相機(jī)拍攝現(xiàn)實(shí)物體模型采集到的。用于采集點(diǎn)云數(shù)據(jù)的實(shí)物模型如圖1所示。
3 試驗(yàn)分析
在Windows環(huán)境中,使用C++語言對數(shù)據(jù)集進(jìn)行仿真分析,所選的數(shù)據(jù)集包括物體等環(huán)境信息。試驗(yàn)基于開源點(diǎn)云庫PCL,封裝庫Azure Kinect DK。
3.1 點(diǎn)云預(yù)處理
通過Voxel Grid濾波器對初始點(diǎn)云進(jìn)行體素化,在保持點(diǎn)云原本形態(tài)的基礎(chǔ)上,減少點(diǎn)云數(shù)量,實(shí)現(xiàn)對點(diǎn)云數(shù)據(jù)的下采樣。將上述原始點(diǎn)云數(shù)據(jù)進(jìn)行濾波預(yù)處理,得到的點(diǎn)云數(shù)據(jù)如圖2所示。由圖2可知,經(jīng)Voxel Grid濾波器處理后,將點(diǎn)云數(shù)據(jù)簡化為較小的體素,減少點(diǎn)云密度,從而減少計算量和存儲空間。濾波處理前每幀原始點(diǎn)云數(shù)量為2 973個,經(jīng)過體素化處理后,數(shù)量降為每幀1 362個,降低了54%。
3.2 GICP算法點(diǎn)云配準(zhǔn)分析
為了驗(yàn)證GICP算法在深度相機(jī)點(diǎn)云配準(zhǔn)上的有效性,在Windows系統(tǒng)中進(jìn)行仿真試驗(yàn),并以傳統(tǒng)的ICP算法為對照,結(jié)果如圖3所示。圖3(a)為傳統(tǒng)ICP算法的點(diǎn)云匹配結(jié)果,基本接近實(shí)物輪廓,但部分點(diǎn)云數(shù)據(jù)匹配結(jié)果較差;圖3(b)為GICP算法下的點(diǎn)云匹配結(jié)果,由于GICP算法引入高斯概率模型,不僅考慮了點(diǎn)到點(diǎn)的距離,還考慮了點(diǎn)到平面的距離。在面對點(diǎn)到平面的情況時,能更好地利用點(diǎn)云的局部結(jié)構(gòu)信息。相較于傳統(tǒng)的ICP算法,GICP算法點(diǎn)云配準(zhǔn)的精度和魯棒性有了較大的提升。
4 結(jié)語
針對傳統(tǒng)點(diǎn)云配準(zhǔn)算法ICP存在的速度慢、易形成局部最優(yōu)等問題,本研究提出一種將物體模型生成的點(diǎn)云數(shù)據(jù)通過GICP算法融合的方法。GICP算法在距離度量中引入了點(diǎn)到平面的距離,由于物體模型具有平面特征,在搜索對應(yīng)點(diǎn)時,可利用目標(biāo)點(diǎn)云中平面的局部結(jié)構(gòu),使其在處理點(diǎn)云時更加有效。此外,本研究通過兩臺Azure Kinect 深度相機(jī)拍攝同一物體進(jìn)行試驗(yàn)驗(yàn)證,點(diǎn)云預(yù)處理后利用GICP算法進(jìn)行點(diǎn)云配準(zhǔn),并與傳統(tǒng)的ICP算法進(jìn)行對比,結(jié)果顯示,GICP算法融合效果良好,能有效彌補(bǔ)單深度相機(jī)點(diǎn)云數(shù)據(jù)視野角度窄、易出現(xiàn)空洞等問題,可應(yīng)用于空間三維建模等。
參考文獻(xiàn):
[1]付燕平,嚴(yán)慶安,廖杰,等.基于彩色圖像引導(dǎo)的RGB-D相機(jī)追蹤與三維重建[J].武漢大學(xué)學(xué)報(工學(xué)版),2022,55(1):92-100.
[2]廖禹韜,吳黎明,王桂棠,等.基于深度相機(jī)的金屬柜體三維重建[J].電子測量技術(shù),2023,46(20):36-40.
[3]孫曉明,任磊.RGB-D相機(jī)的三維重建綜述[J].軟件導(dǎo)刊,2021,20(5):249-252.
[4]朱明超,呂鎮(zhèn)炯,鄧民翰,等.基于多傳感器融合的自主導(dǎo)航ROS智能機(jī)器人[J].自動化應(yīng)用,2024,65(13):1-4.
[5]李建微,占家旺.三維點(diǎn)云配準(zhǔn)方法研究進(jìn)展[J].中國圖象圖形學(xué)報,2022,27(2):349-367.
[6]戴靜蘭,陳志楊,葉修梓.ICP算法在點(diǎn)云配準(zhǔn)中的應(yīng)用[J].中國圖象圖形學(xué)報,2007(3):517-521.
[7]李榮華,董欣基,薛豪鵬,等.改進(jìn)PointNetLK的點(diǎn)云智能配準(zhǔn)與位姿圖優(yōu)化方法[J].宇航學(xué)報,2022,43(11):1557-1565.
[8]劉界鵬,胡驍,李東聲,等.基于深度學(xué)習(xí)的室內(nèi)多視角點(diǎn)云自動化配準(zhǔn)方法[J/OL].土木與環(huán)境工程學(xué)報(中英文),1-11[2024-09-01].http://kns.cnki.net/kcms/detail/50.1218.TU.20240723.1821.002.html.
[9]林桂潮,唐昀超,鄒湘軍,等.融合高斯混合模型和點(diǎn)到面距離的點(diǎn)云配準(zhǔn)[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2018,30(4):642-650.
[10]楊磊,李桂菊,王麗榮.面向場景重構(gòu)的多序列間配準(zhǔn)[J].光學(xué)精密工程,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.