劉偉偉,童立靖
(北方工業(yè)大學(xué) 信息學(xué)院,北京 100144)
在三維建模領(lǐng)域,三維點(diǎn)云數(shù)據(jù)的配準(zhǔn)技術(shù)是相當(dāng)關(guān)鍵的。袁華[1]等人用利用濾波去除噪點(diǎn),再利用曲率估計(jì),最終基于改進(jìn)的雙邊濾波完成對(duì)小尺度噪聲進(jìn)行去除,降低了點(diǎn)云誤差。吳[2]等人提出了一種基于點(diǎn)云中點(diǎn)的特征信息的分類的去噪辦法。在點(diǎn)云配準(zhǔn)中較為經(jīng)典的點(diǎn)云配準(zhǔn)算法有迭代最近點(diǎn)(ICP)算法[3],閆利[4]等人提出結(jié)合遺傳算法的自動(dòng)點(diǎn)云配準(zhǔn)方法。魏[5]等人利用ICP算法配準(zhǔn)不同時(shí)刻獲取的點(diǎn)云降采樣數(shù)據(jù)來(lái)完成目標(biāo)的特征點(diǎn)進(jìn)行重建。
為此,本文提出一種基于曲率信息特征點(diǎn)改進(jìn)的迭代最近點(diǎn)點(diǎn)云配準(zhǔn)建模的算法。首先,在配準(zhǔn)之前最小二乘去噪對(duì)于初始模型進(jìn)行去噪處理減少離群噪點(diǎn)對(duì)后期配準(zhǔn)的影響。提取特征點(diǎn)時(shí)再進(jìn)行一步采樣一致性的處理,從而縮小了對(duì)應(yīng)點(diǎn)的尋找范圍,減少算法計(jì)算量;然后通過(guò)根據(jù)點(diǎn)云的曲率信息分辨凹凸點(diǎn)從而提取部分點(diǎn)云的特征點(diǎn);在利用ICP算法不斷迭代得到待配準(zhǔn)點(diǎn)云之間的空間最優(yōu)變換完成人體建模。
在本文研究中采用Kinect設(shè)備掃描人體一周,通過(guò)不同角度獲得不同的人體的掃描點(diǎn)云數(shù)據(jù)。根據(jù)多次試驗(yàn)表明,測(cè)量距離范圍保持在0.6~0.8m是掃描時(shí)最優(yōu)的掃描測(cè)量距離,掃描后的結(jié)果受外部等因素影響較小,缺失部分點(diǎn)云的情況也很少出現(xiàn)了。方便了后續(xù)配準(zhǔn)建模操作。本文利用PCD文件格式存儲(chǔ)數(shù)據(jù),該文件格式處理n維下的點(diǎn)數(shù)據(jù)類型機(jī)制一些擴(kuò)展存儲(chǔ),支持描儀獲取的3D點(diǎn)云數(shù)據(jù)文件類型。
采樣一致性參數(shù)的估計(jì)算法,一般用來(lái)減少并去除錯(cuò)誤的樣本點(diǎn)云。利用RANSAC隨機(jī)參數(shù)估計(jì)算法,主要方法是從點(diǎn)云數(shù)據(jù)小范圍的樣本中再隨機(jī)選出一個(gè)子樣本,利用最小方差估計(jì)的辦法可以快速的計(jì)算出人體點(diǎn)云模型的各個(gè)參數(shù),然后計(jì)算比較樣本與原來(lái)模型的偏差誤差值,并在實(shí)驗(yàn)中設(shè)定一個(gè)閾值與之前計(jì)算好的偏差值進(jìn)行數(shù)值大小的比較,如果小于就是點(diǎn)云模型里面的樣本點(diǎn),相反大于就是點(diǎn)云模型的外面的樣本點(diǎn)。不斷重復(fù)上述過(guò)程并記錄好每次的樣本數(shù),并且每次重復(fù)迭代之前都記錄好當(dāng)前模型的各個(gè)參數(shù)值,當(dāng)生成的點(diǎn)云模型內(nèi)樣本點(diǎn)個(gè)數(shù)最多時(shí)就是最佳的采樣狀態(tài)。此時(shí)獲得的最佳點(diǎn)云模型的各個(gè)參數(shù)就是我們最后掃描采樣一致性后的最終模型的各個(gè)參數(shù)估計(jì)值。在利用采樣一致性處理后可以篩選明顯不匹配的特征點(diǎn)噪點(diǎn),減少后期尋求特征點(diǎn)對(duì)的時(shí)間。
最小二乘二次去噪主要是對(duì)一些點(diǎn)云數(shù)據(jù)進(jìn)行微切平面擬合去噪,從而減少對(duì)后面配準(zhǔn)的影響,最大的還原物體的原本形狀。主要有以下步驟:
設(shè)x,y,z為點(diǎn)云三維數(shù)據(jù)坐標(biāo),在包含誤差的情況下求解平面參數(shù)。對(duì)于在掃描建模時(shí)的三維形式,利用最小二乘法擬合,其平面模型為:式中a、b、c為擬合平面待求參數(shù)。具體步驟如下:

(1)在最小二乘準(zhǔn)則 下,可得擬合平面未知參數(shù)估計(jì)值

(2)計(jì)算點(diǎn)云數(shù)據(jù)集到擬合平面距離


