基于先验知识的单视图三维点云重建算法研究
2023-10-17陈雅丽李海生王晓川李楠
陈雅丽 李海生 王晓川 李楠
摘 要:单幅图像的三维重建是一个不适定问题,由于图像与三维模型间存在的表示模式差异,通常存在物体自遮挡、低光照、多类对象等情况,针对目前单幅图像三维模型重建中重建模型具有歧义性的问题,提出了一种基于先验信息指导的多几何角度约束的三维点云模型重建方法。首先,通过预训练三维点云自编码器获得先验知识,并最小化输入图像特征向量与点云特征向量的差异,使得输入图像特征分布逼近点云特征分布;然后,利用可微投影模块将图像的三维点云表示形式从不同视角投影到二维平面;最后,通过最小化投影图与数据集中真实投影图的差异,优化初始重建点云。在ShapeNet和Pix3D数据集上与其他方法的定量定性比较结果表明了该方法的有效性。
关键词:点云;三维重建;深度学习;先验知识;可微投影模块
中图分类号:TP301.6 文献标志码:A 文章编号:1001-3695(2023)10-044-3168-05
doi:10.19734/j.issn.1001-3695.2022.12.0833
Single-view 3D point cloud reconstruction algorithm based on priori knowledge
Chen Yali1,2,3,Li Haisheng1,2,3,Wang Xiaochuan1,2,3,Li Nan1,2,3
(1.School of Computer & Engineering,Beijing Technology & Business University,Beijing 100048,China;2.Beijing Key Laboratory of Big Data Technology for Food Safety,Beijing 100048,China;3.National Engineering Laboratory for Agri-product Quality Traceability,Beijing 100048,China)
Abstract:Single-view 3D reconstruction is an ill-posed problem.Due to the different modes of representation between the image and the 3D model,there are usually self-occlusion,low illumination,and multiple objects.Aiming at the ambiguity of the reconstructed model in the current 3D model reconstruction of a single image,this paper proposed a 3D point cloud model reconstruction method based on the guidance of prior information and multi-geometric angle constraints.Firstly,it obtained prior knowledge by pre-training the 3D point cloud encoder,and minimized the difference between the input image feature vector and the point cloud feature vector,so that the input image feature distribution approximated the point cloud feature distribution.Then,it used a differentiable projection module to project the three-dimensional point cloud representation of the image from different angles to a two-dimensional plane.Finally,it optimized the initial reconstructed point cloud by minimizing the diffe-rence between the projected image and the actual projected image in the dataset.The results of quantitative and qualitative comparison with other methods on ShapeNet and Pix3D datasets verify the effectiveness of the proposed algorithm.
Key words:point cloud;3D reconstruction;deep learning;prior knowledge;differentiable projection module
三維重建(3D reconstruction)是计算机视觉领域中的一个重要任务。其中单视图重建[1](single-view reconstruction,SVR),从单个图像中推断3D模型形状是一个不适定的问题,由于从3D到2D的投影过程会丢失3D形状的关键几何和结构信息,并且图像与三维模型之间存在的表示模式差异,通常存在物体自遮挡等问题。随着大规模3D数据集的公开[2,3]和深度学习技术的进步,越来越多的研究者尝试将深度学习技术应用于三维数据的分析与理解[4]。在三维重建任务中,根据目前三维模型常用的表示形式,主要有基于点云[5,6]、基于网格[7,8]和基于体素[9,10]的三维重建方法。
1 相关工作
1.1 基于视觉几何的三维重建方法
传统基于视觉几何的三维重建方法,研究时间比较久远,技术相对成熟,已经取得巨大的成功。主要通过多视角图像对采集数据的相机位置进行估计,再通过图像提取特征后进行比对拼接完成二维图像到三维模型的转换。2005年,Isgro等人[11]将其主要分为主动式和被动式,在主动式方法[12,13]中,物体的深度信息是给定的,重建主要是利用数值近似来还原物体的3D轮廓。被动式方法[14,15]在3D重建过程中不会与被重建物体产生任何交互,主要是利用周围环境获取图像,然后通过对图像的理解来推理物体的3D结构。
1.2 基于深度学习的三维重建方法
深度学习的方法使用深度网络从低质量图像中自动学习三维形状的语义特征,可以充分学习三维形状的可见部分,通过训练目标函数重建三维形状的遮挡部分,弥补传统基于视觉的三维重建的固有缺陷,提高了重建精度。
Wu等人[16]在2015年提出基于体素表示的三维重建网络3D ShapNets。体素表示的三维形状通过添加三维块提高了表面精度,但是也带来了更大的计算量。与此同时,这种体素表示方法存在信息稀疏性问题,受到空间分辨率的限制。Tatarchenko等人[17]通过一种基于八叉树的体素表示法,八叉树生成网络(octree generating network,OGN)学习预测八叉树的结构和每个单元的占用值,大大降低了生成形状所需的空间开销,提升了预测体素形状的精细程度。与基于体素或基于八叉树的CNN方法不同,Wang等人[18]提出一个自适应基于八叉树的卷积神经网络(Adaptive O-CNN),按照局部形状与平面的差距自适应地生长八叉树并在每个叶子节点中预测一个小平面作为局部的几何形状,充分利用了不同形状和不同尺度局部几何的共性,不仅减少了内存开销,而且较现有的三维CNN方法具有更好的形状生成能力。
网格表达不同于图像和体素的结构,具有不一致的拓扑结构[19],能够建模三维形状细节,更适合于许多实际应用场景。Wang等人[20]提出了一种端到端的深度学习框架Pixel2Mesh,由粗到细基于图卷积神经网络直接生成彩色图像的三角形网格。
针对上述方法存在重建精度和完整度的问题,沈伟超等人[21]将三维物体分解成多个组件,通过预测组件几何结构和组装组件的方式重建三维物体,从而将高分辨率三维物体的重建问题分解成一系列低分辨率组件的重建问题。Zheng等人[22]提出了一种简单而有效的方法来重建高质量的三维模型的表面颜色和形状。采用统一的由粗到细的策略,从输入的单幅图像中学习颜色和形状。通过引入正交彩色地图(orthographic colorful map,OCM)来表示模型的表面颜色,从而可以直接利用二维超分辨率方法获得高分辨率的表面颜色。
1.3 基于单视图的三维重建方法
基于单视图的三维重建在计算机视觉领域是一个具有挑战性的热点问题,近几年来,研究人员通过引入先验知识和一些合适的约束进行三维重建。Li等人[23]提出了一种利用类信息从给定的类标签生成三维模型的三维GAN,该网络可以学习多类别的复杂数据分布,并且生成器的多样性得到了很好的保证,最终从单一图像中重建三维模型。Zhang等人[24]联合学习2D图像、3D形状几何形状和结构的多模态特征表示,将3D形状结构表示为零件关系,通过对视图对齐图像和3D形状进行训练,在潜在特征空间中隐式编码视图感知形状信息,从而重建出三维模型。何鑫睿等人[25]通过对Pix2Vox网络进行改进,在重建网络中增加多尺度通道,以保留多层次的图像信息,并融合通道注意力机制,加强对图像特征学习,实现端到端的单视图三维模型重建。
点云作为三维数据的重要表示形式,具有可伸缩的数据表示、紧凑的形状信息编码和可选的嵌入纹理的特点,受到越来越多的关注。针对在单视图三维点云重建问题,Mandikal等人[1]提出3D-LMNet框架,从单一图像进行精确多样的三维点云重建的潜在嵌入匹配,通過训练三维点云自编码器,学习一个从二维点云到相对应潜在嵌入空间的映射。 Chen等人[26]使用设计的图像编码器和注意力机制来提取图像特征并输出简单的点云。Wen等人[27]提出了3DAttriFlow网络,通过对输入图像中不同的语义层次分离和提取语义属性,将其集成到三维形状重建过程中,对三维形状上特定属性的重建提供明确的指导,从而重建更精确的3D形状。上述方法仅仅依靠对三维信息的监控,诱导网络生成合理、准确的三维模型是不够的。另外,生成的点云视觉误差随姿态的不同而变化,在图像不可见部分容易产生多个微小形状的三维模型结果,且模型的细节容易丢失。比如对椅子重建中,椅子腿是辨别椅子的重要特征,但使用整体损失函数时由于椅子腿部点数过少,使得腿部部分不易重建,从而失去重要特征。
目前大多数点云重建方法在训练过程中直接使用二维图像特征或三维模型作为监督值,这种方法虽然简单,但同时带来了两个主要的问题:一方面由于单张图片提供的物体信息有限,仅仅约束单张图片重建出来的模型,很难重建出高质量并与输入图像保持一致的三维模型,也就是重建出的点云易产生多个可能的形状;另一方面由于图像数据集远远超过三维数据,所以标注大量与输入图像匹配的三维模型带来昂贵的时间和人力成本。利用点云进行单视图三维重建仍存在一些亟待解决的问题。从单视图图像中恢复三维结构也是一个不适定问题,重建的点云缺乏细节曲面。
2 本文方法
本文针对目前单幅图像三维模型重建中重建模型具有歧义性的问题,提出了一种改进的3D-LMNet方法,基于先验信息指导的多几何角度约束的三维点云模型重建方法。点云模型重建网络框架如图1所示。
具体来说,首先使用图像编码器与3D点云自编码器分别获取输入图像特征Ei与点云数据分布先验Ep,为减少重建过程中不确定点云的生成,通过结合多个二维投影图Ml监督的方法,在不同视角进行几何外观约束,从而使得重建模型具有与输入一致的外观轮廓细节,使得三维模型重建更具有广泛性。联合优化投影图损失Lmask 和特征向量损失L1,更新图像编码器参数Eθ,最终获得重建点云。在合成和真实数据集上对该重建方法进行了广泛的定量和定性评估,实验结果表明本文算法显著优于3D-LMNet的重建方法。
2.1 3D點云自编码器
为学习3D点云数据集中的先验知识,本文训练了一个编解码器网络(Ep,Dp) 。通过设计适当的损失函数训练,调整编码器和解码器的参数,能够充分学习输入特征,引入点云自编码器来充当数据集中点云特征提取器,通过训练学习输入点云数据的分布特征,从而获取数据分布先验。
采用基于PointNet的编码器Ep 结构,其中包括五个一维卷积层。应用maxpool symmetry函数特征向量Zp上全连接层构成,产生重建点云X⌒p。具体来说,输入点云为B×N×3,其中B为batchsize,N为点云点的数量,每个卷积输出B×N×64,B×N×128,B×N×256,B×N×256,B×N×512,为激活函数。在解码器中,通过三个全连接层输出,分别为B×256,B×256,B×2048×3。
2.2 匹配重建
通过2.1节3D点云自编码器训练后,得到一个特征向量,其可以理解为一个向量空间,即目标域,而图像编码器部分获取的图像特征是为了与点云数据空间进行逼近,使得两者分布匹配,最小化向量空间分布差异后得到的图像特征可以视做是融合了该类别三维特征信息,从而可以有效地恢复出三维模型。
在此阶段,旨在将3D点云中学习的先验知识有效地转移到2D图像中。因此训练一个图像编码器Ei,该图像编码器输入一个二维图像I,并输出一个图像特征向量Zi。
在匹配重建阶段,通过最小化图像特征向量Zi与点云特征向量Zp的差异,使得图像潜在数据空间逼近于真实点云数据分布,重建出可能的点云模型。对潜在损失函数使用最小绝对偏差LAD进行计算,公式如下:
2.3 可微投影
从多个角度获取多张二维投影图来表达该模型,在不同角度约束重建的三维模型外观轮廓。即若重建模型与真实模型接近,则其各角度投影必定相似,反过来说若在不同角度投影图和真实投影图差距很小,则可以认为其表达的模型与真实模型相似。基于这一思想,考虑到从特征空间中重建的初始点云具有不确定性,因此本节引入可微点云投影模块,将初始点云进行投影,增加多角度几何约束,从而确保重建点云与输入图像在几何外观上保持一致。
具体来说,在获得预测点云X⌒i后,利用相机参数对模型进行投影。通过视角变换并将变换后的点云投影到平面上,将点云中所有点的高斯映射合并,得到与真值匹配的投影图,相比于以往的投影方式,采用可微函数的方法使得投影图更具平滑性。对获得任意视角v的不同投影,使用相应的真实投影计算损失。令M⌒VI,J为在第v视角点云投影模块在(i,j)坐标处的像素值,其获得方法如下:
2.4 损失函数
通常使用二元交叉熵损失来实现投影值和真实值之间的一致性,定义投影图损失如下:
其中:MV和M⌒V别是第v个视角真实二值轮廊图和点云投影轮廊图;i,j分别是投影图像中像素值。使用多个不同角度的投影图像约束训练,得到的重建点云投影生成模型具有更精细的轮廓,更贴近真实三维物体。优化过程中的最终损失函数是二元交叉熵和仿射变换损失函数的组合:
3 实验与结果
3.1 数据集
本文实验训练采用ShapeNet数据集中的数据,其中包括视图、Mask图、相机视点信息,在网格表面采样得到相应的点云(数量为2 048),同时随机选择20个视角对每个模型进行渲染获得图像,得到图像和点云的数据对。包括13个不同类别的模型,按照80%、20%的比例划分为训练集与测试集。训练后在ShapeNet数据集[2]和Pix3D数据集[3]进行了测试,其中Pix3D中的图像在形状和背景方面较为复杂。
3.2 实验参数
本文实验训练过程分为两个阶段,在第一个阶段即点云自编码器过程,采用预训练的方式,第二个阶段使用Adam优化器对重建网络训练进行联调。其中批处理大小为2,初始学习率为1×10-5。式(7)中α的设置值为10,输入图像尺寸为64×64×3,最终重建点云的数量为1 024、2 048,点云编码器、重建网络训练迭代次数分别为500、10,选择四个角度进行投影。
3.3 评估指标
本文采用以下定量评估指标进行评估:
a)CD(Chamfer distance):用于衡量两个点云之间的距离,也叫倒角距离,具体为一个点云S中的每一个点p,都找到另一个点云S⌒ 中与之最近邻的一个点q,然后对点云所有点距离求和。
3.4 实验结果与分析
如表1可以看出,本文方法在bench、cabinet、car、monitor、speaker类别上CD距离比3D-LMNet[1]低近2.5,同时在air、chair、lamp、rifle、sofa、telephone、vessele类别也低于3D-LMNet[1]。在 EMD度量上,本文方法同样具有竞争力,其中在bench、cabinet、car、speaker类别上也低近2.0,在其他大部分类别上也是有更低的数值。
对部分重建结果进行可视化展示,图2展示了本文方法在ShapeNet测试子集上的部分重建结果(1 024点),从可视化结果可以看出,本文方法在重建模型为1 024数量点时仍有较好的效果,模型具有较强的鲁棒性。图3、4分别展示了本文算法与3D-LMNet在ShapeNet测试子集与Pix3D上的重建结果对比(2 048点)。从可视化结果可以看出,基于先验指导的单图重建结果有着较为完整的轮廓外观,如图3、4中table中间的隔层、椅子腿部等,另外本文方法在针对目前单幅图像三维模型重建中重建模型具有歧义性的问题有较好的效果,而3D-LMNet方法对某些类别针对输入图像本身可能存在噪声、遮挡情况的重建效果不佳的问题,如图3bench类别样例2中无法重建出模型轮廓,而本文方法通过引入可微投影模块进一步添加了约束条件,使得重建效果更佳。
4 結束语
本文提出了一个基于先验知识的单视图三维点云重建算法,引入点云自编码器获取数据先验,减少重建过程中不确定点云的生成,在此基础上,结合可微投影模块设计新颖的三维模型重建网络,实现重建点云具有与输入图像一致的外观轮廓细节,得到了较好的重建结果,通过实验与其他方法进行了对比验证了所提算法的有效性。此外,本文结合数据先验,减少解码过程中不确定点云的生成,提高重建结果的准确率,使得三维点云重建更具有广泛性。未来将考虑利用图卷积提取带有法向信息的点云特征,结合对抗网络试图取得更好的重建效果。
致谢 此项工作是在国家超级计算天津中心的天河新一代超级计算机上完成,感谢天河的大力支持。
参考文献:
[1]Mandikal P,Navaneet K L,Agarwal M,et al.3D-LMNet:latent embedding matching for accurate and diverse 3D point cloud reconstruction from a single image[C]//Proc of British Machine Vision Confe-rence.2018:55.
[2]Mo Kaichun,Zhu Shilin,Angel X C,et al.PartNet:a large-scale benchmark for fine-grained and hierarchical part-level 3D object understanding[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2019:909-918.
[3]Sun Xingyuan,Wu Jiajun,Zhang Xiuming,et al.Pix3D,single RGB image,3D shape modeling,3D reconstruction,shape retrieval,3D pose estimation[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2018:2974-2983.
[4]李海生,武玉娟,郑艳萍,等.基于深度学习的三维数据分析理解方法研究综述[J].计算机学报,2020,43(1):41-63.(Li Hai-sheng,Wu Yujuan,Zheng Yanping,et al.A survey of 3D data analysis and understanding based on deep learning[J].Chinese Journal of Computers,2020,43(1):41-63.)
[5]Li Yangyan,Bu Rui,Sun Mingchao,et al.PointCNN:convolution on χ-transformed points[C]//Proc of the 32nd International Conference on Neural Information Processing Systems.[S.l.]:Curran Associates Inc.,2018:828-838.
[6]Fan Haoqiang,Su Hao,Guibas L,et al.A point set generation network for 3D object reconstruction from a single image[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Pisca-taway,NJ:IEEE Press,2017:2463-2471.
[7]Gao Lin,Yang Jie,Wu Tong,et al.SDM-Net:deep generative network for structured deformable mesh[J].ACM Trans on Graphics,2019,38(6):1-15.
[8]Mao Aihua,Dai Canglan,Gao Lin,et al.STD-Net:structure-preserving and topology-adaptive deformation network for 3D reconstruction from a single image[J].IEEE Trans on Visualization and Computer Graphics,2020,29(3):1785-1798.
[9]Choy C B,Xu Danfei,Gwak J,et al.3D-R2N2:a unified approach for single and multi-view 3D object reconstruction[C]//Proc of European Conference on Computer Vision.Cham:Springer,2016:628-644.
[10]Xie Haozhe,Yao Hongxun,Zhang Shengping,et al.Pix2Vox+:multi-scale context-aware 3D object reconstruction from single and multiple images[J].International Journal of Computer Vision,2020,128(12):2919-2935.
[11]Isgro F,Odone F,Verri A.An open system for 3D data acquisition from multiple sensor[C]//Proc of the 7th International Workshop on Computer Architecture for Machine Perception.Piscataway,NJ:IEEE Press,2005:52-57.
[12]Park J,Kim H,Tai Y W,et al.High quality depth map upsampling for 3D-TOF cameras[C]//Proc of IEEE International Conference on Computer Vision.Piscataway,NJ:IEEE Press,2011:1623-1630.
[13]Rocchini C,Cignoni P,Montani C,et al.A low cost 3D scanner based on structured light[J].Computer Graphics Forum,2001,20(3):299-308.
[14]Morris N J W,Kutulakos K N.Dynamic refraction stereo[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2011,33(8):1518-1531.
[15]Warren P A,Mamassian P.Recovery of surface pose from texture orien-tation statistics under perspective projection[J].Biological Cyberne-tics,2010,103(3):199-212.
[16]Wu Zhirong,Song Shuran,Khosla A,et al.3D ShapeNets:a deep representation for volumetric shapes[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Piscataway,NJ:IEEE Press,2015:1912-1920.
[17]Tatarchenko M,Dosovitskiy A,Brox T.Octree generating networks:efficient convolutional architectures for high-resolution 3D outputs[C]//Proc of IEEE International Conference on Computer Vision.Piscataway,NJ:IEEE Press,2017:2107-2115.
[18]Wang Pengshuai,Sun Chunyu,Liu Yang,et al.Adaptive O-CNN:a patch-based deep representation of 3D shapes[J].ACM Trans on Graphics,2018,37(6):1-11.
[19]李海生,曹國梁,魏阳,等.三角网格曲面共形参数化研究综述[J].图学学报,2021,42(4):535-545.(Li Haisheng,Cao Guoliang,Wei Yang,et al.Survey on triangular mesh surface conformal parameterization[J].Journal of Graphics,2021,42(4):535-545.
[20]Wang Nanyang,Zhang Yinda,Li Zhuwen,et al.Pixel2Mesh:generating 3D mesh models from single RGB images[C]//Proc of European Conference on Computer Vision.Cham:Springer,2016:628-644.
[21]沈伟超,马天朔,武玉伟,等.组件感知的高分辨率三维物体重建方法[J].计算机辅助设计与图形学学报,2021,33(12):1887-1898.(Shen Weichao,Ma Tianshuo,Wu Yuwei,et al.Component-aware high-resolution 3D object reconstruction[J].Journal of Computer Aided Design & Computer Graphics,2021,33(12):1887-1898.)
[22]Zheng Yanping,Zeng Guang,Li Haisheng,et al.Colorful 3D reconstruction at high resolution using multi-view representation[J].Journal of Visual Communication and Image Representation,2022,85:103486.
[23]Li Haisheng,Zheng Yanping,Wu Xiaoqun,et al.3D model generation and reconstruction using conditional generative adversarial network[J].International Journal of Computational Intelligence Systems,2019,12(2):697-705.
[24]Zhang Xuancheng,Ma Rui,Zou Changqing,et al.View-aware geometry-structure joint learning for single-view 3D shape reconstruction[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2022,44(10):6546-6561.
[25]何鑫睿,李秀梅,孙军梅,等.基于改进Pix2Vox的單图像三维重建网络[J].计算机辅助设计与图形学学报,2022,34(3):364-372.(He Xinrui,Li Xiumei,Sun Junmei,et al.Improved Pix2Vox based 3D reconstruction network from single image[J].Journal of Computer-Aided Design & Computer Graphic,2022,34(3):364-372.)
[26]Chen Hui,Zuo Yipeng.3D-ARNet:an accurate 3D point cloud reconstruction network from a single-image[J].Multimedia Tools and Applications,2022,81:12127-12140.
[27]Wen Xin,Zhou Junsheng,Liu Yushen,et al.3D shape reconstruction from 2D images with disentangled attribute flow[C]//Proc of IEEE/CVF Conference on Computer Vision and Pattern Recognition.Pisca-taway,NJ:IEEE Press,2022:3793-3803.
收稿日期:2022-12-15;修回日期:2023-02-09基金项目:国家自然科学基金资助项目(62277001);北京市自然科学基金—小米创新联合基金项目(L233026);北京市教委—市自然基金委联合资助项目(KZ202110011017)
作者简介:陈雅丽(1998-),女,四川宜宾人,硕士研究生,主要研究方向为计算机图形学、三维重建;李海生(1974-),男(通信作者),山东德州人,教授,博导,博士,主要研究方向为计算机图形学、三维重建(lihsh@btbu.edu.cn);王晓川(1987-),男,陕西咸阳人,讲师,博士,主要研究方向为计算机图形学、图像处理与质量度量、虚拟现实;李楠(1979-),男,北京人,教授,博士,主要研究方向为设计方法学、服务化设计与制造、智能工程.