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