孟 恬 全紅艷
(華東師范大學計算機科學與軟件工程學院 上海 200062)
?
基于快速行進算法的深度圖像增強算法
孟 恬 全紅艷
(華東師范大學計算機科學與軟件工程學院 上海 200062)
由于Kinect設備采集的深度圖像存在空洞,傳統的算法無法對空洞進行有效地填充,針對這一問題研究了一種基于快速行進FMM(Fast Marching Method)的深度圖像增強算法。該算法首先將彩色圖像作為輸入,計算各像素與鄰域像素的多尺度結構相似性MSSIM(Multiple-Scale Structural Similarity);然后利用MSSIM構造擴散函數,通過改進的FMM算法,估計深度圖像空洞區域像素的深度信息;最后為了突出深度圖像中物體邊緣信息,采用改進的引導濾波算法對修復后的深度圖像進行增強,使得修復的深度圖像具有保持邊緣的特性。實驗結果表明,該算法可以準確地填補深度圖像的空洞,并且能夠有效地保持物體邊緣細節,解決了Kinect設備采集中存在深度圖像空洞問題,并能促進三維重建技術的研究及應用。
深度圖 空洞 FMM MSSIM 擴散函數 自適應 引導濾波
近年來,微軟公司研究了體感捕獲設備Kinect,利用該設備可以獲取包括RGB彩色圖像和深度圖像的樣本,為三維重建問題提供了一種便捷的解決方案。然而,由于測量時場景光照變化等原因,使采集的深度圖像出現空洞現象[1],導致人們在研究中不能得到理想的三維重建結果。因此對于深度圖像中的空洞問題,研究人員展開了一系列的研究,并取得了一定的進展。文獻[2]利用高斯濾波的方法進行空洞修復,雖然可以對空洞進行修復,但是只考慮了像素的位置信息,沒有考慮邊緣像素的特殊性,從而造成圖像中物體邊緣信息的丟失。為了彌補高斯濾波方法的不足,文獻[3]提出了雙邊濾波修復方法,該方法同時考慮了像素的位置信息和像素的灰度信息,相比高斯濾波修復方法,雙邊濾波修復方法可以保持物體邊緣細節。但是該方法完全根據深度圖像計算濾波的權值,這將無法填充較大面積的空洞。文獻[4]在雙邊濾波修復方法的基礎上,根據彩色圖像計算得到像素差值的權值,提出了聯合雙邊濾波的空洞修復方法。由于其計算得到的權值不是最佳的,雖然能夠修復圖像中的較大空洞,但修復后圖像物體邊緣尚不清晰,且計算比較復雜。
針對上述問題,本文提出了一種基于FMM的深度圖像增強算法,較好地解決了上述問題。
本文提出的算法基本思路是:將彩色圖像作為輸入,求解每個像素點和N×N鄰域像素的MSSIM值,利用像素的MSSIM構造擴散函數,通過改進的FMM算法對深度圖像空洞進行填充,最后對修復后的深度圖像采用改進的引導濾波算法進行增強,得到最終增強的深度圖像。本文算法框架如圖1所示。

圖1 基于FMM的深度圖像增強算法框架
1.1 多尺度結構相似性
一幅圖像中像素之間都有很強的相關性,特別是空域中鄰近的像素,這種相關性蘊含著視覺場景中物體結構的重要信息[5]。結構相似性SSIM(Structural Similarity)是用來衡量兩幅圖像相似性的指標。對于SSIM是主要是從亮度、對比度、以及結構3個方面衡量原圖像X與對應的失真圖像Y之間的相似程度。為了獲取X和Y的結構相似性,首先將原圖像X和失真圖像Y劃分成若干個像素塊,然后計算參考圖像的第i個分塊xi與失真圖像的第i個分塊yi之間的結構相似度SSIM(xi,yi),表達式如下所示:SSIM(xi,yi)=[l(xi,yi)]α·[c(xi,yi)]β·[s(xi,yi)]γ
(1)
其中亮度比較函數l(xi,yi)、對比度比較函數c(xi,yi)、以及結構比較函數s(xi,yi)表示分別如下:

