一种基于局部纹理的单视图三维重建方法转让专利

申请号 : CN202311835358.1

文献号 : CN117496091B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张全杨亮汪崇民彭博吕晓雨王顺卿超王一帆周文俊李艳

申请人 : 西南石油大学成都迈创立科技有限公司

摘要 :

本发明公开一种基于局部纹理的单视图三维重建方法,该方法具体包括如下步骤:输入图像至卷积神经网络提取特征图和全局特征向量;通过相机参数的投影得到每个空间预设点的局部特征;通过特征图的卷积和上采样得到物体的表面细节纹理偏移图;将每个空间预设点的三维坐标分别与全局和局部特征拼接,送入解码网络解码粗略全局形状和局部细节形状,投影空间预设点到纹理偏移图得到每个点纹理偏移,三部分相加得到重建目标的SDF表示;通过Marching Cube算法提取零值面得到显式重建结果。本发明实现了高质量的单视图三维重建,与已有方法相比,本发明在纹理细节部分重建效果更好。

权利要求 :

1.一种基于局部纹理的单视图三维重建方法,其特征在于:所述方法包括以下步骤:

一、输入图像到ResNet‑50卷积神经网络提取图像的全局特征向量和每个下采样前的特征图;

二、在标准空间中预设128分辨率的空间点,对每个点通过相机参数投影到图像平面和特征图平面,找到其对应的不同尺度局部特征向量;

三、将步骤一中提取的特征图,通过一个由纹理解码网络解码为纹理细节偏移图,通过相机参数投影得到每个预设空间点的纹理偏移;

四、将步骤二所预设的空间点送入空间点编码网络,该网络包含两层多层感知机,神经元个数分别为256和512,激活函数为ReLU,该网络将3维的空间坐标编码成长度为512维向量的点特征;然后将步骤一中提取的全局特征向量和步骤二中提取的局部特征向量分别与

512维的点特征拼接,分别送入两个解码网络,两个解码网络均包含两个三层的多层感知机,神经元个数分别为512、256和1,激活函数为ReLU,两个多层感知机分别得到一个全局的符号距离场值Flocal和一个局部细节的符号距离场值Flocal;另外通过相机参数将预设空间点投影到纹理偏移图上,得到对应空间点的细节纹理偏移的符号距离场值Ftexture;最终空间点的符号距离场值F为三者相加,表达式为: ,训练过程中采用代表三维信息的符号距离场监督,总的损失函数表达式为 ,

其中,LB代表基本损失,为Fglobal与Ground Truth之间误差,Lsdf代表符号距离场损失,为最终F与Ground Truth之间的误差,Llap代表拉普拉斯损失,为纹理偏移梯度和图像梯度之间的误差;

五、将步骤四中得到的符号距离场通过Marching Cube算法提取零值面,得到重建物体的三维网格模型。

2.根据权利要求1所述一种基于局部纹理的单视图三维重建方法,其特征在于:步骤一所述的下采样前的特征图分别为前4个Block的池化层前所对应的特征图,通道数分别为

256、512、1024、2048。

3.根据权利要求1所述一种基于局部纹理的单视图三维重建方法,其特征在于:步骤三所述的纹理解码网络对步骤一提取的特征图由深至浅依次进行卷积和上采样,得到和前一级相同大小的特征图,并将其与前一级特征图按通道拼接,最终再经过卷积得到与原图像大小相同通道为1的局部纹理偏移图。

说明书 :

一种基于局部纹理的单视图三维重建方法

技术领域

[0001] 本发明涉及计算机视觉三维重建技术领域,特别涉及一种基于局部纹理的单视图三维重建方法。

背景技术

