基于图像融合的深度图像修复算法
来源:用户上传
作者:
摘 要: 针对目前大多数深度相机采集到的深度图像中含有大量噪点以及大面积的空洞问题,提出一种基于图像融合的深度图像修复算法。采用改进分水岭算法提取彩色图像中的边缘信息,基于KD树近邻算法依据深度图像的梯度信息提取分类信息,将彩色图像的边缘信息与深度图像像素点的分类信息相结合,得到精确地图像分类结果,再对融合后的每一类进行最小二乘法算法拟合空洞,修复深度图像中出现的大面积空洞问题。实验结果表明,该方法在对物体边缘处小面积空洞进行较为准确地修复的同时,能够对深度图像中存在的大面积空洞问题进行有效修复。
关键词: 深度图像修复; 图像融合; 提取边缘信息; 图像分类; 修复空洞; 对比验证
中图分类号: TN911.73?34 文献标识码: A 文章编号: 1004?373X(2020)02?0182?05
Depth image restoration algorithm based on image fusion
LIU Hanwei1, CAO Chuqing2
Abstract: A depth image restoration algorithm based on image fusion is proposed to solve the problem that the depth images collected by most depth cameras contain a large number of noisy points and a large area of voids. The edge information of the color image is extracted by means of the improved watershed algorithm, and the classification information of the depth image is extracted accordingto the gradient information of it and based on the KD tree neighbor algorithm. The accurate image classification results are obtained in combination with the edge information of the color image and the classification information of the depth image pixels. For each class after fusion, the least square algorithm is used to fit the voids to repair the large?area voids in depth images. The experimental results show that the method can not only accurately repair small?area voids at the edge of the object, but also effectively repair large?area voids in the depth images.
Keywords: depth image restoration; image fusion; extract edge information; image classification; repair voids; comparison validation
近年来深度相机得到了广泛的应用,包含深度信息的深度图像在人机交互、人脸技术、三维重建、AR等领域起到了关键作用。然而,目前大多数深度相机由于测量时的光照变化、物体材质的红外反射特性以及区域遮挡等原因,导致采集到的深度图像含有大量噪点以及空洞[1],从而降低了深度图像的质量。
深度相机生成的深度图像的空洞问题主要发生在物体边缘和遮挡区域[2]。目前深度图像修复方法大致分为两类:一类是基于联合双边滤波器的深度图像滤波算法[3],该类方法可以很好地修复物体边缘处的小面积空洞问题,但是对于深度图像出现的大面积空洞问题,滤波器算法迭代次数多,修复时间长,修复产生的深度数据模糊[4];另一类基于加权最小二乘法算法的深度图像修复算法[5],该方法可以修复深度图像大面积空洞,但是由于拟合范围广,产生深度数据不稳定,且在物体边缘处的空洞修复结果往往产生过平滑的现象。因此,本文提出基于图像融合的深度图像修复方法,将彩色图像中获取的边缘信息与深度图像中依据梯度信息获取的分类结果相融合,得到较为精确的分类结果,并对融合后每一类进行最小二乘法拟合空洞,从而实现对深度图像中存在的空洞问题进行修复。
1 图像处理
1.1 算法框架
本文首先获取深度相机配准[6]后的彩色图像以及深度图像,分别对彩色图像以及深度图像进行处理,获取各图像粗略的分类信息,再将分类信息进行融合获取图像较为精确的分类结果,最后对图像中的每一类进行最小二乘法拟合空洞获取最终修复的深度图像。本文算法框架如图1所示。
1.2 彩色图像处理
1.2.1 彩色图像预处理 由于相机在采集图像的过程中,易受到外界环境、设备本身等的影响,图像会产生大量噪点,而分水岭分割算法易受到噪声、梯度局部不规则等因素的影响导致过分割[7],所以在进行彩色图像分割前要进行预处理。
目前,图像去噪的方式大多采用低通滤波,但该类方法在平滑背景噪声的同时模糊了图像的重要边缘[8],不利于图像边缘的提取。使用偏微分方程进行图像去噪,能够更好地保持原始图像的频谱特性,特别是图像边缘处特性。本文建立如下偏微分方程:
设[l(u,v)]为理想不含噪图像,[g(u,v)]为含噪图像,为了除去彩色图像中的噪点,满足如下方程:
[min E(x)=Ωl2(u)+l2(v)dudv] (1)
式中,[Ω]为图像域,采用Lagrange方程和最速下降法进行求解,可以得到:
[lt=??ulul2u+l2v+??vlvl2u+l2v-λ(l-g),u,v∈Ω] (2)
式中,[λ]为权重系数,其计算公式为:
[λ=-12σ2l2u+l2v-gulu+gvlvl2u+l2vdudv] (3)
[σ2=Ω12(l-g)2dudv] (4)
通过上述方法,得到最终去噪后的图像[lt]。将彩色图像[lt]转化为灰度图像,采用顶帽与低帽处理来增强图像的边缘信息,再对图像进行基于重建的形态学开、闭运算[9]来消除图像产生的多余极大值点,减小过分割现象,得到形态学重建后的图像。
1.2.2 彩色图像分割
将彩色图像转化为灰度图像再计算梯度会丢失图像的彩色信息,对彩色图像计算梯度,可以获得更加准确的边缘信息。本文采用如下方法计算彩色图像梯度。
令[r],[g]和[b]为RGB彩色空间沿[R],[G]和[B]軸的单位向量,则有:
[u1=?R?ur+?G?ug+?B?ubv1=?R?vr+?G?vg+?B?vb] (5)
彩色图像在[(u,v)]处的最大变化率方向由角度给出:
[θ=12arctan2uT1v1uT1u1-vT1v1] (6)
[(u,v)]点在[θ]方向上的变化率,即最终梯度值:
[gr(θ)=12uT1u1-vT1v1+uT1u1-vT1v1cos 2θ+2uT1v1sin 2θ12] (7)
传统的分水岭分割只是对图像前景进行分割,但是在低对比度图像中易丢失重要轮廓[10],如图2b)所示。本文分别提取形态学重建后图像的局部极大值区域以及局部极小值区域得到图像前景区域以及背景区域,并对梯度图像在各区域进行极小值标记[11],分别对前景、背景标记后的梯度图像进行分水岭变换。
用M1,M2,…,MR表示彩色梯度图像[gr(u,v)]的极小值标记区域,且[gr(u,v)=0],其中[(u,v)∈Mi(i=1,2,…,R)],Mi为极小值区域,也为最小值点集。令[gr(u,v)]的最小值为[gmin],最大值为[gmax],[C(Mi)]为与极小值区域Mi相联系的汇水盆地点集,[T[n]=(s,t)|gr(s,t)<n],即表示坐标[(s,t)]的集合。[n]从[gmin+1]~[gmax+1]不断增加,则第[n]阶段,值小于[n]的[C(Mi)]内的点为[C(Mi)=C(Mi)∩T[n]],令[C[n]]表示第[n]阶段汇水盆地被淹没部分的合集,即[C[n]=i=1RCn(Mi)]。算法如下:
1) 初始化[gr(u,v)=0],[gmin=gr(u,v)],[gmax=] [max(gr(u,v))][n=gmin+1];
2) 设定[T[n]]和[C[n]]的值;
3) [Q[n]]表示[T[n]]中的连续区域,[qj∈Q[n]],遍历[Q[n]]中的连续区域[qj],如果[qj∩C[n-1]]包含多个[C[n-1]]集合中的区域,则在这些区域间建立分界线;
4) [n=n+1],当[n<gmax]时,执行步骤2)、步骤3);当[n=gmax]时,使用标记函数对分水岭变换产生的各连通区域进行标记,返回标记矩阵[L]。
最终得到对图像前景、背景的分割结果[L1],[L2],如图2b)、图2c)所示,成功将与图像背景灰度值相近的物体(图2中红色圆圈内物体)提取出来,保证了图像重要物体轮廓的提取。最后将分割结果进行融合,如下:
[L(u,v)=β(L1(u,v))+L2(u,v)] (8)
式中,[β]为标签权重防止两个不相同标签相加为相同的数,本文实验中[β=max(L2)]。最终分割结果如图2d)所示。
1.3 深度图像处理
1.3.1 深度图像梯度
由于深度图像中处于同一平面的相邻像素点之间的梯度值变化小,处于平面边缘处的相邻像素点之间的梯度值变化大[12]。本文依据深度图像中相邻像素点梯度值变化对图像进行分类,对深度图像的梯度进行计算的公式为:
[G(u,v)=?f?ui2+?f?vj2] (9)
式中:[f]为深度图像在像素点[(u,v)]处的深度值;[i],[j]分别为[u],[v]方向的单位矢量,得到像素点[(u,v)]的梯度值[G(u,v)]。在对图像进行梯度计算之前需对深度图像进行偏微分去噪减噪,减少对梯度计算产生的影响。
1.3.2 深度图像分类 依据相邻两点之间的梯度差值对深度图像进行分类,引入图像坐标[(u,v)]对梯度[G]进行约束,采用三维数组成簇的方法,对每个坐标点[(u,v)]分配一个整体簇标签:对每一像素点[(u0,v0)]搜索与其在[(u,v,G)]下的欧几里得距离小于阈值[μ]的点[(u1,v1)]划分为同一集群,通过如下公式计算满足阈值的点:
[p=(u1-u0)2+(v1-v0)2+(τ(G1-G0))2<μ] (10)
式中:[p]为[(u,v,G)]的欧几里得距离;[τ]为梯度系数;[μ]为距离阈值。[τ],[μ]为深度图像分类的关键部分,在本文实验中,处于同一平面的相邻两像素点之间的梯度差值保持在5以内。先将梯度差减少[12],[τ=0.5],再以同一平面中相邻两点梯度差值代入式(10)计算欧几里得距离[p]:对于水平或竖直相邻两点[p=2.7];对于斜对角相邻两点[p=2.9]。所以设置梯度系数[τ=0.5],阈值[μ=3]。
对于满足阈值[μ]的点的搜索策略大多采用穷举搜索,依次计算样本集[E]中每个样本到输入实例点的距离,然后抽取满足阈值的点。由于图像像素坐标集合数量大,消耗的时间会很多,因此采用基于KD树的近邻搜索算法来加快对于满足阈值点的搜索。本文深度图像分类算法具体表示为:
1) 新建零矩阵[K(u,v)],令其横纵坐标个数与深度图像[f(u,v)]相同,令初始标签[La=0]。
2) 对矩阵[K(u,v)]每一点[(ui,vi)],令[K1=K(ui,vi)],找出在深度图像[f(u,v)]中的相同坐标点[(ui,vi)],利用KD树算法找出在深度图像[f(u,v)]中满足点[(ui,vi)]在式(10)成立下的点集合[(uj,vj)],对于每一个点[(uj,vj)],令[K2=K(uj,vj)],其中:
若[K2>K1>0],则[K(uj,vj)=K(ui,vi)];若[K1>K2>0],则[K(ui,vi)=K(uj,vj)]。
若[K2>0]且[K1=0],則[K(ui,vi)=K(uj,vj)];若[K1>0]且[K2=0],则[K(uj,vj)=K(ui,vi)]。
若[K1=0],则[La=La+1],[K(uj,vj)=La];
循环步骤2)将矩阵[K(u,v)]中每个像素点进行赋值,最终得到深度图像的分类集群[K(u,v)]。
上述步骤将不同平面的像素点进行分类,分类结果如图3d)所示。图中同一种颜色代表同一类,白色区域表示为深度图像空洞部分。
1.4 图像融合及拟合空洞
依据深度图像的梯度信息可以获取每类平面的基本位置信息,但其产生的边缘模糊;彩色图像可以获取物体较为精确的边缘信息,但容易出现过分割现象。将深度图像、彩色图像分类结果融合可以有效地弥补以上缺点。本文图像融合和拟合空洞步骤具体表示为:
1) 地取彩色图像分割结果[L]的每一类[Lh]([h]为彩色图像分割个数)的坐标集合[(uh,vh)],赋值在深度图像的分类结果[K]中相对应坐标的坐标值,得到新的分类结果[R]。
2) 在新的分类结果[R]中取与[Lh]相同坐标的坐标点[Rh],绘制[Rh]坐标值的直方图,求得出现次数最多的数[Rhmax],通过式(11)为每一类[Rh]进行赋值:
[Rh=Rhmax, Rhmax≠0Rhmax2, Rhmax=0] (11)
式中,[Rhmax2]为除0外出现次数最多的数。得到最终的分类结果[R1],如图3e)所示。
3) 取[R1]中除值为0外坐标值相同的每一类坐标点集[(uk,vk)],在深度图像[f(u,v)]中对点集[(uk,vk)]进行最小二乘法拟合空洞。为提高拟合效率,当点集[(uk,vk)]中有效像素点个数大于4 000时,随机选取4 000个点作为样本点进行最小二乘法拟合。
4) 利用双边滤波处理,消除深度图像剩余小区域空洞和噪点,得到最终的修复图像。
本文修复算法能成功将原始深度图像中存在的大面积空洞问题进行修复,其中各步骤效果图及最终修复结果如图3所示。
2 实验结果及分析
本文算法在CPU为Intel i7,主频为1.80 GHz,四核处理器,8 GB内存,操作系统为Windows 10的计算机上实现,软件部分基于Matlab语言编写。
为了验证本文算法的有效性,实验中分别对采用Kinect1、Kinect2、图漾MF830?5M三种深度相机获取的多幅自采深度图以及Middlebury公开数据库[13]中深度图像进行修复实验,并和双边滤波(BF)[14]、联合双边滤波(JBF)[3]进行对比。
2.1 自采数据修复对比实验
在对自采图像的修复实验中发现,本文算法在较为准确地修复物体边缘处空洞的前提下,对于图像中出现的大面积的空洞修复效果较好,如图4c)所示;双边滤波(BF)在修复深度图像时,物体边缘处容易产生毛刺现象,修复效果不佳,如图4d)所示;联合双边滤波(JBF)对大面积空洞现象的修复结果容易产生模糊,且算法迭代次数较高,如图4e)所示。
为了使各方法的修复效果进行更为直观的表示,将图中代表性区域进行放大。部分自采图像的修复结果如图4~图6所示。
2.2 Middlebury数据集数据修复对比实验
实验选取Middlebury公共数据库中的数据进行定量分析,从中选取Baby,Wool,Cloth,Plastic,Midd,Teddy深度图作为测试对象,将数据集提供的深度图像作为真实图,为了能够进行定量分析,在深度图像中人工添加一些噪声和空洞。深度图像修复结果见图7。 在本文实验中,添加高斯噪声(均值为0,标准差为3)到实际深度图像中,同时随机添加6处小于60×60像素的空洞。将添加噪声和空洞后的深度图像作为待修复图像,如图7b)所示。将本文算法与BF和JBF的修复效果进行对比,各算法修复效果如图7c)~图7e)所示,各方法修复的均方误差RSME和峰值信噪比PSNR的结果如表1所示。
3 结 语
本文针对目前大多数深度相机获取的深度图像中存在的大面积空洞问题,提出基于图像融合的深度图像修复算法,利用彩色圖像获取的边缘信息与深度图像获取的分类信息相结合的方法对深度图像进行修复。本文方法在保证深度图像边缘处小面积空洞较为精确修复的前提下,将剩余大面积空洞进行了有效的修复,后续研究中,优化步骤使得修复效率进一步的提高。
注:本文通讯作者为曹雏清。
参考文献
[1] JUN X,CHENG C, CHOU, FERIS R, et al. Single depth image super resolution and denoising via coupled dictionary learning with local constraints and shock filtering [C]// 2014 IEEE International Conference on Multimedia and Expo. Chengdu: IEEE, 2014: 142?145.
[2] 胡天佑,彭宗举,焦任直,等.基于超像素分割的深度图像修复算法[J].光电子·激光,2016(10):1120?1128.
[3] 刘继忠,吴文虎,程承,等.基于像素滤波和中值滤波的深度图像修复方法[J].光电子·激光,2018,29(5):539?544.
[4] 吕朝辉,沈萦华,李精华.基于Kinect的深度图像修复方法[J].吉林大学学报(工学版),2016,46(5):1697?1703.
[5] 谭筠,安向京,贺汉根.基于优化的深度图像修复与恢复算法[J].华中科技大学学报(自然科学版),2013(z1):137?139.
[6] ZHANG F, LEI T, LI J, et al. Real?time calibration and registration method for indoor scene with joint depth and color camera [J]. International journal of pattern recognition & artificial intelligence, 2018, 32(7): 1854021.
[7] CAI Q, LIU Y Q, CAO J, et al. A watershed image segmentation algorithm based on self?adaptive marking and interregional affinity propagation clustering [J]. Acta electronica sinica, 2017, 45(8): 1911?1918.
[8] 张建伟,王译禾,陈允杰.基于非线性扩散滤波结构信息的图像去噪方法[J].计算机工程与设计,2016,37(11):2971?2978.
[9] DEVKOTA B, ALSADOON A, PRASED P W C, et al. Image segmentation for early stage brain tumor detection using mathematical morphological reconstruction [J]. Procedia computer science, 2018, 125: 115?123.
[10] CAI Q, LIU Y Q, CAO J, et al. A watershed image segmentation algorithm based on self?adaptive marking and interregional affinity propagation clustering [J]. Acta electronica sinica, 2017, 45(8): 1911?1918.
[11] WANG L L, LI G D, SHI L P, et al. Research on segmentation of grape disease based on improved watershed algorithm [C]// International Conference on Smart City & Systems Engineering IEEE Computer Society. Changsha: IEEE, 2017: 46?51.
[12] PAN J, HU Z, SU Z, et al. Deblurring text images via l0?regularized intensity and gradient prior [C]// 2014 IEEE Conference on Computer Vision and Pattern Recognition IEEE Computer Society. Columbus: IEEE, 2014: 67?71.
[13] Anon. Middlebury datasets [EB/OL]. [2017?12?24]. http://vision.middlebury.edu/stereo.
[14] 徐欢,郑江滨.Kinect深度图像修复算法[J].微电子学与计算机,2013,30(11):98?103.
作者简介:刘汉伟(1996—),男,山东济南人,硕士,主要研究方向为图像处理、模式识别等。
曹雏清(1982—),男,安徽宣城人,博士,讲师,主要研究方向为模式识别与人工智能、智能化机器人、人机交互与多机器人协作等。
转载注明来源:https://www.xzbu.com/8/view-15122916.htm