(2)

(3)

(4)
其中uxi和uyi分別是xi與yi中像素的均值,σxi和σyi分別是xi與yi中像素的方差,σxiyi是xi與yi像素的協方差。C1、C2、C3分別是保證分母非零的常數,用來防止分母等于或太接近0,其中α、β、γ分別是三個比較函數的重要性因子,均大于0。
本文算法將結構相似性的適用范圍進行了改進。將它應用在一副圖像中的兩個像素點上,如圖2所示,將一副彩色圖像作為輸入,定義p點為N×N鄰域像素塊的中心像素,qi(iN×N-1)為p的鄰域像素。它的N×N鄰域像素塊為Bi。分別求解以p為中心的像素塊B1和以qi為中心的圖像塊Bi的結構相似性SSIM(p,qi),其中p點鄰域表示如圖2所示。

圖2 p點與鄰域的表示
定義p點與鄰域的多尺度結構相似性MSSIMp,求解公式如下:
(5)
將求解的MSSIMp作為衡量p點與鄰域像素的相似程度。
1.2 改進的FMM算法


圖3 FMM算法圖像修補示意圖
像素深度估計公式如下:

(6)
其中,qi是p點的鄰域像素,Dqi表示qi點的深度,▽Dq代表像素點qi的梯度,w(p,qi)用來衡量p點與鄰域像素qi相似程度。
由于深度圖像相比于彩色圖像,信息量比較少,因此,可以利用彩色圖像的顏色相似項對深度圖像進行估計。考慮到彩色圖像的在深度填充過程中起引導作用,本文對傳統的FMM算法在兩方面分別進行了改進:
1) 將彩色圖像的顏色和像素的多尺度結構相似性引入到式(6)的權重項w(p,qi)的設計中。
2) 利用彩色圖像像素的多尺度結構相似性,通過自適應調整距離圖T,引導深度圖像進行空洞填充,即在空洞的邊緣區域減緩圖像的修補,在深度圖像空洞的平滑區域,加快深度圖像的修補。
針對改進辦法1),本文首先利用彩色圖像,結合雙邊濾波的設計方式,將w(p,qi)設計為三個權重因子的乘積。三個權重因子分別由空間距離項wdst(p,qi),顏色相似項wclr(q,qi),以及結構相似項wMSSIM(p,qi)組成,表達式如下:
w(p,qi)=wdst(p,qi)·wclr(p,qi)·wMSSIM(p,qi)
(7)
(8)
(9)
(10)


(11)
為了獲得需要填充的空洞像素點,首先根據式(11)和已知的擴散函數Fp,求解距離圖T,然后根據空洞像素的T值來判斷空洞填充過程中像素點的填充次序。最后選擇T值最小的像素利用式(6)進行深度估計。對于式(11)中的擴散函數的定義如下:

(12)
其中GMSSIM表示對圖像所有像素的MSSIM進行高斯濾波的函數。假設p點的坐標為(x,y),根據文獻[7]提出的方法對式(11)進行求解。
(13)
其中:
(14)
(15)


