劉陽陽,李仁忠,劉哲聞,張緩緩
(西安工程大學(xué) 電子信息學(xué)院,陜西 西安 710048)
為了提高對(duì)點(diǎn)云數(shù)據(jù)[1]的重建質(zhì)量,使得點(diǎn)云重建更接近于真實(shí)情況,文獻(xiàn)[2]對(duì)點(diǎn)云數(shù)據(jù)用VoxelGrid(體素化柵格)創(chuàng)建一個(gè)k鄰域的三維體素柵格對(duì)點(diǎn)云進(jìn)行精簡(jiǎn),該方法可以在保證點(diǎn)云特征的前提下,大大提高重建速度,但是重建得到的網(wǎng)格并不光滑,重建效果和現(xiàn)實(shí)有一定的偏差。對(duì)重建得到的網(wǎng)格進(jìn)行平滑,可以使模型更接近于現(xiàn)實(shí)模型,LAPLACIAN[3]平滑因使用便捷,對(duì)網(wǎng)格的平滑速度快,而得到了廣泛的應(yīng)用,但是拉普拉斯對(duì)網(wǎng)格的平滑往往會(huì)導(dǎo)致網(wǎng)格的局部收縮,迭代次數(shù)越大,收縮越明顯。TAUBIN[4]結(jié)合了數(shù)字信號(hào)處理方面的知識(shí)來優(yōu)化拉普拉斯算法,使用一個(gè)負(fù)收縮因子μ將拉普拉斯平滑造成的收縮再放大回去,該方法可以在一定程度上將拉普拉斯迭代平滑引起的收縮放大,從一定程度上減少了因迭代次數(shù)過多引起的失真,但是時(shí)間運(yùn)行成本有所增加。后來陸續(xù)有人提出對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行光順擬合,以達(dá)到最終獲取光滑的重建表面的要求,這對(duì)得到光滑的三維重建提供了一個(gè)新思路.由于點(diǎn)云模型的離散性,無法提供一個(gè)關(guān)于點(diǎn)云表面光滑的數(shù)據(jù)定義,通常將點(diǎn)云的局部擬合表面定義為近似曲面。在此思想上,移動(dòng)最小二乘(MLS,moving least squares)的概念最先由LEVIN[5]提出,通過采用局部高階多項(xiàng)式為一組給定的離散采樣點(diǎn)提供一個(gè)逼近的插值曲面。ALEXA等[6]首次將其應(yīng)用到點(diǎn)云模型上,從距離當(dāng)前采樣點(diǎn)較近的鄰近點(diǎn)開始檢索,并把它們投影到當(dāng)前采樣點(diǎn)附近的擬合表面多項(xiàng)式上,之后,陸續(xù)有人對(duì)MLS進(jìn)行了改進(jìn)[7-9]。大部分的改進(jìn)需要對(duì)點(diǎn)云重新構(gòu)造一個(gè)局部參考表面,但是很難在當(dāng)前檢索點(diǎn)附近找到一個(gè)合適的參考平面對(duì)點(diǎn)云進(jìn)行重新投影,對(duì)于密度較低的點(diǎn)云,獲取合適參考平面的難度更大。在實(shí)踐中,對(duì)于確定參考平面的鄰域點(diǎn),一是可以通過計(jì)算測(cè)試點(diǎn)與鄰近點(diǎn)之間的歐幾里德距離,進(jìn)而得到閾值內(nèi)的鄰域點(diǎn)[10]。另一個(gè)解決辦法是找到當(dāng)前檢索點(diǎn)的k近鄰,然后計(jì)算k鄰域平均值[11]。但這些方法中的噪聲因素容易對(duì)近鄰點(diǎn)的計(jì)算造成誤差[12],進(jìn)而對(duì)建立局部參考平面產(chǎn)生影響。
本文給出的基于加權(quán)協(xié)方差矩陣的方式計(jì)算局部參考平面,對(duì)于不同距離的鄰域點(diǎn)設(shè)置不同的權(quán)值,減小噪聲點(diǎn)的影響,實(shí)驗(yàn)結(jié)果表明該方法可以有效獲取高質(zhì)量的流形點(diǎn)云,對(duì)重建網(wǎng)格中的空洞也有一定的修補(bǔ)能力,重建結(jié)果的平滑程度高于對(duì)網(wǎng)格局部平滑后的處理,重建結(jié)果更接近于現(xiàn)實(shí)。
在對(duì)點(diǎn)云進(jìn)行重建中,先通過統(tǒng)計(jì)濾波對(duì)原始點(diǎn)云進(jìn)行大尺度去噪,然后使用體素柵格精簡(jiǎn)去除冗余數(shù)據(jù),且可以在保持點(diǎn)的局部特征下加快重建速度,但精簡(jiǎn)后的數(shù)據(jù)依然會(huì)存在局部空洞、細(xì)小噪聲和誤差等問題[13-14],對(duì)精簡(jiǎn)過的數(shù)據(jù)直接重建,得到的重建表面并不光滑,且存在局部空洞。如果對(duì)重建表面進(jìn)行局部網(wǎng)格平滑[15],可以一定程度上改善重建網(wǎng)格的光滑程度,但效果并不理想,且對(duì)網(wǎng)格平滑并無法修復(fù)重建表面的空洞,因此,本文在對(duì)點(diǎn)云進(jìn)行初步去噪[16-17]和使用體素柵格進(jìn)行精簡(jiǎn)后,采用MLS對(duì)點(diǎn)云數(shù)據(jù)進(jìn)行預(yù)處理,并提出采用加權(quán)的協(xié)差矩陣來計(jì)算局部參考平面,獲取高質(zhì)量流形點(diǎn)云,最后利用多準(zhǔn)則局部投影三角化對(duì)點(diǎn)云進(jìn)行快速網(wǎng)格化,進(jìn)而實(shí)現(xiàn)高質(zhì)量的曲面重建。
MLS的基本思想是采用迭代的投影方式,通過將分布在采樣表面周圍的點(diǎn)移至擬合表面上來消除噪聲,獲得光滑的流形表面,如圖1所示。首先,為查詢點(diǎn)p找到一個(gè)局部參考平面H,q為p在H上的投影(紅點(diǎn)),利用H計(jì)算一個(gè)局部擬合曲面g,p到g上投影點(diǎn)(綠點(diǎn))為最終的點(diǎn)。
圖 1 算法原理Fig.1 Schematic diagram of algorithm
(1)
采用這種加權(quán)方式,根據(jù)鄰近點(diǎn)距當(dāng)前檢測(cè)點(diǎn)距離的不同,進(jìn)而設(shè)置不同的權(quán)值,根據(jù)設(shè)置的距離的閾值,將小于距離閾值的鄰近點(diǎn),作為鄰近點(diǎn)加權(quán)的重要點(diǎn),對(duì)其設(shè)置較大的權(quán)值;在距離閾值范圍外的點(diǎn),根據(jù)距當(dāng)前檢測(cè)點(diǎn)距離的遠(yuǎn)近設(shè)置不同的權(quán)值,距離越遠(yuǎn),占的權(quán)值比重越小。采用加權(quán)協(xié)差方陣計(jì)算參考平面可以從一定程度上抑制噪聲,不僅將距離檢測(cè)點(diǎn)較近的鄰近點(diǎn)考慮在內(nèi),還考慮到了距離較遠(yuǎn)的鄰近點(diǎn)的影響,對(duì)于點(diǎn)云中較尖銳的部分,也能進(jìn)行正確的法線估計(jì)。
H={x|〈e0,x-p〉=0,x∈R3}
(2)
局部擬合曲面,可以通過二階多項(xiàng)式(3)得到:
g(u,v)=Au2+2Buv+Cv2+Du+Ev+F
(3)
二階項(xiàng)式的系數(shù)由式(4)得到:
(4)
式中:(ui,vi) 為pi在參考平面H上的投影坐標(biāo);fi為pi到平面H的垂直高度; 權(quán)重函數(shù)θ(d)=exp(-d2/h2), 其中d為近鄰點(diǎn)與投影點(diǎn)q的距離,h為設(shè)置的高斯系數(shù), 數(shù)值越小, 點(diǎn)被平滑的程度越高。
由二元多項(xiàng)式可求投影點(diǎn)q的局部坐標(biāo),進(jìn)而可得平滑后采樣點(diǎn)的坐標(biāo)。利用局部點(diǎn)云質(zhì)心建立局部坐標(biāo)系,并向MLS曲面投影產(chǎn)生新的頂點(diǎn)。
本文采用的實(shí)驗(yàn)平臺(tái) Intel Core i5-6400 CPU@2.70 GHz,內(nèi)存8 GB,Window10 64 位操作系統(tǒng),Visual Studio 2013 Visual C++win32 控制臺(tái)應(yīng)用程序,開源點(diǎn)云庫(kù) PCL1.7.2.采用微軟 Kinect 2.0[19]視覺傳感器[20],以掃描獲取的實(shí)物人臺(tái)模型三維點(diǎn)云模型數(shù)據(jù)為研究對(duì)象。圖2~4,圖5~7分別為將0°和45°人體模型的體素柵格邊長(zhǎng)設(shè)為 0 cm,1 cm,1.5 cm 精簡(jiǎn)后,對(duì)點(diǎn)云直接重建,對(duì)點(diǎn)云重建后進(jìn)行 Taubin 網(wǎng)格平滑,以及在精簡(jiǎn)后對(duì)點(diǎn)云經(jīng)過 MLS 平滑處理后再重建的效果圖(統(tǒng)計(jì)結(jié)果見表1~4)。表1和表3分別為對(duì)0°和45°人體模型對(duì)重建過程中預(yù)處理階段階段所需的時(shí)間和網(wǎng)格化所需的時(shí)間進(jìn)行了統(tǒng)計(jì), 表2和表4分別對(duì) 0°和45°人體模型對(duì)兩種平滑算法平滑時(shí)間和平滑后重建片面數(shù)量進(jìn)行了統(tǒng)計(jì)。
(a) 三角化重建結(jié)果 (b) Taubin平滑結(jié)果 (c) 經(jīng) MLS后三角化結(jié)果圖 2 0°人體模型的原圖重建Fig.2 Reconstruction of the 0° mannequin
(a) 三角化重建結(jié)果 (b) Taubin平滑結(jié)果 (c) 經(jīng) MLS后三角化結(jié)果圖 3 0°人體模型的1 cm重建Fig.3 1 cm reconstruction of the 0° mannequin
(a) 三角化重建結(jié)果 (b) Taubin平滑結(jié)果 (c) 經(jīng) MLS后三角化結(jié)果圖 4 0°人體模型的1.5 cm重建Fig.4 1.5 cm reconstruction of the 0° mannequin
體素柵格長(zhǎng)度/cm精簡(jiǎn)后的點(diǎn)云數(shù)精簡(jiǎn)時(shí)間/msMLS處理時(shí)間 /ms重建時(shí)間/ms體素柵格長(zhǎng)度/cm精簡(jiǎn)后的點(diǎn)云數(shù)精簡(jiǎn)時(shí)間/msMLS處理時(shí)間 /ms重建時(shí)間/ms028 164041 5089 5351.52 373776881 2951.04 988841 9232 377
表 2 0°時(shí)兩種平滑算法的比較
(a) 三角化重建結(jié)果 (b) Taubin平滑結(jié)果 (c) 經(jīng) MLS后三角化結(jié)果圖 5 45°人體模型的原圖重建Fig.5 Reconstruction of the 45° mannequin
(a) 三角化重建結(jié)果 (b) Taubin平滑結(jié)果 (c) 經(jīng) MLS后三角化結(jié)果圖 6 45°人體模型的1 cm重建Fig.6 1 cm reconstruction of the 45° mannequin
(a) 三角化重建結(jié)果 (b) Taubin平滑結(jié)果 (c) 經(jīng) MLS后三角化結(jié)果圖 7 45°人體模型的1.5 cm重建Fig.7 1.5 cm reconstruction of the 45° mannequin
體素柵格長(zhǎng)度/cm精簡(jiǎn)后的點(diǎn)云數(shù)精簡(jiǎn)時(shí)間/msMLS處理時(shí)間 /ms重建時(shí)間/ms體素柵格長(zhǎng)度/cm精簡(jiǎn)后的點(diǎn)云數(shù)精簡(jiǎn)時(shí)間/msMLS處理時(shí)間 /ms重建時(shí)間/ms026 127070 56210 5351.51 9092128495241.03 9912872 7641 759
表 4 45°兩種平滑算法的比較
在0°人體模型試驗(yàn)的效果圖中,圖2(a)為對(duì)點(diǎn)云直接進(jìn)行三角投影重建,圖2(b)為對(duì)重建的結(jié)果進(jìn)行Taubin平滑,圖2(c)為經(jīng)MLS處理之后的三角化重建的結(jié)果,經(jīng)MLS處理后有效地消除了身體上的小空洞,對(duì)胳膊處相對(duì)較大的空洞修補(bǔ)不明顯,重建效果相較圖2(a),3(b)更為光滑,圖3經(jīng)1 cm精簡(jiǎn)后的重建中,經(jīng)MLS平滑后重建的結(jié)果,局部特征保持相比Taubin平滑的結(jié)果更加逼真,且MLS表現(xiàn)出對(duì)局部空洞良好的修復(fù)能力,此時(shí)Taubin平滑相比于經(jīng)MLS平滑處理,模特臉部的特征重建失真已經(jīng)較為嚴(yán)重,圖4經(jīng)1.5 cm精簡(jiǎn)后重建,Taubin平滑和經(jīng)MLS處理都對(duì)空洞進(jìn)行較為有效的處理,但是經(jīng)MLS處理后的重建,不僅保持重建的光滑性,重建特征更加優(yōu)良,重建的效果更接近現(xiàn)實(shí);在45°人體模型的實(shí)驗(yàn)效果圖中,從圖5(a)直接對(duì)點(diǎn)云進(jìn)行重建的效果圖中看出,邊界噪聲對(duì)重建效果影響較大,圖5(b)經(jīng)Taubin平滑由于邊界噪聲導(dǎo)致重建的不光滑得到的一定的改善,但圖5(c)經(jīng)MLS處理后的重建,對(duì)邊界噪聲的抑制明顯優(yōu)于Taubin平滑,圖6(c)經(jīng)MLS處理,有效修補(bǔ)模特身體左側(cè)的大部分空洞,重建效果相較于Taubin處理更加光滑,MLS依然表現(xiàn)出對(duì)邊界噪聲良好的抑制能力,在圖7的1.5 cm精簡(jiǎn)后的重建中,圖7(c)經(jīng)MLS處理后,模特脖子處的空洞被消除,對(duì)身體中間部分的空洞修補(bǔ)不明顯。從表1和表3的時(shí)間上比較,相對(duì)于三角網(wǎng)格化的時(shí)間,在對(duì)點(diǎn)云進(jìn)行體素柵格精簡(jiǎn)和MLS平滑處理需花費(fèi)更多的時(shí)間,但是預(yù)處理結(jié)果直接影響著最終的網(wǎng)格重建。在表2和表4中,通過對(duì)分別經(jīng)Taubin和MLS兩種算法處理后,得到重建片面數(shù)目進(jìn)行統(tǒng)計(jì),片面總數(shù)相差不大。
在網(wǎng)格重建過程中控制片面數(shù)目基本相同的情況下, 后期經(jīng)過 Taubin 平滑后, 雖然可以改善局部的不平滑, 且隨著精簡(jiǎn)邊長(zhǎng)的增大, 點(diǎn)云數(shù)量減少,但 Taubin 平滑的結(jié)果越來越失真, 且無法有效地消除漏洞。而通過 MLS,利用加權(quán)協(xié)方差矩陣魯棒估計(jì)局部參考平面,進(jìn)而得到更精確的法線估計(jì)。對(duì)于點(diǎn)云的局部空洞有著較好的修補(bǔ),邊界噪聲也得到有效的抑制,通過獲得平滑的流形面,顯著提高網(wǎng)格重建的質(zhì)量,使得重建結(jié)果更加接近于現(xiàn)實(shí)。 從實(shí)驗(yàn)結(jié)果看出, 通過MLS光滑得到流形表面相比 Taubin 平滑可以更好地提高網(wǎng)格重建的質(zhì)量, 但是 MLS 相較于 Taubin 平滑的時(shí)間成本更高一些, 如何縮短MLS獲取流形面的時(shí)間是下一步的工作重點(diǎn)。