摘 要:基于二维图像重建三维图像,是目前计算机视觉的热点研究方向。传统的多视图三维重建因需要相机定标等额外操作,相比基于单幅二维图像的三维重构在实时便捷性上并不具备明显优势。随着对三维重构算法的实时和健壮性要求的提升,深度学习在三维重建上的研究和应用越来越深入,出现了很多成熟及实用的算法。本文提出了一种深度学习模型和基于对抗抵制相结合的方法,能够实现较为自然的三维图像,在三维重构和形状补全上更加贴近真实感知。
关键词:三维重构,深度学习,对抗抵制
Research on 3d Shape Reconstruction
of Single View
【Abstract】3d image reconstruction based on 2D image is a hot research direction in computer vision. Due to additional operations such as camera calibration, traditional multi-view 3D reconstruction does not have obvious advantages in real-time compared with 3d reconstruction based on single 2D image. With the improvement of the real-time and robust requirements for the reconstruction algorithm, the research and application of deep learning in 3D reconstruction become more and more deeply, and many mature and available algorithms appear. In this paper, a method combining the deep learning model and the method based on the combination of confrontation and resistance is proposed to achieve a relatively natural 3D image, which is closer to the real perception in 3d reconstruction and shape completion.
【Key words】Three-dimensional reconstruction, Deep learning, Fight against.
0 概述
近年来,深度学习在2D图像的分类及分割上获得了大量成果,涌现出很多成熟可用的算法。深度学习与其它机器学习算法比较有着独特的优点。原本需要人工提取的数学特征能够作为训练过程的输入从而进行基于特征的学习,并可采集原始输入数据到学习算法过程中,由算法得出分类所需要的输出格式。基于深度学习的点云分割算法起源于二维图像算法[1,2],发展趋势是直接处理从二维到三维的转换数据,如利用投影与视图的方法,利用三维卷积计算体素的方法[3,4],基于端到端架构处理无序点云和有序点云的方法,以及免监督自学习的方法等。这些方法在不同的应用场景下都有着各自独特的优势,但也不同程度的存在如运算复杂、容易丢失局部特征等局限性[5]。
面对基于单视图构建三维形状这个技术难题,技术人员一般使用大量的三维数据集,所应用的许多算法基本都是采用深度卷积网络回归可能的三维视图来处理输出结果的不确定性质[6]。因为一个单视图可以存在多个自然形状来表现观测结果,即对于每一个观测都没有确定的真实形状标签。通过深度学习生成模型的算法,学习网络会尝试去避免输出难以置信的形状,但一个监督学习的模型可能仍然会存在建模失败的模糊性。仅仅通过单纯的监督学习,模型倾向于生成平均形状使得3D形状重构损失最小化[7,8]。
论文给出了一种深度学习结合对抗抵制的方法,通过深度卷积神经网络与先验知识训练,力图补齐和恢复3D形状。当生成的3D形状不能满足真实自然视图形状和规则时启用模型对抗抵制,实现对模型的对抗训练,以便解决通过单视图重建三维形状时存在的不确定因素。基于合成与真实数据点云的验证结果,深度学习和对抗模型训练能够取得良好的单视图3D重构效果,能够帮助从自然模型的角度较好地描绘出物体的3D细节。
1 实现方法
本文描述的模型包括三个部分,分别是准三维草图估计器、三维形状估计器和融合对抗抵制的深度学习模型。通过设计对抗抵制不自然的模型预测结果,帮助避免在训练模型时产生模糊的平均形状。图1给出了模型的主要架构。
图1 模型架构图
准三维草图估计器内置编码和解码器,用于从一张RGB图像中预测出深度信息、轮廓形状信息和表面法线信息。编码器基于ResNet-18把图像由256×256尺寸转换成512个8×8尺寸的特征元素[15]。解码器内置四个5×5的反卷积层,移动的步长和padding设置为2。预测输出的深度和法线被预测出的轮廓形状所覆盖,作为三维形状估计器的输入。
三维形状估计器用来从准三维草图中预测3D视图的形状。通过ResNet-18来编码四通道(四个通道其中一个是深度,三个是表面法线)的256×256的图像到一个200D的中间向量。随之利用由五个反卷积与ReLU层的解码单元来输出128×128×128的体素化轮廓。将预估体素相比目标体素的对数损失看作监督损失。
因为通过单视图去重构三维图形,具有一定的不确定性,通过监督损失的思路尝试补全3D图形,经常会输出不符合真实自然的形状。因此,结合深度学习,通过对模型的对抗抵制,训练模型符合深度自然正则原理,当算法获得不自然轮廓外形时对算法做纠正处理。
训练一个三维对抗网络用来鉴别图形是否真实。这个网络内置一个生成器与鉴别器。生成器利用随机采样的向量来构建三维视图,鉴别器则试图鉴别出合成轮廓与真实外形。生成器并不参加训练过程,通过对鉴别器的训练,使得它具有针对真实外形进行建模的能力,可以用来补齐形状的自然损失。网络通过5个具有批处理归一化与ReLU功能的反卷积层当作生成器,通过五个支持泄漏ReLU的卷积层当作鉴别器。
依照3D-GAN,输入128×128×128的三维形状进行训练[9]。将Wasserstein-GAN损失与梯度惩罚算法用以三维对抗网络的学习,用以解决训练输出存在的不稳定。
公式中,第一项是区分器,Pg与Pr作为合成轮廓与真实外形的分布,第三项是梯度惩罚。在学习过程中,区分器力图把损失最小化。生成器尝试通过公式的首项把损失最大化,自然损失描述为:
上式中,Pc是来自补全网络所重构的形状。
在图2中展示了本文模型从单张视图中预测出的三维形状。在深度图处于很强的遮挡的场景下,本文的算法网络也能够推断出从直观上看来质量较好的,自然可信的三维轮廓,并基于此预测出输入图像中不存在的部分。
图2 三维形状预测
2 实现验证
从单视图重构三维形状,需要渲染和深度图对应的RGB图像用于训练。在处理所有视图时,获得相机方位角与仰角的随机值,把相机方向向量取值为世界坐标系+y轴,处理过程中相机一直正对对象中心[10]。为了增强渲染RGB图象的真实性,在渲染期间给物体加了三种不同的背景。三分之一使用干净的白色背景,三分之一使用具有高动态范围的照明通道背景,用来生成真实的照明。渲染剩下的三分之一的图像是使用从数据集中随机采样的背景。
把本文的深度学习及对抗抵制模型与其它优秀的三维形状重构算法相比较,包括3D-R2N2,点集生成网络(PSGN,differentiable ray consistency (DRC),octree generating network (OGN) [11,12]和AtlasNet。其中3D-R2N2、DRC、OGN和本文提出的重构模型都是使用单张图片作为输入的,而PSGN与AltasNet算法需要使用物体形状参数作为额外的输入[13,14]而实现重构。
首先对本文所描述模型上的渲染的对象进行测试。本文在图3中展示了三维重构的输出结果对比。所有这些列出的模型都是使用具有真实标签的三维形状作为监督,在所渲染的这些图形类别(这些图形至少有数百个模型)中进行训练。总体而言,本文提出的深度学习和对抗抵制模型能够预测出接近真实自然图像的三维形状,可以给出较好的细节使得三维重构输出的形状更加真实和贴近自然视角,因此在定量的分析中也会表现得很好。
图3 三维重构结果对比
3 结论
基于深度学习结合对抗抵制的模型,通过深度卷积神经网络与先验知识训练模型构造3D形状,能够解决基于单视图构建物体3D轮廓时存在的不确定问题。经过前述的测试对比和验证,说明该模型能够获得良好的单视图3D重构效果,基于单视图可实现真实自然的三维图像重构。
4 结束语
虽然计算机视觉研究人员基于深度学习在二维图像的分类、分割上和三维图像重构上研究和提出了很多成熟的算法,能够在不同的应用场景和环境条件下获得较好的三维图形形状特征还原度。但单视图三维修补和重建一直都是一项具有较高难度的课题,由于针对某一组观测信息,一般存在着许多可能的重建结果,并且其中大多数重构结果是难以置信以及在现实中也是不存在的。本文提出的通过结合深度学习模型和对抗抵制训练学习的形状先验知识解决了形状重构中的多义性问题。把学习获取的先验知识当成正则项,在模型输出失真的时候惩罚模型而不至于偏离真实形状,因此本模型能够实现较好的单视图的三维形状重构效果。
参考文献:
[1]Liu Y,Fan B,Xiang S,et al.Relation-shape convolutional neural network for point cloud analysis[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2019.
[2]Guo Y,Sohel F,Mohammed B.Rotational projectionstatistics for 3D local surface description and objectrecognition[J].International Journal of Computer Vision,2013,105(1):63-86.
[3]Haala N,Brenner C,Anders K H.3D urban GIS from laseraltimeter and 2D map data[J] International Archives ofPhotogrammetry and Remote Sensing,1998(11):339-346.
[4]Engelmann F, Kontogianni T, Schult J, et al.Know what your neighbors do: 3D semantic segmentation of point clouds[C]//Proceedings of European Conference on Computer Vision,2018.
[5]Li J, Chen B M, Lee G H.SO-Net: Self-organizing net-work for point cloud analysis[C]//Proceedings of IEEEConference on Computer Vision and Pattern Recognition,2018.
[6]Choy CB, Xu D, Gwak JY, Chen K, Savarese S. 3D-R2N2: A Unified Approach for Single and Multi-view 3D Object Reconstruction. In: Proceedings of European Conference on Computer Vision, 2016: 628-644.
[7]Hermosilla P,Ritschel T,Vázquez P P,et al.Monte Carlo convolution for learning on non-uniformly sampled point clouds[J].ACM Transactions on Graphics,2018,37:235.
[8]Klokov R, Lempitsky V. Escape from cells: Deep kd-networks for the recognition of 3d point cloud models. In: Proceedings of IEEE International Conference on Computer Vision, 2017: 863-872.
[9]Liu Y , Huang Q , Ma S , et al. Joint video/depth rate allocation for 3D video coding based on view synthesis distortion model[J]. Signal Processing Image Communication, 2009, 24(8):666-681.
[10]Charles RQ, Su H, Mo K, Guibas LJ. PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. In: Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Honolulu, Hawaii, USA, 2017: 77-85.
[11]Yasakethu S L P , Hewage C T E R , Fernando W A C , et al. Quality analysis for 3D video using 2D video quality models[J]. IEEE Transactions on Consumer Electronics, 2008, 54(4):1969-1976.
[12]Choy C B , Xu D , Gwak J Y , et al. 3D-R2N2: A Unified Approach for Single and Multi-view 3D Object Reconstruction[J]. 2016.
[13]Geng W, Wang J, Zhang Y. Embedding visual cognition in 3D reconstruction from multi-view engineering drawings[J]. Computer-Aided Design, 2002, 34(4):321-336.
[14]Zhang Z, Hua B S,Yeung S K.ShellNet: Efficient point cloud convolutional neural networks using concentric shells statistics[C]//Proceedings of IEEE International Conference on Computer Vision,2019.
[15]Pham Q H, Nguyen D T, Hua B S, et al.JSIS3D: Joint semantic-instance segmentation of 3D point clouds with multi-task pointwise networks and multi-value conditional random fields[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2019.