算法1:改進的FMM算法1:?Ω是待修補區域的邊緣,p是待修補的空洞像素2:while?Ω不為空且空洞個數num不等于03: p(x,y)←Head(Band);4:for(m,n)in(x+1,y),(x,y+1),(x-1,y),(x,y-1)5:ifflag(m,n)不等于KNOW6:ifflag(m,n)等于INSIDE7:flag(m,n)←BAND8:inpaint(m,n)9:endif10:F(m,n)←-11+‖GMSSIM(m,n)‖211:T(m,n)←min(Solve(x-1,y,x,y-1),12:Solve(x-1,y,x,y+1),13:Solve(x+1,y,x,y-1),14:Solve(x+1,y,x,y+1))除以F(m,n)15:Insert(m,n)inBand;16:endif17:endfor18:endwhile
首先將像素分為三類,BAND表示δΩ上的像素; KNOWN表示δΩ外部不需要修復的像素;INSIDE表示δΩ內部等待修復的像素。p表示待填充的像素,Band是自定義的數據結構,用來存放p的鄰域像素pi,并且按照像素的T值升序排列。Head函數用來提取T值最小的像素。Inpaint函數采用式(6)的方法進行填充。Solve函數利用文獻[7]提出的方法求解。
根據圖4可以看出,傳統的FMM算法沒有結合彩色圖像的多尺度結構相似性進行指導,在物體邊緣區域填充不準確,而本文提出的方法卻可以有效地保持物體邊緣信息。

(a) 原始深度圖 (b) 傳統FMM結果 (c) 本文結果圖4 空洞填充對比結果
1.3 改進的引導濾波算法
通過改進的FMM算法,使得每一個待修補區域的像素都得到一個適當的深度值。但是,修復的深度圖中部分空洞區域仍然存在噪聲,因此,為了增加空洞像素點深度值的精度,本文采用改進的引導濾波算法對填充的深度圖像進行增強。引導圖像的濾波原理如圖5所示。

圖5 引導濾波流程示意圖
將彩色圖像I作為引導圖像,將修復后深度圖像p作為待濾波圖像,輸出圖像為q,定義Wk是以像素i為中心并且窗口半徑大小為K的鄰域,假設在該窗口中滿足以下局部線性模型:
qi=akIi+bk?i∈wk
(16)
其中ak與bk均為窗口Wk中的常量,對式(16)兩邊進行求導,結果如下:
▽q=a▽I
(17)
可以看出,引導圖像I和輸出圖像q之間的梯度成正比,因此,求解濾波的結果,其實就是令窗口Wk內的能量函數最小,定義公式如下所示:

(18)
其中,ε為規整化因子,用來防止系數ak過大。對式(18)采用最小二乘法進行求解結果如下:

(19)
(20)

由于傳統的引導濾波對不同的窗口采用相同的規整化因子ε,卻沒有考慮不同窗口中像素間的差異性。對于深度圖像的邊緣區域,由于式(18)中a的值比較大,因此需要比較小的ε進行調節,對于平滑區域,則需要比較大的ε進行調節。由于邊緣區域像素點的MSSIM比較小,平滑區域像素點的MSSIM比較大,因此,利用邊緣區域和平滑區域MSSIM的差異性,可以實現自適應調整,并且可以增強算法的魯棒性。

(21)
相對于原始的引導濾波,ak由于受到i點MSSIMi的調節,會使結果更加的穩定,并且修復的圖像能夠更好地保持物體邊緣。
我們運用本文提出的算法, 在Windows 7操作系統的PC機上進行實驗,硬件配置是1.80 GHz Inter? CoreTMi5-3337U CPU、4 GB RAM。實驗平臺是VS2010,使用C++編程實現。在本文實驗求解像素的MSSIM時,設定的求解窗口大小為3×3。
為驗證本文方法的可行性與有效性,實驗分別采用Kinect獲取的深度數據以及Middlebury[9]庫提供的teddy,Reindeer, Lampshadel數據集進行實驗。Kinect采集的深度圖像分辨率為640×480,彩色圖像的分辨率為1 280×1 024,實驗前,首先對Kinect進行標定使得采集的深度圖像和彩色圖像對齊。Middlebury庫提供的teddy,Reindeer, Lampshade數據集的分辨率分別為688×544、344×272、172×136。
2.1 實驗1
本文利用Middlebury庫中提供的Art、Book、Moebius數據集進行實驗,并與聯合雙邊濾波(JBF)[10],自適聯合雙邊濾波(NAFDU)[11],基于MRF插值算法(MRFs)[12]算法進行對比實驗。實驗過程中,對不同的數據集,使用不同的采樣倍數將獲得不同的最小均方差值。表1是本文實驗方法和真實實驗的數值之間的最小均方誤差,即MSE值。

