您好,欢迎来到九壹网。
搜索
您的当前位置:首页基于边缘信息引导滤波的深度图像增强算法

基于边缘信息引导滤波的深度图像增强算法

来源:九壹网
基于边缘信息引导滤波的深度图像增强算法

张芳芳;李良福;肖樟树

【摘 要】由于Kinect传感器的有效测距有限,深度图像会出现黑洞、噪声等问题,传统的深度图像增强算法仅利用彩色图像信息填充黑洞,增强后的深度图像物体边缘不清晰.针对这种情况,提出基于边缘信息引导滤波的深度图像增强算法.首先,分别获取彩色图像和深度图像的边缘信息,通过融合得到作为引导的边缘图像信息;然后,将边缘信息和迭代非局部中值滤波算法相结合进行黑洞填充;最后,利用自适应中值滤波对图像进行平滑噪声的处理.实验结果表明,该算法能够很好地修复深度图像,得到较为清晰的物体边缘.%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. 【期刊名称】《计算机应用与软件》 【年(卷),期】2017(034)008 【总页数】5页(P197-200,230)

【关键词】深度图像增强;边缘检测;迭代非局部中值滤波;图像去噪 【作 者】张芳芳;李良福;肖樟树

【作者单位】陕西师范大学计算机科学学院 陕西 西安 710119;陕西师范大学计算机科学学院 陕西 西安 710119;陕西师范大学计算机科学学院 陕西 西安 710119 【正文语种】中 文 【中图分类】TP391

随着Kinect传感器的出现,计算机视觉领域有了开放性的变革。Kinect传感器不仅可以获得彩色图像信息,而且可以获取深度图像信息,因此被广泛地应用到三维场景重建[1]、目标跟踪与识别[2]等研究领域。由于Kinect的有效测距范围有限,深度图像会存在以下一些问题:① 某些物体Kinect不能准确地获取,深度值表现为零;② 一个物体挡住其后面的区域,在物体的边缘会出现黑洞;③ 获取深度图像时会产生深度噪声[3]。针对上述问题,国内外许多研究人员提出了一些深度图像增强的算法。

刘俊毅[4]提出一种彩色图像引导的深度图像增强算法,他们将彩色图像信息和传统的快速行进法的图像修补模型相结合,得出了一种新的深度值估计算法并且改进了深度值填充的次序。Bapat等[5]提出了一种迭代非局部中值滤波,他们利用该像素邻域的深度中位数值和此像素的深度值相近的思想进行填充黑洞。Camplani等[6]提出了一个高效的时空黑洞填充算法进行深度图修复,他们使用一个联合双边滤波框架来近似错误的深度值,时间和空间信息均用来选择滤波器权重。Qietal等[7]提出了一种基于融合的深度图像增强算法,他们的方法将传统的增强技术和非局部滤波模型结合。Zhang等[8]提出一种基于彩色图像引导、区域自适应以及深度选择的统一框架对深度图像增强的算法,他们将彩色图像信息、自适应区域选

择和可靠深度的选取统一成一个引导的框架,在这个框架的引导下,对深度图像进行增强处理。但是,以上算法都是只利用彩色图像信息填充黑洞,没有考虑边缘信息。事实上,深度图像中产生无效像素的区域主要位于物体的边界。对于彩色图像修复时,不同的物体可能有相同的颜色,但不需要考虑两个像素是否属于同一物体。但深度图像增强时,属于不同物体的深度值是没有相关性的,因此这些像素不应该用来估计彼此的深度值。

针对上述问题,本文提出了基于边缘信息[9]引导滤波的深度图像增强算法。该算法利用边缘信息引导迭代非局部中值滤波进行黑洞填充,由于填充后的深度图像会有噪声出现,再使用自适应中值滤波[10]对填充后的深度图像进行平滑处理,得到边缘更为清晰的图像,从而提高深度图像质量。