[0002] 在当今的技术领域,相比于文本和图像等海量且易于获取的媒体数据,三维模型能够更加真实地展现出物体的立体视觉感和细节质感,因此,它是一种更符合人类视觉系统的数据表达方式。近年来,随着硬件扫描设备和专业建模软件的不断发展,三维数据的获取日益丰富,同时,计算机存储空间和计算能力的快速提升,使得三维模型在工业设计、城市规划、自动驾驶等领域得到了广泛的应用。
[0003] 相对于图像数据,三维数据的获取仍然是一个费时费力的过程,而图像在生活中随处可见,因此近年来出现了许多使用神经网络从图像重建三维模型的方法,这些方法大多使用多视角图像进行三维重建,通过不同视角下物体的差异来学习物体的几何特征,然而多视角的图像数据仍然难以获取,且重建结果容易受图像质量的影响。单张图像信息具有局限性,单视图三维重建方法从图像中所提取到的特征往往关注于物体的粗略形状,难以获取物体的细节;虽然一些方法通过相机参数的投影来得到每个采样点的局部特征,一定程度上优化了对于形状细节部分的重建效果,但对于物体表面的纹理起伏等信息仍然表现较差。

发明内容

[0004] 为了简化繁琐的三维重建过程,并且能快速地从单张图像重建出包含纹理细节的高质量三维模型,本发明结合了现有方法的优势,设计了一种基于局部纹理的单视图三维重建方法。该方法使用卷积神经网络从物体的单张图像提取全局特征,并保存特征提取过程中每次下采样前不同尺度的特征图;将不同尺度特征图放大到原图大小,通过相机参数将空间中预设点投影到不同尺度特征图中,将该点对应的投影特征拼接从而得到其局部特征;从生成的不同尺度特征图的最后一级开始由深至浅分别进行卷积和上采样并与前一级尺度特征融合,得到物体对应视角的细节纹理偏移图,同样经过相机参数的投影得到每个空间预设点的局部纹理偏移值。所有空间预设点的全局特征和局部特征分别通过两个三层的多层感知机(MLP)解码出该物体的粗略形状的和细节形状,加上所有点纹理偏移得到最终三维模型的隐式表示(符号距离场,SDF),再通过Marching Cube后处理方法提取零值面将隐式表示转换为显式的三维模型。
[0005] 具体地,本发明提供了一种基于局部纹理的单视图三维重建方法,主要包括以下步骤:
[0006] S1、输入图像到ResNet‑50卷积神经网络提取图像的全局特征向量和下采样前不同尺度的特征图,并将其缩放到原图像大小;
[0007] S2、在标准空间中预设128×128×128个空间点,每个点 p(x,y,z) 通过相机参数投影到S1得到的不同尺度特征图的对应位置,将这些位置对应的特征拼接构成p点的局部特征向量;
[0008] S3、对S1提取的不同尺度的特征图由深至浅依次进行卷积和上采样,得到和前一级相同大小的特征图,并将其与前一级特征图按通道拼接,最终再经过卷积得到物体对应视角的细节纹理偏移图;
[0009] S4、将每个预设空间点的坐标通过两层MLP编码到高维特征空间,分别与全局特征向量和局部特征向量拼接,送入两个由三层MLP组成的解码网络中,重建出物体的全局粗略形状和局部细节。另外通过相机参数投影每个预设点p到纹理偏移图上,得到其细节纹理偏移。将全局粗略形状、局部细节和纹理偏移三部分结果相加得到点p最终的SDF值;
[0010] S5、将空间中所有预设点的SDF值通过Marching Cube算法提取零值面,得到重建物体的显式三维网格模型。
[0011] 步骤S1所述的下采样前的特征图为ResNet‑50前4个Block的池化层前的特征图,特征图尺寸相对于输入图像尺寸分别减小了2倍、4倍、8倍、16倍,对应的通道数分别为256、512、1024、2048。
[0012] 步骤S3所述的由深至浅依次进行卷积和上采样,即依次对16倍缩放特征图进行卷积和上采样,与8倍缩放特征图按通道拼接,拼接后的特征图进行卷积和上采样并与4倍缩放特征图进行拼接,以此类推,最后得到与输入图像大小一致,通道数为1的纹理偏移图。
[0013] 步骤S4所述预设空间点的编码网络,其两层神经元个数分别为256和512,激活函数为ReLU;该网络将3维的空间坐标编码成长度为512的向量。所述解码网络分别为两个三层的MLP,神经元个数分别为512、256和1,激活函数为ReLU;两个MLP分别得到一个全局的SDF值Fglobal和一个局部细节的SDF值Flocal;另外通过相机参数将预设空间点投影到纹理偏移图上,得到对应空间点的细节纹理偏移的SDF值Ftexture;最终空间点的SDF值F为三者相加,表达式为:
[0014] 。
[0015] 进一步的,本发明所述的一种基于局部纹理的单视图三维重建方法,所有神经网络的训练采用代表三维信息的SDF监督,总的损失函数表达式如下所示:
[0016] ,
[0017] 其中,LB代表基本损失,为Fglobal与Ground Truth之间误差,Lsdf代表SDF损失,为F与Ground Truth之间的误差,Llap代表拉普拉斯损失,为纹理偏移梯度和图像梯度之间的误差。
[0018] 有益效果:本发明实现从单视图普通RGB图像重建物体的三维结构,采用本发明进行三维重建,可以帮助相关人员快速重建出结构完整细节纹理信息丰富的三维模型,与以往公开的论文和专利中的三维重建方法相比,本发明引入纹理偏移图优化重建结果在细节纹理上的效果,有效提升了重建模型的质量。

