許新傲,李藝璇,錢佳銘,馮世杰,左 超*
(1.南京理工大學(xué) 電子工程與光電技術(shù)學(xué)院 智能計算成像實(shí)驗(yàn)室(SCILab),江蘇 南京 210094;2.南京理工大學(xué) 智能計算成像研究院(SCIRI),江蘇 南京 210019;3.江蘇省光譜成像與智能感知重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210094)
目前,光學(xué)三維測量技術(shù)由于其在非接觸、測量速度、測量精度等方面的突出優(yōu)勢,已被廣泛應(yīng)用于工業(yè)制造、逆向工程等許多領(lǐng)域[1-5]。在主動式光學(xué)三維測量方法中,頗具代表性的測量方法是條紋投影輪廓術(shù)(Fringe Projection Profilometry,F(xiàn)PP)。它不僅硬件搭建簡單,還具有測量精度高、適用性廣、實(shí)時性能好等優(yōu)點(diǎn),是目前最受歡迎的三維測量技術(shù)之一[6-8]。但是受相機(jī)視野限制,單次結(jié)構(gòu)光三維測量只能獲得被測物體一個角度的三維信息,想要獲取物體全方位的三維模型,需要從不同角度獲取物體的三維信息。Dana solav等人[9]通過在被測物周圍增加額外的相機(jī)來獲取物體各角度的三維信息。Epstein等人[10]通過使用平面鏡在不同角度搭建虛擬相機(jī)與投影儀來實(shí)現(xiàn)高速全景三維形狀測量,但這增加了系統(tǒng)的成本與復(fù)雜度且標(biāo)定工作量與工作難度激增。
隨著計算機(jī)視覺、計算機(jī)圖形處理等領(lǐng)域的不斷發(fā)展,研究人員圍繞三維點(diǎn)云配準(zhǔn)方向做出了許多出色的工作[11]。Rusu 等人提出了點(diǎn)特征直方圖(Point Feature Histograms,PFH)以及快速點(diǎn)特征直方圖(Fast Point Feature Histograms,F(xiàn)PFH)作為魯棒且具有位姿不變性的多維特征,用于描述3D 點(diǎn)云數(shù)據(jù)集中點(diǎn)周圍的局部幾何結(jié)構(gòu)[12-14]。迭代最近點(diǎn)算法(Iterative Closest Point,ICP)的提出[15]為點(diǎn)云配準(zhǔn)工作的進(jìn)一步發(fā)展打開了大門,并成為迄今為止最流行的點(diǎn)云配準(zhǔn)方法。許多研究者圍繞ICP 算法開展了一系列的工作,從計算速度、收斂判斷、迭代方案、全局對齊等問題出發(fā)對ICP 算法進(jìn)行改進(jìn)與創(chuàng)新,衍生出了許多優(yōu)秀的變體[16-22],如Segal 等人提出的一種廣義的ICP 算法(Generalized-ICP,G-ICP)[20],Koide 等人提出的體素化廣義迭代最近點(diǎn)算法(Voxelized Generalized-ICP,VGICP)[21]。Zhou等人提出一種面向局部重疊三維曲面的快速全局配準(zhǔn)算法(Fast Global Registration,F(xiàn)GR),降低了算法對點(diǎn)云位姿初始化的要求與計算成本,同時也更加穩(wěn)定[22]。點(diǎn)云配準(zhǔn)方法的進(jìn)步促進(jìn)了對如何更便捷地獲取物體完整三維模型問題的研究。Szymon 等人[23]提出一種基于結(jié)構(gòu)光三維掃描儀與ICP 算法的實(shí)時360°三維模型獲取技術(shù)。它允許用戶手動旋轉(zhuǎn)物體,并查看不斷更新的模型,但是條紋邊界編碼策略獲取的點(diǎn)云密度相當(dāng)稀疏,整體三維模型成像效率較低,且僅通過ICP 算法對點(diǎn)云進(jìn)行配準(zhǔn)的配準(zhǔn)方案限制了它的精度。此外,以即時定位與地圖構(gòu)建(Simultaneous Localization and Mapping,SLAM)為首的快速建圖領(lǐng)域迅速成長并衍生出了諸如ORB-SLAM2、Kinect Fusion 等基于RGBD 相機(jī)進(jìn)行快速建圖的經(jīng)典之作[24-26]。然而上述算法更加注重實(shí)時性且所使用的RGBD 相機(jī)的分辨率較低,難以滿足高分辨率下的物體高精度三維重建的需求。
為了能夠?qū)崟r無約束地獲取物體完整的高分辨三維模型,Qian 等人[27]基于FPP 系統(tǒng)提出了基于由粗到細(xì)配準(zhǔn)策略的高分辨率實(shí)時360°三維模型重建方法,能夠在不借助任何輔助儀器的情況下完成高精度無約束的全方位三維模型重建。該方法通過2D-3D 關(guān)鍵特征點(diǎn)匹配實(shí)現(xiàn)粗配準(zhǔn)方案,雖然能夠保證相鄰幀點(diǎn)云間的高速配準(zhǔn),實(shí)現(xiàn)物體高精度三維模型的在線拼接工作,但是在應(yīng)對抖動等不穩(wěn)定情況下,由于特征點(diǎn)的錯誤匹配,會影響到相鄰幀點(diǎn)云間位姿關(guān)系初始化的準(zhǔn)確性,并且對待測物體完成全局掃描后,在重復(fù)掃描區(qū)域容易出現(xiàn)點(diǎn)云重影問題。
對此,本文提出了一種基于全局優(yōu)化的實(shí)時高精度模型重建方法,針對粗配準(zhǔn)中點(diǎn)云位姿初始化不穩(wěn)定和全局掃描后點(diǎn)云重影問題進(jìn)行了優(yōu)化。首先,繼承了Qian 所提方法中的粗配準(zhǔn)方案,基于透視點(diǎn)問題求解方法(Perspective-n-Point,PnP)的非迭代變體EPnP 方法,對獲取的點(diǎn)云數(shù)據(jù)進(jìn)行實(shí)時處理得到相鄰幀點(diǎn)云間的位姿關(guān)系。然后,引入點(diǎn)云法向量信息對點(diǎn)云初始位姿進(jìn)行二次優(yōu)化,能夠增加粗配準(zhǔn)點(diǎn)云位姿初始化的穩(wěn)定性,為后續(xù)精細(xì)配準(zhǔn)環(huán)節(jié)提供符合條件的初始位姿。在精細(xì)配準(zhǔn)環(huán)節(jié)中,提出了一種基于圖優(yōu)化的全局點(diǎn)云位姿優(yōu)化算法,在原有ICP 成對配準(zhǔn)方案基礎(chǔ)上,增加了點(diǎn)云全局位姿優(yōu)化步驟,消除了連續(xù)ICP 配準(zhǔn)后出現(xiàn)的累計誤差,克服了物體旋轉(zhuǎn)一周后出現(xiàn)首末兩幀點(diǎn)云重影的問題。
為了實(shí)現(xiàn)實(shí)時點(diǎn)云配準(zhǔn),必須快速獲取物體各個視角的三維信息。考慮高分辨率實(shí)時3D建模對精度的要求,本文采用了FPP 中以高分辨率與精度見長的相移輪廓術(shù)(Phase-shifting Profilometry,PSP)。但是PSP 需要對時間上連續(xù)的多幅條紋圖案進(jìn)行分析,運(yùn)動會造成每幀條紋圖案間的相位誤差,導(dǎo)致重建出的三維圖像出現(xiàn)波紋,所以選擇三步相移法,即對物體投影3 幅條紋圖案,盡可能降低運(yùn)動對三維成像的影響,此時相機(jī)拍攝到的條紋圖像強(qiáng)度可表示為:
其中:(u,v)為相機(jī)中的像素點(diǎn)坐標(biāo),A(u,v)為背景光強(qiáng),B(u,v)為調(diào)制度光強(qiáng),?(u,v)為當(dāng)前像素點(diǎn)的相位,n為相移指數(shù)(n=1,2,3)。
通過3 幅相移圖像,利用最小二乘法計算出物體的相位?(u,v):
由于式(2)解出的相位是截斷的,即具有2π相位跳變,為了獲得連續(xù)分布的相位信息,需要使用相位展開算法去除包裹相位中存在的不連續(xù)跳變,同時考慮運(yùn)動敏感性,本文選擇的方案是基于多視覺的立體相位展開算法(Stereo Phase Unwrapping,SPU),其原理如圖1 所示。
圖1 立體相位展開原理Fig.1 Principle of stereo phase unwrapping method
投影儀依次投出3 幅條紋圖In(u,v)并由3 個黑白相機(jī)捕獲。此時對于相機(jī)1(Camera 1,C1)中任意坐標(biāo)像素,其絕對相位都有N種可能,每一個都可以與根據(jù)投影儀與C1間的坐標(biāo)參數(shù)重建出一個3D 候選點(diǎn)。將這些3D 候選點(diǎn)投影到相機(jī)2(Camera 2,C2)上可以得到N個2D 候選點(diǎn),通過相位相似性檢驗(yàn),尋找這些候選點(diǎn)中包裹相位值與最為接近的候選點(diǎn)作為C1的對應(yīng)點(diǎn)。但在噪聲和系統(tǒng)誤差的影響下可能導(dǎo)致誤匹配,即錯誤的可能更接近且投影圖案的條紋頻率越高越容易發(fā)生誤匹配現(xiàn)象。為了提高相位匹配的準(zhǔn)確度,利用C2坐標(biāo)軸對N個候選點(diǎn)進(jìn)行一次篩選并將相似度最高的2 個候選點(diǎn)投影到相機(jī)3(Camera 3,C3)中,并重復(fù)C1與C2的約束操作。配合自適應(yīng)深度約束策略(Adaptive Depth Constraint,ADC),篩選出最佳匹配點(diǎn)及其對應(yīng)的相位信息,通過投影儀與C1的標(biāo)定關(guān)系,可以求出3D 點(diǎn)的坐標(biāo)p(x,y,z),經(jīng)過當(dāng)前幀所有點(diǎn)(s個)的合集可表示為當(dāng)前幀點(diǎn)云M{p1,p2,p3,...,ps}。
通過上一節(jié)中提到的方法獲取物體高精度的三維形貌信息,對此可以生成用于后續(xù)實(shí)時模型重建的信息流,該信息流包含物體三維點(diǎn)云信息、二維深度信息以及二維彩色圖像。所提出的基于全局優(yōu)化的實(shí)時高精度模型重建方法的整體框架如圖2 所示,該方法主要分為粗配準(zhǔn)線程與精配準(zhǔn)線程兩部分,通過兩個線程之間的有序配合實(shí)現(xiàn)實(shí)時高精度點(diǎn)云配準(zhǔn)的效果。
圖2 所提出的實(shí)時高精度模型重建方法整體框架Fig.2 Overall framework of the proposed real-time high-precision model reconstruction method
首先,粗配準(zhǔn)線程計算流程如下:
Step1.實(shí)時獲取被測物體的二維深度圖像與二維彩色圖像,分別計算他們的二維關(guān)鍵特征點(diǎn)。對相鄰幀作二維關(guān)鍵特征點(diǎn)配準(zhǔn),同時將二維關(guān)鍵特征點(diǎn)映射到三維坐標(biāo),利用EPnP 方法計算相鄰幀點(diǎn)云間的變換矩陣。
Step2.對相鄰幀點(diǎn)云間變換矩陣的范數(shù)設(shè)置閾值來篩選信息流并獲取關(guān)鍵幀點(diǎn)云。計算關(guān)鍵幀點(diǎn)云法線信息,生成FPFH 特征,并以FPFH特征為依據(jù)對相鄰關(guān)鍵幀幀點(diǎn)云間的變換矩陣進(jìn)行優(yōu)化,篩選矯正部分誤差較大的變換矩陣。
Step3.以第一幀點(diǎn)云為基準(zhǔn),根據(jù)計算得到的變換矩陣計算各關(guān)鍵點(diǎn)云的位姿矩陣。最后將優(yōu)化篩選后的有效關(guān)鍵幀點(diǎn)云及其位姿發(fā)送給精配準(zhǔn)線程。
Step4.重復(fù)Step1~Step3,直至完成對被測物體的全方位掃描重建,結(jié)束粗配準(zhǔn)線程。
在接收到粗配準(zhǔn)線程發(fā)送的點(diǎn)云與位姿數(shù)據(jù)后,精配準(zhǔn)隨之進(jìn)行相應(yīng)工作。精配準(zhǔn)線程計算流程如下:
Step1.將經(jīng)過配準(zhǔn)后的點(diǎn)云集合設(shè)為源點(diǎn)云,將最新接收的點(diǎn)云設(shè)為目標(biāo)點(diǎn)云,利用ICP算法,在已初始化的位姿基礎(chǔ)上進(jìn)行迭代,對兩者間的位姿作進(jìn)一步優(yōu)化,并將優(yōu)化后的位姿矩陣同步到各點(diǎn)云數(shù)據(jù)中。
Step2.以優(yōu)化后的關(guān)鍵幀點(diǎn)云的位姿為頂點(diǎn),相鄰關(guān)鍵幀點(diǎn)云變換關(guān)系為邊,添加并參與構(gòu)建超圖。
Step3.重復(fù)執(zhí)行Step1~Step2,直至點(diǎn)云粗配準(zhǔn)線程結(jié)束。在最后一幀關(guān)鍵幀點(diǎn)云位姿添加進(jìn)超圖后,將最終的點(diǎn)云配準(zhǔn)結(jié)果更新到系統(tǒng)顯示界面。
本文所提出的點(diǎn)云位姿初始化方法結(jié)合了PnP 算法與FGR 算法。其中,PnP 算法是求解3D 到2D 點(diǎn)對應(yīng)關(guān)系的方法,因其突出的速度優(yōu)勢被廣泛運(yùn)用于SLAM 領(lǐng)域。利用此方法可以根據(jù)已知的3D 空間點(diǎn)及其三維坐標(biāo)估計出對應(yīng)相機(jī)的位姿。如果可以建立兩個相機(jī)拍攝到的圖像中關(guān)鍵點(diǎn)的對應(yīng)關(guān)系且計算出對應(yīng)的3D 坐標(biāo),便可以計算出兩個相機(jī)間的位姿關(guān)系。考慮到效率與精度的平衡問題,本文使用了EPnP 方法。作為復(fù)雜度為O(n)的非迭代PnP 問題的解決方案,EPnP 方法配合尺度不變特征變換(Scale Invariant Feature Transform,SIFT)特征點(diǎn)匹配算法可以得到大量的特征點(diǎn)并能夠快速計算出相鄰幀點(diǎn)云間的初始變換矩陣。然而,在全局掃描過程中會出現(xiàn)由于抖動等因素導(dǎo)致的特征點(diǎn)匹配錯誤的問題,僅通過EPnP 方法對相鄰幀點(diǎn)云位姿進(jìn)行初始化并不能穩(wěn)定輸出滿足ICP 要求的點(diǎn)云初始位姿。因此在篩選出關(guān)鍵幀點(diǎn)云后,需要使用FGR 算法對關(guān)鍵幀點(diǎn)云位姿進(jìn)行二次優(yōu)化,確保后續(xù)精配準(zhǔn)中ICP 成對配準(zhǔn)的精度并避免ICP 迭代陷入局部極小值點(diǎn)的問題發(fā)生。
其中:E(T,L)為鄰接關(guān)鍵幀點(diǎn)云對應(yīng)點(diǎn)間距離函數(shù),計算出函數(shù)最小值即優(yōu)化完成;T為目標(biāo)變換矩陣;L為對應(yīng)集合H的線性過程;lm,m'為L中的元素;Ψ(lm,m')為先驗(yàn)誤差,受參數(shù)μ控制;參數(shù)μ控制殘差對目標(biāo)有顯著影響的范圍,隨著μ的減小,匹配問題的目標(biāo)函數(shù)變得更加清晰,配準(zhǔn)更加精確。
為了求得鄰接關(guān)鍵幀點(diǎn)云間的最佳變換矩陣T,需要求解目標(biāo)E(T,L)的最小值。為了使E(T,L)最小化,式(3)對每個lm,m'的偏導(dǎo)必須為0:
將lm,m'帶入式(3)中即可求解得到鄰接關(guān)鍵幀點(diǎn)云間的最佳變換矩陣T。
獲得關(guān)鍵幀點(diǎn)云初始化位姿后,需要對關(guān)鍵幀點(diǎn)云位姿作精細(xì)配準(zhǔn)以得到高精度的點(diǎn)云模型。原方案以最新關(guān)鍵幀點(diǎn)云作為目標(biāo)點(diǎn)云,以一系列已配準(zhǔn)點(diǎn)云整體作為源點(diǎn)云,使用ICP 算法進(jìn)行配準(zhǔn),配準(zhǔn)得到的點(diǎn)云整體又將作為下一次配準(zhǔn)的源點(diǎn)云。這是ICP 算法用于多點(diǎn)云配準(zhǔn)的常見方案,但該方法并不能對多次配準(zhǔn)產(chǎn)生的累計誤差做出有效處理。隨著關(guān)鍵幀點(diǎn)云數(shù)量的增多,每次ICP 配準(zhǔn)時的細(xì)小誤差發(fā)生累計。當(dāng)系統(tǒng)再次掃描到已生成點(diǎn)云模型的區(qū)域后,疊加后的累計誤差已不可忽視,并以點(diǎn)云重影的形式表現(xiàn)出來。
本文提出了相鄰關(guān)鍵幀點(diǎn)云ICP 配準(zhǔn)與全局點(diǎn)云優(yōu)化[28]相結(jié)合的點(diǎn)云精配準(zhǔn)方案,繼承原方案利用ICP 算法對點(diǎn)云位姿的兩兩配準(zhǔn)處理原則,但是僅保留點(diǎn)云配準(zhǔn)后的關(guān)鍵幀點(diǎn)云位姿而不保存配準(zhǔn)后的整體點(diǎn)云,并將配準(zhǔn)后的點(diǎn)云及其位姿加入超圖中進(jìn)行圖優(yōu)化處理。基于全局圖優(yōu)化算法的具體流程如圖3 所示。將經(jīng)過精細(xì)配準(zhǔn)后的關(guān)鍵幀點(diǎn)云位姿被依次加入超圖中,至所有點(diǎn)云成對配準(zhǔn)結(jié)束后,通過對鄰接與次鄰接點(diǎn)云間的位姿變換關(guān)系進(jìn)行迭代計算,最終得到整體收斂的全局點(diǎn)云位姿。
圖3 圖優(yōu)化算法的流程示意圖Fig.3 Schematic diagram of graph optimization algorithm
經(jīng)過ICP配準(zhǔn)后的點(diǎn)云位姿已趨于真實(shí)位姿,鄰接關(guān)鍵幀點(diǎn)云間已有了優(yōu)秀的匹配精度。此時,將優(yōu)化后的點(diǎn)云位姿設(shè)為頂點(diǎn)(Vertex),全部點(diǎn)云位姿(k個)構(gòu)成頂點(diǎn)集V={v0,v1,v2,...,vk}。結(jié)合實(shí)際配準(zhǔn)中關(guān)鍵幀點(diǎn)云間的點(diǎn)云重合面積,使用ICP 算法計算鄰接關(guān)鍵幀點(diǎn)云間的變換矩陣Ti,i+1=t(vi,vi+1),vi∈V與次級鄰接關(guān)鍵幀點(diǎn)云間的變換矩陣Ti,i+2=t(vi,vi+2),vi∈V,將它們設(shè)為連接頂點(diǎn)間的二元邊(Edge),全部變換矩陣構(gòu)成邊集E={T0,1,T1,2,...,Tk-1,k,將點(diǎn)集與二元邊集組合起來便構(gòu)成了二元超圖G={V,E},成功將全局點(diǎn)云位姿優(yōu)化問題以圖的形式表現(xiàn)出來,表達(dá)式如式(8)所示:
其中:xi為關(guān)鍵幀點(diǎn)云的真實(shí)位姿,zi≈h(xi)為關(guān)鍵幀點(diǎn)云位姿的計算值,ei=zi-h(xi)為兩者間的誤差,Ωi為預(yù)設(shè)的信息矩陣,代表對ei中每個元素對應(yīng)的誤差項相關(guān)性的一個預(yù)計。
對每條邊的誤差ei求目標(biāo)函數(shù)的優(yōu)化解,設(shè)初始點(diǎn)為給它一個增量Δx,于是第i條邊的目標(biāo)函數(shù)可以表示為:
對目標(biāo)函數(shù)進(jìn)行二階展開可以得到:
其中:Ci為常數(shù),bi為目標(biāo)函數(shù)一階展開項系數(shù),Hi為目標(biāo)函數(shù)二階展開項系數(shù)。為了找到Δx使目標(biāo)函數(shù)到達(dá)極小值,只需令目標(biāo)函數(shù)求關(guān)于增量Δx的導(dǎo)數(shù)為0,得到一個線性方程組:
通過求解線性方程組,可以得到單次迭代的Δx最優(yōu)解。對所有邊進(jìn)行反復(fù)迭代,即可得到全局點(diǎn)云的最優(yōu)點(diǎn)云位姿。
為了驗(yàn)證所提點(diǎn)云配準(zhǔn)方案的有效性,構(gòu)建了一個多視角條紋投影三維成像系統(tǒng),包括1 個LightCrafter 4500Pro 投影儀(投影幀率為100 Hz,分辨率為912×1 140)、3個黑白相機(jī)(Basler acA640-750 μm,分辨率為640×480)以及1 個彩色相機(jī)(Basler acA640-750uc,分辨率為640×480)。投影儀用于投影48 周期的相移條紋圖案,3 個黑白相機(jī)用于完成基于立體相位展開三維重構(gòu)功能,彩色相機(jī)用于獲取物體表面紋理信息。我們在Visual Studio 2017平臺調(diào)用OpenCV、PCL、QT 為主的第三方庫進(jìn)行系統(tǒng)的軟件編寫,并在計算機(jī)(內(nèi)存為32 GB,主頻為英特爾i7-11700k 2.40 GHz,顯卡為NVIDIA 3080 10 G)上進(jìn)行測試。
對大衛(wèi)模型進(jìn)行掃描,沿逆時針方向水平轉(zhuǎn)動模型。在實(shí)時點(diǎn)云配準(zhǔn)過程中改變大衛(wèi)轉(zhuǎn)速并在大衛(wèi)旋轉(zhuǎn)接近一周時,對大衛(wèi)的轉(zhuǎn)動施加一個劇烈抖動,觀察此時點(diǎn)云配準(zhǔn)顯示窗口中的實(shí)時更新的大衛(wèi)三維點(diǎn)云數(shù)據(jù)并進(jìn)行記錄,記錄的大衛(wèi)實(shí)時點(diǎn)云如圖4 所示。為更加清晰具體地表現(xiàn)本文所提方法的優(yōu)勢,以Qian所提方法為對照[27],分別針對粗配準(zhǔn)階段點(diǎn)云位姿初始化效果及全局點(diǎn)云優(yōu)化效果設(shè)計對比實(shí)驗(yàn)。
圖4 點(diǎn)云位姿初始化效果對比圖。(a)現(xiàn)有方法位姿初始化效果;(b)本文所提方法位姿初始化效果;(c)為(a)對應(yīng)的局部放大圖;(d)為(b)對應(yīng)的局部放大圖。Fig.4 Comparison of initialization effects of point cloud position and pose.(a)Pose initialization effect of existing methods;(b)Pose initialization effect of the method proposed in this paper;(c)Corresponding partial enlargement of(a);(d)Corresponding partial enlargement of(b).
圖4 中,大衛(wèi)的旋轉(zhuǎn)速度與箭頭顏色深度成正相關(guān)。從系統(tǒng)實(shí)時顯示窗口更新的點(diǎn)云圖像數(shù)據(jù)可以看出,現(xiàn)有方法中點(diǎn)云位姿初始化受大衛(wèi)轉(zhuǎn)動狀態(tài)影響較大,當(dāng)在大衛(wèi)轉(zhuǎn)動過程中施加一個劇烈抖動(Shake)時,該方法會出現(xiàn)點(diǎn)云配準(zhǔn)錯誤。相比之下,本文提出的點(diǎn)云位姿初始化方案具有更好的魯棒性。在模型轉(zhuǎn)動過程中出現(xiàn)劇烈抖動和速度突變的極端情況下,本文所提方法能夠穩(wěn)定地為精配準(zhǔn)線程提供準(zhǔn)確的點(diǎn)云初始位姿以進(jìn)行后續(xù)的優(yōu)化操作。
對大衛(wèi)模型進(jìn)行掃描,沿逆時針方向水平轉(zhuǎn)動模型并保持較低且穩(wěn)定的轉(zhuǎn)速,確保在對大衛(wèi)模型進(jìn)行全局掃描后能夠得到較多的關(guān)鍵幀點(diǎn)云數(shù)量以放大累計誤差對全局點(diǎn)云位姿的影響。配準(zhǔn)結(jié)束后,將大衛(wèi)點(diǎn)云模型導(dǎo)入MeshLab 中,將點(diǎn)云進(jìn)行10 倍降采樣后,對使用兩種方法獲取的點(diǎn)云進(jìn)行對比。現(xiàn)有方法得到的點(diǎn)云規(guī)模為2、296、930,降采樣后的點(diǎn)云規(guī)模為175、262,本文所提方法得到的點(diǎn)云規(guī)模為1、655、354,降采樣后的點(diǎn)云規(guī)模為168、594。兩種算法所得到的實(shí)驗(yàn)結(jié)果與局部細(xì)節(jié)放大對比如圖5 所示。從圖5可以看出,現(xiàn)有方法的點(diǎn)云位姿初始化方案雖然能夠獲取大衛(wèi)的完整三維模型,但對該方法重構(gòu)的點(diǎn)云模型進(jìn)行10 倍降采樣后,該方法并不能有效地處理連續(xù)點(diǎn)云配準(zhǔn)產(chǎn)生的累計誤差問題。而本文所提方法能夠有效地消除累計誤差,實(shí)現(xiàn)全局一致、無重影的點(diǎn)云配準(zhǔn),即使在10 倍降采樣后依然能保證重建的大衛(wèi)點(diǎn)云模型擁有連續(xù)且平滑的表面。
圖5 不同點(diǎn)云全局配準(zhǔn)的結(jié)果對比。(a)現(xiàn)有方法導(dǎo)出的完整點(diǎn)云模型;(b)對圖5(a)進(jìn)行10 倍降采樣的結(jié)果;(c)本文所提方法導(dǎo)出的完整點(diǎn)云模型;(d)對圖5(c)進(jìn)行10 倍降采樣的結(jié)果;(e),(g),(i),(k)圖5(b)、(d)對應(yīng)的局部放大圖;(f),(h),(j),(l)圖5(e)、(g)、(i)、(k)對應(yīng)的三角化顯示。Fig.5 Comparison of point cloud global registration effect.(a)Complete point cloud model derived by the method proposed in this paper;(b)10 times downsampling result of(a);(c)Complete point cloud model derived by existing method;(d)10 times downsampling result of Fig.5(c);(e),(g),(i),(k)Corresponding partial enlarged pictures of Fig.5(b),(d);(f),(h),(j),(l)Triangular display corresponding to Fig.5(e),(g),(i),(k).
分別對一個大衛(wèi)模型和一個海盜模型進(jìn)行掃描,以任意速度沿逆時針方向水平轉(zhuǎn)動模型,在系統(tǒng)顯示窗口中能夠?qū)崟r顯示模型在當(dāng)前位姿的點(diǎn)云重構(gòu)過程,最終實(shí)現(xiàn)對待測物體的全方位三維建模。將模型掃描一周后,結(jié)束粗配準(zhǔn)線程,待精配準(zhǔn)線程對模型點(diǎn)云全局優(yōu)化結(jié)束后,模型點(diǎn)云的最終配準(zhǔn)結(jié)果將更新到系統(tǒng)點(diǎn)云配準(zhǔn)的顯示窗口中。在拼接過程中,分別對相鄰幀點(diǎn)云實(shí)時配準(zhǔn)耗時與相鄰關(guān)鍵幀精細(xì)配準(zhǔn)耗時進(jìn)行統(tǒng)計,粗配準(zhǔn)部分?jǐn)?shù)據(jù)如表1 所示,精細(xì)配準(zhǔn)部分?jǐn)?shù)據(jù)如表2 所示。
表1 相鄰幀配準(zhǔn)算法耗時Tab.1 Time-consuming of adjacent frame registration algorithm ms
表2 相鄰關(guān)鍵幀精細(xì)配準(zhǔn)耗時Tab.2 Time-consuming of adjacent key frame registration s
對于大衛(wèi)模型,單次粗配準(zhǔn)平均耗時約為0.6 s,單次精細(xì)配準(zhǔn)平均耗時約為2.5 s,總模型重建耗時為73 s;對于海盜模型,單次粗配準(zhǔn)平均耗時約為0.5 s,單次精細(xì)配準(zhǔn)平均耗時約為2.7 s,總模型重建耗時為79 s。模型的三維點(diǎn)云最終配準(zhǔn)結(jié)果如圖6 所示,其中圖6(a)、(c)分別為對大衛(wèi)模型和海盜模型離散點(diǎn)云的顯示結(jié)果,圖6(b)、(d)為對大衛(wèi)與海盜模型點(diǎn)云作三角剖面化處理后的顯示結(jié)果。
圖6 點(diǎn)云配準(zhǔn)結(jié)果展示。(a)大衛(wèi)模型完整點(diǎn)云模型;(b)圖6(a)對應(yīng)的三角化顯示;(c)海盜模型完整點(diǎn)云模型;(d)圖6(c)對應(yīng)的三角化顯示。Fig.6 Display of point cloud registration results.(a)Complete point cloud model of the David model;(b)Corresponding triangulation display of Fig.6(a);(c)Complete point cloud model of the pirate model;(d)Corresponding triangulation display of Fig.6(c).
為了驗(yàn)證本文所提方法的精度,我們對經(jīng)過江蘇省計量局校準(zhǔn)過的標(biāo)準(zhǔn)陶瓷球進(jìn)行實(shí)驗(yàn)分析,陶瓷球的半徑分別為25.396 7 mm 和25.398 9 mm,球心距為100.116 6 mm。實(shí)驗(yàn)結(jié)果如圖7 所示。由于精度球表面沒有足夠的特征點(diǎn),因此將一個具有復(fù)雜面型結(jié)構(gòu)的海盜石膏像放置于陶瓷球后,兩者位置關(guān)系如圖7(a)(正視圖)和圖7(c)(俯視圖)所示。圖7(b)和圖7(d)為待測物體旋轉(zhuǎn)一周后的三維重建結(jié)果。在Geomagic 中對陶瓷球作球面擬合,得到的誤差分布如圖7(e)和圖7(f)所示。完整陶瓷球的重構(gòu)半徑分別為25.366 3 mm 和25.417 7 mm,誤差分別為31 μm和18.8 μm;測得的球心距為100.200 0 mm,誤差為83.4 μm。根據(jù)實(shí)驗(yàn)結(jié)果可知,與現(xiàn)有方法相比,本文所提方法重建的完整三維模型的整體精度提升約40 μm。
圖7 精度球與海盜模型的重建結(jié)果分析。(a)、(c)精度球與海盜模型間的位置關(guān)系;(b)、(d)旋轉(zhuǎn)一周后精度球與海盜模型的重建結(jié)果;(e)、(f)球面擬合后的誤差分布。Fig.7 Analysis of reconstruction results of precision ball and pirate model.(a),(c)Positional relationship between the precision ball and the pirate model;(b),(d)Reconstruction results of precision ball and pirate model after one rotation;(e),(f)Error distribution after spherical fitting.
本文提出了一種基于全局優(yōu)化的實(shí)時高精度模型重建方法,利用基于條紋投影技術(shù)的立體相位匹配方法實(shí)時獲取高精度物體三維點(diǎn)云信息,改進(jìn)原有實(shí)時360°點(diǎn)云配準(zhǔn)方案,利用二維關(guān)鍵特征點(diǎn)與法向量特征對三維點(diǎn)云進(jìn)行快速、準(zhǔn)確的位姿初始化。此外,引入圖優(yōu)化技術(shù)對整體點(diǎn)云作全局配準(zhǔn)處理,有效克服了點(diǎn)云重影問題,高效穩(wěn)定地獲取被測物體的三維點(diǎn)云模型。該方法能夠在系統(tǒng)中高效且穩(wěn)定地獲取被測物體的三維點(diǎn)云模型,運(yùn)行穩(wěn)定,拼接精度高,實(shí)時全方位模型重構(gòu)誤差約為84 μm,且多次實(shí)驗(yàn)測量與理論相符。本工作進(jìn)一步探索了非接觸式測量在工業(yè)中的應(yīng)用,實(shí)現(xiàn)了兼顧魯棒性和高精度的三維模型重建,未來有望應(yīng)用于缺陷檢測、逆向工程等工業(yè)領(lǐng)域。