崇斯杰,王士瑋,劉利剛
深度圖像的法向指導GPU濾波
崇斯杰,王士瑋,劉利剛
(中國科學技術大學數(shù)學科學學院,安徽 合肥 230022)
深度相機獲取深度圖像由于硬件精度問題,往往會丟失大量細節(jié)信息。因此,對深度圖像的濾波,已經(jīng)成為深度視覺領域一個重要的課題。然而,現(xiàn)階段大多數(shù)濾波的方法對于深度圖像中的尖銳特征保留能力不足,往往會出現(xiàn)過光滑現(xiàn)象。針對深度圖像濾波中的尖銳特征難以保留的問題,提出了一種新的深度圖像的聯(lián)合雙邊濾波方法。首先求解深度圖像每個像素的法向,以投票的方式對法向的權重進行計算以進行聯(lián)合雙邊濾波,最后根據(jù)濾波后的法向更新頂點坐標。該方法引入了高精度的紋理作為指導信息,能獲取更可信的濾波效果。另外,該方法基于點云的局部信息,不需要求解很大的矩陣,且基于GPU并行,運算效率極高。實驗表明,該方法能更好地保留法向的邊界,具有更好的幾何特征保留能力。
深度圖像;點云;聯(lián)合雙邊濾波;紋理;法向濾波
隨著深度相機的發(fā)展,人們獲得物體的三維數(shù)據(jù)越來越便捷,并得到廣泛地應用。但是,由于受測量精度以及采集環(huán)境的影響,現(xiàn)有的深度相機所獲取的深度圖像(深度點云數(shù)據(jù))往往存在大量的噪音。因此,對深度圖像進行有效地濾波與去噪,是一個非常重要的問題。
關于網(wǎng)格曲面的濾波已有大量的工作[1]。雖然許多深度圖像的濾波方法均來自網(wǎng)格曲面濾波的啟發(fā),但直接用于深度點云數(shù)據(jù)還存在著不足。首先,由于深度點云數(shù)據(jù)無拓撲連接關系,許多方法對于尖銳幾何特征保留并不能得到很好的效果。其次,由于在GPU中不便獲取網(wǎng)格曲面的頂點的鄰域信息,網(wǎng)格曲面的濾波方法大多采用CPU串行計算,無法進行實時處理。
對于深度圖像,本文提出一種新的2步式的濾波算法。首先,利用深度圖像的局部深度信息,計算出深度數(shù)據(jù)在各像素處的法向,并通過投票來獲取基于局部法向與紋理信息的指導法向,依照指導法向進行聯(lián)合雙邊濾波。其次,通過迭代更新,使得每個數(shù)據(jù)點在深度方向上均進行小幅度的位移修正,使其局部法向逼近其濾波后的法向。
該方法同時考慮了數(shù)據(jù)的幾何信息與紋理信息,并且由于每一步計算的局部性,可以將每一個像素的計算分配到GPU的一個獨立的線程中,極大地加快了運算效率,能實時得到濾波的結果。
網(wǎng)格曲面去噪一直是圖形學的一個熱門課題。最初研究者們使用基于局部Laplacian坐標的方法來進行去噪,該方法實現(xiàn)快捷但易導致網(wǎng)格產(chǎn)生較大的變形,且對于幾何特征的保留能力不足。FLEISHMAN等[2]提出使用雙邊濾波的方法對網(wǎng)格法向進行濾波,其能很好地保留法向的邊界,使得局部法向變換較大的幾何特征得已保留;LEE和WANG[3]采用最小化頂點法向積分的最小二乘誤差(least square estimate,LSE)來更新濾波后的頂點;ZHANG等[4]在曲面上使用了高斯球面定義的法向來進行濾波,使得法向濾波的結果更自然,對較大的噪聲表現(xiàn)效果更好;SHEN等[5]通過局部法向變化分類的方法實現(xiàn)了對網(wǎng)格的銳化;WEI等[6]提出了一種基于點分類的辦法來進一步提高濾波對特征的保留能力;ZHANG等[7]則在法向濾波的基礎上,通過投票的方式對局部法向進行了邊緣檢測與光滑度檢測,以控制聯(lián)合雙邊濾波的權重,并使得對尖銳特征的保留能力大大增強。
關于點云的濾波也已經(jīng)有了大量的研究。如杜小燕等[8]通過點云鄰域的局部法向的雙邊濾波對點云模型實現(xiàn)了保局部特征的濾波;HAN等[9]則將聯(lián)合雙邊濾波引入了3D點云的濾波中,使得其對特征保留能力更強。而深度圖由于其余圖片的極大相似程度,人們對于其濾波也展開了大量研究。如MUELLER等[10]通過自適應交叉三邊中值濾波(adaptive cross-trilateral depth map filtering,ACTMF)改進了對深度圖的濾波;HU等[11]通過對深度圖像的像素進行聚類分塊,并在GBT域中進行閾值分類以增強其稀疏性,獲得更好地去噪效果;DU和MIAO[12]通過MeanShift方法對大尺寸無效區(qū)域及其相鄰區(qū)域對應的RGB圖像像素進行聚類,以填充深度圖像中缺失的像素并去噪;HUANG等[13]通過顏色引導的信息,使得深度圖像的去噪能更好地保留像素視覺上的邊界;IBRAHIM和LIU[14]則在顏色引導濾波的基礎上,使用優(yōu)化的Markov隨機場來減輕模糊效應。
由于深度圖像本身的特性,其每個像素的鄰域很容易獲取,這樣的濾波方法可很方便地使用GPU進行并行計算以加速算法,該方法在實時重建等應用中已經(jīng)得到廣泛地使用。
雙邊濾波[15]是利用局部信息且能很好地保存邊界信息的一種濾波方式。該方法已經(jīng)廣泛運用于處理那些噪音過大的圖像。其方法簡單而有效,在視頻和計算機視覺中被大量使用[16-19]。同時在網(wǎng)格去噪和點云去噪中,也得到了相當廣泛地應用。文獻[20]介紹了關于雙邊濾波及其應用。
聯(lián)合雙邊濾波是雙邊濾波的一種延伸,其使用適當?shù)闹笇盘?,來分配濾波時不同位置的信息對其影響的權重。該方法在圖像處理中已經(jīng)獲得了成功地應用[21-22],即
其中,()為選定點的鄰域;與為高斯濾波參數(shù),決定了高斯濾波器的平滑程度;G與G為點與點處的指導信息,其具有比原始信息更強地指導作用。
這個方法的思路在于,指導圖G能夠提供更加有效的濾波信息,以獲得更合適的權重,將濾波器導向更佳的結果。在該過程中,如何獲得一張合適的指導圖G是最大的挑戰(zhàn)。此外,在雙邊濾波中,由于對每一個點的處理只用到局部信息,所以非常適合在GPU上并行加速[23]。
本文通過點4周相鄰的鄰域點來計算點的法向。如果4個鄰域點均存在,則求這4個點的最小二乘擬合平面的法向作為該點的法向;如果只存在3個鄰域點,則將3個點所定義的平面作為該點的法向;其他情況不定義該點法向。將定義該點法向的鄰域點的數(shù)量記為n。圖1為深度點云的法向渲染圖。
圖1 法向渲染圖示例
對于非邊界點,定義其局部片段為包含該點的×大小的鄰域;對于邊界點,盡量取該點為“中心”的×大小的鄰域為其局部片段,如圖2所示。本文取不小于3的奇數(shù)。
圖2 包含頂點的3×3片段的不同情況
定義每個點的局部片段的目的是將該點出現(xiàn)的局部掃描誤差的風險平均到周圍的點上。當獲得了一個點的所有片段后,即可對這些片段進行比較,并對其可信程度進行評價,選取其中光滑程度最高的一個片段的平均法向來作為指導該點進行濾波的指導法向。
由于每個片段所包含的點在空間中的距離很近,所以一個片段越光滑,說明其在測量時誤差較低,則保留原始法向的可能性會更高。
對于每個片段,通過定義()來估計該片段上所有像素法向之間的誤差系數(shù),并衡量其法向的置信度為
其中,()為該片段上差異最大的2個像素的法向差值的模,用于衡量其光滑程度為
其中,()為邊緣檢測函數(shù),用于檢測該片段是否包含一條尖銳的邊緣。如果包含,其法向的誤差系數(shù)則增大為
<
其中,為一個充分小的正數(shù),用來保證分母非負。
當片段包含了一條明顯的邊緣時,()會明顯變大;E為片段上2個相鄰像素之間的邊;(e)為衡量像素1,2之間邊e的顯著程度。
特別的,在考慮對法向投票的同時,本文引入了深度圖像的紋理信息,并利用這些高精度的紋理信息進一步指導原本投票時法向的選取。
由于現(xiàn)在的RGB相機精度已經(jīng)很高,所以該參數(shù)可以起到用高精度信息指導低精度信息濾波的作用,即
其中,()為該片段上差異最大的2個像素的顏色差值的模,需檢測其顏色。
誤差系數(shù)越低的片段越光滑,法向可信程度則越高。該片段在后續(xù)聯(lián)合濾波時,被選為指導法向的可能性越大。
為了防止原本光滑的平面因為表面顏色差異而被系統(tǒng)誤判,本文給()添加一條限制條件,若當()的值小于一個閾值,則()直接設為常數(shù)1。當法向判定該片段近似于一個平面時,()不對誤差系數(shù)產(chǎn)生影響。于是,一個光滑的平面因為表面顏色或光影導致的紋理差異將會被忽略。
圖3展示了引入系數(shù)()后,對濾波效果的影響。其中的幾個模型,邊緣由于和相機法向夾角很小,采樣點不夠密集,在不引入紋理信息作為參考時,會在模型邊緣出現(xiàn)一條明顯和該面法向不同的寬邊。然而,引入紋理后,對于邊緣采樣點不夠時,能大大改善其邊界的濾波效果。
圖3 紋理系數(shù)對濾波結果的影響((a)原始深度圖;(b)法向渲染圖;(c)未引入紋理結果;(d)引入紋理結果)
雙邊聯(lián)合濾波是解決原有信息噪聲過大問題的有效方案。在圖片的濾波中,以雙邊濾波為基礎,通過一張預先定義或計算得到一個指導信息,用其代替原有濾波時的顏色域,從而獲得每個像素周圍點濾波的權重。
類似于圖片的濾波,在這里要濾波的是點云的法向。而其與圖像雙邊濾波對應的2個域為法向域和距離域。但原本的法向噪音很大,因此需要用一個精確度更高的信息來替代原法向域。
本文利用對片段投票的方法指導法向進行構造,該方法首先獲取每個點所在的局部片段,對其進行投票,并從中選取最可信的法向作為該點的指導法向。
基于之前定義的片段和誤差系數(shù),需取包含每一個點的所有片段,比較其誤差系數(shù),取其誤差系數(shù)最小的一個片段,并將所有點的平均法向作為該點的指導法向。
在獲得了所有點的指導法向后,便可以利用其對該深度圖像進行雙邊聯(lián)合濾波,即
在更新點坐標時,首先需要保證這些點在滿足深度圖像的像素同時,僅有深度值可更改的特性,且其連接關系不變。所以對每一個點進行單獨更新時,令只在深度方向軸上位移,不更改其,坐標。并將該位移稱為D。
對于每一個非邊界點(即4個鄰點均有定義),找到通過該點,且法向為新法向的平面,并計算該平面與4個鄰點所在深度方向的直線的交點。如果4個鄰點在軸方向上均位移至新的交點,那么按照2.1中法向的定義,該點的新法向將滿足本文法向的計算(圖4)。
圖4 根據(jù)鄰點的法向計算對點位移的影響
接下來設p點的法向要求原位置為的鄰點位移至的新位置,并求對點期望的位移量D=-。
因為濾波要求保持其深度圖像點云密度均勻的特性,所以限制每個點只在深度方向移動,即D只在方向有值,所以有
其中,N為p點濾波后的法向;N[]為N在軸上的分量。
但是,由于每個點在位移時會影響到周圍數(shù)個鄰點的法向,所以未令其直接等于某一個鄰點的法向要求的值。因此,在對某個鄰點p進行法向修正時,實際只執(zhí)行n分之一的偏移量,n與點相鄰的且擁有新法向的像素數(shù)為
本文對所有的像素,均需進行4個鄰點的遍歷,并得到鄰點法向在深度方向上的位移偏差,用式(13)進行計算,即可獲得迭代一次過后的新深度圖像。
本文算法步驟如下:
輸入.深度圖像。
輸出.濾波后的深度圖像。
步驟1.對深度圖像每個點的所有鄰點計算其最小二乘平面的法向;
步驟2.對每一個像素所在的所有局部片段計算其誤差函數(shù);
步驟3.通過投票獲得每個像素的指導法向;
步驟4.利用指導法向進行聯(lián)合雙邊濾波;
步驟5.根據(jù)聯(lián)合雙邊濾波的結果更新點云深度;
步驟6.根據(jù)需要可以重復迭代步驟1~5數(shù)次,以達到更平滑的濾波效果。
本文對局部片段取不同的值,對分辨率不同的幾幅深度圖進行了數(shù)組對照試驗,同時比較了濾波效果。實驗環(huán)境為2.90 GHz的CPU,16 GB內(nèi)存的PC機,使用Visual Studo 2019作為編譯工具,并使用CUDA11.1作為并行計算庫。
圖5~6和圖8是采用kinect2.0采集的分辨率為640×480的常見場景的深度圖,圖7是采用工業(yè)相機采集的分辨率為1025×820的實際工業(yè)場景下的一幀三通管深度圖。
圖5展示了算法對于光滑桌面的濾波結果。可以看出,算法能夠使得原本由于相機誤差導致的凹凸不平的表面明顯變得光滑,隨著取值變大,光滑程度也會隨之提高。在實驗過程中可以獲得較好地濾波效果,同時使算法運行速度下降。相較于不使用指導法向的方法,本文算法在光滑度上并沒有很大差別。
圖6和圖7屬于幾何特征較為明顯的場景。如可見場景中物體的棱角,基于指導法向的雙邊濾波相較于普通的法向濾波而言,對于尖銳的幾何特征有更好地保留效果。這對于幾何識別非常有用,在工業(yè)界對于幾何構件的位置獲取展現(xiàn)出了良好的潛力。隨著取值的變大,能夠將指導域的范圍擴大,獲取更具有可信度的局部片段。但若過大,反而會導致過光滑現(xiàn)象。經(jīng)實驗發(fā)現(xiàn),其能夠獲得較好的效果。
圖5 平面指導濾波結果((a)原始點云;(b) k=3;(c) k=4;(d)未使用指導法向)
圖6 幾何構件指導濾波結果((a)原始點云;(b) k=3;(c) k=4;(d)未使用指導法向)
圖7 三通管指導濾波結果((a)原始點云;(b) k=3;(c) k=4;(d)未使用指導法向)
圖8 人臉指導濾波結果((a)原始點云;(b) k=3;(c) k=4;(d)未使用指導法向)
圖8屬于幾何特征不那么尖銳的人臉場景。在該場景下,本文算法仍然能夠獲得較好的濾波效果,但與未使用指導法向的法向濾波相比,相差不大,僅在眼鏡邊框等較為尖銳的區(qū)域保留效果較為明顯。
表1為點云圖在不同迭代次數(shù)下所需要的時間。
從表1可以發(fā)現(xiàn),對于640×480的深度圖像,本文單次迭代只需要幾十毫秒的時間便可得到非常良好的濾波效果。
表1 不同深度圖各迭代次數(shù)所需運行時間(ms)
若原本深度圖像上的點并未填充整個圖像的話,濾波時間還可以進一步減少。比如對Kinect掃描獲取的人臉點云的濾波,迭代一次僅需要22 ms,這在人臉的實時重建中展現(xiàn)出了良好的潛力。
為了進一步展示本文方法對于邊緣特征的保留能力,圖9選取了深度圖濾波的樣例圖Teddy在不同的參數(shù)下進行濾波,并與NLGBT[11],OGLR[24]和FCG[13]方法相對比。
圖9 不同方法對Teddy濾波的法向渲染圖,其中d~f為本文方法法向域在不同s下的結果((a)紋理圖像;(b)深度圖像;(c)帶噪音法向渲染圖;(d) s=10;(e) s =0.4;(f) s =0.2;(g) NLGBT;(h) OGLR;(i) FCG)
為了對比不同方法對于幾何特征的保留能力,圖9展示了相同噪聲下的深度圖濾波后結果的法向渲染圖。其中顏色差異越大,代表局部法向差異越大,以此來判斷其尖銳特征是否得以保留??梢钥吹?,本文方法在進行雙邊濾波時,法向域越小,其對幾何特征的保留能力越強,但是平滑的效果會相對變差。圖中顯示,本文方法在尖銳邊緣處的法向差異更明顯,能夠更顯著地保留其在深度圖法向上尖銳的特征。
本文提出了一種基于點云法向和紋理的濾波方法,其使用GPU加速對深度圖像進行快速濾波,計算效率得到大幅提高,并具有以下優(yōu)點:
(1) 該方法通過對法向的聯(lián)合雙邊濾波,較好地在光滑點云的同時保留了模型上那些尖銳的特征,即視覺和空間上的“邊緣”。
(2) 該方法通過引入高精度的數(shù)碼相機所獲取的信息,來指導低精度的深度相機所獲取的具有噪聲的點云的法向濾波,加強了濾波的法向可信程度。
在未來可以結合提取連續(xù)幀的方法來消除隨機誤差,增加時間維度,對深度相機獲取的連續(xù)數(shù)幀點云進行三邊濾波,以減小深度相機由于采樣不均勻導致的誤差,進一步提高濾波的準確率。
[1] 李智琦, 毛心怡, 汪俊, 等. 保持特征的三角網(wǎng)格曲面去噪技術綜述與展望[J]. 計算機輔助設計與圖形學學報, 2020, 32(1): 1-15.
LI Z Q, MAO X Y, WANG J, et al. Feature-preserving triangular mesh surface denoising: a survey and prospective[J]. Journal of Computer-Aided Design & Computer Graphics, 2020, 32(1): 1-15 (in Chinese).
[2] FLEISHMAN S, DRORI I, COHEN-OR D. Bilateral mesh denoising[J]. ACM Transactions on Graphics, 2003, 22(3): 950-953.
[3] LEE K W, WANG W P. Feature-preserving mesh denoising via bilateral normal filtering[EB/OL]. [2021-04-12]. https://ieeexplore.ieee.org/document/1604647.
[4] ZHENG Y Y, FU H B, AU O K C, et al. Bilateral normal filtering for mesh denoising[J]. IEEE Transactions on Visualization and Computer Graphics, 2011, 17(10): 1521-1530.
[5] SHEN J G, ZHANG S Y, CHEN Z Y, et al. Mesh sharpening via normal filtering[J]. Journal of Zhejiang University-SCIENCE A, 2009, 10(4): 546-553.
[6] WEI M Q, YU J Z, PANG W M, et al. Bi-normal filtering for mesh denoising[J]. IEEE Transactions on Visualization and Computer Graphics, 2015, 21(1): 43-55.
[7] ZHANG W Y, DENG B L, ZHANG J Y, et al. Guided mesh normal filtering[J]. Computer Graphics Forum, 2015, 34(7): 23-34.
[8] 杜小燕, 姜曉峰, 郝傳剛, 等. 點云模型的雙邊濾波去噪算法[J]. 計算機應用與軟件, 2010, 27(7): 245-246, 264.
DU X Y, JIANG X F, HAO C G, et al. Bilateral filtering denoising algorithm for point-cloud model[J]. Computer Applications and Software, 2010, 27(7): 245-246, 264 (in Chinese).
[9] HAN X F, JIN J S, WANG M J, et al. Guided 3D point cloud filtering[J]. Multimedia Tools and Applications, 2018, 77(13): 17397-17411.
[10] MUELLER M, ZILLY F, KAUFF P. Adaptive cross-trilateral depth map filtering[EB/OL]. [2021-04-07]. http://www.doc88.com/p-498186627297.html.
[11] HU W, LI X, CHEUNG G, et al. Depth map denoising using graph-based transform and group sparsity[EB/OL]. [2021-04-25]. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.676.2354.
[12] DU H Y, MIAO Z J. Kinect depth maps preprocessing based on RGB-D data clustering and bilateral filtering[C]//2015 Chinese Automation Congress. New York: IEEE Press, 2015: 732-736.
[13] HUANG Q W, LI R K, JIANG Z D, et al. Fast color-guided depth denoising for RGB-D images by graph filtering[C]//2019 53rd Asilomar Conference on Signals, Systems, and Computers. New York: IEEE Press, 2019: 1811-1815.
[14] IBRAHIM M M, LIU Q. Optimized color-guided filter for depth image denoising[C]//2019 IEEE International Conference on Acoustics, Speech and Signal Processing. New York: IEEE Press, 2019: 8568-8572.
[15] TOOMASI C, MANDUCHI R. Bilateral filtering for gray and color images[C]//1998 IEEE International Conference on Computer Vision, Bombay. New York: IEEE Xplore, 1998: 839-846.
[16] OH B M, CHEN M, DORSEY J, et al. Image-based modeling and photo editing[C]//The 28th Annual Conference on Computer Graphics and Interactive Techniques. New York: ACM Press, 2001: 433-442.
[17] DURAND F, DORSEY J. Fast bilateral filtering for the display of high-dynamic-range images[J]. ACM Transactions on Graphics, 2002, 21(3): 257-266.
[18] CHO H, LEE H, KANG H, et al. Bilateral texture filtering[J]. ACM Transactions on Graphics, 2014, 33(4): 1-8.
[19] ZHANG M, GUNTURK B K. Multiresolution bilateral filtering for image denoising[J]. IEEE Transactions on Image Processing, 2008, 17(12): 2324-2333.
[20] PARIS S. A gentle introduction to bilateral filtering and its applications[EB/OL]. [2021-04-04]. https://dl.acm.org/doi/10.1145/1281500.1281604.
[21] PETSCHNIGG G, SZELISKI R, AGRAWALA M, et al. Digital photography with flash and no-flash image pairs[J]. ACM Transactions on Graphics, 2004, 23(3): 664-672.
[22] EISEMANN E, DURAND F. Flash photography enhancement via intrinsic relighting[J]. ACM Transactions on Graphics, 2004, 23(3): 673-678.
[23] SRISUK S, KESJINDATANAWAJ W, ONGKITTIKUL S. Real-time bilateral filtering using GPGPU[J]. Applied Mechanics and Materials, 2015, 781: 568-571.
[24] PANG J H, CHEUNG G. Graph Laplacian regularization for image denoising: analysis in the continuous domain[J]. IEEE Transactions on Image Processing, 2017, 26(4): 1770-1785.
Guided normal GPU filtering of depth images
CHONG Si-jie, WANG Shi-wei, LIU Li-gang
(School of Mathematical Sciences University of Science and Technology of China, Hefei Anhui 230022, China)
Depth images acquired by depth cameras generally contain noises and lose detailed geometric information. Thus, the filtering of depth images has become an important topic in both computer graphics and computer vision.However, most current filtering methods can hardly preserve the sharp features in the objects and often result in over-smoothing results. To this end, we proposed a novel joint bilateral filtering method for filtering depth images. First, we estimated the normal of each pixel in the depth image. Then we computed the weight of the normals by voting to perform joint bilateral filtering on all pixels. Finally, the vertex coordinates were updated according to the filtered normals. This method took into account the texture information with high accuracy as guidance information, which can yield more reliable filtering effects. In addition, this method was based on the local information of the point cloud, did not need to solve large matrixes, and employed GPU parallelism leading to extremely high computational efficiency. Experiments show that our method can highly preserve the edges in the normal field, thus preserving sharp features better than previous methods.
depth images; point cloud; joint bilateral filtering; texture; normal filtering
23 June,2021;
TP 391
10.11996/JG.j.2095-302X.2022010118
A
2095-302X(2022)01-0118-07
2021-06-23;
2021-07-26
26 July,2021
崇斯杰(1995–),男,碩士研究生。主要研究方向為計算機圖形學。E-mail:476449992@qq.com
CHONG Si-jie (1995–), master student. His main research interest covers computer graphics. E-mail:476449992@qq.com
劉利剛(1975–),男,教授,博士。主要研究方向為計算機圖形學等。E-mail:lgliu@ustc.edu.cn
LIU Li-gang (1975–), professor, Ph.D. His main research interests cover computer graphics, etc. E-mail:lgliu@ustc.edu.cn