劉保安
(塔里木大學(xué) 信息工程學(xué)院,新疆 阿拉爾市 843300)
三維結(jié)構(gòu)光掃描技術(shù)以掃描速度快、精度高等優(yōu)勢,在文物保護方面應(yīng)用廣泛。目前利用三維結(jié)構(gòu)光掃描儀建立三維模型是一種有效的手段,而點云數(shù)據(jù)的配準(zhǔn)是三維建模的關(guān)鍵技術(shù),在醫(yī)學(xué)、逆向工程、文物保護等方面起到了關(guān)鍵作用。用三維結(jié)構(gòu)光掃描獲取到目標(biāo)物體表面的大量點云數(shù)據(jù),即物體的三維圖像。光在同種均勻介質(zhì)中沿直線傳播,因此,光學(xué)測量儀器常常僅能測量到物體局部坐標(biāo)系下的局部數(shù)據(jù),并且數(shù)據(jù)會出現(xiàn)平移、旋轉(zhuǎn)錯位[1]等現(xiàn)象,需要對這些表面數(shù)據(jù)進行配準(zhǔn)。因此,點云的配準(zhǔn)顯得尤為重要,特別是文物點云與原始模型的配準(zhǔn),將直接影響文物三維模型精確度[2]。
由P. J. Besl[3]、Arun[4]等提出的迭代最近點算法(iterative closest points,ICP)目前被廣泛應(yīng)用,近年來國內(nèi)外也有大量的研究者對該算法進行探索[5-7]。ICP算法實質(zhì)上是基于最小二乘法的最優(yōu)配準(zhǔn)方法。該算法對對應(yīng)關(guān)系點對反復(fù)進行選擇,計算最優(yōu)剛體變換這一過程,一直到符合正確配準(zhǔn)的收斂精度條件[8]。
基于ICP算法的特性,對獲取的原始點云數(shù)據(jù)先通過旋轉(zhuǎn)矩陣和平移向量實現(xiàn)粗配準(zhǔn),在Matlab軟件中使用ICP算法對點云數(shù)據(jù)進行精確配準(zhǔn),從而提高配準(zhǔn)的準(zhǔn)確性和效率。
按照點云的數(shù)據(jù)獲取測量方法的不同與測量設(shè)備是否接觸物體,基本上分為兩大類:接觸式測量與非接觸式測量[9]。手持式三維結(jié)構(gòu)光掃描儀屬于非接觸式測量方式。在數(shù)據(jù)的獲取過程中,首先利用Artec Eva 3D手持式結(jié)構(gòu)光掃描儀獲取陶罐數(shù)據(jù),其次將掃描儀中的數(shù)據(jù)導(dǎo)入圖像工作站的Artec studio 9軟件中。為使導(dǎo)出的數(shù)據(jù)原屬性不受影響,包括顏色、曲面法線、紋理坐標(biāo)等[10],便于三維網(wǎng)格數(shù)據(jù)在Matlab中的輸入、處理[11],且為后續(xù)處理奠定良好的基礎(chǔ),需要一種便于處理的輸出格式。ply格式以數(shù)據(jù)結(jié)構(gòu)簡單、易于讀取,可以用ASCII碼格式存儲文件等特點而得到了廣泛的應(yīng)用[12]?;谒膬?yōu)點,利用該軟件將獲取的點云數(shù)據(jù)以ply格式導(dǎo)出[13],獲取初始數(shù)據(jù)。
基本原理是根據(jù)空間幾何變換使數(shù)據(jù)完成配對,選取待配準(zhǔn)點云,運用最小二乘法的優(yōu)化思想[3],其核心內(nèi)容是:讓點云數(shù)據(jù)旋轉(zhuǎn)、平移,使得兩個點集之間的距離最小[14]。文中基于四元數(shù)方法[15]來求解旋轉(zhuǎn)矩陣和平移矩陣。
(1)
平移向量可以表示為:
(2)
(2)對于兩個點集之間的度量,使用如下目標(biāo)函數(shù)表示:
(3)
最小化問題,算法流程如下:
(4)
對點集P和點集X做去中心化處理后,求出其協(xié)方差矩陣:
(5)
令對稱矩陣為:
(6)
由此得到列向量:
(7)
利用該列向量構(gòu)建4×4對稱矩陣:
(8)
其中,tr(Σpx)表示矩陣Σpx的跡,即主對角線元素的總和,也即特征值之和;I3表示3×3單位矩陣。
將式7套入式8中,即在程序中直接使用上面這個公式。
(4)對式9中特征值q進行分解,得到最大和的特征值和對應(yīng)的特征向量,特征向量就對應(yīng)誤差的平方及最小時的四元數(shù):
(9)
計算最佳平移向量:
(10)
使用上式的四元數(shù)套入式1:
如下式,結(jié)果到最小值時停止迭代,否則繼續(xù)重復(fù)流程1~4。
(11)
為驗證文中提出的改進ICP算法的效果,在Intel(R) Core(TM)i7-2760QM CPU主頻為2.40 GHz,內(nèi)存12 GB,Windows7 64位操作系統(tǒng)圖形工作站上,基于Artec Studio 9版本三維掃描軟件,搭載Artec Eva 3D掃描儀實驗平臺中獲取陶罐的三維點云數(shù)據(jù);在Intel(R)Core(TM)i5-5200U 主頻2.20 GHz,內(nèi)存4 GB,Windows 7 64位操作系統(tǒng)的計算機上用Matlab進行仿真實驗。
由圖1可知,僅用原始ICP配準(zhǔn)會導(dǎo)致配準(zhǔn)精度不理想,獲得三維模精度效果不佳。
圖1 僅用初始配準(zhǔn)的點云數(shù)據(jù)對齊
由圖2可知,直接使用Matlab中ICP算法配準(zhǔn)會使得配準(zhǔn)趨向于一個錯誤的方向,致使無法得到良好的配準(zhǔn)效果。
圖2 僅用精確配準(zhǔn)的點云數(shù)據(jù)對齊
利用pcregrigid函數(shù)對ICP算法進行優(yōu)化,得到表1的數(shù)據(jù)。將數(shù)據(jù)在Matlab中運行,結(jié)果如圖3所示。由圖3可知,先進行初始配準(zhǔn),再進行精確配準(zhǔn),不但可以大幅度提高配準(zhǔn)精確度,并且能確保配準(zhǔn)方向的合理性,可以獲得更大的配準(zhǔn)效果。
圖3 數(shù)據(jù)使用文中配準(zhǔn)算法后的效果
在Matlab中用優(yōu)化ICP算法進行點云數(shù)據(jù)的配準(zhǔn),不但擁有良好的配準(zhǔn)精度,而且匹配速度也令人滿意。與原始的ICP算法相比,在Matlab中編程優(yōu)化后的ICP算法,相比于Artec Studio軟件中進行的數(shù)據(jù)配準(zhǔn)有了一定的提高,同時也提升了配準(zhǔn)效果。
由表1中的比較分析可以看出,點云數(shù)據(jù)的數(shù)據(jù)量越大,在Matlab中用優(yōu)化的ICP算法在配準(zhǔn)速度上的優(yōu)勢越明顯。
表1 海量數(shù)據(jù)兩種點云算法配準(zhǔn)速度的比較
利用三維結(jié)構(gòu)光技術(shù)獲取文物的原始數(shù)據(jù),經(jīng)過前期數(shù)據(jù)的處理獲得點云數(shù)據(jù),在Matlab中利用ICP算法進行初步配準(zhǔn),得到基本模型,利用pcregrigid函數(shù)對ICP算法進行優(yōu)化,通過實驗發(fā)現(xiàn)文物的配準(zhǔn)精度得到大幅度提高,而且減少了配準(zhǔn)所需時間。實驗結(jié)果表明,經(jīng)過ICP算法優(yōu)化后的三維模型比三維掃面議自帶Artec Studio軟件點云數(shù)據(jù)自動配準(zhǔn)更加精確。