孫志亮,張榮國(guó),趙 建,李富萍,胡 靜
(太原科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,太原 030024)
三維重建的目標(biāo)是高質(zhì)量地捕捉物體和場(chǎng)景的三維形狀和外觀[1],在景物深度信息已知的條件下,只需要經(jīng)過(guò)點(diǎn)云數(shù)據(jù)的配準(zhǔn)及融合,即可實(shí)現(xiàn)景物的三維重建。點(diǎn)云配準(zhǔn)的目標(biāo)是將一個(gè)點(diǎn)云與另一個(gè)點(diǎn)云對(duì)齊來(lái)估計(jì)最佳的相對(duì)變換,是計(jì)算機(jī)視覺(jué)、計(jì)算機(jī)圖形學(xué)和移動(dòng)機(jī)器人學(xué)中的一項(xiàng)基礎(chǔ)性工作。在大多數(shù)情況下,點(diǎn)云是通過(guò)掃描設(shè)備從不同的視角捕捉到的,所得到的點(diǎn)云不可避免地會(huì)有噪聲和外點(diǎn)。同時(shí)由于部分重疊和遮擋,點(diǎn)云之間也存在對(duì)應(yīng)位置缺失。因此,點(diǎn)云配準(zhǔn)在許多實(shí)際應(yīng)用中仍然是一個(gè)具有挑戰(zhàn)性的問(wèn)題。
解決配準(zhǔn)問(wèn)題的經(jīng)典解決方案是迭代最近點(diǎn)(Iterative Closest Point,ICP)算法及其變體。ICP假設(shè)一對(duì)一的對(duì)應(yīng)關(guān)系,并通過(guò)最小化對(duì)應(yīng)點(diǎn)距離,迭代地建立最近鄰對(duì)應(yīng)關(guān)系。由于ICP算法概念簡(jiǎn)單,在實(shí)際應(yīng)用中性能良好,出現(xiàn)了大量基于ICP的改進(jìn)和應(yīng)用[2]。然而,ICP算法在面對(duì)大量外點(diǎn)、噪聲和對(duì)應(yīng)位置缺失時(shí),通常會(huì)陷入局部最優(yōu)。因此,大量的工作使用概率模型處理噪聲和外點(diǎn),并通過(guò)建立一對(duì)多的對(duì)應(yīng)提高算法的魯棒性和配準(zhǔn)精度[3-9]。
大多數(shù)概率配準(zhǔn)方法使用高斯混合模型GMM(Gaussian Mixture Mode),關(guān)鍵在于其概念簡(jiǎn)單并且對(duì)噪聲魯棒?;贕MM的配準(zhǔn)方法通常將兩個(gè)點(diǎn)云的配準(zhǔn)問(wèn)題看作概率密度估計(jì)問(wèn)題,將一個(gè)點(diǎn)云視為GMM質(zhì)心,然后通過(guò)估計(jì)目標(biāo)函數(shù)的最大似然實(shí)現(xiàn)配準(zhǔn),如CPD、HGM和FilterReg.最近BCPD針對(duì)CPD中的收斂性和效率問(wèn)題做出改進(jìn),在變分貝葉斯推理下實(shí)現(xiàn)配準(zhǔn)。此外,最小化兩個(gè)概率分布之間的距離也能實(shí)現(xiàn)配準(zhǔn),如SVR[10]和MLMD[11]。
另一種用于配準(zhǔn)的概率模型稱為學(xué)生-t混合模型(Student’s t Mixture Model,SMM),SMM與GMM相比,對(duì)外點(diǎn)更加魯棒。為了解決非剛性點(diǎn)云配準(zhǔn)的對(duì)應(yīng)位置缺失和大量外點(diǎn),DSMM[12]基于SMM在貝葉斯框架下尋找對(duì)應(yīng),并引入Dirichlet分布處理對(duì)應(yīng)位置缺失。與此相關(guān)的工作是TLMM[13],其提出了一種分層貝葉斯網(wǎng)絡(luò)點(diǎn)云配準(zhǔn)方法。盡管基于SMM的方法顯示出更好的魯棒性,但是在目標(biāo)函數(shù)優(yōu)化過(guò)程中,精度和效率之間的權(quán)衡仍然是一個(gè)具有挑戰(zhàn)性的問(wèn)題。
此外,解決點(diǎn)云配準(zhǔn)問(wèn)題的新趨勢(shì)是基于學(xué)習(xí)的配準(zhǔn)方法,如DeepGMR[9]借鑒基于GMM的配準(zhǔn)方法,使用神經(jīng)網(wǎng)絡(luò)估計(jì)GMM的參數(shù)。然而這類方法需要龐大的數(shù)據(jù)集進(jìn)行訓(xùn)練,泛化性比較差。
上述方法的著眼點(diǎn)均在尋找更準(zhǔn)確的位置對(duì)應(yīng)關(guān)系,在存在大量的外點(diǎn)和對(duì)應(yīng)位置缺失時(shí)配準(zhǔn)結(jié)果不理想,并且對(duì)平面結(jié)構(gòu)較多的點(diǎn)云表現(xiàn)不佳。為此,本文提出了一種結(jié)合點(diǎn)到面距離和先驗(yàn)概率加權(quán)的點(diǎn)云配準(zhǔn)方法。首先,點(diǎn)云之間的位置對(duì)應(yīng)關(guān)系通過(guò)高斯混合模型和均勻分布來(lái)建立;其次,對(duì)應(yīng)位置缺失通過(guò)重新加權(quán)GMM的混合比例來(lái)處理,潛在外點(diǎn)及其比率通過(guò)后驗(yàn)概率推測(cè);然后,向誤差函數(shù)中添加目標(biāo)點(diǎn)的法線,用點(diǎn)到面距離衡量點(diǎn)云之間相似性,從而更好地處理平面結(jié)構(gòu)較多的點(diǎn)云。最后,本文算法與期望最大化(Expectation-Maximization,EM)算法融合,并在求解GMM參數(shù)時(shí)移除潛在的外點(diǎn)來(lái)提高算法準(zhǔn)確性。實(shí)驗(yàn)結(jié)果表明本文配準(zhǔn)方法對(duì)點(diǎn)云中的外點(diǎn)、對(duì)應(yīng)位置缺失和平面結(jié)構(gòu)均具有較好的表現(xiàn)。
對(duì)兩片維度為D的點(diǎn)云,一片點(diǎn)云表示目標(biāo)點(diǎn)云Y=(y1,…,yN)∈RN×D,另一片表示源點(diǎn)云X=(x1,…,xM)∈RM×D,其中M和N分別是源點(diǎn)云和目標(biāo)點(diǎn)云中點(diǎn)的個(gè)數(shù)。目標(biāo)點(diǎn)云Y可以構(gòu)造為GMM并作為GMM的質(zhì)心,源點(diǎn)云X看作GMM產(chǎn)生的觀測(cè)數(shù)據(jù),并通過(guò)估計(jì)GMM的最大似然實(shí)現(xiàn)配準(zhǔn)。在配準(zhǔn)期間目標(biāo)點(diǎn)云的位置不變,源點(diǎn)云的位置由變換參數(shù)θ控制,即:
xi(θ)=Ti(θ)xi=Rixi+ti
(1)
其中Ti(θ)∈SE(3)是僅依賴于點(diǎn)xi的剛體變換;Ri∈R3×3xi是旋轉(zhuǎn)矩陣;ti∈R3是平移向量。GMM具有以下形式:
p(xi)=
(2)
通過(guò)假設(shè)源點(diǎn)云獨(dú)立同分布,目標(biāo)點(diǎn)yj對(duì)應(yīng)的后驗(yàn)概率為P(yj|xi)=αjp(xi|yj)/p(xi).變換參數(shù)θ和協(xié)方差σ2通過(guò)最小化下面的負(fù)對(duì)數(shù)似然函數(shù)來(lái)計(jì)算:
(3)
EM算法用來(lái)查找GMM中變換參數(shù)θ和協(xié)方差σ2閉式解。在E步,根據(jù)估計(jì)的θ和σ2,使用貝葉斯(Bayes)定理計(jì)算GMM質(zhì)心的后驗(yàn)概率P(yj|xi),進(jìn)而得到對(duì)應(yīng)關(guān)系;在M步固定P(yj|xi),通過(guò)最小化公式(3)重新計(jì)算θ和σ2,然后更新源點(diǎn)云位置。EM算法通過(guò)E步和M步交替進(jìn)行,直至收斂。由公式(3)得到目標(biāo)函數(shù):
(4)
式中,后驗(yàn)概率P(yj|xi)的值為:
(5)
忽略掉公式(4)中獨(dú)立于θ和σ2的常量,將PDFp(xi|yj)的值代入,得到關(guān)于參數(shù)θ和σ2的目標(biāo)函數(shù):
(6)
(7)
(8)
在現(xiàn)有的基于GMM的配準(zhǔn)方法中[3,5,6],GMM分量被指定相同的成員概率1/N,這不能夠解釋缺失的對(duì)應(yīng)位置關(guān)系[12]。目標(biāo)點(diǎn)云中屬于對(duì)應(yīng)位置缺失的點(diǎn),產(chǎn)生的觀測(cè)數(shù)據(jù)與源點(diǎn)云無(wú)關(guān),在進(jìn)行最大似然估計(jì)時(shí)影響GMM參數(shù)的計(jì)算精度。因此在每次EM迭代,有必要重新估計(jì)GMM成分的混合比例。
(9)
其中νj=∑xkN(xk(θ);yj,σ2).得到的先驗(yàn)概率向量α用于重新調(diào)整GMM分量的混合比例,并以此解決點(diǎn)云配準(zhǔn)時(shí)的對(duì)應(yīng)位置缺失。
外點(diǎn)是源點(diǎn)云中與目標(biāo)點(diǎn)云不匹配的點(diǎn),外點(diǎn)的存在影響GMM參數(shù)的計(jì)算精度。大多數(shù)以前的工作[3-5]需要根據(jù)點(diǎn)云之間的匹配程度手動(dòng)調(diào)整外點(diǎn)比率ω,并且在計(jì)算GMM參數(shù)時(shí)沒(méi)有處理外點(diǎn),因此本文對(duì)源點(diǎn)云中的潛在外點(diǎn)進(jìn)行處理。
(10)
此外,矩陣P中每一列的和可以解釋為每個(gè)目標(biāo)點(diǎn)與源點(diǎn)匹配的概率,矩陣P所有元素的和可以解釋為匹配數(shù)。因此,外點(diǎn)比率可以計(jì)算為:
(11)
Nxi=∑ykαkN(xi(θ);yk,σ2)
(12)
其中Nyk是點(diǎn)yk的法向,并通過(guò)修改公式(7)得到以下點(diǎn)到面形式的誤差函數(shù):
(13)
本文配準(zhǔn)策略融入到EM算法框架下,E步驟具有以下高斯變換形式:
(14)
(15)
從而變換參數(shù)θ的改變量為Δθ=-A-1b.
算法名稱:點(diǎn)云配準(zhǔn)算法
輸入:源點(diǎn)云X∈RM×D,目標(biāo)點(diǎn)云Y∈RN×D
輸出:配準(zhǔn)后的點(diǎn)云X和Y
Step 1.輸入源點(diǎn)云X和目標(biāo)點(diǎn)云Y;
Step 3.獲得GMM變換參數(shù)θ和協(xié)方差σ2以及先驗(yàn)概率向量α;
Step 5.對(duì)每個(gè)目標(biāo)點(diǎn)yk,通過(guò)PDF計(jì)算其產(chǎn)生源點(diǎn)云的概率νj;
Step 6.根據(jù)式(9)計(jì)算先驗(yàn)概率向量α并重新加權(quán)GMM成分,解決對(duì)應(yīng)位置缺失問(wèn)題;
Step 8.根據(jù)式(11)計(jì)算外點(diǎn)比率ω;
Step 9.移除潛在外點(diǎn)并通過(guò)式(15)求解θ;
Step 10.通過(guò)式(1)更新源點(diǎn)云位置xi(θ);
Step 11.通過(guò)式(8)計(jì)算σ2;
Step 12.重復(fù)Step 3-11,獲得最優(yōu)變換參數(shù)θ;
Step 13.根據(jù)θ輸出配準(zhǔn)后的點(diǎn)云X和Y.
本文實(shí)驗(yàn)環(huán)境為 Intel i5-10400 CPU和16 GB RAM,并用Python實(shí)現(xiàn)提出的算法。此外,本文用到了Open3D庫(kù)中的配準(zhǔn)評(píng)估函數(shù),給定自定義的最大對(duì)應(yīng)距離,該函數(shù)返回?cái)M合度和RMSE兩個(gè)指標(biāo)。擬合度定義為對(duì)應(yīng)點(diǎn)數(shù)C與目標(biāo)點(diǎn)數(shù)N的比值,RMSE定義為對(duì)應(yīng)點(diǎn)之間的均方根誤差,即
因此,RMSE越低且擬合度越高,配準(zhǔn)結(jié)果越好。
以斯坦福大學(xué)3D掃描庫(kù)中的Bunny,Happy Buddha,Dragon和Armadillo為目標(biāo),測(cè)試本文算法。首先使用Bunny中的bun000和bun045進(jìn)行定性分析,其原始點(diǎn)數(shù)分別為40 097和40 256,經(jīng)過(guò)0.003體素下采樣后分別降低到3 331和3 459.圖1(a)和圖1(b)顯示了本文方法的初始對(duì)齊和最終對(duì)齊,其中源點(diǎn)云和目標(biāo)點(diǎn)云分別被標(biāo)記為紅色和藍(lán)色。
圖1 bun000和bun045的配準(zhǔn)結(jié)果
本文的方法與以下三個(gè)算法進(jìn)行比較:CPD,一種具有代表性的基于GMM的點(diǎn)云配準(zhǔn)算法;HGMR,一種用于剛性配準(zhǔn)的魯棒分層隨機(jī)模型;FilterReg,一種使用參數(shù)化旋轉(zhuǎn)和高斯濾波器的高效配準(zhǔn)算法。圖2(a)和圖2(b)是各種算法在不同的最大對(duì)應(yīng)距離下的擬合度和RMSE.本文的方法與其余算法相比,具有更低的RMSE和更高的擬合度,并且在最大對(duì)應(yīng)距離為0.8 mm時(shí)已具有較高的準(zhǔn)確性。
圖2 擬合度和RMSE比較
根據(jù)上述實(shí)驗(yàn),另外選擇四個(gè)具有不同特征的對(duì)象來(lái)測(cè)試配準(zhǔn)性能,分別是Armadillo_60/30,Armadillo_60/0,Dragon_48/0和Buddha_48/0.各目標(biāo)的原始點(diǎn)數(shù)和體素下采樣后的點(diǎn)數(shù)如表1所示。不同算法的擬合度在最大對(duì)應(yīng)距離為1 mm時(shí)的結(jié)果如圖3所示,本文方法在較多的對(duì)應(yīng)位置缺失時(shí),均優(yōu)于其他比較的方法。
表1 配準(zhǔn)目標(biāo)的點(diǎn)數(shù)
圖3 不同算法擬合度比較
用A、B、C和D表示Livingroom1的前五片點(diǎn)云組成的四對(duì)配準(zhǔn)目標(biāo),用E、F和G表示Office2的前四片點(diǎn)云組成的三對(duì)配準(zhǔn)目標(biāo)。表2列出了各配準(zhǔn)目標(biāo)的原始點(diǎn)數(shù)和下采樣后的點(diǎn)數(shù),以及本文算法推測(cè)出的對(duì)應(yīng)位置缺失比率M和外點(diǎn)比率ω.圖4(a)展示了配準(zhǔn)目標(biāo)A、D和G 的初始對(duì)齊,其中源點(diǎn)云和目標(biāo)點(diǎn)云分別被標(biāo)記為紅色和藍(lán)色;圖4(b)是用本文方法得到的最終對(duì)齊,可見(jiàn)本文方法有較好的配準(zhǔn)結(jié)果。
表2 配準(zhǔn)目標(biāo)的數(shù)據(jù)描述
圖4 A、D和G的配準(zhǔn)結(jié)果
CPD和HGMR不適合在CPU上處理點(diǎn)數(shù)過(guò)萬(wàn)的點(diǎn)云,因此本文與點(diǎn)到面FilterReg[5]和Open3D中的點(diǎn)到面ICP進(jìn)行比較。表3和表4分別是不同方法在不同配準(zhǔn)目標(biāo)上的旋轉(zhuǎn)誤差和平移誤差。本文方法在A、B、C和D上旋轉(zhuǎn)誤差較低,在A和D上平移誤差較低。FilterReg在E、F和 G上變換誤差較低,在A上配準(zhǔn)失敗。ICP算法配準(zhǔn)結(jié)果不理想且在 A、 B和G上配準(zhǔn)失敗。可以看出本文算法在A、B、C和D上的變換誤差相對(duì)較低,在E、F和 G上的變換誤差高于FilterReg,主要原因是配準(zhǔn)目標(biāo)E、F和 G的對(duì)應(yīng)位置缺失比率和外點(diǎn)比率較大,本文算法產(chǎn)生退化。
表3 不同算法的旋轉(zhuǎn)誤差(°)
表4 不同算法的平移誤差(mm)
圖5是不同配準(zhǔn)目標(biāo)在最大對(duì)應(yīng)距離設(shè)置為10 mm時(shí),不同算法的擬合度。本文方法與其他方法相比,具有較高的擬合度,配準(zhǔn)精度較高的,更好的應(yīng)對(duì)了不同程度的對(duì)應(yīng)位置缺失和外點(diǎn)。
圖5 不同算法擬合度比較
本文提出了一種結(jié)合點(diǎn)到面距離和先驗(yàn)概率加權(quán)的點(diǎn)云配準(zhǔn)方法。首先,使用先驗(yàn)概率重新加權(quán)GMM各分量并以此處理對(duì)應(yīng)位置缺失;其次,使用后驗(yàn)概率推測(cè)潛在外點(diǎn)及其比率;然后,用點(diǎn)到面距離衡量點(diǎn)云之間相似性,更好地配準(zhǔn)了平面結(jié)構(gòu)較多的點(diǎn)云;最后,在求解GMM參數(shù)時(shí)刪除潛在外點(diǎn)提高算法準(zhǔn)確性。實(shí)驗(yàn)和評(píng)估結(jié)果表明,本文配準(zhǔn)方法能有效處理點(diǎn)云中的外點(diǎn)、對(duì)應(yīng)位置缺失和平面結(jié)構(gòu)。