附图说明

[0019] 图1是本发明基于局部纹理的单视图三维重建大致流程示意图;
[0020] 图2是本发明所述深度学习方法使用的神经网络结构示意图;
[0021] 图3是本发明在重建过程中的一个实例,包含输入图像、法向贴图、法向贴图的梯度示意图、纹理偏移示意图、纹理偏移梯度示意图和重建结果示意图。

具体实施方式

[0022] 为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明进一步详细说明。在此,本发明的示意性实施方式以及其说明用于解释本发明,但并不作为本发明的限定。
[0023] 如图1、图2、图3所示,本发明提供一种基于局部纹理的单视图三维重建方法,包括以下步骤:
[0024] S1、输入图像到卷积神经网络提取图像的全局特征向量,并保存每次下采样前的特征图得到不同尺度的特征图;
[0025] S2、将S1中不同尺度的特征图缩放到原图像大小,在标准空间中预设代表分辨率的128×128×128个空间点,每个预设点通过相机参数投影到缩放后的特征图中,得到其对应的特征,将这些特征拼接构成预设点的局部特征向量;
[0026] S3、对S1中提取的不同尺度的特征图依次进行卷积和上采样,得到和前一级相同大小的特征图,并将其与前一级特征图按通道拼接,最终再经过卷积得到物体对应视角的细节纹理偏移图;
[0027] S4、将每个预设空间点的坐标通过两层MLP编码到高维特征空间,分别与全局特征向量和局部特征向量拼接,送入两个由三层MLP组成的解码网络中,重建出表示物体的全局粗略形状的SDF值和表示局部细节的SDF值,另外通过相机参数投影每个预设点到纹理偏移图,得到每个预设点的细节纹理偏移的SDF值,三个SDF值相加得到用于重建的最终SDF值;
[0028] S5、将空间中所有预设点的最终SDF值通过Marching Cube算法提取零值面,得到重建物体的显式三维网格模型。
[0029] 步骤S1所述卷积神经网络的目的是从图像提取全局特征和得到不同尺度特征图,本实例采用ImageNet图像分类任务预训练好的ResNet‑50模型作为我们的特征提取网络,保存前4个Block池化层前的特征图,由浅入深分别代表图像的浅层纹理特征和深层抽象特征;在输入图像大小为224×224的情况下,4个特征图的尺寸分别为112×112、56×56、28×28、14×14,4个特征图的通道数分别为256、512、1024、2048;然后分别对4个特征图进行2倍、4倍、8倍、16倍的上采样,采样方式为双线性插值,得到4个与原图大小相同的特征图;
[0030] 步骤S2所述预设空间每个维度范围为[‑1,1],本实例每个维度取128个值作为分辨率,因此三维空间共预设了128×128×128个采样点;
[0031] 步骤S2所述相机参数为相机内外参数,通过相机参数可以求得从三维坐标投影到二维平面的投影变换矩阵;对预设空间点进行投影,得到每个点投影到图像平面的像素位置,通过查询缩放后的特征图,得到每个预设点对应的长度为3840的一维特征向量,每个特征向量表示对应空间点的局部特征;
[0032] 步骤S3中所采用的上采样在本示例中采用的缩放倍数为2,采样方式为双线性插值,采用的卷积使用3×3卷积核,卷积采用的padding为1、激活函数为ReLU;具体地,在本实例中,首先对步骤S1中得到的特征图进行一次卷积,将所有特征图的通道数转换为64,然后依次由深至浅进行上采样,得到与前一级尺寸相同的特征图,将其与前一级特征图按通道拼接,通过卷积融合特征并将通道数转换为64,直到得到最终224×224×64的特征图,然后通过一个输出通道为1的卷积层,得到224×224×1的细节纹理偏移图;
[0033] 步骤S4中预设空间点的编码网络在本实例中采用神经元个数分别为256和512,激活函数为ReLU,可以将三维坐标信息映射到512维的特征空间;所述解码网络均由神经元个数分别为521、256、1的三层MLP构成,全局解码网络输入为步骤S1提取的全局特征和高维空间点特征,局部解码网络输入为步骤S2提取的局部特征和高维空间点特征,两个解码网络分别得到代表全局特征的SDF值Fglobal和代表局部细节特征的SDF值Flocal;将空间预设点投影到步骤S3得到的细节纹理偏移图上得到代表纹理偏移的SDF值Ftexture,三者相加即为最终重建结果的SDF值;
[0034] 步骤S5使用的Marching Cube算法是通过Python的PyMcube库实现的。
[0035] 进一步的,在本发明一个具体实施案例中,所有神经网络的训练采用三维监督方法,所用的损失函数由三部分组成,分别为LB、Lsdf和Llap,其中LB为Fglobal与真实SDF标签F之间的均方误差,LB损失优化的目标为得到物体整体形状;Lsdf为Flocal与真实SDF标签F之间的绝对误差,Lsdf损失优化的目标为得到物体局部细节;Llap为纹理偏移图的梯度与真实三维空间SDF的梯度之间的均方误差,纹理偏移图的梯度使用拉普拉斯算子计算,真实三维空间SDF的梯度由输入图像所对应的法相贴图计算,Llap损失优化的目标为得到物体纹理细节。
[0036] 在本发明的一个具体实施案例中,所使用的数据来源于ShapeNet Core数据集,通过预设的相机参数,对其中的三维模型进行投影渲染得到对应的二维RGB图像和法向贴图,同时保存物体表面附近空间点的位置坐标和SDF值作为标签。本发明的具体实施案例中,训练模型所采用的优化器为Adam优化器,学习率为0.0001,所使用的深度学习框架为Pytorch1.8。
[0037] 相应的数据、训练过程图以及重建结果图如图3所示:第一行图片分别表示渲染得到的输入图像、对应的法向贴图、法向贴图所通过拉普拉斯算子提取的梯度,第二行图片分别表示重建过程中的纹理偏移图、纹理偏移图通过拉普拉斯算子提取的梯度、最终的重建结果。与以往的方法对比,如图3所示,本发明的重建方法在物体表面的细节部分和纹理凹凸部分有更加出色的重建效果。
[0038] 本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。