本发明属于图像处理技术领域,具体涉及一种基于rgb-d的ssim结构相似度的迭代深度图结构修复方法。
背景技术:
深度数据在三维视觉系统中扮演着重要的角色,其可广泛应用与三维重建、机器人导航、三维追踪、无人驾驶、虚拟现实等各种领域。但由于现阶段深度感知技术尚不成熟,由深度传感器获取的深度数据均存在严重失真,因此采用计算手段对深度图数据进行修复十分必要。深度图数据的获取主要分为主动与被动两种方法:被动方法是通过对双目或多目彩色图进行立体匹配从而获得对应的深度图像。在过去二十年里,被动方法获得了长足的发展,但其对于弱纹理与遮挡情况下的处理始终不如人意,导致部分区域数据缺失;主动方法主要是通过物理传感器来获取深度信息。与被动方法相比,使用主动方法获取的深度信息更加准确,尤其是在弱纹理区域,主动方法表现的更加鲁棒。但由主动方法获得的深度图通常会有分辨率低、噪声、空洞等缺陷。因此,如何通过计算手段恢复出高质量的深度数据是三维计算机视觉领域亟待解决的关键问题之一。
深度图数据一般是由场景的几何结构信息和平滑区域构成的,因此结构信息在深度图数据中扮演着至关重要的角色。例如,3d-tv系统中的基于深度图像的视点合成方法要求深度图像和同视点的rgb图像几何结构精确对准,否则就会引起合成图像的裂纹和空洞问题,造成合成图像质量严重下降。然而,深度图的失真问题会进一步导致其结构信息的损坏或者丢失,比如分辨率低、噪声、空洞、数据缺失等。简单地解决消除上述失真问题并不能修复深度图中已损坏的结构信息,继而无法真正恢复出高质量的深度图。因此,如何高精度地恢复深度图的结构信息是上述深度图恢复问题的关键。
已有的深度图修复方法主要是以传统的图像滤波和增强框架为手段的,比如高斯滤波、中值滤波、马尔科夫场、双边滤波、引导滤波等。这类方法虽然可以去除深度图像噪声,但在结构失真问题上却表现不佳。为了解决此类问题,目前存在着两种方法:一类是基于彩色图引导深度图的修复方法,一类是不基于彩色图引导深度图的修复方法。在不基于彩色图引导的修复方法中,通常基于一张或多张深度图像,通过对深度图自身的特征分析与提取,来完成修复工作。例如通过对低分辨率深度图的边缘特征提取,利用其边缘信息对高分辨率的深度图进行引导修复,或者通过多个低分辨率的深度图进行融合来得到一个高分辨率的深度图。但在此类方法下,如果某一物体的深度信息没有被任一深度传感器所获取,其得到的结果将会出现较大误差。
目前主流的深度图修复技术主要是基于彩色图引导深度图来实现深度图的恢复,这类方法假设同视点的彩色图像和深度图像的结构一致,比如经典联合双边滤波器和引导滤波器。但是,它们对于深度图结构的恢复仍然欠佳,仅能在结构失真不严重甚至没有结构失真的条件下正确工作。最近提出的一种基于深度图与rgb图不一致区域检测模型的深度图修复方法能够较好地恢复深度图的结构失真,但在深度图包含严重结构失真情况下,不能很好的完成处理修复工作。
技术实现要素:
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于rgb-d的ssim结构相似度的迭代深度图结构修复方法,能够在深度图包含严重结构失真的情况下,实现对深度图结构的精确恢复。
本发明采用以下技术方案:
基于rgb-d的ssim结构相似度的迭代深度图结构修复方法,包括以下步骤:
s1、检测待修复深度图的边缘,并将边缘膨胀,将膨胀后的区域标记为潜在结构失真区域,判断潜在结构失真区域中的每个像素点是否失真,产生结构失真度量指标;
s2、采用彩色图高斯权重与结构失真度量指标的乘积构建失真像素点的恢复权重,通过加权中值滤波进行引导恢复;
s3、当步骤s2对结构失真区域修复结束后,采用引导滤波平滑加权中值滤波带来的孤立点,对失真区域进行引导滤波;
s4、对步骤s3引导滤波后的结果图进行迭代,判断当前结果图是否达到预设的终止迭代条件或最大迭代上限,如果没有则转步骤s1;使用更新后的深度图再次计算结构失真区域与恢复权重,并针对进行结构失真区域恢复与引导滤波,直到达到终止迭代条件或最大迭代上限,整个迭代过程结束,输出最终结果图。
具体的,步骤s1中,对像素点i的结构失真度量值
其中,
进一步的,对潜在结构失真区域中的像素点分别计算深度图和彩色图邻域高斯权重矩阵,并用ssim函数对两个维度相同的权重矩阵进行检测,检测后的结果作为结构失真的度量值,像素点i的结构失真度量值
其中,wic为像素点i对应彩色图的邻域高斯权重矩阵,wid为像素点i在深度图的邻域高斯权重矩阵。
具体的,步骤s2中,基于彩色图高斯权重与结构失真度量指标的乘积构建恢复权重矩阵wir,具体为:
wir=wic·wiinc-t
其中,i∈n(i),wic为彩色图高斯权重矩阵,wiinc-t为由
具体的,步骤s2中,获得恢复权重后,通过加权中值滤波对当前迭代下的深度图结构失真区域进行修复,深度图基于加权中值滤波的恢复结果
其中,h(i,v)为像素点i邻域像素值的权重直方图,wir(j)为j处的恢复权重,δ(·)为克罗内克函数,当其输入为0时输出为1,输出不为0时,输出为0,dj为j处的深度值,v为直方图自变量,
具体的,步骤s3中,引导滤波后的深度值
其中,qi为i位置处引导滤波的输出结果,
具体的,步骤s4中,终止迭代条件如下:
其中,judge为终止迭代条件,judge=1终止迭代,judge=0继续迭代,n为迭代次数,
与现有技术相比,本发明至少具有以下有益效果:
本发明一种迭代的彩色图引导的深度图结构修复方法采用迭代模型,在迭代中逐步探测与恢复深度图结构失真区域,因此对于严重结构失真与噪声均具有很好的适应性,恢复后结果图结构清晰,模型适应范围广且精确度高。
进一步的,通过利用ssim函数检测彩色图权重矩阵与深度图权重矩阵的结构差异来探测结构失真区域,对结构失真区域进行单独处理,改善深度图结构失真问题。
进一步的,通过二值化后的结构失真指标
进一步的,基于加权中值滤波进行恢复,非线性滤波方法使得恢复后的深度图边界明显,无模糊、光晕等现象。
进一步的,对恢复后的结构失真区域采用引导滤波,可以有效避免恢复过程中出现孤立像素点,同时保持边缘清晰,图像平滑,提高深度图恢复质量。
综上所述,本发明不仅能很好地应对深度图包含严重结构失真的情况,并且具有良好的抗噪性能。通过对深度图结构失真区域进行迭代探测与恢复,以此获得较为精准的结构信息,同时也对结构未失真区域进行去噪与保边,最终能够获得结构清晰、深度值平滑的深度图。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明的整体流程图;
图2为本发明的输入图,其中,(a)为彩色图,(b)为深度图;
图3为本发明初次迭代中潜在结构失真区域的探测结果图;
图4为本发明初次迭代中结构失真区域的探测结果图;
图5为本发明的输出结果图;
图6为本发明处理后的深度图与其他方法处理后的深度图,其中,(a)为输入深度图,(b)为使用联合双边滤波后的深度图,(c)为使用引导滤波后的深度图,(d)为使用一种基于深度图与rgb图不一致区域检测模型的深度图修复方法后的深度图,(e)为使用本发明所述方法后的深度图,(f)为对应的彩色图。
图7为本发明含噪情况下的输入与输出图,其中,(a)为含噪输入图,(b)为输出图。
具体实施方式
本发明提供了一种基于rgb-d的ssim结构相似度的迭代深度图结构修复方法,首先检测输入深度图的边缘,并将边缘膨胀,将膨胀后的区域标记为潜在结构失真区域,然后对潜在结构失真区域中的每个像素点判断是否失真,产生结构失真度量指标,失真像素点采用彩色图高斯权重与结构失真度量指标的乘积构建恢复权重,通过加权中值滤波进行引导恢复,然后对失真区域进行引导滤波,完成后的结果图依照上述步骤继续迭代,直到满足设定的终止迭代条件,输出深度图结束计算,否则将继续迭代直至达到最大迭代次数。
请参阅图1,本发明一种基于rgb-d的ssim结构相似度的迭代深度图结构修复方法,包括以下步骤:
s1、结构失真区域探测
s101、计算结构失真度量值
输入待修复深度图如图2(b)和对应的彩色图2(a)。首先对输入深度图进行引导滤波后用canny算子提取边缘信息,对边缘进行膨胀处理,将膨胀后的区域标记为潜在结构失真区域,如图3所示,其中白色区域为初次迭代中的潜在结构失真区域。
对潜在结构失真区域中的像素点分别计算深度图和彩色图邻域高斯权重矩阵,并用ssim函数对两个维度相同的权重矩阵进行检测,检测后的结果作为结构失真的度量值,如公式(1)所示:
其中,
在初次迭代中,wid(j)由输入深度图计算,在此后的每次迭代中,将基于更新后的深度图计算,因此每次迭代均会更新结构失真度量值和结构失真区域。
s102、计算结构失真度量指标
对
其中,
s2、结构失真区域恢复:
s201、恢复权重矩阵构建
本发明基于彩色图高斯权重与结构失真度量指标的乘积构建恢复权重矩阵wir,具体为:
wir=wic·wiinc-t(9)
其中,i∈n(i),wic为彩色图高斯权重矩阵,wiinc-t为由
s201、加权中值滤波恢复
获得恢复权重后,通过加权中值滤波对当前迭代下的深度图结构失真区域进行修复,深度图基于加权中值滤波的恢复结果
其中,h(i,v)为像素点i邻域像素值的权重直方图,wir(j)为j处的恢复权重,δ(·)为克罗内克函数,当其输入为0时输出为1,输出不为0时,输出为0,dj为j处的深度值,v为直方图自变量,
s3、结构失真区域引导滤波:
当结构失真区域修复结束后,采用引导滤波平滑加权中值滤波带来的孤立点,引导滤波后的深度值
其中,
s4、每次迭代都需要判断当前结果图是否达到预设的终止迭代条件或最大迭代上限,如果没有则转步骤s1,使用更新后的深度图再次计算结构失真区域与恢复权重,并针对进行结构失真区域恢复与引导滤波,直到达到终止迭代条件或最大迭代上限,整个迭代过程结束,输出最终结果图,如图5所示为最终输出图像。
终止迭代条件如下:
其中,judge为终止迭代条件,judge=1终止迭代,judge=0继续迭代,n为迭代次数,
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的主要作用体现在两个方面:主要优势是能很好地应对深度图包含严重结构失真的情况。
请参阅图6,将输入深度图6(a)与彩色图6(f)比较,可以发现两者间存在明显的结构失真情况。图6(b)为hek在论文“guidedimagefiltering”提出的引导滤波器处理后的输出图像。图6(c)为经典的”jointbilateralfilter”处理后的输出图像。图6(d)为一种基于深度图与rgb图不一致区域检测模型的深度图修复方法处理后的输出图像。图6(e)为本发明处理后的输出图像。可以看到本发明修复后的深度图质量明显好于其他三者。
本发明方法具有良好的抗噪性。请参阅图7,图7(a)为含噪的输入深度图,图7(b)为本发明对含噪深度图的恢复结果,从图中可以看到恢复后的深度图仍然具有清晰的结构信息与平滑的深度值。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
1.基于rgb-d的ssim结构相似度的迭代深度图结构修复方法,其特征在于,包括以下步骤:
s1、检测待修复深度图的边缘,并将边缘膨胀,将膨胀后的区域标记为潜在结构失真区域,判断潜在结构失真区域中的每个像素点是否失真,产生结构失真度量指标;
s2、采用彩色图高斯权重与结构失真度量指标的乘积构建失真像素点的恢复权重,通过加权中值滤波进行引导恢复;
s3、当步骤s2对结构失真区域修复结束后,采用引导滤波平滑加权中值滤波带来的孤立点,对失真区域进行引导滤波;
s4、对步骤s3引导滤波后的结果图进行迭代,判断当前结果图是否达到预设的终止迭代条件或最大迭代上限,如果没有则转步骤s1;使用更新后的深度图再次计算结构失真区域与恢复权重,并针对进行结构失真区域恢复与引导滤波,直到达到终止迭代条件或最大迭代上限,整个迭代过程结束,输出最终结果图。
2.根据权利要求1所述的基于rgb-d的ssim结构相似度的迭代深度图结构修复方法,其特征在于,步骤s1中,对像素点i的结构失真度量值
其中,
3.根据权利要求2所述的基于rgb-d的ssim结构相似度的迭代深度图结构修复方法,其特征在于,对潜在结构失真区域中的像素点分别计算深度图和彩色图邻域高斯权重矩阵,并用ssim函数对两个维度相同的权重矩阵进行检测,检测后的结果作为结构失真的度量值,像素点i的结构失真度量值
其中,wic为像素点i对应彩色图的邻域高斯权重矩阵,wid为像素点i在深度图的邻域高斯权重矩阵。
4.根据权利要求1所述的基于rgb-d的ssim结构相似度的迭代深度图结构修复方法,其特征在于,步骤s2中,基于彩色图高斯权重与结构失真度量指标的乘积构建恢复权重矩阵wir,具体为:
wir=wic·wiinc-t
其中,i∈n(i),wic为彩色图高斯权重矩阵,wiinc-t为由
5.根据权利要求1所述的基于rgb-d的ssim结构相似度的迭代深度图结构修复方法,其特征在于,步骤s2中,获得恢复权重后,通过加权中值滤波对当前迭代下的深度图结构失真区域进行修复,深度图基于加权中值滤波的恢复结果
其中,h(i,v)为像素点i邻域像素值的权重直方图,wir(j)为j处的恢复权重,δ(·)为克罗内克函数,当其输入为0时输出为1,输出不为0时,输出为0,dj为j处的深度值,v为直方图自变量,
6.根据权利要求1所述的基于rgb-d的ssim结构相似度的迭代深度图结构修复方法,其特征在于,步骤s3中,引导滤波后的深度值
其中,qi为i位置处引导滤波的输出结果,
7.根据权利要求1所述的基于rgb-d的ssim结构相似度的迭代深度图结构修复方法,其特征在于,步骤s4中,终止迭代条件如下:
其中,judge为终止迭代条件,judge=1终止迭代,judge=0继续迭代,n为迭代次数,