图像修复算法是计算机视觉领域的一个重要的课题,通常是对于残缺的RGB图片进行修复,对残缺的位置进行补充,从而使得修复后的图片变得合理或者与破损前的原图接近。近年来深度学习技术和计算机并行计算能力快速发展,使用深度学习技术的图像修复算法的效果也得到了大幅的提升,相较于传统的方法只能得出模糊的修复结果,最新的图像修复算法已经能够得出语义合理的修复效果,在颜色、纹理甚至结构信息上都能达到人眼不容易分辨的水平[1]。随着深度学习技术在RGB图片上的广泛应用,深度图像的处理算法也在快速发展。得益于微软Kinect以及英特尔RealSense等消费级深度相机的普及,越来越多的研究人员开始专注于深度图像的各种处理算法。然而图像修复算法在深度图像中的应用并没有得到广泛的关注。一个在深度图像中较为重要的课题是深度补全,由于深度相机在获取图片时依赖结构光投射到被拍摄物体上,再由专门的红外摄像头进行采集,以获取目标物体到深度相机的距离。在这一过程中,如果被摄物体与背景有较大的距离或者场景中包含窗户或较远的物体时,极易在获取到的深度图像中产生无效像素[2],深度补全即研究如何正确修复这些无效像素。由于无效像素的存在有特定的原因,比如经常出现在较大面积的窗户或两物体的边缘位置,因此可以有针对性地对这2种情况进行深度的填充[3]。通常只需要将周围物体的深度延伸至无效像素位置,即可获取到较为合理的补全结果。深度补全中较为传统的方法主要是通过滤波的方式,比如主要针对深度图像中较小孔洞的像素滤波[3],可使用周围像素的众数将深度图像中较小的噪声进行填充,这种方法对于深度图像中常见的无法测量的小孔洞可以获得合理的补全结果,但是对于较大孔洞无法修复;自适应双边滤波[4]可以针对不同孔洞的大小自适应地调节核的大小,对一些较大的孔洞进行修复,但是计算量较大,而且对于较大的孔洞无法获得语义合理的结果;基于彩色图和深度图连续性的深度图增强方法[5]引入了彩色图像作为引导,有效提升了深度图像的补全效果,但是由于需要与深度图像对齐的彩色图像,需要的预处理步骤较多。边缘引导的深度图增强方法[6]使用了完整的边缘作为引导,修复效果相较于传统的滤波方法有较大的提升,但同样需要彩色图像的辅助。
在实际的应用中,图像的破损可以是任意大小、任意位置、任意形状的,而仅靠深度补全往往不能得到理想的效果。因此本文的研究目的是对深度图像中任意形式的缺失进行修复。本文针对存在破损的深度图像,通过应用较为先进的图像修复算法以及曲面法线图辅助深度图像修复的方法,提出了一种更为有效和快速的深度图像修复方法。
图像修复算法的发展过程可以粗略地分为2个阶段。传统的图像修复算法中较有代表性的是Patch Match方法[7],其主要思想是挑选完好图像中较为匹配的部分作为补丁来修复破损区域,这种传统方法取得的修复效果往往不尽如人意。较为先进的图像修复算法都会使用深度学习技术,例如早期的GL方法[8],通过两路网络分别改善修复图像的整体效果和局部细节,使得修复的图像更加合理。在应用了深度学习技术的图像修复算法较好地修复图像纹理的同时,如何恢复图像破损区域正确的结构和语义信息成为了一个难题。Edge connect方法[9]提出了一种较为新颖的解决方案:首先对破损的图像提取出边缘轮廓,之后用一个辅助的修复网络将残缺的边缘图修复出完整的破损图像边缘,最后利用修复出的边缘指引最终的图像修复结果。这种方法较好地提升了图像修复算法对于破损区域结构的修复。其他如Foreground-aware[10]和Gated Convolution[11]方法,都使用到了边缘、前景物体等辅助信息指引最终修复的思想,这些方法都使得图像修复算法得到很好的进步。本文方法也利用这种思想,对深度图像修复的效果进行了提升。
曲面法线是一种深度图像或点云数据中用于表示局部的平面朝向方法,其广泛应用在同步定位与建图(simultaneous localization and mapping,SLAM)、三维重建[12]等课题中。由于曲面法线在同一平面上可以表示出相近的特征,因此相较于单纯的深度图像,可以更好地表达语义信息[13]。由于曲面法线的每一个法向量都包含x、y、z这3个坐标,正好可以对应彩色图像的RGB 3个通道,因此曲面法线可以以彩色图像的形式保存。
1 曲面法线引导的深度图像修复策略对于给出的单张破损的深度图像和指示破损区域的掩模,本文方法的目的是修复出深度合理的完整深度图像,主要结构如图1所示。本方法主要包含3个步骤:1)对破损的深度图像计算出残缺的曲面法线图;2)通过曲面法线预测网络修复出完整的曲面法线图;3)利用曲面法线指引网络,结合修复后的曲面法线图对破损的深度图像进行补全。
Download:
|
|
较为广泛接受的曲面法线计算方式为,将像素i位置的一个邻域认为属于同一个切平面,使用最小二乘法拟合出一条合理的曲面法向量[13]。在本文的方法中,使用简化的计算方式,将像素周围的4个点认为属于同一个切平面,并使用横向向量和纵向向量叉乘的方式,计算出此像素位置的曲面法向量。
如图2所示,将深度图像中的每一个像素认为是三维空间中的一个点,像素在深度图中的像素值作为其在三维空间中的z分量,即可获得像素i位置邻域内的上下左右4个点。从4个点的坐标可以求取2个向量,分别为横向向量
Download:
|
|
$ {{{v}}_{{\rm{ver}}}} = \left[ {0,2,{z_{\left( {x,y + 1} \right)}} - {z_{\left( {x,y - 1} \right)}}} \right] $ | (1) |
$ {{{v}}_{{\rm{hor}}}} = \left[ {2,0,{z_{\left( {x + 1,y} \right)}} - {z_{\left( {x - 1,y} \right)}}} \right] $ | (2) |
$ {{{v}}_{{\rm{nor}}}} = {{{v}}_{{\rm{ver}}}} \times {{{v}}_{{\rm{hor}}}} $ | (3) |
式(1)~(3)得到的曲面法向量并不是一个合适的表达,将其归一化后,得到的曲面法向量的x、y、z坐标范围均在[−1,1],进而将其线性地映射到[0,255]的整数范围内,即可对应彩色图像的RGB 3个通道。对深度图像中的每一个像素位置进行周围横、纵向量的叉乘,归一化等步骤的计算,即可得到深度图像对应的曲面法线图,如图3所示。
Download:
|
|
在运用深度学习技术的多种图像修复算法中,门限卷积[8]是一种较为简单但很有效的算法。由于破损的深度图像在输入修复网络时,并非每一个像素点都能提供足够有效的信息供网络学习和推测,例如破损区域的像素[14]。与此同时,位于缺损区域距离不同的像素点,也对网络预测提供不同价值的信息。因此门限卷积学习每一层特征的一个掩模,其值范围为[0,1],用以给每一个特征的通道分配不同的权重,相乘之后即可突出有利于推测缺损像素的特征,而弱化甚至忽略无效的特征。通过网络自主学习掩模,可以更好地生成修复结果。
1.3 曲面法线辅助修复策略通过某种辅助信息指引图像修复过程的方法已经成为近年来先进的图像修复算法常用的策略。而对于深度图像,有着一种天然且优越的辅助信息,那就是曲面法线图。图1为使用曲面法线图辅助修复深度图像的步骤,对于存在破损的深度图像,可以对其计算出存在缺损的曲面法线图像,使用二维图像修复网络将曲面法线图修复出相同的颜色,得到合理且完整的曲面法线图。将曲面法线图与待修复的深度图像在通道上进行叠加,使用另外的二维图像修复网络结合曲面法线图提供的信息即可修复出完整的深度图像。
2 实验 2.1 实验数据准备本文实验部分需要已有的大量深度图像作为训练数据集,训练数据需要包含大量的场景及深度信息供网络学习。因此,本文实验部分做了如下的实验数据准备工作。
2.1.1 NYUv2数据集本文采用NYUv2数据集[15]进行实验。NYUv2数据集是由纽约大学通过微软Kinect深度摄像头采集的多种室内场景下的RGB图像和深度图像,由视频序列中采样得出。NYUv2数据集包含了464个来自3个不同城市的不同场景,并包含407 024个无标签的RGB-D帧。其中带有标签的数据为1 449帧,成对的RGB彩色图像和深度图像已经经过了对齐处理。本文采用NYUv2数据集中带有标注的1 449张成对的RGB-D图像,并随机地选取其中1 304张作为训练集数据,剩余的145张作为测试集数据用于对比实验。训练集与测试集数据量比例约为9∶1。
2.1.2 数据预处理NYUv2数据集中的深度图像经过了预处理过程,与RGB彩色图像对齐。深度图像中的每一个像素点代表空间中目标和摄像头之间的距离。由于不同场景下物体距离摄像头的距离不同,因此每张深度图像的像素值分布也不同。
本文实验将每张深度图像中的像素值归一化至0~1,并以16位深度的图像格式保存。曲面法线图像计算得出后以三通道RGB图像的形式保存。除了深度图像和曲面法线图像的准备,实验中还需要进行图像破损部位的随机生成。对于图像破损,本文实验要求做到破损部位的形状、面积、位置都是随机的。利用Open CV图像处理库,可以实现在模型训练过程中同步随机地生成不同的掩模。掩模的生成过程是随机地生成一些直线、圆和弧线,其大小、数量和位置均使用随机生成的数字。掩模的大小与数据集中深度图像的大小相同,可以通过对数据集中完整图片的覆盖,实现人为制造的破损效果。图4展示了部分掩模和对应的破损深度图像。
Download:
|
|
实验首先需要对曲面法线图像修复网络进行训练。使用随机生成的掩模覆盖训练集中的曲面法线图以制作残缺的曲面法线图,掩模指示位置即为人为制造的缺损部分。将曲面法线图像对应的缺损位置像素值设置为1,与掩模图像叠加为4通道的输入矩阵,输入网络进行训练。网络的输出结果为3通道图像,将输出结果对应的缺损位置取出,并与残缺的曲面法线图像叠加,即可得到曲面法线图像的修复结果。将修复结果与完整的曲面法线图像计算损失,不断反向传播和迭代。当损失值趋于稳定时,可以观察到网络可以对残缺的曲面法线图像实现修复。
单独训练完成曲面法线图像修复网络之后,需要训练深度图像修复网络。深度图像修复网络与曲面法线图像修复网络采取同样的网络结构以及训练策略。在训练过程中,输入采用深度图像与深度图像直接计算得到的完整曲面法线图像叠加。需要说明的是,只有在测试时,采用深度图像与曲面法线修复网络的输出图像叠加的输入方式。
2.3 实验结果对比 2.3.1 消融实验为了证实引入曲面法线对深度图像修复带来的提升效果,本文对3种不同方法得到的修复深度图像进行了对比。本次实验分为3组,分别为网络直接修复深度图像,网络根据真实曲面法线图像修复深度图像,以及根据曲面法线修复结果来指导深度修复网络的修复结果。图5展示了部分残缺深度图像的修复效果。从图中可以看出3种方法都可以获得合理的深度图像修复效果,且可以获得清晰的边缘。
Download:
|
|
表1中给出了3种方式获取的深度图像修复效果的客观评价。从平均绝对误差(MAE)、均方根误差(RMSE)、峰值信噪比(PSNR)和结构相似性(SSIM)4项指标可以看出,将真实的曲面法线作为指引时,相较于直接修复深度图像的方式可以获得较大的提升。将修复后的曲面法线作为指引时,修复效果相对于直接修复深度图像仍有一定程度的提升。考虑到在现实场景中,仅仅根据缺损深度图像无法获得真实的曲面法线,因此根据修复后的曲面法线作为指引修复深度图像的方式更符合实际情况。
本文实验同时与其他传统的深度图像修复算法结果进行了对比,包括传统的方法有联合双边滤波方法,以及基于联合双边滤波改进的自适应联合双边滤波方法[14],对比结果见图6及表2。
Download:
|
|
值得注意的是,联合双边滤波和自适应双边滤波都需要彩色图像作为指引,相对于本文方法,这2种方法都提供了更多的信息。从图6中可以看出,本文方法相较于其他方法,修复出的结果更加合理。
从表2中可以看出,相较于其他2种滤波方法,本文方法在各项指标中都取得了更好的效果。
2.3.3 深度传感器孔洞填充效果深度图像修复常用于对深度传感器捕捉到的原始深度图像进行修复。由于消费级深度传感器的精度不足,其捕捉到的原始深度图像通常在物体边缘存在较大的孔洞以及噪声。本实验部分使用英特尔公司生产的Realsense D435深度传感器获取深度图像,并使用联合双边滤波、自适应联合双边滤波[14]以及本文方法进行修复孔洞,效果如图7所示。
Download:
|
|
由于深度传感器的限制,无法获取孔洞位置的真实深度,因此本部分实验只能主观地评估修复效果。从图7中可以看出,本文方法对于物体边缘的空洞修复效果欠佳。可推测是由于本文方法使用的训练集并不存在这种处于物体边缘的孔洞,且孔洞两侧通常是不同物体,深度值总是存在突变的情况,修复出的曲面法线无法提供有效的帮助。因此本文方法针对深度传感器获取的原始深度图像中的孔洞图像修复效果不理想。
2.3.4 深度图像的物体移除效果由于本文方法可以对任意大小和任意形状的缺损进行修复,因此本文方法适用于对深度图像中的物体进行移除,图8展示了通过人为涂画掩模的方式,将深度图像中的物体进行覆盖,继而进行修复的效果。从图8中可以看出,人为将深度图像中的某一物体进行涂抹作为掩模制作的缺损深度图像,经过本文方法的修复后,可以生成合理的背景深度图,达到了物体移除的效果。修复的深度图像背景连续,且移除部分生成的补丁较为合理。
Download:
|
|
本文通过实验对比了3种不同的深度图像修复策略,实验证明了通过曲面法线指引可以使得深度神经网络更好地修复深度图像。
1)由于在实际的破损图像修复场景中并不能获取到真实的曲面法线图,因此首先要修复曲面法线,继而指引修复深度图像的策略具有更好的现实意义。
2)在接下来的研究中,可以通过加入对抗训练等方式继续优化曲面法线修复网络和深度图像修复网络的修复效果,更加接近真实的曲面法线图将会给深度图像的修复带来更大的提升。
[1] | 强振平, 何丽波, 陈旭, 等. 深度学习图像修复方法综述[J]. 中国图象图形学报, 2019, 24(3): 447-463. DOI:10.11834/jig.180408 (0) |
[2] | 赵旭. Kinect深度图像修复技术研究[D]. 大连: 大连理工大学, 2013. (0) |
[3] | 刘继忠, 吴文虎, 程承, 等. 基于像素滤波和中值滤波的深度图像修复方法[J]. 光电子·激光, 2018, 29(5): 539-544. (0) |
[4] | 王得成, 陈向宁, 易辉, 等. 基于自适应联合双边滤波的深度图像空洞填充与优化算法[J]. 中国激光, 2019, 46(10): 294-301. (0) |
[5] | WANG Yanke, ZHONG Fan, PENG Qunsheng, et al. Depth map enhancement based on color and depth consistency[J]. The visual computer, 2014, 30(10): 1157-1168. DOI:10.1007/s00371-013-0896-z (0) |
[6] | SONG Xibin, HUANG Haiyang, ZHONG Fan, et al. Edge-guided depth map enhancement[C]//Proceedings of the 23rd International Conference on Pattern Recognition (ICPR). Cancun, Mexico: IEEE, 2017. (0) |
[7] | BARNES C, SHECHTMAN E, FINKELSTEIN A, et al. PatchMatch: a randomized correspondence algorithm for structural image editing[J]. ACM transactions on graphics, 2009, 28(3): 24. (0) |
[8] | IIZUKA S, SIMO-SERRA E, ISHIKAWA H. Globally and locally consistent image completion[J]. ACM transactions on graphics, 2017, 36(4): 107. (0) |
[9] | NAZERI K, NG E, JOSEPH T, et al. Edgeconnect: generative image inpainting with adversarial edge learning[J]. arXiv preprint arXiv:, 1901, .00212: 2019. (0) |
[10] | XIONG Wei, YU Jiahui, LIN Zhe, et al. Foreground-aware image inpainting[C]//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach, USA: IEEE, 2020. (0) |
[11] | YU Jiahui, LIN Zhe, YANG Jimei, et al. Free-form image inpainting with gated convolution[C]//Proceedings of 2019 IEEE/CVF International Conference on Computer Vision (ICCV). Seoul, Korea (South): IEEE, 2019. (0) |
[12] | NEWCOMBE R A, IZADI S, HILLIGES O, et al. KinectFusion: real-time dense surface mapping and tracking[C]//Proceedings of the 10th IEEE International Symposium on Mixed and Augmented Reality. Basel, Switzerland: IEEE, 2011. (0) |
[13] | QI Xiaojuan, LIAO Renjie, LIU Zhengzhe, et al. GeoNet: geometric neural network for joint depth and surface normal estimation[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Salt Lake City, USA: IEEE, 2018. (0) |
[14] | LIU Guilin, REDA F A, SHIH K J, et al. Image inpainting for irregular holes using partial convolutions[C]//Proceedings of the 15th European Conference on Computer Vision. Munich, Germany: Springer, 2018. (0) |
[15] | SILBERMAN N, HOIEM D, KOHLI P, et al. Indoor Segmentation and Support Inference from RGBD Images[C]//Proceedings of the 12th European Conference on Computer Vision. Florence, Italy: Springer, 2012. (0) |