兩次去噪后重建的模型效果也是相對(duì)較好且有利于接下來(lái)的配準(zhǔn)。
點(diǎn)云中任一點(diǎn)處都存在一平面逼近該點(diǎn)鄰域點(diǎn)云,某點(diǎn)處的曲率可近似使用該點(diǎn)及其鄰域點(diǎn)的最佳擬合平面來(lái)計(jì)算曲率。本文通過(guò)最小二乘擬合來(lái)表示局部擬合平面。
點(diǎn)k鄰域的擬合切平面方程可設(shè)為:

通過(guò)最小二乘原理獲得最佳擬合平面后,求解微切平面方程問(wèn)題從而可轉(zhuǎn)換為求解協(xié)方差矩陣M的最小特征值及其對(duì)應(yīng)的特征向量問(wèn)題,并且最小特征值對(duì)應(yīng)的特征向量即為微切平面方程的單位法向量N(A,B,C)。
k鄰域擬合切平面方程求出后記為 ,由切平面方程可以求解主曲率、平均曲率及高斯曲率。
基于這一特征點(diǎn)p的提取方法主要是利用的每一點(diǎn)的曲率信息公式:

經(jīng)過(guò)曲率信息的特征點(diǎn)提取,已經(jīng)有了較好的特征點(diǎn)對(duì),在此基礎(chǔ)上在繼續(xù)使用ICP算法完成源點(diǎn)云與目標(biāo)點(diǎn)云的精確配準(zhǔn)。ICP算法主要原理是結(jié)合源點(diǎn)云和目標(biāo)配準(zhǔn)點(diǎn)云之間相應(yīng)的幾何關(guān)系來(lái)計(jì)算變換矩陣的各個(gè)參數(shù),從而可以計(jì)算出旋轉(zhuǎn)矩陣和平移矩陣來(lái)完成特征點(diǎn)云的配準(zhǔn),得到變換后最優(yōu)的配準(zhǔn)點(diǎn)云位置,然后不斷迭代以上過(guò)程,等到滿足配準(zhǔn)所需的收斂條件,就是滿足曲率信息的凹凸性一致,即的計(jì)算結(jié)果一致,就是選擇到最優(yōu)的特征點(diǎn)對(duì)來(lái)進(jìn)行配準(zhǔn),完成人體的精確建模。
配準(zhǔn)實(shí)驗(yàn)所用三維點(diǎn)云模型分別為Kinect掃描后的點(diǎn)云模型。掃描的點(diǎn)云模型都是隨機(jī)選取了兩個(gè)不同視角下掃描得到的兩片點(diǎn)云。實(shí)驗(yàn)采用計(jì)算機(jī)硬件配置為Intel-i5處理器,主頻3.6GHz,內(nèi)存8GB。操作系統(tǒng)為Windows10,所有算法均由c++語(yǔ)言結(jié)合PCL點(diǎn)云庫(kù)在Microsoft Visual Studio 2015軟件下編程實(shí)現(xiàn)。
在配準(zhǔn)前進(jìn)去噪處理,最小二乘去噪過(guò)程中對(duì)于閾值參數(shù) 設(shè)置為0.5后,進(jìn)行了整體去噪處理。實(shí)驗(yàn)過(guò)程中對(duì)于多個(gè)數(shù)據(jù)模型去噪處理時(shí)噪點(diǎn)數(shù)進(jìn)行了統(tǒng)計(jì),源點(diǎn)云數(shù)量是高達(dá)35000多,經(jīng)過(guò)最小二乘去噪后的點(diǎn)云數(shù)量為16471。
改進(jìn)后的ICP配準(zhǔn)算法人體建模在時(shí)間方面與NDT配準(zhǔn)建模相當(dāng),但是明顯優(yōu)于FPFH配準(zhǔn)算法的人體建模。精度方面兩個(gè)配準(zhǔn)點(diǎn)之間的距離差利用改進(jìn)后的ICP配準(zhǔn)算法的人體建模明顯優(yōu)于其他兩種算法的建模,而且改進(jìn)后的ICP配準(zhǔn)算法的人體建模有著很好的穩(wěn)定性與魯棒性。因此改進(jìn)后的ICP配準(zhǔn)算法在人體建模方面,無(wú)論時(shí)間與精度都達(dá)到了實(shí)驗(yàn)之前預(yù)期的效果。

圖1 使用NDT、FPFH、改進(jìn)ICP配準(zhǔn)算法建立人體建模的效果圖
為解決利用Kinect設(shè)備采集后的點(diǎn)云數(shù)據(jù)噪聲較多,配準(zhǔn)效率低的問(wèn)題,提出了一種最小二乘去去噪算法和基于曲率信息凹凸性的迭代配準(zhǔn)算法,最小二乘算法極大的減少了點(diǎn)云數(shù)量,改進(jìn)后的ICP算法更有利于特征點(diǎn)的尋找與匹配,優(yōu)化過(guò)程中根據(jù)點(diǎn)云曲率信息所屬范圍的不同,減小尋找對(duì)應(yīng)點(diǎn)的范圍,以此來(lái)減少配準(zhǔn)算法的迭代次數(shù),最終完成物體三維模型的重建。
通過(guò)實(shí)驗(yàn)結(jié)果表明,本文提出的配準(zhǔn)算法能夠在盡可能確保Kinect采集后的的物體基本形態(tài)特征不變的情況下,減少噪聲點(diǎn)云的數(shù)量,進(jìn)一步提高點(diǎn)云配準(zhǔn)的精度。但是本文算法在提取特征點(diǎn)時(shí)迭代的范圍較大計(jì)算耗時(shí),使配準(zhǔn)的效率變低,因此這也是該配準(zhǔn)算法以后需要進(jìn)一步提升的方向。