基于导向滤波的深度图优化方法
2018-02-28许建新李一博
万 众,熊 智,许建新,李一博
(南京航空航天大学,南京211106)
0 引言
深度图像反映了场景中各点到相机的距离信息,为视觉导航、目标跟踪、障碍物规避等计算机视觉任务的实现提供了重要环境信息,其图像质量直接影响后续分析与研究。现有的廉价深度图像采集设备,如微软公司的体感动捕设备Kinect和大疆公司的无人机机载导航系统Guidance,由于周围环境影响以及设备自身成本限制,采集的深度图常常含有较多的噪声,导致边缘不匹配,甚至在物体的中心会产生孔洞[1]。图1和图2分别是Guidance采集的灰度图像和深度图像,图2中实线描绘的是与灰度图对应的物体边缘,可以清晰地发现深度图像难以反映事物的真实形态,不仅如此,人物中心的孔洞表明此处深度数据缺失。如果不经处理和优化,这些异常的深度信息将直接影响物体的正常识别,为后续高级视觉任务的完成造成障碍,因此需要对采集的原始深度图像进行处理优化。
现有的深度图像优化补全方法大都采用引导补全的思想。深度图像采集设备在提供深度图像时会采集与之配准的灰度图像(或彩色图像),这些灰度图像通常包含了较好的物体轮廓信息,它们为深度图像的引导补全提供先验信息。引导补全就是在结构一致性假设的基础上,以灰度图像中的物体结构为参照,在深度图中维持物体边缘结构,同时补全缺失景深信息。文献[2]提出基于联合双边滤波的深度图像增强算法,利用前景分割和联合双边滤波插值的方法进行边缘细节保持,取得了一定的效果;但提出的插值增强算法计算效率低,不能满足实时计算需要,此外文章仅对分割出来的前景物体进行了增强,对整个深度图的修复作用不大。文献[3]通过将整幅深度图像进行区域分割,在每个区域内使用深度图本身作为引导图像,进行导向滤波时只实现了各区域内部的视差阶梯平滑;但该方法除了依赖于较为理想的分割结果外,使用深度图本身作为引导,质量差的引导图难以保证滤波质量。文献[4]采用了联合双边滤波方法对孔洞深度图进行修补,并通过选择4个方向滤波结果的融合,克服滤波器方向性的问题,保持锐利的物体边缘;但缺点是联合双边滤波内部存在双Gauss内核卷积运算,滤波器本身效率就不高,进行4个方向滤波的时间开销更大,难以满足实时性的需求。
本文认为在进行视差图的优化时并不是毫无先验信息的仅凭借深度图边缘进行改进,利用视差图与双目相机左视图的关系可以将边缘信息丰富的灰度图作为边缘信息基准,将深度图加以引导,即通过改进的导向滤波处理步骤实现深度图的优化。导向滤波作为一种高效的边缘保持滤波器,近年来被广泛用于图像去雾处理和抠图技术中[7-8],本文将其引入到深度图的优化中来,使用处理后的灰度图对深度图进行导向滤波,获得了较好的结果。除了主观的良好视觉效果外,本文通过具体指标量化优化结果,对图像质量的提升效果进行了数字化客观评价。
1 基于导向滤波的深度图优化方法
1.1 基于单尺度Retinex算法的引导图像增强处理
导向滤波的效果很大程度上取决于引导图像的质量,而原始的灰度图像往往质量有待提高——自然光照条件不均导致的阴影会产生虚假边缘,局部亮度过高会破坏真实的物体边缘。良好的边缘信息是正确引导视差图优化的关键,原始灰度图将会干扰后续的导向滤波结果。快速的Retinex算法图像处理能够给在不影响系统实时性的前提下,较好的消除阴影强化边缘。因此,本文在对深度图像进行导向滤波之前,采用单尺度Retinex算法对原始灰度图像进行增强处理,消除光照不均阴影的影响,同时增强物体边缘,为后续步骤提供引导图像基础。
Retinex算法的基础是模拟人类视网膜的工作原理,将获取的原始灰度图像S分解为两部分:入射光分量产生的图像L和物体反射性质分量产生的图像R[9], 如式(1)所示:
式(1)中,S(x,y)为眼睛或相机感光时在视网膜或者成像平面上形成的图像,等式右边两项分别为物体反射性质分量图像R(x,y)和入射光分量图像L(x,y)。这一算法的基本思想就是在原始图像中S(x,y),通过数学方法消除光照影响分量L(x,y), 从而尽量保留物体本质属性图像R(x,y)。在单尺度Retinex算法中,R(x,y)表征物体材质纹理等属性,对应的是图像的高频部分,而L(x,y)则对应图像的低频部分。 因此,L(x,y)可用S(x,y)的Gauss滤波结果近似表示,即:
其中,∗为卷积符号,F(x,y)为Gauss函数,具体数学表达形式如下(σ为标准差):
对式(1)两边取对数,再将式(2)带入可得反射属性分量图像R(x,y)的对数函数域表达式:
最后,从式(4)中将反射属性分量图像R(x,y)解出,即可获得消除阴影增强边缘的图像,进而作为后续深度图导向滤波的引导图像。
1.2 基于导向滤波的深度图优化
导向滤波作为一种具有边缘保持能力的滤波器,近年来被广泛用于图像去雾技术和抠图技术中。相比于联合双边滤波器,导向滤波不仅可以在边缘保留和细节平滑上获得相当滤波效果,其优势更多地表现在计算速度和滤波效率方面,因为其核心流程可以在积分图像已知的情况下通过窗口内的求和运算快速实现,因此算法效率高,复杂度低。其边缘保持能力恰好满足深度图优化时的需求,同时高效的运算实时性也使其在实践中更具竞争力。
1.1节中已获得边缘信息增强的引导图像R,本小节假设待优化的深度图像为P。导向滤波的作用就是获得与输入深度图像P相似,但在边缘、纹理部分与引导图像R相似的优化输出深度图像Q。导向滤波的基本假设为:在以像素k为中心的窗口ωk内,引导图Ri和滤波输出图像Qi之间是一个局部线性模型,满足如下[10]:
对式(5)两边同时求导, 则有 ▽Qi=ak▽Ri。这就表明在引导图R与输出图像Q之间具有相同的梯度信息,即引导图像中的边缘信息可以尽可能地保留下来,这对于深度图的优化具有重要作用,大大增强了深度图像中物体基本形态的辨识度。为了保证输出图像Q尽可能保留原始深度图P中的正确深度信息,一般通过最小化代价函数实现。代价函数具体形式如下:
式中,ε为正则化参数,用来防止过拟合。当ak过大时将发生过拟合,此时εa2k作为一项较大的惩罚项,导致较大的整体代价函数E(ak,bk),这样在求取最小化代价函数的ak和bk时就可以防止过拟合的发生。
对式(6)求偏导, 得到式(7), 从而解出ak和bk, 如式(8)所示:
2 实验与结果分析
本文选用的深度图像采集设备为无人机机载导航系统Guidance,其深度图产生方式采用双目立体视觉原理[12]——利用两个摄像机拍摄同一场景灰度图,依据左右图像之间的水平视差产生深度信息,进而形成深度图像。其输出的原始深度图像存在大量噪点,物体边缘难以辨识,甚至存在深度信息缺失的孔洞(如图2中人物腹部区域)。这些深度信息异常的诱因主要包括:拍摄光照条件制约和消费级相机光圈较小导致的图像采集质量不佳,以及场景中纹理信息较少导致的深度信息获取困难等。需要说明的是图2最左侧有大约1/6的黑色部分没有深度信息是由于左右相机视野无法完全重叠,导致无法通过匹配计算景深的区域,这种深度信息缺失是立体视觉成像原理决定的,不是深度图质量问题,因此也不是深度图优化需要考虑的。本文将通过上一小节所述处理方法对采集的深度图进行优化处理,从主观视觉效果和客观标准量化两方面说明所述深度图优化算法的具体性能。
2.1 基于Retinex图像增强的引导图处理结果
图3(a)与图 3(b)对比, 可以明显发现经过单尺度Retinex方法处理后不仅图像亮度增强,而且消除了大量阴影,视觉效果有了明显提高。进一步对这两幅图像进行canny边缘检测,检测结果分别如图 3(c)与图 3(d)所示。 在图 3(c)中, 背景白墙上的光影被错误地当作物体边缘检出,而且图像上方墙壁水平边缘也不完整。经过处理后,在图3(d)中白墙上的光影不再被当作边缘,阴影造成的虚假边缘被消除,边缘信息也得到了更完备的描述。引导图质量的提高为后续导向滤波的顺利进行奠定了基础。
2.2 基于导向滤波的视差图优化结果
将2.1节增强处理后的灰度图像作为引导图,通过具有边缘保持能力的导向滤波器对深度信息采集设备输出的原始深度图像进行处理,得到的结果如图4所示。
对比图4(a)和图 4(b), 大量的噪声斑块得到平滑,深度图像的视觉效果有了明显的提升。具体结合图3(a)原始灰度图分析可知,灰度图中的边缘信息被正确地保留下来,有效防止原始输出中因边缘部分匹配差而导致的扩散现象,最直观地体现为人物轮廓清晰可辨。此外,深度信息缺失部分也得到了一定程度的插值补充,例如人物中心的的孔洞得到了有效的填补。
2.3 在消费级深度获取设备中应用的实际效果具体分析
为了进一步说明本文方法的优化性能,本文通过大疆的Guidance采集真实不同场景下的多组深度图像进行优化,验证结果如图5所示。
所处理的3幅图像从上到下深度信息缺失的情况依次增加,第一行图像中没有深度缺失产生的孔洞,第二行人物中心有一个较小的孔洞,第三行图片中由于景物颜色相近、缺乏纹理产生了大量的景深信息缺失。在经过联合双边滤波方法和本文提出的优化流程后,从视觉效果上可以直观地看出斑块部分都得到了一定程度的平滑。此外,人物的轮廓都有所改善,物体的边缘信息都得到了保留。而且在细节上,本文方法在人物的轮廓上恢复效果更佳,例如前两行图像的人物边缘更加清晰,第三行中空调管道边界分明。说明经过处理后的深度图像能够较好地反应景物的轮廓和边界,可以为后续视觉任务提供更好的图像信息。值得指出的是尽管对于闭合的孔洞填补效果较好,但在一些景深信息缺失严重的地方(如最后一幅图中的空调上半部分)不能获取完全的深度图补全效果。
2.4 基于Middlebury标准图像集的深度图优化结果定量评价
峰值信噪比(PSNR)作为一种可量化的客观标准广泛用于图像质量评价中,其计算方法如式(9)和式(10)所示。
深度图优化后的PSNR时需要真实场景的深度图作为基准,而这一基准深度图在实际实验中难以获得,一般通过结构光等其他手段获取。因此,本文采用国际上公认的标准Middlebury数据集来进行实验。具体实验步骤为:首先将数据集提供的配准图像对作为双目相机的输出图像,基于双目立体视觉的深度图产生原理[12],模拟输出的深度图像;然后通过本文所述方法对这一深度图像进行优化处理;最后结合标准数据集中场景的真实深度图,计算相应的PSNR指标[16]。为了更好地说明本文优化方法的效果,将多数文献中提到优化效果较好的联合双边滤波算法一同进行对比实验,实验结果如图6和表1所示。
表1 优化效果PSNR指标对比结果Table 1 Comparison of the results of PSNR index using different optimization methods
图6中,第一行中使用的标准图像名称为Cones,第二行的名称为Teddy。分别对比第三列和四、五两列,可以看出两种算法都能够在有效地保持边缘的同时对景深相似处进行平滑处理,并填补部分深度信息缺失的孔洞。例如:Cones中面具部分和Teddy中书的封皮都得到了有效填充,且没有破坏面具和书的边缘。从表1中的PSNR指标来看,两种方法都能够提升深度图质量,并且本文方法处理效果略优。
除了在优化效果上略优于联合双边滤波算法结果,本文所述方法在计算效率上的优势更为明显。在实验环境为Windos7操作系统 (CPU型号i3-4130,主频3.40GHz,内存4G),软件 VS2013中运行,联合双边滤波时间1274ms,本文方法185ms,速度提升超过5倍,计算效率优势显著。
3 结论
采用单尺度Retinex方法对灰度图预处理可以有效消除阴影造成的虚假边缘,提高引导图质量。再通过导向滤波对深度图像进行优化后,可以较好地在深度图像中还原物体的真实边缘信息,并在一定程度上填补深度信息缺失的孔洞,提高了深度图质量。此外,该方法在计算效率上优势显著,适合作为一种实时深度图优化算法应用于实践。
[1]李知菲,陈源.基于联合双边滤波器的Kinect深度图像滤波算法[J]. 计算机应用, 2014, 34(8): 2231-2234.LI Zhi-fei,CHEN Yuan.Kinect depth image filtering algorithm based on joint bilateral filter [J].Journal of Computer Applications, 2014, 34(8): 2231-2234.
[2]刘金荣,李淳芃,欧阳建权,等.基于联合双边滤波的深度图像增强算法[J]. 计算机工程, 2014, 40(3):249-252.LIU Jin-rong, LI Chun-peng, OUYANG Jian-quan, et al.Depth image enhancementalgorithm based on joint bilateral filtering [J].Computer Engineering, 2014, 40(3): 249-252.
[3]时华,朱虹,余顺园.基于分割导向滤波的亚像素精度立体匹配视差优化算法[J].模式识别与人工智能,2016, 29(10): 865-875.SHI Hua, ZHU Hong, YU Shun-yuan.Disparity optimization algorithm on sub-pixel accuracy for stereo matching using segmentation guided filtering [J].Pattern Recognition and Artificial Intelligence, 2016, 29(10): 865-875.
[4]吕浩,陈世峰.基于多方向滤波的强边缘深度图像补全方法[J]. 集成技术, 2016, 5(6): 36-44.LV Hao,CHEN Shi-feng.Strong edge-aware depth image completion with multi-direction filtering [J].Journal of Integration Technology, 2016, 5(6): 36-44.
[5]Chen L, Lin H, Li S T.Depth image enhancement for Kinect using region growing and bilateral filter[C].21stInternational Conference on Pattern Recognition, 2012:3070-3073.
[6]Jung S W.Enhancement of image and depth map using adaptive joint trilateral filter[J].IEEE Transactions on Circuits & Systems for Video Technology, 2013, 23(2):258-269.
[7]韩正汀,路文,杨舒羽,等.基于导向滤波优化的自然图像去雾新方法[J].计算机科学与探索,2015,9(10): 1256-1262.HAN Zheng-ting, LU Wen, YANG Shu-yu, et al.Improved natural image dehazing algorithm based on guided filtering [J].Journal of Frontiers of Computer Science and Technology, 2015, 9(10): 1256-1262.
[8]雷凯茹,赵海,朱宏博,等.基于导向半径参数自适应的数字抠图算法[C].沈阳科学学术年会,2015.LEI Kai-ru, ZHAO Hai, ZHU Hong-bo, et al.Digital cutout algorithm based on guided filter with adaptive radius parameter[C].Shenyang Science Conference, 2015.
[9]王天涛,赵永国,常发亮.基于视觉传感器的障碍物检测[J]. 计算机工程与应用, 2015, 51(4): 180-183.WANG Tian-tao, ZHAO Yong-guo, CHANG Fa-liang.Obstacle detection based on vision sensor [J].Computer Engineering and Applications, 2015, 51(4): 180-183.
[10]徐杰.基于导向滤波的高精度目标分割算法[D].兰州大学,2015.XU Jie.A high accuracy segmentation algorithm based on guided image filter[D].Lanzhou University, 2015.
[11]He K M, Sun J. Fastguided filter [J]. Computer Science,2015.
[12] 刘佰鑫, 苏琦.Guidance—机器人视觉传感平台[J].预应力技术, 2016(3): 16-21.LIU Bai-xin,SU Qi.Guidance robot vision sensor platform [J].Prestress Technology, 2016(3): 16-21.
[13]Pang J H, Au O C, Guo Z.Improved single image dehazing using guided filter [C].Asia-Pacific Signal and Information Processing Association Annual Summit and Conference 2011, 2011: 522-525.
[14]Zhu S P, Gao R D, Li Z.Stereo matching algorithm with guided filter and modified dynamic programming[J].Multimedia Tools and Applications, 2017, 76(1):199-216.
[15]Liu J Y, Gong X J, Liu J L.Guided inpainting and filtering for Kinect depth maps [C]. International Conference on Pattern Recognition, 2012: 2055-2058.
[16]杨嘉琛,侯春萍,沈丽丽,等.基于PSNR立体图像质量客观评价方法[J].天津大学学报(自然科学与工程技术版), 2008, 41(12): 1448-1452.YANG Jia-chen, HOU Chun-ping, SHEN Li-li, et al.Objective evaluation method for stereo image quality based on PSNR [J].Journal of Tianjin University(Science and Technology), 2008, 41(12): 1448-1452.