在Kinect获取的深度图像中,黑洞出现的位置大部分位于物体的边缘,只利用彩色图像信息很难准确地找到深度值。针对此问题,本文提出基于边缘信息引导滤波的深度图像增强算法。首先,对Kinect采集的彩色图像和深度图像进行边缘提取得到彩色边缘图像和深度边缘图像,分别增强彩色边缘图像和深度边缘图像,并将增强后的边缘图像进行融合处理,得到作为引导的边缘图像;然后,以融合后的边缘图像为引导,利用迭代非局部中值滤波进行黑洞填充;最后,使用自适应中值滤波对图像进行平滑噪声的处理。算法流程图如图1所示。

本文在获取彩色图像边缘之前,首先利用中值滤波对彩色图像进行平滑处理,使得物体的边缘更为明显,然后采用Canny算子分别获取彩色图像边缘和深度图像边缘,从而得到各自的边缘图像。

由于获取的彩色边缘图像会存在一些非物体边界的边缘,因此,需要对彩色边缘图像进行增强处理。在彩色图像中,某一边缘像素ec=(x,y)T的8邻域边缘像素为c=(x′,y′)T,边缘像素ec的矢量梯度为gc=n[y-y′,x-x′],其中,n[x]=x/||x||2。如果ec属于真正的边界,那么在深度图像中ec的邻域内找一个决定性的矢量梯度

gc。为了确定这个矢量梯度,计算剩余的7个邻域像素的矢量梯度gc,如果最大的矢量梯度大于某一个阈值,则ec为真正的边缘像素。通过此方法,彩色边缘图像上非物体边界的边缘被去除,彩色边缘图像得到增强。

深度边缘图像中存在真正的边缘和错误的边缘。深度图像中黑洞区域的像素称为无效像素,无效像素为零,而有效像素都大于零。为了确定这两个边缘需要检测深度边缘图像中某一边缘像素ed的8邻域像素,如果没有无效像素的存在,则这个像素为真正的边缘像素,如果有无效像素的存在,则这个像素为错误边缘的像素。虽然错误边缘不是真正的物体边缘,但是可以为寻找黑洞部分中物体真正的边缘提供一种引导。

在寻找黑洞区域中真正的边缘时,对于每一个无效像素ed,计算它的矢量梯度gd,计算方法和上述计算彩色边缘图像像素矢量梯度一样。黑洞区域中物体的边界总是有两个边缘,所以基于gd的引导,ed附近的另外一条错误边缘上可以找到像素。在彩色图像中,基于gd的引导,在ed和之间可以找到一个像素el。如果在像素el上的最大的矢量梯度大于某一阈值,则el对应的深度图像中的像素被认为是真正的边缘像素。通过此方法,深度边缘图像中黑洞周围的两条边界得到增强,从而增强了深度边缘图像。

通过上述步骤,分别获得了增强的彩色边缘图像和增强的深度边缘图像。为了获得更准确的图像边缘信息,将增强的边缘图像进行融合处理,得到最终的边缘图像。由于彩色图像的边缘比较可靠,所以以彩色边缘图像为主,如果彩色边缘图像的某一个部分不可靠,再采用深度边缘图像的边缘。具体做法如下:对于增强后的深度边缘图像,首先计算每一个像素的矢量方向,如果彩色边缘图像的边缘接近于该方向,则采用彩色边缘图像的边缘,放弃深度边缘图像的边缘,否则就将深度边缘图像的边缘代替彩色边缘图像的边缘。通过融合增强后的彩色边缘图像和深度边缘图像,得到了更为准确的图像边缘信息,为后续图像处理提供了有利的引导条件。

设I(x,y)表示彩色图像, x和y为像素坐标,NI(x,y)是像素(x,y)的邻域,这里使用一个3×3模式。因此,NI(x,y)表示像素(x,y)的8邻域像素。下面的式(1)中,MED代表矩阵的中位数。