表1 最小均方誤差對比(MSE)
通過表1可以看出,采樣倍數越小,求解的最小均方差值越小,并且本文算法MSE值明顯低于MRFs、JBF,以及NAFDU方法求解的MSE值。并且從而證明了本文算法的可行性。
為了進一步驗證本文算法的可行性,利用數據庫中的Reindeer進行實驗,實驗結果如圖6所示。從圖6可以看出聯合雙邊濾波,以及MRFs算法均在物體邊緣處存在很多“毛邊”。這是因為當深度圖邊緣像素的深度值相差不大時,僅僅依靠彩色圖像的顏色進行約束,會使得物體邊緣處的出現邊緣擴散現象。雖然NAFDU算法雖然解決了以上問題,但是使用該方法填充后的深度卻在邊緣處存在過平滑現象。而使用本文算法填充的深度圖像有效地解決了以上方法出現的邊緣擴散和過平滑問題。

圖6 Reindeer深度圖修復結果
2.2 實驗2
為了驗證本文算法的有效性,利用Kinect采集的深度圖像進行空洞的填充,并與文獻[13]提出的方法進行對比。圖7(a)是利用Kinect采集的深度圖像,圖7(b)是使用文獻[13]修復的深度圖像,圖7(c)是使用本文算法修復的深度圖像。從實驗結果中可以看出,利用本文算法修復的深度圖像可以有效地保持物體邊緣信息。

圖7 Kinect深度數據修復對比圖
2.3 實驗3
選用5×5模板計算彩色圖像邊緣處像素的多尺度結構相似度,其中圖8(a)標記的方框中心像素為邊緣像素,圖8(b)標記的方塊中心像素為前景區域,圖8(c)標記的方塊中心像素為背景區域。單純地僅從像素的顏色值上很難判斷它們屬于前景還是背景區域,但是它們的多尺度結構相似度卻有著比較大的差異。

(a) R=54 G=20 B=21 (b) R=56 G=23 B=18 (c) R=57 G=22 B=29MSSIM=0.5 MSSIM=0.9 MSSIM =0.8圖8 圖像與鄰域的多尺度結構相似性
對圖8中的物體利用Canny算子進行邊緣檢測,然后統計物體邊緣附近像素的多尺度結構相似度,統計結果如圖9所示,其中橫軸表示邊緣像素的個數,縱軸表示像素的MSSIM值。

