魏秋月,董環(huán)宇,湯少杰,2,馮寧宇
(1.西安郵電大學(xué) 自動化學(xué)院,陜西 西安 710121;2.西安郵電大學(xué) 西安市先進控制與智能處理重點實驗室,陜西 西安 710121;3.寧夏醫(yī)科大學(xué)總醫(yī)院,寧夏 銀川 750004)
點云配準技術(shù)[1]在三維模型重建中有著獨特而關(guān)鍵的作用,隨著許多高精度傳感器的產(chǎn)生,點云已成為表示三維空間模型的主要數(shù)據(jù)格式。使用點云配準[2]進行模型匹配時由于配準對象的多變性,配準過程需要考慮的信息會不同,針對不同的配準目標應(yīng)用不同的配準算法,能得到更好的結(jié)果。
迭代最近點(Iterative Closest Point,ICP)算法[3]是目前應(yīng)用最為廣泛的一種算法,由Besl等在1992年提出。該算法是利用最近點搜索法解決基于自由形態(tài)曲面的一種配準算法。根據(jù)一定的約束條件,找到原始點云與目標點云的對應(yīng)關(guān)系,并計算出旋轉(zhuǎn)矩陣與平移矩陣,然后將目標點云與計算得到的旋轉(zhuǎn)矩陣與平移矩陣進行計算得到新的目標點云。該算法對于初始點的選取非常苛刻,并且會產(chǎn)生一些錯誤點。Du等[4-5]提出的尺度迭代最近點(Scale Iterative Closest Point,SICP)算法是在ICP算法的基礎(chǔ)上加入了變尺度系數(shù),通過原始點云與目標點云間的最小距離計算旋轉(zhuǎn)矩陣、平移矩陣與尺度系數(shù),但是魯棒性較低,無法避免陷入局部最優(yōu)。以上配準算法為目前應(yīng)用比較廣泛的方法,但是這些算法只能應(yīng)用于點云全局配準,并不適用點云的局部配準,若存在大量缺失點的情況,便不能有一個穩(wěn)定良好的結(jié)果。
相干點漂移(Coherent Point Drift,CPD)算法[6]由Myronenko等在2010年提出。相比之前兩種算法,該算法是將兩個點云配準問題看作是概率密度估計問題,通過建立高斯混合模型[7](Gaussian Mixture Model,GMM)創(chuàng)建似然函數(shù)并用EM (Expectation-Maximization)算法[8]進行求解。與之前的ICP、SICP相比,CPD算法既可以進行局部配準也可以進行全局配準,在進行點云模型配準時,可改善缺失點的情況。 但是原始CPD算法在進行人體面部點云配準時,由于發(fā)型不同導(dǎo)致配準時距離標準差較大,運算時間較長。為了解決此問題,擬提出一種基于雙側(cè)濾波的改進CPD算法。通過提取彩色三維模型的空間位置信息與顏色信息,將顏色信息轉(zhuǎn)化為亮度信息,仿照雙側(cè)濾波算法計算對應(yīng)的亮度信息權(quán)值系數(shù),與原始CPD配準算法中距離權(quán)值系數(shù)相融合,得到更為有效的加權(quán)系數(shù)用于面部點云模型配準,從而縮短配準時間提高配準精度。
點云配準就是在兩個點集中找到相互對應(yīng)的點。原始CPD算法將這種對應(yīng)看作概率問題[9],使用概率值描述這種對應(yīng)關(guān)系,概率值越大,對應(yīng)關(guān)系的確定性也就越大,理想情況下正確對應(yīng)點概率為1,錯誤對應(yīng)點概率為0。這種對應(yīng)關(guān)系通過計算兩個點集中對應(yīng)點之間的距離獲得,主要運算還是使用點云空間坐標信息計算與給定點距離最近的對應(yīng)點。
其中,
雙側(cè)濾波[10-12](Bilateral Filter,BF)算法首先設(shè)定含噪聲圖像y,從含噪聲圖像中還原出原始圖像,然后使用加權(quán)平均對圖像x進行估計。在特定鄰域內(nèi)進行歸一化加權(quán)平均,確定鄰域中心像素,由像素的權(quán)值系數(shù)與距離的權(quán)值系數(shù)相乘得到加權(quán)系數(shù)。雙側(cè)濾波有非迭代性與局部性的特點,以中心像素附屬鄰域像素空間位置差異設(shè)計加權(quán),結(jié)合像素值差異設(shè)計加權(quán)并且雙側(cè)濾波采用局部加權(quán)平均,其加權(quán)系數(shù)由像素空間距離決定的距離權(quán)值系數(shù)和由像素間差值決定的像素值權(quán)值系數(shù)相乘得到。
假定在理想圖像x中加入一定方差的高斯噪聲n,得到含噪聲圖像
電子白板帶有可以標記功能的專用筆。教師可以用它來圈圈畫畫,給學(xué)生強調(diào),突出重點。要知道,我們語文課堂的知識要點很多,而且很零碎,所以要學(xué)生牢牢記住,未免有點強人所難。我們就可以運用這個標記功能,勾畫出重點,讓學(xué)生把該記的記牢固了就可以,其他知識就看作課外拓展,了解就可以了。
y=x+n
在一個特定鄰域以像素p為中心,r為半徑的正方體中,對不同位置的含噪聲圖像yi和yj進行歸一化加權(quán)平均[13],加權(quán)系數(shù)以該鄰域內(nèi)圖像內(nèi)容為基礎(chǔ)進行構(gòu)造。
最后,將二者歸一化加權(quán)平均,即雙側(cè)濾波的加權(quán)系數(shù)為
改進CPD算法是在原始CPD算法只計算點云的距離信息基礎(chǔ)上添加了點云的亮度信息。然后將距離與亮度信息相結(jié)合,構(gòu)造雙側(cè)加權(quán),有效降低面部點云配準時頭發(fā)區(qū)域?qū)ε錅市Ч母蓴_,降低距離標準差,減少配準的運算數(shù)據(jù),縮短運算時間,提高CPD算法用于人體面部配準的性能。
取其最大值,記為Cmax=max(R′,G′,B′),即亮度值V=Cmax。
(1)
式中,l為冪次。亮度相乘與冪運算可增加對最終權(quán)值的影響度。
將得到的亮度權(quán)值系數(shù)與原始CPD算法中計算距離權(quán)重的方法相結(jié)合,得到改進CPD加權(quán)系數(shù)為
三維點云模型數(shù)據(jù)以多邊形文件格式(Polygon File Format,PLY)存儲,既包含點云的空間坐標信息,也包含點云顏色信息。模型頭發(fā)區(qū)域顏色較深,面部區(qū)域顏色較淺,如圖1所示。
圖1 PLY格式三維點云模型
考慮到頭發(fā)區(qū)域點云在空間中位置的不確定性(比如發(fā)型不同)對配準結(jié)果造成干擾,根據(jù)頭發(fā)區(qū)域與面部區(qū)域顏色差異,先將采集的人體面部模型數(shù)據(jù)進行降采樣,然后在改進CPD算法中將模型的顏色信息提取出來,將其轉(zhuǎn)化為亮度值V并計算亮度權(quán)值系數(shù),與距離權(quán)值系數(shù)融合后得到新的加權(quán)系數(shù),從而降低頭發(fā)區(qū)域在配準過程中的權(quán)重,加快配準速率,提高準確性。
實驗在Matlab R2018a,英特爾處理器Intel(R) Core(TM) i5-7200U CPU環(huán)境下運行,使用XYZprinting2.0手持式全彩3D掃描儀掃描獲得三維點云數(shù)據(jù),其支持Win 10系統(tǒng),i5四代以上處理器。為了驗證改進CPD算法的精確性和有效性,在收集的60組數(shù)據(jù)中隨機選取8組彩色三維人體面部模型,通過降采樣[16]使每組模型的待配準點數(shù)約為11 000個。通過計算最小誤差值或迭代的次數(shù)是否達到設(shè)定的閾值判斷配準是否完成。在分析配準效果的優(yōu)劣時,需要考慮:1)兩個點云間的最小誤差值;2)配準完成后兩個點云間的距離標準差;3)配準時算法的收斂速度。
8組數(shù)據(jù)分別使用原始CPD算法、雙側(cè)CPD算法和改進CPD算法進行配準,兩個點云間的距離標準差[6]和運算時間如表1所示。
表1 3種算法點云配準參數(shù)對比
由表1可見,使用改進CPD算法進行配準時,數(shù)據(jù)4的距離標準差為2.050 mm,相比原始CPD算法減小了88%,在8組數(shù)據(jù)中減少最多,配準速度有明顯加快。數(shù)據(jù)2的運算時間為4′49″40,相比原始CPD算法提高了46.9%,在8組數(shù)據(jù)中運算速度最快,距離標準差有明顯減小。8組數(shù)據(jù)點云的距離標準差平均降低了66.01%,運算時間平均縮短18.57%,改進CPD算法相比原始CPD算法和雙側(cè)CPD算法在配準精度與效率方面均有顯著提高。
以數(shù)據(jù)2為例,原始CPD算法、雙側(cè)CPD算法以及改進CPD算法的收斂速度對比曲線如圖2所示。
圖2 3種算法收斂速度曲線
從圖2可以看出,原始CPD算法在迭代64次后收斂,雙側(cè)CPD算法在迭代76次后收斂,改進CPD算法在迭代27次后收斂。由此表明,改進CPD算法的迭代次數(shù)最少,收斂速度最快。另外7組數(shù)據(jù)也有類似結(jié)果。
以數(shù)據(jù)2為例,當(dāng)l取不同值時,改進CPD算法的收斂情況如圖3所示。
圖3 不同l值時改進CPD算法的收斂曲線
由圖3可知,當(dāng)0≤l<1時,改進CPD算法需要迭代64次,當(dāng)1 以數(shù)據(jù)4為例,給RGB值加不同強度高斯噪聲后,改進CPD算法的穩(wěn)定性箱線圖如圖4所示。 圖4 改進CPD算法穩(wěn)定性箱線圖 由圖4可以看出,噪聲方差從1到32每次以二倍增長。箱子的高度表示數(shù)據(jù)的波動,隨著高斯噪聲的方差值σ越大點云標準差也穩(wěn)定增大,并無異常波動,算法整體抗干擾能力較強,穩(wěn)定性較好。其他7組數(shù)據(jù)也有類似結(jié)果。 使用原始CPD算法、雙側(cè)CPD算法以及改進CPD算法對圖1進行面部點云配準,效果如圖5所示。藍色模型為目標點云,綠色模型為待配準點云。由圖5可以看出,原始CPD算法的點云模型配準效果尚可,原因為該方法沒有充分利用彩色三維模型的所有信息,只是采用了模型的空間坐標信息。相比于原始CPD算法,雙側(cè)CPD算法的兩點云融合更為緊密。相比于前兩種算法,改進CPD算法模型的匹配度更高。 圖5 3種算法的配準結(jié)果 對于面部點云配準提出了一種基于雙側(cè)濾波的改進CPD算法。根據(jù)面部三維模型不同區(qū)域的不同亮度分布,計算點云模型不同區(qū)域所對應(yīng)的權(quán)值,降低面部模型頭發(fā)區(qū)域在配準中的權(quán)重,改善了原始CPD算法在進行人體面部點云配準時距離標準差較大、運算時間較長的情況,優(yōu)化了配準效果。實驗結(jié)果表明,改進CPD算法點云的距離標準差平均降低66.01%,運算時間平均縮短18.57%,配準效果與效率明顯提高。3.3 面部點云配準效果與分析
4 結(jié)語