针对彩色图像,首先利用式(1)计算每一个像素的邻域的中位数,然后将该像素的邻域像素都减去中位数,得到式(2)。为了更清楚地表示像素的相似性,用一个灰度模型阈值Cth限定。这个结果用一个9维邻域矢量Ns(x,y)表示,如式(3)。由于Ns(x,y)表示像素之间的相似性,因此相似邻域矢量Ns(x,y)可以被用作深度数值恢复的一个引导。

在彩色图像中,每一个像素的像素值和此像素的邻域中值相似。同样,在深度图像中,每一个像素的深度值和此像素的邻域深度中值相似,因此使用此思想进行黑洞填充。设ND(x,y)代表深度图像D(x,y)像素(x,y)的邻域。同样用一个3×3的模式。对于每一个像素(x,y),计算MD(x,y): 但是,计算时分两种情况:

(1) 3×3的模式对应的边缘图像中没有边缘的出现,即边缘图像中没有像素0的出现,则直接计算MD(x,y),如图2(a)所示。图2(a)中左图代表深度图像,右图代表对应的边缘图像。计算灰色处像素的中值,对应的边缘图像中没有像素0的出现,则在深度图像中利用像素的邻域像素计算中值。

(2) 3×3的模式对应的边缘图像中有边缘的出现,即边缘图像中有像素0的出现,则只利用边缘一侧数据较多的部分计算MD(x,y),如图2(b)所示,计算中值时只利用图中阴影区域的数据。

(1) 计算Md(x,y),Md(x,y)=MED(ND(x,y));

(2) 在(x,y)邻域内的每一个像素位置(p,q),只有在Ns(x,y)为1的像素值处才会比较MD(p,q)和Md(x,y);

(3) 如果的值小于阈值Dth,像素D(p,q)被赋值为MD(p,q),否则D(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)是作为一个黑洞填充深度数据的中间值。随着迭代次数的增加,Cth以一个很小的值δ进行增加,从而得到更为准确的像素相似性。 通过上述步骤,得到填充较为充分的深度图像。由于填充后的深度图像会出现噪声现象,因此利用自适应中值滤波对深度图像进行降噪处理。自适应中值滤波算法是通过对窗口的调整进行图像降噪处理。S(x,y)为像素(x,y)处的像素值,W为初始窗口,设置为3,Zmax和Zmin分别表示窗口最大灰度值和最小灰度值,Zmed表示窗口内中值。具体算法步骤如下:

(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语言实现该算法。本实验使用Kinect获取不同场景的深度图像和彩色图像,大小为0×480。本算法参数选取是通过实验的比较,得出较优值。其中,迭代次数为9次,δ=2时,所有黑洞均被填充,深度图像增强的结果较优。

实验1是采用本文算法对Kinect采集的深度图像进行增强处理,结果如图3。图中(a)列为原始深度图像,(b)列为使用本文算法增强的深度图像。从图中可以看出,黑洞被全部填充,能够很好地修复,并且边缘比较清晰。

为了能够从定量的角度对本文的算法进行评价,实验2选择了Middlebury标准数据集中的Teddy和Art两幅典型图像,分别进行双边滤波(BF)、传统快速行进法(FMM)与本文算法作对比实验,结果如图4所示。从图中观察可得,BF和FMM算法均在纹理和边缘处清晰度不高,如图中黑色框所示,而本文算法在填充黑洞和保持边缘的细节性具有更好的效果。

通过计算,得到三种方法的最终均方根误差(Root Mean Square Error,RMSE),结果如表1所示。由表1可知,使用本文算法处理后的场景的RMSE值均为最小,具有很好的增强效果。

Kinect传感器可以方便地获取深度图像,但是受到许多因素的影响,获取的深度图像质量较低。本文提出了一种基于边缘信息引导滤波的深度图像增强算法。该算法综合运用了边缘信息和彩色图像信息,能够很好地修复由无效像素组成的黑洞,再结合自适应中值滤波降噪,得到边缘清晰平滑的深度图像,提高了深度图像的质量。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 91gzw.com 版权所有 湘ICP备2023023988号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务