張芳芳 李良福 肖樟樹
(陜西師范大學計算機科學學院 陜西 西安 710119)
?
基于邊緣信息引導(dǎo)濾波的深度圖像增強算法
張芳芳 李良福 肖樟樹
(陜西師范大學計算機科學學院 陜西 西安 710119)
由于Kinect傳感器的有效測距有限,深度圖像會出現(xiàn)黑洞、噪聲等問題,傳統(tǒng)的深度圖像增強算法僅利用彩色圖像信息填充黑洞,增強后的深度圖像物體邊緣不清晰。針對這種情況,提出基于邊緣信息引導(dǎo)濾波的深度圖像增強算法。首先,分別獲取彩色圖像和深度圖像的邊緣信息,通過融合得到作為引導(dǎo)的邊緣圖像信息;然后,將邊緣信息和迭代非局部中值濾波算法相結(jié)合進行黑洞填充;最后,利用自適應(yīng)中值濾波對圖像進行平滑噪聲的處理。實驗結(jié)果表明,該算法能夠很好地修復(fù)深度圖像,得到較為清晰的物體邊緣。
深度圖像增強 邊緣檢測 迭代非局部中值濾波 圖像去噪
隨著Kinect傳感器的出現(xiàn),計算機視覺領(lǐng)域有了開放性的變革。Kinect傳感器不僅可以獲得彩色圖像信息,而且可以獲取深度圖像信息,因此被廣泛地應(yīng)用到三維場景重建[1]、目標跟蹤與識別[2]等研究領(lǐng)域。由于Kinect的有效測距范圍有限,深度圖像會存在以下一些問題:① 某些物體Kinect不能準確地獲取,深度值表現(xiàn)為零;② 一個物體擋住其后面的區(qū)域,在物體的邊緣會出現(xiàn)黑洞;③ 獲取深度圖像時會產(chǎn)生深度噪聲[3]。針對上述問題,國內(nèi)外許多研究人員提出了一些深度圖像增強的算法。
劉俊毅[4]提出一種彩色圖像引導(dǎo)的深度圖像增強算法,他們將彩色圖像信息和傳統(tǒng)的快速行進法的圖像修補模型相結(jié)合,得出了一種新的深度值估計算法并且改進了深度值填充的次序。Bapat等[5]提出了一種迭代非局部中值濾波,他們利用該像素鄰域的深度中位數(shù)值和此像素的深度值相近的思想進行填充黑洞。Camplani等[6]提出了一個高效的時空黑洞填充算法進行深度圖修復(fù),他們使用一個聯(lián)合雙邊濾波框架來近似錯誤的深度值,時間和空間信息均用來選擇濾波器權(quán)重。Qietal等[7]提出了一種基于融合的深度圖像增強算法,他們的方法將傳統(tǒng)的增強技術(shù)和非局部濾波模型結(jié)合。Zhang等[8]提出一種基于彩色圖像引導(dǎo)、區(qū)域自適應(yīng)以及深度選擇的統(tǒng)一框架對深度圖像增強的算法,他們將彩色圖像信息、自適應(yīng)區(qū)域選擇和可靠深度的選取統(tǒng)一成一個引導(dǎo)的框架,在這個框架的引導(dǎo)下,對深度圖像進行增強處理。但是,以上算法都是只利用彩色圖像信息填充黑洞,沒有考慮邊緣信息。事實上,深度圖像中產(chǎn)生無效像素的區(qū)域主要位于物體的邊界。對于彩色圖像修復(fù)時,不同的物體可能有相同的顏色,但不需要考慮兩個像素是否屬于同一物體。但深度圖像增強時,屬于不同物體的深度值是沒有相關(guān)性的,因此這些像素不應(yīng)該用來估計彼此的深度值。
針對上述問題,本文提出了基于邊緣信息[9]引導(dǎo)濾波的深度圖像增強算法。該算法利用邊緣信息引導(dǎo)迭代非局部中值濾波進行黑洞填充,由于填充后的深度圖像會有噪聲出現(xiàn),再使用自適應(yīng)中值濾波[10]對填充后的深度圖像進行平滑處理,得到邊緣更為清晰的圖像,從而提高深度圖像質(zhì)量。
在Kinect獲取的深度圖像中,黑洞出現(xiàn)的位置大部分位于物體的邊緣,只利用彩色圖像信息很難準確地找到深度值。針對此問題,本文提出基于邊緣信息引導(dǎo)濾波的深度圖像增強算法。首先,對Kinect采集的彩色圖像和深度圖像進行邊緣提取得到彩色邊緣圖像和深度邊緣圖像,分別增強彩色邊緣圖像和深度邊緣圖像,并將增強后的邊緣圖像進行融合處理,得到作為引導(dǎo)的邊緣圖像;然后,以融合后的邊緣圖像為引導(dǎo),利用迭代非局部中值濾波進行黑洞填充;最后,使用自適應(yīng)中值濾波對圖像進行平滑噪聲的處理。算法流程圖如圖1所示。
圖1 本文算法流程圖
1.1 圖像邊緣圖像的獲取
1.1.1 彩色圖像邊緣和深度圖像邊緣檢測
本文在獲取彩色圖像邊緣之前,首先利用中值濾波對彩色圖像進行平滑處理,使得物體的邊緣更為明顯,然后采用Canny算子分別獲取彩色圖像邊緣和深度圖像邊緣,從而得到各自的邊緣圖像。
1.1.2 彩色邊緣圖像增強
1.1.3 深度邊緣圖像增強
深度邊緣圖像中存在真正的邊緣和錯誤的邊緣。深度圖像中黑洞區(qū)域的像素稱為無效像素,無效像素為零,而有效像素都大于零。為了確定這兩個邊緣需要檢測深度邊緣圖像中某一邊緣像素ed的8鄰域像素,如果沒有無效像素的存在,則這個像素為真正的邊緣像素,如果有無效像素的存在,則這個像素為錯誤邊緣的像素。雖然錯誤邊緣不是真正的物體邊緣,但是可以為尋找黑洞部分中物體真正的邊緣提供一種引導(dǎo)。
1.1.4 邊緣圖像融合
通過上述步驟,分別獲得了增強的彩色邊緣圖像和增強的深度邊緣圖像。為了獲得更準確的圖像邊緣信息,將增強的邊緣圖像進行融合處理,得到最終的邊緣圖像。由于彩色圖像的邊緣比較可靠,所以以彩色邊緣圖像為主,如果彩色邊緣圖像的某一個部分不可靠,再采用深度邊緣圖像的邊緣。具體做法如下:對于增強后的深度邊緣圖像,首先計算每一個像素的矢量方向,如果彩色邊緣圖像的邊緣接近于該方向,則采用彩色邊緣圖像的邊緣,放棄深度邊緣圖像的邊緣,否則就將深度邊緣圖像的邊緣代替彩色邊緣圖像的邊緣。通過融合增強后的彩色邊緣圖像和深度邊緣圖像,得到了更為準確的圖像邊緣信息,為后續(xù)圖像處理提供了有利的引導(dǎo)條件。
1.2 彩色圖像信息的獲取
設(shè)I(x,y)表示彩色圖像,x和y為像素坐標,NI(x,y)是像素(x,y)的鄰域,這里使用一個3×3模式。因此,NI(x,y)表示像素(x,y)的8鄰域像素。下面的式(1)中,MED代表矩陣的中位數(shù)。
MI(x,y)=MED(NI(x,y))
(1)
針對彩色圖像,首先利用式(1)計算每一個像素的鄰域的中位數(shù),然后將該像素的鄰域像素都減去中位數(shù),得到式(2)。為了更清楚地表示像素的相似性,用一個灰度模型閾值Cth限定。這個結(jié)果用一個9維鄰域矢量Ns(x,y)表示,如式(3)。由于Ns(x,y)表示像素之間的相似性,因此相似鄰域矢量Ns(x,y)可以被用作深度數(shù)值恢復(fù)的一個引導(dǎo)。
(2)
(3)
1.3 邊緣信息引導(dǎo)濾波進行黑洞填充
在彩色圖像中,每一個像素的像素值和此像素的鄰域中值相似。同樣,在深度圖像中,每一個像素的深度值和此像素的鄰域深度中值相似,因此使用此思想進行黑洞填充。設(shè)ND(x,y)代表深度圖像D(x,y)像素(x,y)的鄰域。同樣用一個3×3的模式。對于每一個像素(x,y),計算MD(x,y):
MD(x,y)=MED(ND(x,y))
(4)
但是,計算時分兩種情況:
(1) 3×3的模式對應(yīng)的邊緣圖像中沒有邊緣的出現(xiàn),即邊緣圖像中沒有像素0的出現(xiàn),則直接計算MD(x,y),如圖2(a)所示。圖2(a)中左圖代表深度圖像,右圖代表對應(yīng)的邊緣圖像。計算灰色處像素的中值,對應(yīng)的邊緣圖像中沒有像素0的出現(xiàn),則在深度圖像中利用像素的鄰域像素計算中值。
(2) 3×3的模式對應(yīng)的邊緣圖像中有邊緣的出現(xiàn),即邊緣圖像中有像素0的出現(xiàn),則只利用邊緣一側(cè)數(shù)據(jù)較多的部分計算MD(x,y),如圖2(b)所示,計算中值時只利用圖中陰影區(qū)域的數(shù)據(jù)。
圖2 邊緣圖像引導(dǎo)的原理圖
基于上述方法得到較為準確的MD(x,y),它可以作為一個深度參考值。一旦MD(x,y)對于每一個像素位置已經(jīng)計算,進行下一步的操作。對于給定的像素值(x,y),計算如下:
(1) 計算Md(x,y),Md(x,y)=MED(ND(x,y));
(2) 在(x,y)鄰域內(nèi)的每一個像素位置(p,q),只有在Ns(x,y)為1的像素值處才會比較MD(p,q)和Md(x,y);
Md(x,y)不同于MD(p,q)和MD(x,y),MD(p,q)和MD(x,y)是在改變Md(x,y)之前計算出來的,而Md(x,y)是作為一個黑洞填充深度數(shù)據(jù)的中間值。隨著迭代次數(shù)的增加,Cth以一個很小的值δ進行增加,從而得到更為準確的像素相似性。
通過上述步驟,得到填充較為充分的深度圖像。由于填充后的深度圖像會出現(xiàn)噪聲現(xiàn)象,因此利用自適應(yīng)中值濾波對深度圖像進行降噪處理。自適應(yīng)中值濾波算法是通過對窗口的調(diào)整進行圖像降噪處理。S(x,y)為像素(x,y)處的像素值,W為初始窗口,設(shè)置為3,Zmax和Zmin分別表示窗口最大灰度值和最小灰度值,Zmed表示窗口內(nèi)中值。具體算法步驟如下:
(1)W初始為3。如果Zmed≥Zmax或者Zmed≤Zmin,則將窗口W擴展為W+2;
(2) 如果Zmax>Zmed>Zmin,并且Zmax>S(x,y)>Zmin,則輸出S(x,y);
(3) 如果Zmax>Zmed>Zmin,并且S(x,y)≥Zmax或者S(x,y)≤Zmin,則輸出Zmed。
由上述步驟可以看出,一個像素被判斷是否為噪聲點,主要取決于Zmax和Zmin。如果某一像素值大于等于Zmax或者小于等于Zmin,則該像素值為噪聲點,被修改為Zmed。中值濾波在平滑噪聲的同時能很好地保持邊緣,得到更清晰的圖片。
針對本文提出的算法,在PC機上基于Matlab語言實現(xiàn)該算法。本實驗使用Kinect獲取不同場景的深度圖像和彩色圖像,大小為640×480。本算法參數(shù)選取是通過實驗的比較,得出較優(yōu)值。其中,迭代次數(shù)為9次,δ=2時,所有黑洞均被填充,深度圖像增強的結(jié)果較優(yōu)。
實驗1是采用本文算法對Kinect采集的深度圖像進行增強處理,結(jié)果如圖3。圖中(a)列為原始深度圖像,(b)列為使用本文算法增強的深度圖像。從圖中可以看出,黑洞被全部填充,能夠很好地修復(fù),并且邊緣比較清晰。
圖3 本文算法實驗結(jié)果圖
為了能夠從定量的角度對本文的算法進行評價,實驗2選擇了Middlebury標準數(shù)據(jù)集中的Teddy和Art兩幅典型圖像,分別進行雙邊濾波(BF)、傳統(tǒng)快速行進法(FMM)與本文算法作對比實驗,結(jié)果如圖4所示。從圖中觀察可得,BF和FMM算法均在紋理和邊緣處清晰度不高,如圖中黑色框所示,而本文算法在填充黑洞和保持邊緣的細節(jié)性具有更好的效果。
圖4 從左到右為Middlebury數(shù)據(jù)集Teddy、Art的實驗結(jié)果
通過計算,得到三種方法的最終均方根誤差(Root Mean Square Error,RMSE),結(jié)果如表1所示。由表1可知,使用本文算法處理后的場景的RMSE值均為最小,具有很好的增強效果。
表1 基于Middlebury數(shù)據(jù)集的RMSE值對比
Kinect傳感器可以方便地獲取深度圖像,但是受到許多因素的影響,獲取的深度圖像質(zhì)量較低。本文提出了一種基于邊緣信息引導(dǎo)濾波的深度圖像增強算法。該算法綜合運用了邊緣信息和彩色圖像信息,能夠很好地修復(fù)由無效像素組成的黑洞,再結(jié)合自適應(yīng)中值濾波降噪,得到邊緣清晰平滑的深度圖像,提高了深度圖像的質(zhì)量。
[1] Camplani M, Mantecon T, Salgado L. Depth-color fusion strategy for 3-d scene modeling with kinect[J]. IEEE Transactions on Cybernetics, 2013, 43(6): 1560-1571.
[2] Wang Z, Mirbozorgi S A, Ghovanloo M. Towards a kinect-based behavior recognition and analysis system for small animals[C]// 2015 IEEE Biomedical Circuits and Systems Conference, 2015: 1-4.
[3] 徐歡, 鄭江濱. Kinect深度圖像修復(fù)算法[J]. 微電子學與計算機, 2013, 30(11): 98-103.
[4] 劉俊毅. 彩色圖像引導(dǎo)的深度圖像增強[D]. 浙江大學, 2014.
[5] Bapat A, Ravi A, Raman S. An iterative, non-local approach for restoring depth maps in RGB-D images[C]// IEEE National Conference. 2015: 1-6.
[6] Camplani M, Salgado L. Efficient spatio-temporal hole filling strategy for kinect depth maps[C]// International Society for Optics and Photonics. Electronic Imaging, 2012: 841-845.
[7] Qi F, Han J, Wang P, et al. Structure guided fusion for depth map inpainting[J]. Pattern Recognition Letters, 2013, 34(1): 70-76.
[8] Zhang D, Yao Y, Zang D, et al. A spatio-temporal inpainting method for Kinect depth video[C]// IEEE International Conference. 2013: 67-70.
[9] Chen W, Yue H, Wang J, et al. An improved edge detection algorithm for depth map inpainting[J]. Optics and Lasers in Engineering, 2014, 55(7): 69-77.
[10] 周萌萌, 任子暉, 周旋旋. 基于窗口的自適應(yīng)中值濾波算法[J]. 電視技術(shù), 2015, 39(22): 15-18.
DEPTHIMAGEENHANCEMENTALGORITHMBASEDONEDGEINFORMATIONGUIDANCEFILTER
Zhang Fangfang Li Liangfu Xiao Zhangshu
(SchoolofComputerScience,ShaanxiNormalUniversity,Xi’an710119,Shaanxi,China)
Because of limited distance measurement of Kinect sensor, black holes and noise etc. would occur in the depth map. Previous approaches to fill the black holes only used color images information and might cause unclear object edges of depth map after strengthening. So we proposed a new depth map enhancement algorithm based on edge information guided filtering. First, we combined the edge information of the color image and depth map as guide edge image information. Second, we combined the edge information and the non-local iterative median filtering algorithm to cover the hole. Finally, we used the adaptive median filter to smooth the noise. Experimental results show that the proposed approach can produce high quality depth map and can get a sharp edge.
Depth map enhancement Edge detection Iterative non-local filtering Image denoising
216-09-08。國家自然科學基金項目(61573232,61201434,61401263);中央高校基本科研業(yè)務(wù)費專項資金資助項目(GK201503068)。張芳芳,碩士生,主研領(lǐng)域:圖像處理,計算機視覺。李良福,副教授。肖樟樹,副教授。
TP391
A
10.3969/j.issn.1000-386x.2017.08.035