CN112862949A - 基于多视图的物体3d形状重建方法 - Google Patents
基于多视图的物体3d形状重建方法 Download PDFInfo
- Publication number
- CN112862949A CN112862949A CN202110065500.3A CN202110065500A CN112862949A CN 112862949 A CN112862949 A CN 112862949A CN 202110065500 A CN202110065500 A CN 202110065500A CN 112862949 A CN112862949 A CN 112862949A
- Authority
- CN
- China
- Prior art keywords
- module
- vertex
- graph
- shape
- feature
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
Abstract
提供了基于多视图的物体3D形状重建方法。所提供的基于多视图的物体三维形状重建模型,该模型基于Pixel2Mesh的基本结构,从增加Convlstm层、增加Graph unpooling层、设计Smooth损失函数三个方面提出了一种改进的三维重建模型,实验表明,这种改进模型具有比P2M更高的重建精度。采用上述模型,首先对shapenet数据集中的物体真实网格模型、渲染图像和相机参数进行预处理,构建训练数据,然后训练多视图三维重建模型,最后通过该模型重建出图像对应的物体形状。
Description
技术领域
本发明提出基于多视图的物体3D形状重建模型,属于图像数据处理(G06T)及三维重建(G06T17)领域。
背景技术
三维重建的主要目标之一是从二维图像恢复物体三维结构。近年来,随着虚拟现实、3D打印、自动驾驶、智能医疗和影视制作等产业的发展,人们对三维模型的需求出现了爆发式的增长,传统的手工建模方法已难以满足这一需求,准确高效的三维重建方法成为解决这一问题的关键。
在三维重建领域,传统的基于图像的重建算法一般利用特征匹配或模式适应等方式从图像或视频中恢复三维模型,然而由于图像二维特征的歧义性和稀疏性,这类方法往往存在较大的限制,无法适应各种场景下的重建任务,并且难以精确、鲁棒地重建出三维模型。
近年来,随着深度学***整。
针对体素、点云表示模型的这些缺陷,Wang(https://openaccess.thecvf.com/content_ECCV_2018/papers/Nanyang_Wang_Pixel2Mesh_Generating_3D_ECCV_2018_paper.pdf)提出了基于图卷积神经网络的深度学习方法Pixel2Mesh,可端到端的生成具有丰富表面细节的网格表示模型,他们初始化一个固定的椭球,之后依据图像信息逐步形变以逼近目标几何形状。但是这种基于单一视图的方法,由于单张图像的不适定问题,通常只能生成从输入视角看起来合理,从其他视角看起来较差的3D网格形状。
ShapeNet(https://www.shapenet.org/)是目前三维重建领域最为权威的数据集之一,它包含了55种常见的物品类别和513000个三维模型,并且受益于Choy的工作,该数据集中13个类别下的模型对应着24张不同视角下的渲染图像,并且每张渲染图像的相机参数也被提供,因此可利用该数据集的多视图信息,在Pixel2Mesh基础上进行改进。
发明内容
本发明的目的是基于深度学习的理论与方法,研究新型的、高精度的多视图下的物体三维形状重建模型,能够利用物体多视角的渲染图像信息及相机参数重建出该物体对应的3D网格形状,且该模型优于当前最先进的三维重建模型。
本发明设计了一种基于多视图的物体三维形状重建模型,该模型基于Pixel2Mesh的基本结构,从增加Convlstm层、增加Graph unpooling层、设计Smooth损失函数三个方面提出了一种改进的三维重建模型,实验表明,这种改进模型具有比P2M更高的重建精度。
本发明采用上述模型,首先对shapenet数据集中的物体真实网格模型、渲染图像和相机参数进行预处理,构建训练数据,然后训练多视图三维重建模型,最后通过该模型重建出图像对应的物体形状。
本发明包括下列步骤:
步骤1、数据准备
1.针对ShapeNet数据集中有对应渲染图片的13个类别的3D网格模型,使用平均采样的方式从每个模型的表面采样16834个三维点作为该样本标签。
2.初始一个椭球网格模型作为形变模板,该椭球体包含156个顶点,308个三角形面;椭球体放置于距相机正前方0.8m处,以此为圆心,三轴半径分别为0.2m、0.2m、0.4m。
步骤2、训练三维重建模型:
1.构建用于多视图物体三维重建模型,所述三维重建模型分为特征提取与模板形变部分,采用整体训练策略,即特征提取与模板形变部分进行同时训练。
1)第一部分为特征提取部分,用于提取输入图像特征,该部分的网络主体架构借鉴了VGG-16(https://arxiv.org/pdf/1409.1556.pdf%20http://arxiv.org/abs/1409.1556.pdf)架构,利用CNN提取输入图像特征,从网络输入层INPUT开始,输入3张图像(分别记为图A、B、C),依次经过18层卷积层进行编码,并在第8、11、14、18层进行提取特征的输出,针对每张输入图像分别得到56×56×64、28×28×128、14×14×256、7×7×512尺寸大小的特征图。之后,利用ConvLSTM(https://papers.nips.cc/paper/2015/file/07563a-3fe3bbe7e3ba84431ad9d055af-Paper.pdf)层分别处理相同尺寸下的特征图,如对由3张输入图像得到的3张56×56×64的特征图进行单独处理,得到3×[56×56×64]的融合像素特征图。因此经过ConvLSTM层处理后共得到3个[56×56×64,28×28×128,14×14×256,7×7×512]的融合像素特征图,为便于区别,将由图A得到的融合特征称为融合像素特征图1,图B的为融合像素特征图1,图C的为融合像素特征图3,具体处理过程,在下文中结合说明书附图1、附图9与附图10详细介绍。
2)第二部分为模板形变部分,用于对椭球体模板进行形变以重建出输入图像中的物体3D形状。该模板形变部分输入为椭球体结构<点,边、面>和第一部分提取出的融合像素特征图,输出为预测的3D形状。网络主体架构采用G-ResNet(图残差神经网络)(参见https://openaccess.thecvf.com/content_ECCV_2018/papers/Nanyang_Wang_Pixel2Mesh_Generating_3D_ECCV_2018_paper.pdf)架构,按功能可将其划分为形变模块、graph pooling模块、graph unpooling模块和投影模块四大部分。
形变模块作用为针对输入更新顶点特征和预测3D形状的顶点坐标位置<x,y,z>,采用图卷积网络架构。形变模块的输入为例如包含N*963的输入图的结构数据,N为图顶点数目,963为每个顶点的特征向量维度,输入图的结构为预定义网格模板结构。形变模块包括14层图卷积层。经过14层图卷积层,最终得到N*3的形变结果,形变结果中,N为形变模块的输入图的顶点数目,3指示坐标<x,y,z>的3个分量。
在根据本申请实施例的模板形变部分,包括多个形变模块,在模板形变部分的三维重建模型的不同阶段,使用不同的形变模块,各形变模块的N有不同的值。图8展示了形变模块的处理的示意图,图8中“其他操作”包括投影模块、graph pooling模块、graphunpooling模块等进行的操作。
graph unpooling模块作用为结构性增加椭球体模板的顶点数量,用于丰富最终预测形状的表面细节,具体为在网格模板的三角形面上,取该三角形三条边的中点为新顶点,并相互连接建立新边,从而将一个三角面细分为四个小三角面,其实现原理如图3所示,处理过程可参考图7。
graph pooling模块作用为结构性删减椭球体模板的顶点数量,用于在保持预测形状整体效果的前提下去除预测过程产生的噪声。具体为记录上一步graph unpooli ng模块产生的新点、旧点的索引,在graph pooling时依据索引执行聚合操作,采用平均、最大、最小聚合或保留原值操作,从而将四个三角形面聚合为一个三角形面,其实现原理如图3所示,处理过程可参考图7。
投影模块的作用为将3D形状的点投影为融合像素特征图中对应的2D坐标,用于提取三D形状的顶点的像素特征,其输入为N个三维点坐标<x,y,z>及特征提取部分输出的融合像素特征图,输出为N*963的向量,其中,N为输入三维点数目,963为每个3维点的特征向量维度,之后将该向量送入形变模块进行更新。其处理过程可参考图6,将三D形状的顶点投影为融合像素特征图中对应的2D坐标,之后提取该坐标下的像素的特征F。融合像素特征图由例如[56×56×64、28×28×128、14×14×256、7×7×512尺寸大小的图像特征组成。
模板形变部分共包含7个形变模块、5个graph unpooling模块、2个graph pooling模块以及7个投影模块,椭球体模板从投影模块输入开始,依次通过形变模块1、投影模块、graph unpooling模块1、形变模块2、投影模块、graph unpooling模块2、形变模块3、投影模块、graph pooling模块1、形变模块4、投影模块、graph unpooling模块3、形变模块5、投影模块、graph pooling模块2、形变模块6、投影模块、graph unpooling模块4、形变模块7得到最终的预测形状(2466个顶点、4928个面)。模板形变部分的架构可参考图2,具体处理过程可参考图10。
2.设置损失函数权重参数,重建模型损失函数由CD(Chamfer Distance)损失、Normal损失、Laplacian损失、Edge length损失和Smooth损失5部分构成,按顺序分别设置权重参数为1、1.6e-4、0.3、0.1和1.6e-5。
损失函数应用于形变模块。在所有形变模块中计算CD(Chamfer Distance)损失、Normal损失、Laplacian损失、Edge length损失,并当生成的3D形状顶点数达到2466时,计算Smooth损失,即在图2的形变模块3、形变模块5、形变模块7中额外计算Smooth损失。
3.设置训练参数,其中训练参数包括模型学习优化方式、学习率及最大迭代次数等;例如模型学习优化方式采用Adam优化,迭代次数设置为50,其中学习率为3e-5迭代30次,1e-5迭代20次。
4.从例如ShapeNet数据集中选择3D模型获得采样数据及该模型对应的3张图像、相机参数输入根据本申请实施例的三维重建模型,前向传播计算损失。
5.将损失反向传播更新权重,其初始值为预设值。
6.学习率3e-5情况下训练30轮次,之后更改学习率为1e-5训练20轮次,得到训练好的神经网络模型,保存最后一次更新的模型参数。
本发明在充分分析了Pixel2Mesh模型存在的问题的基础上,从增加Convlstm层、增加Graph unpooling层、设计Smooth损失函数等三个方面提出了一种改进的三维重建模型,实验表明,这种改进模型具有比P2M更高的重建精度,无论是在CD指标上还是在形状表现方面。
附图说明
图1为本发明的整体流程示意图;
图2为本发明提出的三维重建模型结构图;
图3为graph pooling与graph unpooling的实现原理图;
图4为Smooth Loss损失计算原理图;
图5为与其他先进三维重建模型的效果的对比图;
图6为投影模块处理过程示意图
图7为Graph unpooling与pooling模块处理过程示意图
图8为形变模块处理过程示意图;
图9为图像特征提取模块处理过程示意图;
图10为根据本申请实施例的三维重建模型在处理过程的数据流框架图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。
根据本申请的实施例,提供了用于根据二维图像生成物体的三维结构的三维重建模型。三维重建模型也称为三维形状重建网络,由例如计算机程序实现,并由处理器运行该计算机程序时,例化根据本申请实施例的三维重建模型。
参见图1,将本发明用于三维重建时,其具体处理步骤如下:
1、数据准备
训练本发明提出的三维重建模型所使用的数据集为ShapeNet开源3D模型数据集以及choy等人提供的渲染图像数据集ShapeNetRendering,3D模型样本数为43000多例,且每例样本对应24张不同视角下的渲染图片及相机参数(训练时随机从中选取3张图片及图片对应的相机参数作为输入)。3D模型采用网格表示(mesh)结构<点,线,面>,因此为了训练时能对损失进行量化,使用python提供的trimesh库在mesh模型表面进行平均采样,得到16834个采样点<x,y,z>,并利用这些采样点位置关系计算得到面法向量<m,n,k>并归一化,数据类型为浮点型。
由于本发明所提方法是基于模板形变的三维重建模型,因此需初始化一个3D网格形状作为形变模板。作为举例,以椭球体作为模板,该椭球体包含156个顶点、308个面,其投影参数被配置为放置于距相机正前方0.8m处,以此位置为圆心,椭球体三轴半径分别为0.2m、0.2m、0.4m,使用MeshLab软件生成。依据输入的3D模型,从ShapeNetRendering数据集中该模型对应的24张图像中随机选择3张图像作为输入,使用python库open-cv读取图像数据并除以255.0实现归一化,使用resize函数将其尺寸统一为224×224×3,同时选择图像对应的相机参数<方位角,高程,平面内旋转,距离,视野>输入,用于后续投影及几何变换操作。
2、搭建三维重建模型:
利用tensorflow+keras深度学习框架,搭建本发明提出的三维重建模型,如图2所示。根据本申请实施例的三维重建模型由图像特征提取部分(图2的上部)和模板形变部分(图2的下部)组成。图2的底部为模板形变过程的处理结果的示意图。图像特征提取部分的网络主体架构基于VGG-16架构。特征提取部分使用CNN提取图像特征并使用Convlstm进行特征融合,该部分需训练CNN、ConvLstm权重参数。
图像特征提取部分的输入是数据准备过程中获得的3张图片的图像。图像从网络输入层INPUT开始,依次经过18层卷积层进行编码,并在第8、11、14、18层进行提取特征的输出,分别得到56×56×64、28×28×128、14×14×256、7×7×512尺寸大小的特征图。为了融合多张图像的特征信息,针对不同尺寸的特征图,设计对应ConvLSTM层结构进行处理,对多个不同尺寸的特征图进行融合。
例如,对由3张输入图像得到的3张56×56×64的特征图进行单独处理,得到3×[56×56×64]的融合像素特征图。因此经过ConvLSTM层处理后共得到3个[56×56×64,28×28×128,14×14×256,7×7×512]的融合像素特征图,为便于区别,将由图A得到的融合特征称为融合像素特征图1,图B得到融合特征的为融合像素特征图1,图C得到融合特征的为融合像素特征图3。
模板形变部分,用于对椭球体模板进行形变以重建出输入图像中的物体3D形状。模板形变部分通过对初始椭球模板继续形变得到目标形状,图2的底部为模板形变过程的处理结果的示意图,其中仅需对形变模块进行参数训练,而投影、Graph unpooling、Graphpooling模块无训练参数。模板形变部分输入为椭球体结构<点,边、面>和图像特征提取部分提取出的图像融合特征,输出为重建的三维形状。模板形变部分按功能可划分为形变模块、graph pooling模块、graph unpooling模块和投影模块四种。
形变模块作用为更新顶点特征和预测3D形状的顶点坐标位置<x,y,z>,由14层图卷积层构成。形变模块的输入数据维度为N×963,N为椭球体顶点数量,输出维度为N×3,即N个三维点坐标<x,y,z>。模板形变部分包括7个形变模块。
对于不同的形变模块,N取不同的值。在本发明中N∈{156,628,2466},图2中也标注了各形变模块的N的取值,例如,形变模块1的N取值为156,形变模块2的N取值为628。
graph unpooling模块作用为结构性增加椭球体模板或其输入的顶点数量,用于丰富最终预测形状的表面细节,如图3所示。通过在边上生成新点并在相邻新点间建立新的连接关系,即可结构性的增加椭球体的顶点及面数。
graph pooling模块作用为结构性删减椭球体模板或其输入的顶点数量,用于在保持预测形状整体效果的前提下去除预测过程产生的噪声,如图3所示。通过执行graphunpooling模块的反操作,即可结构性删减椭球体模板的顶点和面数,顶点特征更新为局部平均值、最大值、最小值或原值。
投影模块的作用为将3D形状的点投影为图像特征图中对应的2D坐标,用于提取3D形状的点的像素特征。首先利用相机参数对点坐标做空间变换操作,再利用投影公式将形变模板(即椭球体)的顶点投影至融合像素特征图上,采用双线性插值的方式从该融合像素特征图上提取出顶点对应的像素特征,针对由不同图像生成的融合像素特征图均需重复上述投影操作。如图2所示,前3个投影模块使用融合像素特征图1,第4、5投影模块使用融合像素特征图2,第6、7投影模块使用融合像素特征图3。
如图2所示,模板形变网络共包含7个形变模块、5个graph unpooling模块、2个graph pooling模块以及7个投影模块。椭球体模板从投影模块输入开始,依次通过形变模块1、投影模块、graph unpooling模块1、形变模块2、投影模块、graph unpooling模块2、形变模块3、投影模块、graph pooling模块1、形变模块4、投影模块、graph unpooling模块3、形变模块5、投影模块、graph pooling模块2、形变模块6、投影模块、graph unpooling模块4、形变模块7得到最终的预测形状(2466个顶点、4928个面)。
3、损失函数设计
模型损失函数由CD(Chamfer Distance)损失、Normal损失、Laplacian损失、Edgelength损失和Smooth损失5部分构成,按顺序分别设置权重参数为1、1.6e-4、0.3、0.1和1.6e-5。
CD损失通过比较预测网格与真实网格间的顶点距离误差约束顶点的生成,其中p为预测网格中顶点3D坐标,q为真实网格中顶点3D坐标;S1,S2分别为预测网格、真实网格模型的顶点集合。
Normal损失通过计算预测网格与真实网格间的法向量误差约束面的生成。其中,p为预测网格中顶点,k为p的邻居节点,q为真实网格中顶点,nq为q点对应的法向量。
Laplacian损失通过比较预测网格局部范围内顶点间的相似度控制模型的平滑度,
这与我们之后提出的Smooth loss(Smooth损失)的目标一致,在该公式中,N(p)为顶点p的邻居点集合,δp为综合了顶点p及其邻居节点k的3D坐标后得到的顶点p的laplacian坐标,δ′p为更新后的顶点p的laplacian坐标。
Edge length损失通过统计边的长度平方和来防止产生过长的边,其中p、k是相互连接的顶点。
Smooth损失通过计算相邻面间法向量的误差来约束预测网格形状的法向量以获得较好的平滑度。图4展示了额Smooth Loss计算原理。f(a,b,c)面A1的法向量,f是法向量计算函数,a、b、c、d为面上顶点,|<f(a,b,c),(a-d)>|为求面A1法向量与面A2向量a-d的内积,用于计算误差。此外为了避免给像A3与B1面带来不利影响,我们还设置了阈值α,当误差超过α时置0,参数α设置为0.00436。Lsmooth=∑(|<f(a,b,c),(a-d)>|≤α?|<f(a,b,c),(a-d)>|:0)
4、训练三维重建模型的网络参数:
模型采用整体训练策略,同时训练特征提取部分和模板形变部分,其中特征提取部分需训练CNN、Convlstm参数,模板形变需训练形变模块中的G-ResNet网络参数。在所有形变模块中计算CD(Chamfer Distance)损失、Normal损失、Laplacian损失、Edge length损失,并当生成的3D形状顶点达到2466时,计算Smooth损失,即在形变模块3、5、7中额外计算Smooth loss,可参考图2。训练数据前向传播计算损失,将损失反向传播更新模型参数。学习率3e-5情况下训练30轮次,之后更改学习率为1e-5训练20轮次,得到训练好的神经网络模型,保存最后一次更新的模型参数。训练完成后,模型参数保存在文件中。
5、在数据集上对本发明的模型进行评估
我们基于ShapeNet数据集对所提的三维重建模型进行评估。评价指标选用CD、F-score,同时也评估模型在重建形状上的实际表现效果图,测试集划分采用choy工作的数据集划分策略。我们将该根据本申请实施例的三维重建模型与之前工作PSGN、P2M、P2M++、MVP2M以及OccNet进行了对比。相较于未改进前重建模型P2M,改进后的模型在CD损失上降低了48%、F-score精度上提高了11.96%,并且在某些方面甚至优于最先进的OccNet模型。此外,我们还对比了这些模型在重建形状上的实际表现,如图5,我们的方法的在大多样例中的表现优于当前对比方法。图5中,从左至右依此为PSG、P2M、MVP2M、P2M++、OccNet、Ours(本发明)的重建结果以及真实形状GT。
PSG、P2M、P2M++、MVP2M以及OccNet的工作与结果可从下列链接获得:
PSG:https://openaccess.thecvf.com/content_cvpr_2017/papers/Fan_A_Point_Set_CVPR_2017_paper.pdf
P2M:https://openaccess.thecvf.com/content_ECCV_2018/papers/Nanyang_Wang_Pixel2Mesh_Generating_3D_ECCV_2018_paper.pdf
MVP2M、P2M++:https://openaccess.thecvf.com/content_ICCV_2019/papers/Wen_Pixel2Mesh_Multi-View_3D_Mesh_Generation_via_Deformation_ICCV_2019_paper.pdf
OccNet:https://openaccess.thecvf.com/content_CVPR_2019/papers/Mescheder_Occupancy_Networks_Learning_3D_Reconstruction_in_Function_Space_CVPR_2019_paper.pdf
图1为根据本申请实施例的三维重建模型在处理过程的数据流框架图,方框内数字表示进行下一操作前主要数据的尺寸维度。
三维重建模型的处理过程主要分为两部分,图像特征提取与模板形变部分。
在图像特征提取部分,将图A、图B、图C分别输入CNN的卷积层提取特征,并针对每张图构建由[56×56×64、28×28×128、14×14×256、7×7×512的特征图组成的特征金字塔。之后利用图A、图B、图C的特征金字塔使用Convlstm进行特征融合,得到图A、图B、图C的每张图对应的融合像素特征图(图10中,分别记为图A的融合特征,图B的融合特征与图C的融合特征)。
在模板形变部分,其输入为预定义形变模块(初始椭球模板)的156个顶点坐标<x,y,z>(即156×3)。之后利用投影模块1(也参看图2)的投影操作针对每个顶点从图A的融合特征中提取特征,获得156×963的顶点特征。然后将顶点特征向量输入形变模块1进行坐标更新获得本次形变结果,即156个新坐标<x,y,z>。在形变模块处理后使用Graph unpooling模块和/或Graph pooling模块改变顶点数量。参看图2与图10,投影模块1根据初始椭球模块与图A的融合特征提取特征;投影模块2根据形变模块1与图A的融合特征提取特征;投影模块3根据形变模块2与图A的融合特征提取特征;投影模块4根据形变模块3与图B的融合特征提取特征;投影模块5根据形变模块4与图B的融合特征提取特征;投影模块6根据形变模块5与图C的融合特征提取特征;投影模块7根据形变模块6与图C的融合特征提取特征。
以Graph unpooling模块1为例,其输入为156×963的顶点特征,输出为628×963的顶点特征,从而将156个顶点扩充为628个顶点。以Graph pooling模块1为例,其输入为2466×963的顶点特征,输出为628×963的顶点特征,从而将2466个顶点缩减为628个顶点。通过结合形变模块、投影模块、Graph unpooling模块与Graph pooling模块的操作,最终生成2466×3的形变结果。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。
Claims (7)
1.一种基于多视图的物体3D形状重建方法,包括以下步骤:
步骤一、数据准备
获取ShapeNet数据集中的一个或多个3D网格模型,按设置阈值在其表面进行点采样,构建同获取的3D网格模型对应的3D点云数据,其中获取的3D网格模型还包括对应的样本图像;
获取椭球网格模型作为形变模板,该椭球网格模型包括椭球体,该椭球体包含156个顶点,308个三角形面;该椭球体的参数包括放置于距相机正前方0.8m处,以此位置为圆心,该椭球体的三轴半径分别为0.2m、0.2m、0.4m;
步骤二、对特征提取网络和模板形变网络进行联合训练
将步骤一的3D点云数据、同3D点云数据对应的样本图像及所述相机的参数送入3D形状重建网络中进行训练;其中3D点云数据用于计算损失函数;
所述3D形状重建网络包括:特征提取模块与模板形变模块;所述特征提取模块包括18个卷积层与convLSTM层;
所述步骤二中,将所述样本图像输入所述特征提取模块的18个卷积层,从第8、11、14与18卷积层提取特征输出;所述ConvLSTM层将从第8、11、14与18卷积层提取的特征输出融合为融合像素特征图Img;
所述模板形变模块包括:7个形变模块、5个graph unpooling模块、2个graph pooling模块以及7个投影模块;
所述步骤二中,第一投影模块根据所述形变模板、所述相机参数与所述特征提取模块输出的第一样本图像的融合像素特征图Img1得到156*963维度的顶点特征P1,第一形变模块利用该顶点特征P1生成第一个具有156个顶点的3D形状M1;第二投影模块依据3D形状M1、所述相机参数与所述第一样本图像的融合像素特征图Img1再次进行投影得到新的156*963维度的顶点特征P2,之后利用Graph unpooling模块在该顶点特征P2上增加顶点数量得到628*963的顶点特征P3,第二形变模块利用该顶点特征P3生成第二个具有628个顶点的3D形状M2;第三投影模块依据3D形状M2、所述相机参数与所述第一样本图像的融合像素特征图Img1再次进行投影得到新的628*963维度的顶点特征P4,之后利用Graph unpooling模块在该顶点特征P4上增加顶点数量得到2466*963的顶点特征P5,第三形变模块利用该特征生成第三个具有2466个顶点的3D形状M3;第四投影模块依据3D形状M3、所述相机参数与所述特征提取模块输出的第二样本图像的融合像素特征图Img2再次进行投影得到新的2466*963维度的顶点特征P6,之后利用Graph pooling模块在该顶点特征P6上缩减顶点数量得到628*963的顶点特征P7,第四形变模块利用该顶点特征P7生成第四个具有628个顶点的3D形状M4;第五投影模块依据3D形状M4、所述相机参数与所述第二样本图像的融合像素特征图Img2再次进行投影得到新的628*963维度的顶点特征P8,之后利用Graph unpooling模块在该顶点特征P8上增加顶点数量得到2466*963的顶点特征P9,第五形变模块利用该顶点特征P9生成第五个具有2466个顶点的3D形状M5;第六投影模块依据3D形状M5、所述相机参数与所述特征提取模块输出的第三样本图像的融合像素特征图Img3再次进行投影得到新的2466*963维度的顶点特征P10,之后利用Graph pooling模块在该顶点特征P10上缩减顶点数量得到628*963的顶点特征P11,第六形变模块利用该顶点特征P11生成第六个具有628个顶点的3D形状M6;第七投影模块依据3D形状M6、所述相机参数与所述第三样本图像的融合像素特征图Img3再次进行投影得到新的628*963维度的顶点特征P12,之后利用Graph unpooling模块在该顶点特征P12上增加顶点数量得到2466*963的顶点特征P13,第七形变模块利用该顶点特征P13生成第七个具有2466个顶点的3D形状M7,并将3D形状M7作为最终结果输出;
所述步骤二还包括:将第一、二、三、四、五、六、七形变模块输出的3D形状,分别与步骤一获取的3D点云数据计算CD损失、Normal损失、Laplacian损失、edgelength损失,用于监督所述3D形状重建网络的训练;以及,将第三、五、七形变模块输出的3D形状还计算Smooth损失,用于约束其生成的2466个顶点3D形状的表面光滑度;
所述第七形变模块的输出作为所述3D形状重建网络输出的物体3D形状;
步骤三,用训练好的所述3D形状重建网络重建物体3D形状。
2.根据权利要求1所述的方法,其中
获取的3D网格模型对应的样本图像包括第一样本图像,第二样本图像与第三样本图像。
3.根据权利要求2所述的方法,其中
所述特征提取模块用于提取输入的各样本图像的特征并对提取的特征进行融合,获取投影模块所需的各融合像素特征图;
形变模块用于更新顶点特征和预测3D形状的顶点坐标位置<x,y,z>,以生成中间3D形状或最终的3D形状;
Graph unpooling模块用于结构性增加顶点数量,以丰富最终预测形状的表面细节;
Graph Pooling模块用于结构性删减顶点数量,以在保持预测形状整体效果的前提下去除预测过程产生的噪声;
投影模块用于将3D形状的三维点投影为融合像素特征图中对应的2D坐标,以提取三维点的像素特征。
4.根据权利要求3所述的方法,其中
所述特征提取模块包含18个卷积层及4个Convlstm层;
其中,第1、2卷积层核尺寸为3×3×16,第3至5卷积层核尺寸为3×3×32,第6至8卷积层核尺寸为3×3×64,第9至11卷积层核尺寸为3×3×128,第12至14卷积层核尺寸为3×3×256,第15至18卷积层核尺寸为3×3×512,每个卷积层后均紧接Relu层;4个Convlstm层核尺寸分别为3×3×64,3×3×128,3×3×256,3×3×512,每层后均紧接Relu层;
模板形变模块包含7个形变模块,第1个形变模块处理具有156个顶点的图结构数据,图结构为初始椭球模板结构;第2、4、6形变模块各自处理具有628个顶点的图结构数据;第3、5、7形变模块处理具有2466个顶点的图结构数据;
每个形变模块均由14层图卷积层组成,第1层图卷积层输入数据维度为N*963,输出数据维度为N*256;第2至13层图卷积层输入与输出数据维度均为N*256,第14层图卷积层输入数据维度为N*256,输出数据维度为N*3,N为顶点数量;
投影模块使用投影公式将三维点<x,y,z>投影至融合像素特征图平面上,采用双线性插值提取像素值;
graph unpooling模块通过在边上生成新点并在相邻新点间建立新的连接关系,结构性的增加椭球体的顶点及面数;
graph pooling模块通过执行graph unpooling模块的反操作,结构性删减椭球体模板的顶点和面数,并将顶点特征更新为局部平均值、最大值、最小值或原值。
5.根据权利要求4所述的方法,其中
特征提取模块的18个卷积层采用VGG-16架构,其输入的3张样本图像的尺寸为224×224×3,经过18层卷积层提取特征,并将第8、11、14、18层提取出的特征图输出,分别得到每张图片的56×56×64、28×28×128、14×14×256、7×7×512尺寸大小的特征图;
形变模块采用图残差神经网络架构,由14层图卷积层构成,并依据1、3、5、7、9、11、13的顺序建立跳跃连接,将当前层的输出与上一层的输出相加作为该层最终输出结果。
6.根据权利要求5所述的方法,其中
所述三维重建模型使用特征提取模块提取图像特征,使用模板形变模块生成3D形状;所述模板形变模块包含7个形变模块、5个graph unpooling模块、2个graph pooling模块以及7个投影模块;
作为形变模板的椭球体从第一投影模块输入开始,依次通过第一形变模块、第二投影模块、第一graph unpooling模块、第二形变模块、第三投影模块、第二graph unpooling模块、第三形变模块、第四投影模块、第一graph pooling模块、第四形变模块、第五投影模块、第三graph unpooling模块、第五形变模块、第六投影模块、第二graph pooling模块、第六形变模块、第七投影模块、第四graph unpooling模块、以及第七形变模块得到最终的预测形状,其中最终的预测形状包括2466个顶点与4928个面;
其中第一、二、三、四、五、六、七形变模块输出的3D形状M,分别与步骤一获取的3D点云数据计算CD损失、Normal损失、Laplacian损失、edgelength损失,用于监督所述3D形状重建网络的训练;以及第三、五、七形变模块的输出还计算Smooth损失,用于约束其生成的2466个顶点3D形状的表面光滑度;
所述第七形变模块的输出作为所述3D形状重建网络输出的物体3D形状。
7.根据权利要求5所述的方法,其中
所述损失函数为:
CD损失Lcd通过比较预测网格与真实网格间的顶点距离误差约束顶点的生成,其中p为预测网格中顶点3D坐标,q为真实网格中顶点3D坐标;S1,S2分别为预测网格、真实网格模型的顶点集合;
Normal损失Lnormal通过计算预测网格与真实网格间的法向量误差约束面的生成,其中,p为预测网格中顶点,k为p的邻居节点,q为真实网格中顶点,nq为q点对应的法向量,
Laplacian损失通过比较预测网格局部范围内顶点间的相似度控制模型的平滑度,其中,N(p)为顶点p的邻居点集合,δp为综合了顶点p及其邻居节点k的3D坐标后得到的顶点p的laplacian坐标,δ′p为更新后的顶点p的laplacian坐标,
Edge length损失Ledgelength通过统计边的长度平方和来防止产生过长的边,其中p、k是相互连接的顶点,
Smooth损失Lsmooth通过计算相邻面间法向量的误差来约束预测网格形状的法向量,f(a,b,c)面A1的法向量,f是法向量计算函数,a、b、c、d为面上顶点,|<f(a,b,c),(a-d)>|为求面A1法向量与面A2向量a-d的内积;当误差超过阈值α时置0,参数α设置为0.00436;
Lsmooth=∑(|<f(a,b,c),(a-d)>|≤α?|<f(a,b,c),(a-d)>|:0)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110065500.3A CN112862949B (zh) | 2021-01-18 | 2021-01-18 | 基于多视图的物体3d形状重建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110065500.3A CN112862949B (zh) | 2021-01-18 | 2021-01-18 | 基于多视图的物体3d形状重建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112862949A true CN112862949A (zh) | 2021-05-28 |
CN112862949B CN112862949B (zh) | 2022-08-19 |
Family
ID=76006824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110065500.3A Active CN112862949B (zh) | 2021-01-18 | 2021-01-18 | 基于多视图的物体3d形状重建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112862949B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113591369A (zh) * | 2021-06-30 | 2021-11-02 | 国网福建省电力有限公司信息通信分公司 | 一种基于先验约束的单帧视图三维模型点云重建方法和存储设备 |
CN113610711A (zh) * | 2021-08-02 | 2021-11-05 | 南京信息工程大学 | 一种单图像引导的三维表面重建方法及装置 |
CN113808275A (zh) * | 2021-09-24 | 2021-12-17 | 南京信息工程大学 | 一种基于gcn与拓扑修改的单图像三维重建方法 |
CN114170379A (zh) * | 2021-11-30 | 2022-03-11 | 聚好看科技股份有限公司 | 一种三维模型重建方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110126A (zh) * | 2007-06-19 | 2008-01-23 | 北京大学 | 一种三维模型网格重建方法 |
CN108399649A (zh) * | 2018-03-05 | 2018-08-14 | 中科视拓(北京)科技有限公司 | 一种基于级联回归网络的单张图片三维人脸重建方法 |
CN110021069A (zh) * | 2019-04-15 | 2019-07-16 | 武汉大学 | 一种基于网格形变的三维模型重建方法 |
CN110378947A (zh) * | 2019-07-02 | 2019-10-25 | 北京字节跳动网络技术有限公司 | 3d模型重建方法、装置及电子设备 |
US10796476B1 (en) * | 2018-08-31 | 2020-10-06 | Amazon Technologies, Inc. | Self-supervised bootstrap for single image 3-D reconstruction |
-
2021
- 2021-01-18 CN CN202110065500.3A patent/CN112862949B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110126A (zh) * | 2007-06-19 | 2008-01-23 | 北京大学 | 一种三维模型网格重建方法 |
CN108399649A (zh) * | 2018-03-05 | 2018-08-14 | 中科视拓(北京)科技有限公司 | 一种基于级联回归网络的单张图片三维人脸重建方法 |
US10796476B1 (en) * | 2018-08-31 | 2020-10-06 | Amazon Technologies, Inc. | Self-supervised bootstrap for single image 3-D reconstruction |
CN110021069A (zh) * | 2019-04-15 | 2019-07-16 | 武汉大学 | 一种基于网格形变的三维模型重建方法 |
CN110378947A (zh) * | 2019-07-02 | 2019-10-25 | 北京字节跳动网络技术有限公司 | 3d模型重建方法、装置及电子设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113591369A (zh) * | 2021-06-30 | 2021-11-02 | 国网福建省电力有限公司信息通信分公司 | 一种基于先验约束的单帧视图三维模型点云重建方法和存储设备 |
CN113591369B (zh) * | 2021-06-30 | 2023-06-09 | 国网福建省电力有限公司信息通信分公司 | 一种基于先验约束的单帧视图三维模型点云重建方法和存储设备 |
CN113610711A (zh) * | 2021-08-02 | 2021-11-05 | 南京信息工程大学 | 一种单图像引导的三维表面重建方法及装置 |
CN113610711B (zh) * | 2021-08-02 | 2023-05-23 | 南京信息工程大学 | 一种单图像引导的三维表面重建方法及装置 |
CN113808275A (zh) * | 2021-09-24 | 2021-12-17 | 南京信息工程大学 | 一种基于gcn与拓扑修改的单图像三维重建方法 |
CN113808275B (zh) * | 2021-09-24 | 2023-10-13 | 南京信息工程大学 | 一种基于gcn与拓扑修改的单图像三维重建方法 |
CN114170379A (zh) * | 2021-11-30 | 2022-03-11 | 聚好看科技股份有限公司 | 一种三维模型重建方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112862949B (zh) | 2022-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mescheder et al. | Occupancy networks: Learning 3d reconstruction in function space | |
CN112862949B (zh) | 基于多视图的物体3d形状重建方法 | |
CN109410307B (zh) | 一种场景点云语义分割方法 | |
Smith et al. | Geometrics: Exploiting geometric structure for graph-encoded objects | |
Kar et al. | Learning a multi-view stereo machine | |
Wang et al. | Neuris: Neural reconstruction of indoor scenes using normal priors | |
CN108038906B (zh) | 一种基于图像的三维四边形网格模型重建方法 | |
WO2022100379A1 (zh) | 基于图像和三维模型的物体姿态估计方法、***及介质 | |
Venkatesh et al. | Deep implicit surface point prediction networks | |
Gurumurthy et al. | High fidelity semantic shape completion for point clouds using latent optimization | |
CN105930382A (zh) | 一种用2d图片搜索3d模型的方法 | |
CN113345082B (zh) | 一种特征金字塔多视图三维重建方法和*** | |
CN113077554A (zh) | 一种基于任意视角图片的三维结构化模型重建的方法 | |
Song et al. | Deep novel view synthesis from colored 3d point clouds | |
CN113593001A (zh) | 目标对象三维重建方法、装置、计算机设备和存储介质 | |
CN115482268A (zh) | 一种基于散斑匹配网络的高精度三维形貌测量方法与*** | |
Li et al. | Multi-attribute regression network for face reconstruction | |
Guo et al. | Line-based 3d building abstraction and polygonal surface reconstruction from images | |
Huang et al. | A bayesian approach to multi-view 4d modeling | |
CN116758219A (zh) | 基于神经网络的区域感知多视角立体匹配三维重建方法 | |
CN116597112A (zh) | 基于几何先验网络的三维重建方法及装置 | |
CN110544309A (zh) | 基于大尺度网格模型表示的实时稀疏编辑方法和*** | |
CN113808006B (zh) | 一种基于二维图像重建三维网格模型的方法及装置 | |
CN113610711B (zh) | 一种单图像引导的三维表面重建方法及装置 | |
Guillard et al. | UCLID-Net: Single view reconstruction in object space |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |