CN114708380A - 一种基于融合多视角特征与深度学习的三维重建方法 - Google Patents

一种基于融合多视角特征与深度学习的三维重建方法 Download PDF

Info

Publication number
CN114708380A
CN114708380A CN202210219791.1A CN202210219791A CN114708380A CN 114708380 A CN114708380 A CN 114708380A CN 202210219791 A CN202210219791 A CN 202210219791A CN 114708380 A CN114708380 A CN 114708380A
Authority
CN
China
Prior art keywords
dimensional
point
information
features
view
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210219791.1A
Other languages
English (en)
Inventor
张岩
贾晓玉
张化鹏
谢吉雨
刘琨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202210219791.1A priority Critical patent/CN114708380A/zh
Publication of CN114708380A publication Critical patent/CN114708380A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于融合多视角特征与深度学习的三维重建方法,包括:采集多视角图片数据与对应的SDF数据;用卷积网络对输入的图片数据进行卷积操作,分别得到多视角下的一维的全局特征和多层二维的图片特征;对多视角下的全局特征进行最大池化操作,获取整体的全局特征;对输入的三维查询点投影,用二维查询点查询多层图片特征得到局部点信息,并拼接得到局部特征信息;进行点卷积操作,获取模型的点特征;将点特征分别与全局特征,局部特征结合,获取带有点特征信息的全局特征与局部特征;将全局特征分别与局部特征结合,用投票的方式生成最终的特征信息;最终生成三维模型。

Description

