侯廣哲, 秦貴和, 梁艷花
(吉林大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 長(zhǎng)春 130012)
隨著三維重建技術(shù)的發(fā)展, 點(diǎn)云越來越容易獲得, 并且廣泛應(yīng)用于自動(dòng)駕駛和機(jī)器人等領(lǐng)域[1]. 點(diǎn)云在獲取過程中會(huì)因?yàn)樵O(shè)備的限制、 重建技術(shù)匹配模糊等因素被噪聲破壞, 如圖1所示. 從而導(dǎo)致底層結(jié)構(gòu)的不穩(wěn)定, 嚴(yán)重影響下游的理解任務(wù). 早期的點(diǎn)云去噪方法主要依靠復(fù)雜的先驗(yàn)知識(shí). 文獻(xiàn)[2]基于局部平滑擬合點(diǎn)云表面; 文獻(xiàn)[3]利用設(shè)定的特殊濾波器, 對(duì)點(diǎn)云和噪聲進(jìn)行分離, 完成去噪; 文獻(xiàn)[4]通過解決稀疏性約束的優(yōu)化問題重構(gòu)點(diǎn)云表面法線, 并根據(jù)重構(gòu)法線更新點(diǎn)的坐標(biāo)位置. 但這些方法都存在算法復(fù)雜、 表面過于光滑等問題.
圖1 干凈點(diǎn)云(A)和帶噪點(diǎn)云(B)Fig.1 Clean point cloud (A) and noisy point cloud (B)
近年來, 隨著深度學(xué)習(xí)方法的不斷發(fā)展, 點(diǎn)云去噪方法也得到了不斷改進(jìn). 特別是PointNet系列[5]網(wǎng)絡(luò)的提出, 使深度神經(jīng)網(wǎng)絡(luò)對(duì)點(diǎn)云直接進(jìn)行處理成為可能. 目前, 已有許多基于深度學(xué)習(xí)的點(diǎn)云去噪方法. 文獻(xiàn)[6]使用PointNet作為基線, 先將點(diǎn)云分割成小點(diǎn)云塊, 然后對(duì)點(diǎn)云塊中心點(diǎn)進(jìn)行兩階段的去噪, 最后再拼接為一個(gè)完整的點(diǎn)云;文獻(xiàn)[7]使用圖卷積網(wǎng)絡(luò)提高點(diǎn)云去噪效果; 文獻(xiàn)[8]中方法通過設(shè)計(jì)一個(gè)特殊的采樣網(wǎng)絡(luò), 對(duì)點(diǎn)云的底層流形進(jìn)行重構(gòu)去噪; 文獻(xiàn)[9]方法將帶噪點(diǎn)云視為底面流形和噪聲分布的卷積之后的分布, 提出對(duì)此分布的似然函數(shù)使用梯度上升的迭代更新每個(gè)點(diǎn)的位置達(dá)到去噪效果.
上述方法都采用了Noisy-Clean的訓(xùn)練方式, 通過有監(jiān)督學(xué)習(xí)將損壞的觀測(cè)結(jié)果映射到未觀察到的干凈版本. 但構(gòu)造Noisy-Clean的點(diǎn)云配對(duì)十分困難: 一方面, 很多方法通過在干凈點(diǎn)云上添加模擬的噪聲生成合成的Noisy-Clean配對(duì), 由于模擬的噪聲與真實(shí)環(huán)境下的噪聲存在較大差異, 因此在合成數(shù)據(jù)集上訓(xùn)練的方法, 在真實(shí)數(shù)據(jù)上的泛化性能通常較差; 另一方面, 采集真實(shí)的Noisy-Clean點(diǎn)云對(duì)常需要高昂的成本. 為解決上述問題, 本文提出一種僅需要含噪點(diǎn)云即可訓(xùn)練去噪網(wǎng)絡(luò)的方法, 以一個(gè)多尺度特征提取網(wǎng)絡(luò)作為基線, 用于測(cè)試方法的有效性. 同時(shí), 本文設(shè)計(jì)一個(gè)新的點(diǎn)云采樣器, 對(duì)點(diǎn)云進(jìn)行兩次不同的采樣, 在采樣集合沒有交集的情況下, 提取點(diǎn)云的主干, 并使用兩個(gè)不同點(diǎn)云在網(wǎng)絡(luò)中進(jìn)行一對(duì)一映射. 實(shí)驗(yàn)結(jié)果表明, 該方法效果顯著, 尤其是在噪聲強(qiáng)度較低的情況下, 具有與有監(jiān)督的方法相近的性能.
本文將干凈點(diǎn)云表示為x,x代表在三維空間中的一個(gè)分布, 點(diǎn)云是遵循該分布離散點(diǎn)的集合.同理, 將噪聲分布表示為n, 假設(shè)與干凈點(diǎn)云分布相互獨(dú)立且均值為0.被噪聲擾動(dòng)后的點(diǎn)云分布表示為y, 可得
y=x+n.
(1)
在以干凈點(diǎn)云做標(biāo)簽進(jìn)行訓(xùn)練的方法中, 去除噪聲利用深度神經(jīng)網(wǎng)絡(luò)擬合回歸模型, 即優(yōu)化如下?lián)p失:
(2)
其中fθ表示該深度神經(jīng)網(wǎng)絡(luò).當(dāng)損失函數(shù)為L(zhǎng)2損失[10]時(shí)可得出式(2)的最小值在y的期望值處獲得.因此, 當(dāng)使用期望值等于擬合對(duì)象的數(shù)據(jù)去替換此擬合對(duì)象時(shí), 深度神經(jīng)網(wǎng)絡(luò)的擬合效果不變.所以如果輸入的數(shù)據(jù)被含有同樣期望值的任意分布替換, 則式(2)的參數(shù)θ不變.基于此, 對(duì)一個(gè)相同的點(diǎn)云或三維空間的分布, 當(dāng)輸入和擬合對(duì)象被期望為0的不同噪聲擾動(dòng)時(shí), 不影響網(wǎng)絡(luò)的訓(xùn)練結(jié)果.
進(jìn)一步, 假設(shè)一個(gè)干凈點(diǎn)云x, 存在另外一個(gè)相似點(diǎn)云, 其分布為x+ε,ε表示二者之間極小的坐標(biāo)差.假設(shè)二者都被相互獨(dú)立的噪聲擾動(dòng)的分布為y和z, 則可得[11]:
(3)
其中σz表示z的方差.由式(3)可見, 當(dāng)ε→0時(shí), 2εEx,y(fθ(y)-x)→0, 此時(shí), 使用(y,z)配對(duì)對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練可近似替代使用(y,x)配對(duì)訓(xùn)練.因此, 本文方法關(guān)鍵在于如何尋找相應(yīng)的y和z.為解決該問題, 本文設(shè)計(jì)一種特殊的采樣器對(duì)同一個(gè)點(diǎn)云采樣, 從而解決了y與z的擬合對(duì)象需要相似的問題.
與二維圖像不同, 三維點(diǎn)云采樣存在兩方面的問題: 首先, 相比于二維圖像的像素點(diǎn)位置是固定的, 點(diǎn)云中各點(diǎn)都處于非規(guī)則狀態(tài), 雖然都是采樣于物體表面, 但不同物體的物理結(jié)構(gòu)以及噪聲的擾動(dòng)會(huì)對(duì)點(diǎn)云采樣造成很大困擾; 其次, 點(diǎn)云特征提取是基于點(diǎn)在三維空間中的坐標(biāo)位置, 下采樣可能會(huì)破壞原有的物理結(jié)構(gòu), 導(dǎo)致特征信息的缺失.因此, 采樣器的設(shè)計(jì)算法尤為重要.
為解決上述問題, 本文首先使用最遠(yuǎn)點(diǎn)采樣點(diǎn)云的骨干形狀, 盡可能保證物理結(jié)構(gòu)的完整, 該方法在密集點(diǎn)云中更有效.但由于噪聲的擾動(dòng), 最遠(yuǎn)點(diǎn)采樣會(huì)導(dǎo)致噪聲最大的點(diǎn)一定會(huì)被采集到, 導(dǎo)致物理結(jié)構(gòu)的變形, 因此, 本文對(duì)采樣方法進(jìn)行改進(jìn), 設(shè)計(jì)流程如圖2所示.
圖2 采樣器設(shè)計(jì)流程Fig.2 Flow chart of sampler design
算法對(duì)同一個(gè)帶噪點(diǎn)云多次采樣, 為防止在網(wǎng)絡(luò)訓(xùn)練過程中由于獲得一對(duì)一的直接映射關(guān)系導(dǎo)致效果下降, 在采樣過程中須遮蓋已被采樣點(diǎn), 本文使用掩碼完成這項(xiàng)任務(wù).因此, 算法中設(shè)置集合Y和T, 集合Y是集合T在集合P中的絕對(duì)補(bǔ)集.首先, 初始化采樣點(diǎn)的數(shù)量N及拒絕半徑R.其次, 對(duì)點(diǎn)云進(jìn)行歸一化, 標(biāo)準(zhǔn)化點(diǎn)云大小, 使后續(xù)的網(wǎng)絡(luò)訓(xùn)練和拒絕采樣能更好發(fā)揮作用.然后, 隨機(jī)采樣一個(gè)初始點(diǎn)加入集合S, 若不是首次采樣, 初始點(diǎn)的選擇一般是距離上次采樣初始點(diǎn)最近的點(diǎn).選擇完成后, 再次從集合Y中選擇與集合S中所有點(diǎn)距離之和最遠(yuǎn)的點(diǎn)pt加入集合S中.但由于噪聲的擾動(dòng), 很可能導(dǎo)致點(diǎn)云中出現(xiàn)離群點(diǎn).因此, 若pt在拒絕半徑的球型范圍內(nèi)鄰近點(diǎn)數(shù)量小于3個(gè)時(shí), 可認(rèn)為pt是一個(gè)離群點(diǎn), 使用與其距離最近的3個(gè)點(diǎn)的坐標(biāo)平均值代替該點(diǎn), 以保證在出現(xiàn)離群點(diǎn)時(shí)盡量恢復(fù)至物體附近.當(dāng)集合S中元素達(dá)到N個(gè)時(shí), 算法結(jié)束.
本文方法在訓(xùn)練網(wǎng)絡(luò)時(shí)可采用兩種方式: 對(duì)多個(gè)點(diǎn)云兩次采樣后配對(duì)訓(xùn)練和只使用一個(gè)點(diǎn)云多次采樣完成訓(xùn)練, 本文使用第一種訓(xùn)練方式.
在其他點(diǎn)云去噪網(wǎng)絡(luò)中, 由于點(diǎn)云受噪聲影響后會(huì)導(dǎo)致坐標(biāo)偏移使鄰近點(diǎn)發(fā)生變化, 對(duì)點(diǎn)云的局部特征提取造成困難. 為解決該問題, 本文設(shè)計(jì)一個(gè)多尺度的靜態(tài)特征提取網(wǎng)絡(luò), 該網(wǎng)絡(luò)包含兩部分: 用于局部特征提取的多尺度融合網(wǎng)絡(luò)和用于噪聲點(diǎn)回歸的去噪網(wǎng)絡(luò), 整體結(jié)構(gòu)如圖3所示.
圖3 點(diǎn)云去噪網(wǎng)絡(luò)Fig.3 Point cloud denoising network
點(diǎn)云的特征提取關(guān)鍵是局部特征的提取, 本文使用K最近鄰(KNN)算法尋找每個(gè)點(diǎn)最近的K個(gè)鄰居點(diǎn), 提取每個(gè)點(diǎn)的局部特征, 并分別使用3個(gè)維度聚合局部特征, 連同輸入拼接在一起得到高維度特征[8]. 整體網(wǎng)絡(luò)設(shè)計(jì)層數(shù)與去噪效果成正比, 但考慮到在嵌入式環(huán)境下的可能性, 并且在實(shí)驗(yàn)驗(yàn)證使用同一網(wǎng)絡(luò)的情況下, 采用較小參數(shù)量的6層結(jié)構(gòu).
當(dāng)損失函數(shù)為L(zhǎng)2損失時(shí), 網(wǎng)絡(luò)的輸出能在擬合對(duì)象的期望處獲得, 并且當(dāng)ε→0時(shí), 可以使用配對(duì)替換.雖然對(duì)同一點(diǎn)云進(jìn)行采樣, 但采樣位置不同會(huì)導(dǎo)致采樣點(diǎn)對(duì)應(yīng)的干凈點(diǎn)云的位置略有不同, 從而會(huì)使點(diǎn)云的凸起或尖銳邊緣的位置由于點(diǎn)的數(shù)量較少而使該處采樣稀疏, 進(jìn)而導(dǎo)致該物理結(jié)構(gòu)在去噪過程中丟失.因此, 本文的損失函數(shù)增加了一個(gè)正則項(xiàng)優(yōu)化該問題:
(4)
其中y表示采樣前的帶噪點(diǎn)云,z1和z2表示兩次采樣后的點(diǎn)云,g(·)表示采樣器,λ表示參數(shù).在實(shí)驗(yàn)中, 根據(jù)最終的實(shí)驗(yàn)效果, 采用參數(shù)λ=0.1.
本文在真實(shí)點(diǎn)云數(shù)據(jù)集Paris-rue-Madame[12]上單獨(dú)采樣50個(gè)不同種類的點(diǎn)云集合, 每個(gè)點(diǎn)云集合包含1×104個(gè)點(diǎn). 為進(jìn)一步增加訓(xùn)練數(shù)據(jù), 本文在數(shù)據(jù)集ModelNet40[13]和PUNet[14]上選取20個(gè)不同種類的點(diǎn)云. 其中在數(shù)據(jù)集ModelNet40上選取100個(gè)點(diǎn)云作為訓(xùn)練集, 20個(gè)點(diǎn)云作為驗(yàn)證集, 20個(gè)點(diǎn)云作為測(cè)試集; 數(shù)據(jù)集PUNet上選取20個(gè)點(diǎn)云作為驗(yàn)證集, 20個(gè)點(diǎn)云作為測(cè)試集, 并將所有訓(xùn)練集切割為包含1 024個(gè)點(diǎn)的點(diǎn)云集合. 對(duì)于各類點(diǎn)云, 本文使用混合噪聲對(duì)訓(xùn)練集進(jìn)行擾動(dòng), 包含了真實(shí)噪聲和均值為0的高斯噪聲, 并采用尺寸變化、 空間旋轉(zhuǎn)等數(shù)據(jù)增強(qiáng)方式將數(shù)據(jù)擴(kuò)充至3×104個(gè)點(diǎn)云. 對(duì)于驗(yàn)證集和測(cè)試集, 本文使用不同強(qiáng)度的高斯噪聲進(jìn)行擾動(dòng). 為驗(yàn)證去噪方法在其他環(huán)境下的去噪效果, 本文另添加了非0均值的Poisson噪聲, 并且可視化在測(cè)試集上的結(jié)果.
實(shí)驗(yàn)環(huán)境采用Windows10系統(tǒng), GPU為GTX1080. 實(shí)驗(yàn)使用Adam優(yōu)化器, 并且設(shè)置Adam的學(xué)習(xí)率衰減為0.001, 平滑常數(shù)分別為0.9和0.999. 采取從頭訓(xùn)練的方式, 網(wǎng)絡(luò)訓(xùn)練迭代300次, 初始學(xué)習(xí)率為0.001, 并且經(jīng)過50次迭代后下降至原來的0.5倍, 當(dāng)網(wǎng)絡(luò)在不同噪聲強(qiáng)度下的驗(yàn)證集效果都達(dá)到最佳時(shí)提前結(jié)束訓(xùn)練.
為更好地評(píng)估本文的去噪方法, 采用評(píng)估兩點(diǎn)云之間的距離指標(biāo)Chamfer Distance (CD)[15]和Point-to-mesh Distance(P2M)[16]. 其中, Chamfer Distance描述了兩個(gè)點(diǎn)云S1與S2之間點(diǎn)的最短距離之和:
(5)
而P2M則是點(diǎn)云每個(gè)點(diǎn)到采樣底層曲面的最小距離之和. 本文通過比較干凈點(diǎn)云與去噪后點(diǎn)云的CD值和去噪后點(diǎn)云的P2M值衡量方法的去噪效果.
在添加有混合噪聲的數(shù)據(jù)集ModelNet40和PUNet上將本文方法與MRPCA(moving robust principal component analysis)[2], GLR(graph Laplacian regularization)[3]和Total Denoising[17]方法進(jìn)行對(duì)比, 結(jié)果如圖4所示. 為更好地觀察實(shí)驗(yàn)結(jié)果, 本文實(shí)驗(yàn)在可視化時(shí)進(jìn)行了著色處理, 圖4右上角的顏色框從藍(lán)到紅依次表示了點(diǎn)到物體表面距離的由近到遠(yuǎn), 當(dāng)點(diǎn)云無噪聲時(shí), 點(diǎn)云呈現(xiàn)出純藍(lán)色狀態(tài). 進(jìn)一步將本文方法與其他方法做定量比較, 結(jié)果列于表1. 其中, 有監(jiān)督方法是為驗(yàn)證方法的有效性, 使用干凈點(diǎn)云和帶噪點(diǎn)云配對(duì)訓(xùn)練, 并且沿用了本文網(wǎng)絡(luò)做基線得出的結(jié)果. 由表1可見, 本文方法在噪聲強(qiáng)度較小時(shí)性能優(yōu)于其他方法, 在噪聲增大時(shí), 也有與有監(jiān)督方法相近的效果.
表1 點(diǎn)云去噪評(píng)價(jià)結(jié)果
圖4 可視化測(cè)試結(jié)果Fig.4 Visualisation test results
為驗(yàn)證自監(jiān)督方法的泛化性能, 本文在數(shù)據(jù)集Paris-rue-Madame上也進(jìn)行了同樣測(cè)試, 結(jié)果如圖5所示. 由圖5可見, 在真實(shí)環(huán)境下本文方法有更好的視覺效果.
綜上所述, 針對(duì)無噪點(diǎn)云采集困難且使用模擬噪聲在合成數(shù)據(jù)集上訓(xùn)練泛化性能較低的問題, 本文提出了一種不需要干凈點(diǎn)云的自監(jiān)督去噪方法, 該方法可用于單點(diǎn)云或無干凈點(diǎn)云環(huán)境下去噪. 首先, 設(shè)計(jì)了一種減少噪聲擾動(dòng)的點(diǎn)云采樣器, 對(duì)點(diǎn)云多次采樣得出訓(xùn)練所需的輸入和擬合對(duì)象; 然后, 設(shè)計(jì)了一個(gè)輕型多尺度點(diǎn)云去噪網(wǎng)絡(luò), 用于更好地提取點(diǎn)云特征. 本文方法在數(shù)據(jù)集ModelNet40和PUNet上都取得了與有監(jiān)督方法相近的效果, 且在噪聲強(qiáng)度較低時(shí), 優(yōu)勢(shì)更明顯.
吉林大學(xué)學(xué)報(bào)(理學(xué)版)2024年1期