圖9 多尺度結構相似度系數
從圖9的結果中可以看出,物體邊緣處像素與周圍鄰域像素的MSSIM均值低于0.65,而物體平滑區域像素與周圍鄰域像素的MSSIM均值高于0.65。因此可以將像素的MSSIM作為空洞填充過程中的衡量標準,引導深度圖像進行自適應的空洞填充。
深度圖像的出現為各類計算機視覺的應用開辟了新的道路,并在物體識別、三維重建、場景理解等應用中發揮著重要的作用[14]。本文針對Kinect設備采集的深度圖像存在空洞這一問題,研究了一種基于結構相似性的FMM深度圖像空洞填充算法。該算法首先將彩色圖像作為輸入,利用結構相似性MSSIM計算一幅圖像中每個像素與鄰域像素的相似性;在對深度圖像空洞進行填補時,利用改進的FMM算法估計深度圖像空洞區域的深度信息;最后采用改進的引導濾波算法對修復后的深度圖像進行增強。根據實驗結果可以看出本文提出的算法有效地解決了深度圖像存在的大面積空洞問題,并且從填充結果可以看出,該算法可以有效地保持物體邊緣信息,為以后三維重建過程中的配準等工作研究起到了非常重要的作用。
本文雖然在Kinect獲取的深度圖像修復中取得了階段性的成果,但是還需要進一步的改進:例如不能實時地對獲取的深度圖像進行修復,時間復雜度比較高等。
[1] Vijayanagar K R, Loghman M, Kim J. Refinement of depth maps generated by low-cost depth sensors[C]// International Soc Design Conference. 2012:355-358.
[2] Yang Q Q, Wang L H, Li D X, et al. Hierarchical Joint Bilateral Filtering for Depth Post-Processing[C]// International Conference on Image & Graphics. 2011:129-134.
[3] Min K P, Cho J H, Jang I Y, et al. An iterative joint bilateral filtering for depth refinement of a 3D model[C]// SIGGRAPH Asia 2011 Posters. ACM, 2011:1-1.
[4] Kopf J, Cohen M F, Lischinski D, et al. Joint bilateral upsampling[J]. Acm Transactions on Graphics, 2007, 26(3):96.
[5] Wang Z, Bovik A C, Sheikh H R, et al. Image quality assessment: from error visibility to structural similarity[J]. IEEE Transactions on Image Processing, 2004, 13(4):600-612.
[6] Alexandru Telea. An Image Inpainting Technique Based on the Fast Marching Method[J]. Journal of Graphics Tools, 2004, 9(1):23-34.
[7] Sethian J A. A fast marching level set method for monotonically advancing fronts[J]. Proceedings of the National Academy of Sciences of the United States of America, 1996, 93(4):1591.
[8] Liu N, Zhao D. Detail enhancement for high-dynamic-range infrared images based on guided image filter[J]. Infrared Physics & Technology, 2014, 67:138-147.
[9] Scharstein D, Szeliski R. A Taxonomy and Evaluation of Dense Two-Frame Stereo Correspondence Algorithms[J]. International Journal of Computer Vision, 2002, 47(1-3):7-42.
[10] Kopf J, Cohen M F, Lischinski D, et al. Joint bilateral upsampling[J]. Acm Transactions on Graphics, 2007, 26(3):96.
[11] Chan D, Buisman H, Theobalt C, et al. A Noise-Aware Filter for Real-Time Depth Upsampling[C]// The Workshop on Multi-Camera & Multi-Modal Sensor Fusion Algorithms & Applications. 2008.
[12] Diebel J, Thrun S. An Application of Markov Random Fields to Range Sensing.[J]. Advances in Neural Information Processing Systems, 2005:291-298.
[13] Bapat A,Ravi A,Raman S.An iterative non-local approach for restoting depth maps in RGB-D images[C]// National Conference on Communications. 2015:1-6.
[14] 孫怡.Kinect深度圖像修復技術研究[D].大連:大連理工大學電子與通信工程,2013.
DEPTHIMAGEENHANCEMENTALGORITHMBASEDONFASTMARCHINGMETHOD
Meng Tian Quan Hongyan
(SchoolofComputerScienceandSoftwareEngineering,EastChinaNormalUniversity,Shanghai200062,China)
In order to solve the problem of existing holes in depth images captured by Kinect, we proposed an enhancement algorithm based on the Fast Marching Method. First, we used the color image as input to calculate the Multiple-Scale Structural Similarity of each pixel with their neighbors. Then we used MSSIM to construct the diffusion function, through the improved FMM algorithm, to estimate the depth information to fill depth holes. Finally, to highlight the details of edge features, we used an improved guide filtering algorithm to enhance the edge details. Experimental results show that the algorithm can accurately fill the holes of the depth image and can effectively keep the edge details of the object. With this algorithm, we can solve the problem and can promote the research and application of the 3D reconstruction.
Depth map Hole filling FMM MSSIM Spread function Adaptive Guided bilateral filtering
2016-09-13。孟恬,碩士,主研領域:計算機視覺。全紅艷,副教授。
TP391.41
A
10.3969/j.issn.1000-386x.2017.08.040