一种基于融合多视角特征与深度学习的三维重建方法
技术领域
本发明涉及一种三维重建方法,特别是一种基于融合多视角特征与深度学习的三维重建方法。
背景技术
近些年,随着越来越多的3D建模软件的出现,以及深度传感器,如Kinect等,被广泛应用于采集深度数据的平台上,三维模型数据在互联网上出现了爆炸式增长,3D模型也出现了大量的表现形式,如点云、体素、面片、隐式场等。这种趋势使得3D模型的分析成为了热点的研究领域。目前,图像分析领域的研究已经取得了丰硕的成果,深度学习框架的引入更是进一步提升了效果。在此背景下,基于单目视角,双目视角,多目视角的图像的三维重建技术也投入了大量的研究,然而,2D图像上的卷积操作无法直接应用于3D模型上,使得将深度学习的方法应用于3D模型的分析变得困难重重。因此,大量的3D模型分析方法依赖于手调的描述子提取特征。尽管最近出现了将3D模型数据组织成中间表示形式,如树、图等数据结构,使得卷积操作变得可行,然而这种结构很难完整地保持原有的面片或点之间的邻接关系。同时,由于三维领域的研究涉及大量的点信息与特征信息,因而,如何有效地提高生成模型的分辨率也有很大的困难。
由此可见3D模型的重建问题十分有挑战性,有以下几点原因:
1、重建时对不可见部分的预测,例如图片上无法清晰展示的模型的底部等;
2、准确地探测模型部件的细节部分,例如模型上的细小的花纹,空洞,需要更细微的几何信息;
3、局部和全局特征必须被结合起来分析才能实现更好的生成结果;
4、分析方法必须对噪声、降采样以及同类模型的多样性具有鲁棒性;
近些年,3D模型的重建领域蓬勃发展,出现了无监督的传统方法和有监督的数据驱动的方法两大类别。
无监督的方法,如文献1:Furukawa Y,Ponce J.Accurate,Dense,and RobustMultiview Stereopsis[J].Pattern Analysis and Machine Intelligence,IEEETransactions on,2010,32(8):p.1362-1376.、文献2:Vu H H,Labatut P,Pons J P,etal.High Accuracy and Visibility-Consistent Dense Multiview Stereo[J].IEEETransactions on Pattern Analysis&Machine Intelligence,2011,34(5):889-901.、文献3:GallianiS,Lasinger K,Schindler K.Massively Parallel Multiview Stereopsisby Surface Normal Diffusion[C]//IEEE International Conference on ComputerVision.IEEE Computer Society,2015.、文献4:Schnberger J L,Zheng E,Pollefeys M,et al.Pixelwise View Selection for Unstructured Multi-View Stereo[C]//European Conference on Computer Vision(ECCV).Springer,Cham,2016.等借助于已有的模型集的先验知识来进行多视角的模型重建工作。这些无监督的传统方法,大多采用了手动增加相似性权重等操作,即需要大量的额外的工作,在完整性也存在许多问题,不具有很好的泛化能力。
有监督的方法则从带标签的训练数据集中提取特征,然后用训练好的模型对测试数据集进行重建工作。根据重建模型的中间与输出的表示形式不同,对最终网络的训练与生成模型的效果也有很大的影响,例如在基于单视角图片重建的领域,文献5:XinchenYan,Jimei Yang,ErsinYumer,Yijie Guo,and Honglak Lee.Perspective transformernets:Learning single-view 3d object reconstruction without 3d supervision.InNeurIPS,2016.使用体素作为模型的表示形式。文献6:Christian
Figure BDA0003536505380000021
ShubhamTulsiani,and Jitendra Malik.Hierarchical surface prediction for 3d objectreconstruction.In 3DV,2017.使用八叉树作为模型的表示形式。文献7:Haoqiang Fan,Hao Su,and Leonidas J Guibas.A point set generation network for 3dobjectreconstruction from a single image.In CVPR,2017.使用点云作为模型的表示形式。文献8:Chuhang Zou,ErsinYumer,Jimei Yang,DuyguCeylan,and Derek Hoiem.3d-prnn:Generating shape primitives with recurrent neural networks.In ICCV,2017.使用多面体作为模型的表示形式、文献9:Ayan Sinha,AsimUnmesh,Qixing Huang,andKarthik Ramani.Surfnet:Generating 3d shapesurfaces using deep residualnetworks.In CVPR,2018.使用3d的表面作为最后模型的表示形式、文献10:Jiapeng Tang,Xiaoguang Han,Junyi Pan,Kui Jia,and Xin Tong.A skeleton-bridged deep learningapproach for generating meshes of complex topologies from single rgbimages.InCVPR,2019.使用物体的骨架作为表示形式用于生成最后模型、文献11:ThibaultGroueix,Matthew Fisher,Vladimir G.Kim,Bryan Russell,and MathieuAubry.AtlasNet:A Papier-
Figure BDA0003536505380000022
Approach to Learning 3D Surface Generation.InCVPR,2018.通过自定义了一套模型表面的方法作为模型的表示形式等,这些方法通过将三维模型转化为体素、树、图、谱空间等中间结构,再应用深度学习框架预测模型面片或者点云的标签,取得了不错的效果,然而依然没有解决中间形式无法完整地保留模型元素之间的邻接关系,以及有限于上述中间表示形式最终结果生成时,能够生成的结果的分辨率有限,并且体素和点云的表示形式生成和保存需要消耗较大的内存,并不够实用。文献12:XuQ,Wang W,Ceylan D,et al.DISN:Deep Implicit Surface Network for High-qualitySingle-view 3D Reconstruction[J].2019.提出了使用隐式场的表示形式作为三维模型的编码方式,即约定在模型表面的部分为0,模型内部小于0,模型外部大于0,以该种方式处理三维模型,生成相应的编码方式,然后设计网络学习模型的全局特征和局部特征,再将两个特征相加,得到最终特征向量,用之前的约定的方式下得到的编码作为真值,计算L1Loss,以此来展开训练。隐式场的表示方式,解决了点云表示方式的离散化的问题,同时也解决了体素,网格等表示方式的分辨率不足的问题,此外,该种表示形式具有连续性,适于在卷积网络中进行训练,同时相较于其他表示形式多用CD,EMD作为loss的计算方式,该文献简化了loss的计算方式,增加训练过程的效率,最终也在基于单视角图片重建的领域取得了不错的结果。然而,受限于输入单张的图片,不能充分获取模型的信息,对于单张图片,模型存在不同程度遮挡,因而,最终生成的模型的完整性很大一部分取决于选取的单张图片的角度,输入正视图的单张图片的结果往往好于输入侧视图的单张图片,这也使得最终生成的结果具有不确定性。
目前,在基于图片的三维模型重建领域,存在有单目,双目,多目等方式。上述引用的文献12即采用了单目的视角,生成的模型也受限于输入图片的角度,生成的结果存在着较大的差异。文献13:Han,X.,Leung,T.,Jia,Y.,Sukthankar,R.,Berg,A.C.:Matchnet:Unifying feature and metric learning for patch-based matching.Computer Visionand PatternRecognition(CVPR)(2015)采用了双目的视图,使用patch匹配的方式,生成模型,但也局限于信息的不足,使得生成的模型并不能达到很好的效果。然而,基于多目视角的三维重建,并不是简单的图片的增加,由于输入图片的角度随意性,如何结合多个图片的信息便成为一种挑战。文献14:Kar A,Hne C,Malik J.Learning a Multi-View StereoMachine[J].2017.使用相机参数将二维的图片返投到三维空间的方式,通过RNN网络将多个视角的三维特征向量特征融合,形成一个3D代价体,再用3D卷积进行优化操作,最后得到三维的最终结果,但是由于中间表示形式皆为体素的形式,在训练过程中会产生较大的代价,同时生成结果也受限于体素的表示方式。文献15:Yao Y,Luo Z,Li S,et al.MVSNet:Depth Inference for Unstructured Multi-view Stereo[J].2018.首先在2D图像上进行特征提取得到特征图,然后通过可微分的单应变换,基于参考视图的相机视锥体构建3D代价体。然后使用3D卷积对代价体进行正则化,回归得到初始的深度图,初始的深度图再通过参考图像优化得到最后的深度图。由于文献15存在优化代价体过程中,参数过多的问题,严重消耗内存,使得方法可扩展性差,无法应用于高分辨率场景,在此基础上,文献16:Yao Y,Luo Z,Li S,et al.Recurrent MVSNet for High-resolution Multi-view Stereo DepthInference[J].IEEE,2019.在代价体优化过程中,采用多层gated recurrent unit(GRU)而非3D卷积,内存消耗由立方增长降低到平方增长,可以应用于高分辨率场景。但基于MVSNet的方法同样受限于体素的表示方式,导致无法按需求灵活地生成多分辨率的模型。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于融合多视角特征与深度学习的三维重建方法。
为了解决上述技术问题,本发明公开了一种基于融合多视角特征与深度学习的三维重建方法,包括以下步骤:
步骤1,采集多视角图片数据与对应的带符号的距离方程数据(Signed DistanceFunctions,SDF),作为输入的图片数据;
步骤2,用全卷积网络vgg对输入的图片数据进行卷积操作,分别得到多视角下的一维的全局特征信息和多层二维的图片特征信息;
步骤3,对步骤2中多视角下的全局特征信息进行最大池化操作,获取整体的全局特征信息;
步骤4,输入三维模型的点信息,即三维查询点,对其进行投影,得到相应的二维查询点,用二维查询点查询图片多层特征信息得到局部点信息,并将多层局部点信息进行拼接,得到局部特征信息;
步骤5,进行点卷积操作(参考:一种用于提取三维点特征的网络,参考文献:(Qi CR,Su H,Mo K,et al.PointNet:Deep Learning on Point Sets for 3D Classificationand Segmentation[C]//2017IEEE Conference on Computer Vision and PatternRecognition(CVPR).IEEE,2017.),获取相应的点特征;
步骤6,将步骤5中得到的点特征分别与步骤3中得到的整体的全局特征信息,步骤4中得到的局部特征信息结合,获取带有点特征信息的全局特征与局部特征;
步骤7,将步骤6中的带有点特征信息的全局特征分别与带有点特征信息的局部特征结合,并用投票的方式生成最终的特征信息;
步骤8,对步骤7中得到的最终的特征信息,通过移动立方体算法生成最终的三维模型(参考:Marching Cube,参考文献:William E Lorensen and Harvey ECline.Marching cubes:A high resolution 3d surfaceconstruction algorithm.InACM siggraph computer graphics,1987.)。
本发明步骤1包括如下步骤:
步骤1-1,从Shapenet数据库(一种官方的用于训练与测试的三维数据测试集,包含10种专利所需的数据,用于后续的测试与训练)中获取原始三维数据集D,从3DR2N2数据集(对ShapeNet中的三维数据集投影处理后的数据集,参考:Christopher B Choy,DanfeiXu,JunYoungGwak,Kevin Chen,and Silvio Savarese.3d-r2n2:A unified approach forsingle and multi-view 3d object reconstruction.In ECCV,2016.包含二维图片信息以及相应的相机参数信息)中获取24个视角的二维图片信息P,与相应的相机参数信息C;
步骤1-2,将三维数据集D,生成相应的SDF数据,存入到对应的h5文件中;
步骤1-3,将二维图片信息P,与相对应的相机参数信息C存入到h5文件中。
本发明中步骤1-2包括如下步骤:
步骤1-2-1,将三维数据集D归一化,生成数据集N,使得数据集的数值范围在-1到1之间;
步骤1-2-2,使用isosurface工具(将三维数据处理成SDF数据的工具,参考:FunShing Sin,Daniel Schroeder,and JernejBarbiˇc.Vega:non-linear fem deformableobjectsimulator.In Computer Graphics Forum,volume 32,pages 36–48.Wiley OnlineLibrary,2013.),将数据集N处理成SDF数据集;
步骤1-2-3,使用MarchingCube的方法(参考:William E Lorensen and Harvey ECline.Marching cubes:A high resolution 3d surfaceconstruction algorithm.InACM siggraphcomputer graphics,1987.),将SDF数据集处理,生成相应的三维数据集O;
步骤1-2-4,将数据集O中的SDF数据信息存入到h5文件中。
本发明中,步骤2包括如下步骤:
步骤2-1,将输入的三维网格模型数据集D={DTrain,DTest}等数量随机地划分为训练集DTrain={d1,d2,…di,…,dn}和测试集DTest={dn+1,dn+2,…,dn+j,…,dn+m},其中di表示训练集中第i个模型,dn+j表示测试集中第j个模型,n表示训练集的数目,m表示测试集的数目;
步骤2-2,对于训练集DTrain,采集其各个视点方向下的投影图PTrain={P1,P2,…Pi,…,pn}以及相机参数信息CTrain={C1,C2,…Ci,…,cn}输入到全卷积网络中进行训练,得到训练好的融合了多视角特征的全卷积网络,同时得到多视角下的多层二维图片特征信息L与一维的全局特征G,其中Pi指的是训练集DTrain中的第i个模型di的24个视角下的投影图集,Ci指的是训练集DTrain中的第i个模型di的24个视角的相机参数集。
步骤2-2包括以下步骤:
步骤2-2-1,输入训练集各个视角下的投影图PTrain,其中对每个模型Pi对应24个视角的投影图信息集以及相机参数信息集Ci,从中选取n个视角的图片pextract={pi,pm,…,pk}输入到vgg卷积网络中,其中n取值范围为1至24;
步骤2-2-2,将选取的n个视角的图片pextract输入到vgg卷积网络(一种能够有效提取图片特征的网络,参考:Karen Simonyan and Andrew Zisserman.Very deepconvolutional networks for large-scaleimage recognition.arXiv preprint arXiv:1409.1556,2014.其中本专利使用了vgg16网络模型),经过卷积操作和池化操作后,分层提取n个视角下的224×224×64维、112×112×128维、56×56×256维、28×28×512维、14×14×512维的特征向量,作为分层的图片特征L={l1,l2,…,ln},再将最后一层的14×14×512维的特征向量展开成1维,进行全卷积操作,最后得到n个视角下的1×128维的特征向量作为全局向量G={g1,g2,…,gn}。
本发明中,步骤3包括以下步骤:
将步骤2中得到的全局特征向量G进行最大池化操作,即选择各个维度下的最大值组合成一个融合了各个视角特征的128维的特征向量,得到整体的全局特征G。
本发明中,步骤4包括以下步骤:
步骤4-1,对输入的三维查询点信息D,使用相机参数进行投影操作,得到相应视角下的二维查询点Q;
步骤4-2,使用步骤4-1中得到的二维查询点Q,分别对步骤2中的分层的图片特征L进行查询,分别获得1×64维,1×128维,1×256维,1×512维,1×512维的局部点特征信息,进行拼接,得到1×1472维的局部特征信息。
本发明中,步骤5包括:将二维查询点Q输入到PointNet网络中(参考文献:Qi CR,Su H,Mo K,et al.PointNet:Deep Learning on Point Sets for 3D Classificationand Segmentation[C]//2017 IEEE Conference on Computer Vision and PatternRecognition(CVPR).IEEE,2017.)),提取出点的特征信息1×512的特征向量F。
本发明中,步骤6包括以下步骤:
步骤6-1,对步骤3得到的全局特征向量G与步骤5得到的点特征向量F,将其进行拼接,得到1×640维的带有点特征信息的全局特征,再进行卷积操作,得到1×256维的全局特征向量G;
步骤6-2,对步骤4得到n个视角下的局部特征L与步骤5得到的点特征向量F,将其进行拼接,得到n个视角下带有点特征的1×1984维的局部特征,再进行卷积操作,得到1×256维的局部特征L;
本发明中,步骤7包含以下步骤:
步骤7-1,将步骤6得到的全局特征向量G分别与步骤6得到n个视角下的局部特征L相加,得到n个1×256维的特征信息W={w1,w2,…,wn}
步骤7-2,对步骤7-1得到的特征W进行投票操作,最终得到1×256维的特征信息SDF,其中,投票的方式为统计最终得到多视角的特征在同一点处每层SDF正值和负值的个数,取较多的值的平均值作为当前点的SDF预测值;
步骤7-3,计算损失值
Figure BDA0003536505380000071
Figure BDA0003536505380000072
其中,|·|表示L1-norm,即L1范数;f(I,p)表示网络输出结果,即网络预测值,其中输入为图片I和三维点p;SDFI(p)表示点p对应的SDF真值;δ为一个阈值;m表示惩罚点在模型相对位置,点在模型内部时,得到一个惩罚项,取m1>m2,其中m1为当真值小于阈值δ时,惩罚项的取值,m2为真值大于阈值δ时,惩罚项的取值;
步骤7-4,进行反向传播,最终得到训练的融合了多视角特征的全卷积网络。
有益效果:本发明的方法致力于解决基于模型的多视角的图片生成相应的三维模型的问题,先采用vgg网络对图片进行特征提取,分别从vgg的多层结构提取不同感知域的特征作为多层的局部信息,取最后一层感知域的特征作为全局特征,再结合三维信息的特征,得到的多视角下的特征,通过投票的方式,最后得到最终的最优的特征。在整个过程中,该方法提出了一种结合多视角图片信息的方法,不同于之前的最大池化操作,而是根据SDF数据的特点,首先判断正值的SDF与负值的SDF的多少,选择较多的一类,再取其平均值作为当前点的SDF值,这样做,既满足了SDF值的连续性,也符合了SDF值所表达的含义,同时将选择“最优视角”的操作置于网络之后,减少了网络的负担,提升了训练效率;并且针对点特征只做一次训练,再分别与局部特征,全局特征结合,再进行特征提取,改变了点特征获取两次再分别与局部特征,全局特征结合的方式,简化了网络的结构,也提高了网络训练的准确率。上述操作尽可能地简化了网络,也提出了一种合理的多视角图片融合的方式,从而进一步提升了基于多视角图片的三维重建的效果。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明流程图。
图2为输入图片样例示意图。
图3为三维重建后的结果示意图。
图4为本发明方法的体系框架图。
图5为本发明中单个模型的24个视角的图片示意图。
图6为本发明方法与其它方法的重建结果对比示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
如图1所示,本发明公开了基于模型的多视角的图片的三维模型重建的方法,本发明采用隐式场作为三维模型的表示方式,将三维模型处理成SDF值的表示方式作为真值,同时获取模型的24个视角的图片以及相应的相机数据;将模型训练集的多视角图片输入到vgg网络中,获取多个视角下的模型的全局特征以及多层的局部特征信息;对多视角下的全局特征进行最大池化操作,获取整体的全局特征;将查询点用相机参数信息投影到二维平面,在多层的局部特征信息中查询对应的特征,构成多层的点特征信息;将模型的三维点信息输入到PointNet网络中,获取点位置特征信息;将点位置特征信息分别于局部特征,全局特征拼接,进行卷积操作,获得带有点位置信息特征的局部信息特征与全局信息特征;将全局信息特征分别与多个视角下的局部特征信息相加;比较每个视角中每个查询点的正值与负值的多少,取较多者值的平均值作为最终的模型的SDF特征;使用L1 Loss的方法计算预测SDF值与真值的差距;最终使用Marching Cube的方法,生成对应的三维模型。对于给定的某一类图像集D={DTrain,DTest},等数量随机地划分为训练集DTrain={d1,d2,…di,…,dn}和测试集DTest={dn+1,dn+2,…,dn+j,…,dn+m},其中di表示训练集中第i个模型,dn+j表示测试集中第j个模型,n表示训练集个数,m表示测试集个数。本发明经过如下步骤,完成对测试集DTest内多视图的三维重建,目标任务如图2所示,流程图如图1和图4所示:
具体包括以下步骤:
步骤1,采集多视角图片数据与对应的SDF数据;
步骤2,用vgg网络对输入的图片数据进行卷积操作,分别得到多视角下的一维的全局特征和多层二维的图片特征信息;
步骤3,对多视角下的全局信息进行最大池化操作,获取整体的全局信息;
步骤4,对输入的查询点信息进行投影,用二维查询点查询图片特征信息得到局部点信息,并进行拼接,得到局部特征信息;
步骤5,用PointNet网络进行点卷积操作,获取模型的点特征;
步骤6,将点特征分别与全局特征,局部特征结合,获取带有点特征信息的全局特征与局部特征;
步骤7,将全局特征分别与局部特征结合,并用投票的方式生成最终的特征信息;
步骤8,通过Marching Cube的方法生成三维模型。
步骤1包括如下步骤:
步骤1-1,假设输入单个三维SDF模型s,即标签信息(格式为.h5,记录了三维模型以SDF的方式组织的32768个点的数据,该三维模型s取自包含了16种类型3D模型的ShapeNetCore标准3D模型数据集,并对其进行了归一化以及SDF数据化的处理)和模型s对应的24个视角的图片集p(格式为h5,记录了该图片的图片像素信息,相应的相机数据信息);
步骤1-2,采用随机的方式,从24个视角中选取n个视角的图片用于后续的卷积操作;
其中,步骤1-1包括如下步骤:
步骤1-1-1,对于原始的三维模型o(格式为.obj,记录三维模型的点,面信息)进行归一化处理,使得三维模型的中心点居中,并且使得三维点的取值范围在[-1,1],然后对归一化后的三维模型进行SDF化处理,即使得在三维模型表面上的点为0,在三维模型内部的点小于0,在三维模型外部的点大于0,最终取样256×256×256个点的信息,将得到的每个点的坐标信息与对应的SDF值的信息写入单个文件fs(格式为.h5的文件)中;
步骤1-1-2,从3DR2N2数据集中获取24个视角的二维图片信息P,与相应的相机参数信息C,将其分别写入到同一文件fp(格式为.h5的文件,记录二维图片的像素信息与对应的相机参数信息)中;
步骤2包括如下步骤:
步骤2-1,将输入的三维网格模型数据集D={DTrain,DTest}等数量随机地划分为训练集DTrain={d1,d2,…di,…,dn}和测试集DTest={dn+1,dn+2,…,dn+j,…,dn+m},其中di表示训练集中第i个模型,dn+j表示测试集中第j个模型,n表示训练集个数,m表示测试集个数;
步骤2-2,对于训练集DTrain,采集其各个视点方向下的投影图PTrain={P1,P2,…Pi,…,pn}以及相机参数信息CTrain={C1,C2,…Ci,…,cn}输入到全卷积网络中进行训练,得到训练好的融合了多视角特征的全卷积网络,得到多视角下的局部特征L与全局特征G,其中Pi指的是训练集DTrain中的第i个模型si的24个视角下的投影图集,Ci指的是训练集DTrain中的第i个模型si的24个视角的相机参数集;
其中,步骤2-2包括以下步骤:
步骤2-2-1,输入训练集各个视角下的投影图PTrain,其中每个模型pi对应24个视角的投影图信息集Pi以及相机参数信息集Ci,从中选取n(n取值范围在1到24)个视角的图片pextract={pi,pm,…,pk}输入到vgg卷积网络中;
步骤2-2-2,如图4所示,将选取的n个视角的图片pextract输入到vgg卷积网络中,其中vgg网络采用pytorch中提供的vgg16的模板,经过卷积操作和池化操作后,分层提取n个视角下的224×224×64维、112×112×128维、56×56×256维、28×28×512维、14×14×512维的特征向量,作为分层的图片特征L={l1,l2,…,ln},再将最后一层的14×14×512维的特征向量展开成1维,进行全卷积操作,最后得到n个视角下的1×128维的特征向量作为全局向量G={g1,g2,…,gn}。
步骤3包括以下步骤:
步骤3-1,将步骤2得到的全局特征向量G进行最大池化操作,即选择各个维度下的最大值组合成一个融合了各个视角特征的128维的特征向量,得到整体的全局特征G。
步骤4包括以下步骤:
步骤4-1,对输入的三维查询点信息p,使用相机参数进行投影操作,得到相应视角下的二维查询点Q;
步骤4-2,使用步骤4-1中的二维查询点Q,分别对步骤2中的分层的图片特征L进行查询,分别获得1×64维,1×128维,1×256维,1×512维,1×512维的局部点特征信息,进行拼接,得到1×1472维的局部特征信息;
步骤5包括以下步骤:
步骤5-1,将二维查询点Q输入到PointNet网络中,提取出点的特征信息1×512的特征向量F。
步骤6包括以下步骤:
步骤6-1,对步骤3得到的全局特征G与步骤5得到的点特征F,将其进行拼接,得到1×640维的带有点特征信息的全局特征,再进行卷积操作,得到1×256维的全局特征G;
步骤6-2,对步骤4得到n个视角下的局部特征L与步骤5得到的点特征F,将其进行拼接,得到n个视角下带有点特征的1×1984维的局部特征,再进行卷积操作,得到1×256维的局部特征L;
步骤7包含以下步骤:
步骤7-1,将步骤6得到的全局特征G分别与步骤6得到n个视角下的局部特征L相加,得到n个1×256维的特征信息W={w1,w2,…,wn}
步骤7-2,对步骤7-1得到的特征W进行投票操作,最终得到1×256维的特征信息SDF,其中,投票的方式为统计最终得到多视角的特征在同一点处每层SDF正值和负值的个数,取较多的值的平均值作为当前点的SDF预测值。
步骤7-3,计算Loss值
Figure BDA0003536505380000121
Figure BDA0003536505380000122
在本发明中根据经验设m=4,δ=0.01;m会惩罚点在模型相对位置,当点在模型内部时,会得到一个较大的惩罚项,使得在模型内部的点对网络参数的训练起到更大的作用,这也符合实验的要求,δ为一个阈值,在该阈值范围内的点会对网络参数的变化起到更大的作用。
步骤7-4进行反向传播,最终得到训练的融合了多视角特征的全卷积网络。
步骤8包括以下步骤:
步骤8-1,对步骤7得到的SDF信息,使用Marching Cube的方法得到最终的三维模型。
实施例:
本发明的目标任务如图2和图3所示,图2为原始模型,图3为图2经过三维重建的结果,整个方法的结构体系如图4所示。下面根据实施例说明本发明的各个步骤。
步骤(1),针对三维模型数据集S采集数据。以模型s为例具体分为以下几个步骤:
步骤(1.1),获取24个视角的图片,以及相应的相机参数。
步骤(1.1.1),随机选取24个不同的视角,如图5所示,选取的视角没有固定的角度,图片通过将相机摆放在固定的位置,旋转模型s的角度的方式来获得,图片的大小为137×137,单位为像素,格式为jpg。
步骤(1.2)将24个视角的图片与其对应的相机参数写入到h5文件中,统一管理。
步骤(1.3)使用isosurface工具将模型s,格式为obj的文件处理成用SDF值的表示方式的文件,格式为h5。
步骤(2),用vgg网络对输入的图片数据进行卷积操作,分别得到多视角下的一维的全局特征和多层二维的图片特征信息,如图4所示:
步骤(2.1),将输入的三维数据集D={DTrain,DTest}等数量随机地划分为训练集DTrain={d1,d2,…di,…,dn}和测试集DTest={dn+1,dn+2,…,dn+j,…,dn+m},其中di表示训练集中第i个模型,dn+j表示测试集中第j个模型,n表示训练集的数量,m表示测试集的数量;
步骤(2.2),对于训练集STrain,采集其各个视点方向下的投影图PTrain={P1,P2,…Pi,…,pn}以及相机参数信息CTrain={C1,C2,…Ci,…,cn}输入到全卷积网络中进行训练,得到训练好的融合了多视角特征的全卷积网络,得到多视角下的局部特征L与全局特征G,其中Pi指的是训练集DTrain中的第i个模型si的24个视角下的投影图集,Ci指的是训练集STrain中的第i个模型si的24个视角的相机参数集,该步骤具体又可以分为如下步骤:
步骤(2.2.1),输入训练集各个视角下的投影图PTrain,其中每个模型pi对应24个视角的投影图信息集Pi以及相机参数信息集Ci,从中选取n(n取值范围在1到24)个视角的图片pextract={pi,pm,…,pk}输入到vgg卷积网络中;
步骤(2.2.2),将选取的n个视角的图片pextract输入到vgg卷积网络中,其中vgg网络采用pytorch中提供的vgg16的模板,经过卷积操作和池化操作后,分层提取n个视角下的224×224×64维、112×112×128维、56×56×256维、28×28×512维、14×14×512维的特征向量,作为分层的图片特征L={l1,l2,…,ln},再将最后一层的14×14×512维的特征向量展开成1维,进行全卷积操作,最后得到n个视角下的1×128维的特征向量作为全局向量G={g1,g2,…,gn}。
步骤(3),将步骤2得到的全局特征向量G进行最大池化操作,即选择各个维度下的最大值组合成一个融合了各个视角特征的128维的特征向量,得到整体的全局特征G。
步骤(4),对输入的查询点信息进行投影,用二维查询点查询图片特征信息得到局部点信息,并进行拼接,得到局部特征信息,该步骤具体包括以下步骤:
步骤(4.1),对输入的模型s的三维查询点信息p,使用相机参数C进行投影操作,得到相应视角下的二维查询点Q。
步骤(4.2),使用步骤(4.1)中的二维查询点Q,分别对步骤(2)中的分层的图片特征L进行查询,分别获得1×64维,1×128维,1×256维,1×512维,1×512维的局部点特征信息,进行拼接,得到1×1472维的局部特征信息,如图4所示。
步骤(5),将二维查询点Q输入到PointNet网络中,提取出点位置特征信息1×512的特征向量F。
步骤(6),将点位置信息特征分别与全局特征,局部特征结合,获取带有点位置信息特征的全局特征与局部特征,步骤(6)具体包括以下步骤:
步骤(6.1),对步骤(3)得到的全局特征G与步骤(5)得到的点位置信息特征F,将其进行拼接,得到1×640维的带有点特征信息的全局特征,再进行卷积操作,得到1×256维的全局特征G。
步骤(6.2),对步骤(4)得到n个视角下的局部特征L与步骤(5)得到的点位置信息特征F,将其进行拼接,得到n个视角下带有点特征的1×1984维的局部特征,再进行卷积操作,得到1×256维的局部特征L。
步骤(7)将全局特征分别与局部特征结合,并用投票的方式生成最终的特征信息,步骤(7)具体包含以下步骤:
步骤(7.1),将步骤(6)得到的全局特征G分别与步骤6得到n个视角下的局部特征L相加,得到n个1×256维的特征信息W={w1,w2,…,wn}。
步骤(7.2),对步骤(7.1)得到的特征W进行投票操作,最终得到1×256维的特征信息SDF,其中,投票的方式为统计最终得到多视角的特征在同一点处每层SDF正值和负值的个数,取较多的值的平均值作为当前点的SDF预测值。
步骤(7.3),计算Loss值
Figure BDA0003536505380000141
Figure BDA0003536505380000142
在本发明中根据经验设m=4,δ=0.01;m会惩罚点在模型相对位置,当点在模型内部时,会得到一个较大的惩罚项,使得在模型内部的点对网络参数的训练起到更大的作用,这也符合实验的要求,δ为一个阈值,在该阈值范围内的点会对网络参数的变化起到更大的作用。
步骤(7.4)进行反向传播,最终得到训练的融合了多视角特征的全卷积网络。
步骤(8)包括以下步骤:
步骤(8-1),对步骤(7)得到的SDF信息,使用Marching Cube的方法得到最终的三维模型。
结果分析:
本发明方法的实验环境参数如下:
1)对模型进行数据采集的实验平台参数为Ubuntu16.04 64位操作系统、Intel(R)Core(TM)i7-6850K CPU 3.60GHz、内存32GB,采用Python编程语言,并结合isosurface工具来实现,编程开发环境为Visual Code;
2)对融合了多视角特征的FCN全卷积网络的训练和测试过程的实验平台参数为Windows10 64位操作系统、Intel(R)Core(TM)i7-6850K CPU 3.60GHz、内存32GB,显卡为Titan RTX GPU 24GB采用Python编程语言,并采用了Pytorch第三方开源库来实现。
本发明方法与文献12中的方法(简称DISN)、文献16中的方法(简称LsmNet)的对比实验结果(如表1和表2所示)分析如下:
在公认的三维模型数据集ShapeNetCore的16个类类别的模型集上进行了实验,每一类的数据集的类别名称如表1第一列所示,其中各类别名称含义为Airplane(飞机)、Bench(长椅)、Display(显示屏)、Car(汽车)、Chair(椅子)、Speaker(对讲机)、Lamp(灯)、Sofa(沙发)、Table(桌子)、Phone(手机)、Watercraft(洗手池)、Cabinet(杯子);训练集和测试集的划分如表1第二列所示;语义分割标注效果渲染图对比如图6所示;基于IoU参数的对比如表1和表2所示,其中,在设置IoU参数比较时,设计参与比较的模型的维度为64×64×64,将预测模型与真值模型的点的交集与预测模型与真值模型的点的并集作比值,作为IoU,并且值越大说明准确率越高。
如图6所示,本发明的方法和DISN的对比。如表1和表2的IoU值的对比(表1展示了本发明方法与其它方法在ShapeNetCore数据集上IoU对比,表2展示了本发明方法与其它方法在ShapeNetCore数据集上IoU统计对比)所示,本发明的方法领先于DISN方法,并且在Category Avg(类别准确率的平均)和Dataset Avg(整个数据集的平均准确率)上均超过了DISN方法,证实了本实验对多视角图片融合的有较好的效果。
表1 本发明方法与其它方法在ShapeNetCore数据集上IoU对比表
Figure BDA0003536505380000161
表2 本发明方法与其它方法在ShapeNetCore数据集上IoU统计对比表
DISN 本发明方法
Category Avg. 0.56 0.64
在自对比实验中,选择去掉投票操作,并且采用文献12(简称DISN)提出的分别将局部特征与全局特征最大池化的方法,与最终的实验结果IoU值对比如表3所示,标明投票这一操作可以有效的融合多视角图片的特征信息。
此外,本方法相较于DISN,提出了一种多视角下的特征融合的方法,解决了DISN对遮挡部分的推理不足的问题,使得模型重建时更加完整。更重要的是本发明的方法,建立在DISN方法基础之上,在并未引进其他额外参数的情况下,实现了多视角的特征融合,并且达到了更加的效果,因而具有一定的普适性。表3展示了本发明方法最终结果与采用最大池化的DISN方法的对比。
表3 本发明方法最终结果与采用最大池化的DISN方法的对比表
Figure BDA0003536505380000171
本发明提供了一种基于融合多视角特征与深度学习的三维重建方法的思路及方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (10)

1.一种基于融合多视角特征与深度学习的三维重建方法,其特征在于,包括以下步骤:
步骤1,采集多视角图片数据与对应的带符号的距离方程数据SDF,作为输入的图片数据;
步骤2,用全卷积网络vgg对输入的图片数据进行卷积操作,分别得到多视角下的一维的全局特征信息和多层二维的图片特征信息;
步骤3,对步骤2中多视角下的全局特征信息进行最大池化操作,获取整体的全局特征信息;
步骤4,输入三维模型的点信息,即三维查询点,对其进行投影,得到相应的二维查询点,用二维查询点查询图片多层特征信息得到局部点信息,并将多层局部点信息进行拼接,得到局部特征信息;
步骤5,进行点卷积操作,获取相应的点特征;
步骤6,将步骤5中得到的点特征分别与步骤3中得到的整体的全局特征信息,步骤4中得到的局部特征信息结合,获取带有点特征信息的全局特征与局部特征;
步骤7,将步骤6中的带有点特征信息的全局特征分别与带有点特征信息的局部特征结合,并用投票的方式生成最终的特征信息;
步骤8,对步骤7中得到的最终的特征信息,通过移动立方体算法生成最终的三维模型。
2.根据权利要求1所述的一种基于融合多视角特征与深度学习的三维重建方法,其特征在于,步骤1包括如下步骤:
步骤1-1,从Shapenet数据库中获取原始三维数据集D,从3DR2N2数据集中获取24个视角的二维图片信息P,与相应的相机参数信息C;
步骤1-2,将三维数据集D,生成相应的SDF数据,存入到对应的h5文件中;
步骤1-3,将二维图片信息P,与相对应的相机参数信息C存入到h5文件中。
3.根据权利要求2所述的一种基于融合多视角特征与深度学习的三维重建方法,其特征在于,步骤1-2包括如下步骤:
步骤1-2-1,将三维数据集D归一化,生成数据集N,使得数据集的数值范围在-1到1之间;
步骤1-2-2,使用isosurface工具,将数据集N处理成SDF数据集;
步骤1-2-3,使用MarchingCube的方法,将SDF数据集处理,生成相应的三维数据集O;
步骤1-2-4,将数据集O中的SDF数据信息存入到h5文件中。
4.根据权利要求3所述的一种基于融合多视角特征与深度学习的三维重建方法,其特征在于,步骤2包括如下步骤:
步骤2-1,将输入的三维网格模型数据集D={DTrain,DTest}等数量随机地划分为训练集DTrain={d1,d2,...di,...,dn}和测试集DTest={dn+1,dn+2,...,dn+j,...,dn+m},其中di表示训练集中第i个模型,dn+j表示测试集中第j个模型,n表示训练集的数目,m表示测试集的数目;
步骤2-2,对于训练集DTrain,采集其各个视点方向下的投影图PTrain={P1,P2,...Pi,...,pn}以及相机参数信息CTrain={C1,C2,...Ci,...,cn}输入到全卷积网络中进行训练,得到训练好的融合了多视角特征的全卷积网络,同时得到多视角下的多层二维图片特征信息L与一维的全局特征G,其中Pi指的是训练集DTrain中的第i个模型di的24个视角下的投影图集,Ci指的是训练集DTrain中的第i个模型di的24个视角的相机参数集。
5.根据权利要求4的一种基于融合多视角特征与深度学习的三维重建方法,其特征在于,步骤2-2包括以下步骤:
步骤2-2-1,输入训练集各个视角下的投影图PTrain,其中对每个模型Pi对应24个视角的投影图信息集以及相机参数信息集Ci,从中选取n个视角的图片pextract={pi,pm,...,pk}输入到vgg卷积网络中,其中n取值范围为1至24;
步骤2-2-2,将选取的n个视角的图片pextract输入到vgg卷积网络,经过卷积操作和池化操作后,分层提取n个视角下的224×224×64维、112×112×128维、56×56×256维、28×28×512维、14×14×512维的特征向量,作为分层的图片特征L={l1,l2,...,ln},再将最后一层的14×14×512维的特征向量展开成1维,进行全卷积操作,最后得到n个视角下的1×128维的特征向量作为全局向量G={g1,g2,...,gn}。
6.根据权利要求5的一种基于融合多视角特征与深度学习的三维重建方法,其特征在于,步骤3包括以下步骤:
将步骤2中得到的全局特征向量G进行最大池化操作,即选择各个维度下的最大值组合成一个融合了各个视角特征的128维的特征向量,得到整体的全局特征G。
7.根据权利要求6的一种基于融合多视角特征与深度学习的三维重建方法,其特征在于,步骤4包括以下步骤:
步骤4-1,对输入的三维查询点信息D,使用相机参数进行投影操作,得到相应视角下的二维查询点Q;
步骤4-2,使用步骤4-1中得到的二维查询点Q,分别对步骤2中的分层的图片特征L进行查询,分别获得1×64维,1×128维,1×256维,1×512维,1×512维的局部点特征信息,进行拼接,得到1×1472维的局部特征信息。
8.根据权利要求7所述的一种基于融合多视角特征与深度学习的三维重建方法,其特征在于,步骤5包括:将二维查询点Q输入到PointNet网络中,提取出点的特征信息1×512的特征向量F。
9.根据权利要求8所述的一种基于融合多视角特征与深度学习的三维重建方法,其特征在于,步骤6包括以下步骤:
步骤6-1,对步骤3得到的全局特征向量G与步骤5得到的点特征向量F,将其进行拼接,得到1×640维的带有点特征信息的全局特征,再进行卷积操作,得到1×256维的全局特征向量G;
步骤6-2,对步骤4得到n个视角下的局部特征L与步骤5得到的点特征向量F,将其进行拼接,得到n个视角下带有点特征的1×1984维的局部特征,再进行卷积操作,得到1×256维的局部特征L。
10.根据权利要求9所述的一种基于融合多视角特征与深度学习的三维重建方法,其特征在于,步骤7包含以下步骤:
步骤7-1,将步骤6得到的全局特征向量G分别与步骤6得到n个视角下的局部特征L相加,得到n个1×256维的特征信息W={w1,w2,…,wn}
步骤7-2,对步骤7-1得到的特征W进行投票操作,最终得到1×256维的特征信息SDF,其中,投票的方式为统计最终得到多视角的特征在同一点处每层SDF正值和负值的个数,取较多的值的平均值作为当前点的SDF预测值;
步骤7-3,计算损失值
Figure FDA0003536505370000041
Figure FDA0003536505370000042
其中,|·|表示L1-norm,即L1范数;f(I,p)表示网络输出结果,即网络预测值,其中输入为图片I和三维点p;SDFI(p)表示点p对应的SDF真值;δ为一个阈值;m表示惩罚点在模型相对位置,点在模型内部时,得到一个惩罚项,取m1>m2,其中m1为当真值小于阈值δ时,惩罚项的取值,m2为真值大于阈值δ时,惩罚项的取值;
步骤7-4,进行反向传播,最终得到训练的融合了多视角特征的全卷积网络。
CN202210219791.1A 2022-03-08 2022-03-08 一种基于融合多视角特征与深度学习的三维重建方法 Pending CN114708380A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210219791.1A CN114708380A (zh) 2022-03-08 2022-03-08 一种基于融合多视角特征与深度学习的三维重建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210219791.1A CN114708380A (zh) 2022-03-08 2022-03-08 一种基于融合多视角特征与深度学习的三维重建方法

Publications (1)

Publication Number Publication Date
CN114708380A true CN114708380A (zh) 2022-07-05

Family

ID=82169109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210219791.1A Pending CN114708380A (zh) 2022-03-08 2022-03-08 一种基于融合多视角特征与深度学习的三维重建方法

Country Status (1)

Country Link
CN (1) CN114708380A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115409855A (zh) * 2022-09-20 2022-11-29 北京百度网讯科技有限公司 图像处理方法、装置、电子设备和存储介质
CN115601498A (zh) * 2022-09-27 2023-01-13 内蒙古工业大学(Cn) 基于RealPoin3D的单幅图像三维重建方法
CN115984462A (zh) * 2022-12-19 2023-04-18 广州紫为云科技有限公司 一种单目多视角的通用物体三维建模方法
CN117496091A (zh) * 2023-12-28 2024-02-02 西南石油大学 一种基于局部纹理的单视图三维重建方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115409855A (zh) * 2022-09-20 2022-11-29 北京百度网讯科技有限公司 图像处理方法、装置、电子设备和存储介质
CN115409855B (zh) * 2022-09-20 2023-07-07 北京百度网讯科技有限公司 图像处理方法、装置、电子设备和存储介质
CN115601498A (zh) * 2022-09-27 2023-01-13 内蒙古工业大学(Cn) 基于RealPoin3D的单幅图像三维重建方法
CN115984462A (zh) * 2022-12-19 2023-04-18 广州紫为云科技有限公司 一种单目多视角的通用物体三维建模方法
CN115984462B (zh) * 2022-12-19 2024-03-08 广州紫为云科技有限公司 一种单目多视角的通用物体三维建模方法
CN117496091A (zh) * 2023-12-28 2024-02-02 西南石油大学 一种基于局部纹理的单视图三维重建方法
CN117496091B (zh) * 2023-12-28 2024-03-15 西南石油大学 一种基于局部纹理的单视图三维重建方法

Similar Documents

Publication Publication Date Title
Stutz et al. Learning 3d shape completion under weak supervision
Zhou et al. Voxelnet: End-to-end learning for point cloud based 3d object detection
EP3179407B1 (en) Recognition of a 3d modeled object from a 2d image
CN114708380A (zh) 一种基于融合多视角特征与深度学习的三维重建方法
CN111160214B (zh) 一种基于数据融合的3d目标检测方法
Wang et al. Surge: Surface regularized geometry estimation from a single image
Xie et al. Point clouds learning with attention-based graph convolution networks
JP7491685B2 (ja) ニューラルネットワークのセット
Yang et al. Multi-view CNN feature aggregation with ELM auto-encoder for 3D shape recognition
Ulusoy et al. Semantic multi-view stereo: Jointly estimating objects and voxels
CN112785526B (zh) 一种用于图形处理的三维点云修复方法
CN116958453B (zh) 基于神经辐射场的三维模型重建方法、设备和介质
CN115984494A (zh) 一种基于深度学习的月面导航影像三维地形重建方法
Song et al. Deep novel view synthesis from colored 3d point clouds
CN110992217A (zh) 一种外观设计专利多视图特征表示、检索的方法及装置
Ibrahim et al. MVPCC-Net: multi-view based point cloud completion network for MLS data
Yin et al. [Retracted] Virtual Reconstruction Method of Regional 3D Image Based on Visual Transmission Effect
Shao et al. Efficient three-dimensional point cloud object detection based on improved Complex-YOLO
Lin et al. A-SATMVSNet: An attention-aware multi-view stereo matching network based on satellite imagery
CN113808006B (zh) 一种基于二维图像重建三维网格模型的方法及装置
Lee et al. ELF-Nets: deep learning on point clouds using extended laplacian filter
CN115131245A (zh) 一种基于注意力机制的点云补全方法
Xu et al. Learning discriminative and generative shape embeddings for three-dimensional shape retrieval
Liu et al. An approach to 3D building model retrieval based on topology structure and view feature
Li et al. Efficient and accurate object detection for 3D point clouds in intelligent visual internet of things

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination