一种基于深度学习的单视图三维重建方法技术

技术编号:31085118 阅读:17 留言:0更新日期:2021-12-01 12:36
本发明专利技术公开了一种基于深度学习的单视图三维重建方法,首先对二维图像进行特征提取,并深度估计得到一个新的二维特征,把提取的二维特征与估计出的二维特征进行融合生成2

【技术实现步骤摘要】
一种基于深度学习的单视图三维重建方法


[0001]本专利技术涉及三维重建技术和深度学习
,具体涉及一种基于深度学习的单视图三维重建方法。

技术介绍

[0002]三维重建是计算机视觉与图形学的重要研究方向,主要是通过目标的二维图像精确地推断出它的3D特征,这对于机器人技术、3D建模和动画、自动驾驶、VR/AR、工业制造以及医学诊断等方面都具有广泛的应用价值。利用传统的SFM方法(Structure From Motion)进行三维重建需要目标的多张二维图像,在重建过程中存在过度依赖于跨视图特征的假设匹配,当输入的多张图片之间的视点差距过大或者物体局部被遮挡时,对这些二维图像建立特征匹配较为困难。此外,由于传统的SFM算法要通过捆绑调整进行整体优化,导致整个算法的运算速度较慢,而且随着输入图像数量的增加,进行三维重建花费的时间也会大幅增加。
[0003]随着神经网络的不断发展,越来越多的研究人员使用深度学习直接进行三维重建,这样可以跳过特征抽取、特征匹配、相机参数求解等传统环节,且无需复杂的相机校准,直接由多张甚至是单张图像重建出目标物体的三维特征。 (1)Choy等人在2016年提出3D

R2N2深度学习模型,该模型使用CNN网络通过单张或多张RGB图像对目标进行三维重建,使用LSTM来实现从二维特征到三维特征的重建,由于LSTM网络的训练参数较大,重建准确率也不太理想。 (2)Xie等人在2019年提出Pix2Vox网络,实现把多个粗略的3D特征通过多尺度上下文感知融合网络进行融合,但在对单张图像生成三维特征时,通过 reshape操作直接把大尺寸二维特征变换成小尺寸三维特征,导致单张图像重建的特征精度较低。

技术实现思路

[0004]本专利技术提供了一种基于深度学习的单视图三维重建方法,解决现有技术中的问题。
[0005]为了达到上述目的,本专利技术的技术方案如下:
[0006]一种基于深度学习的单视图三维重建方法,包括以下步骤:
[0007]Step1:原始数据集的构建:采集多个目标的二维图像数据,对于同一目标,使用CAD软件计算出该目标的三维体素特征,把所有的二维图像和相应的三维体素特征按照3:1的比例划分为训练集、测试集,并转化为深度模型需要的 tensor数据;
[0008]Step2:编码模块对上述训练集和测试集中的二维图像进行特征提取:二维特征提取网络层基于ResNet50,并在ResNet50后加入新的特征提取层M;首先,使用ResNet50把大小为128
×
128的二维特征依次提取为64
×
64、32
×
32、16
ꢀ×
16、8
×
8、4
×
4的二维特征;接着,进一步使用特征提取层M进行特征提取,生成1024
×2×
2的二维特征F;然后通过sigmoid对所有的特征进行二分类,得到它们在二维空间上的概率P;
[0009]Step3:多个二维特征融合生成三维特征:对上述Step2步骤所生成的二维特征F,
使用深度估计模块得到一个新的二维特征F

,将F

与F进行融合,升维成F对应的1024
×2×2×
2的三维特征S;
[0010]Step4:解码模块将深度估计模块生成的三维特征S通过3D解码网络生成粗糙的三维体素:该模块有4个上采样操作,每个上采样操作均使用三线性空间上采样和三维反卷积网络组合模块;
[0011]Step5:校验模块采用U

net思想,使用具有3D解码器/解码器的残差网络来对Step4生成的粗糙三维体素进行错误校正,进而生成精确的3D体素特征;
[0012]Step6:对训练集重复执行步骤Step2~Step5的训练,直至整个模型收敛;
[0013]Step7:利用步骤Step6训练后所获得的单视图三维重建模型参数权重,对测试集中的二维图像进行三维重建测试,生成相应的三维体素模型和准确率,以及平均准确率。
[0014]将上述步骤中Step2~Step6再进一步细化,描述如下:
[0015]进一步的,步骤Step3中的深度估计模块再划分包括以下步骤:
[0016]Step301:预测新的深度二维特征:
[0017]把Step2提取的二维特征分别通过二个感知层网络分别生成特征大小为 1024
×2×
2的F1、F2,然后把F1、F2和Step2中的F一同融合生成大小为 3072
×2×
2特征F3,再对F3使用一个特征提取层生成大小为1024
×2×
2融合特征f,最后把f与Step2中的P相乘生成新的深度二维特征F

,计算过程如公式(1)所示:
[0018]F'
i
=f
i
×
P
i
(i=1,2,...1024)
ꢀꢀꢀ
(1)
[0019]其中F'
i
表示第i个深度估计的二维特征,f
i
表示第i个融合二维特征,P
i
表示第i个特征的二维空间概率;
[0020]Step302:深度特征与编码模块提取的二维特征:
[0021]首先对Step3

1中的F

与Step2中的F进行维度扩增,其次,F

和F在扩增的维度上进行融合,生成1024
×2×2×
2的三维基本单元S。
[0022]进一步的,步骤Step4中解码模块具体如下:
[0023]解码模块将Step3生成的三维基本单元组通过3D解码网络生成粗糙的三维体素;该模块有4个上采样操作,每个上采样操作均使用三线性空间上采样和三维反卷积组合模块;即:首先得到的三维特征C分别进行3维反卷积和三线性空间上采样得到C1和C2,实现把三维特征扩增两倍,其次把C1和C2进行相加生成上采样模块融合特征C

;其中三线性空间上采样是从粗粒度的对三维特征进行重建,还可以对每次的特征升维有一定初始化的作用;三维反卷积操作对对象进行细粒度的三维特征重建;把三线性空间插值和三维反卷积进行融合,可以加快整个三维重建网络的收敛速度;
[0024]通过4个上采样模块把2
×2×
2三维基本单元组依次变换为4
×4×
4、8
×8ꢀ×
8、16
×
16
×
16、32
×
32
×
32三维特征组,生成一个32
×
32
×
32的三维粗糙特征,最后对三维粗糙特征使用sigmoid函数,生成该粗糙三维特征对应的三维空间的概率;
[0025]三线性空间上采样是在三维本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度学习的单视图三维重建方法,其特征在于,包括以下步骤:Step1:原始数据集的构建:采集多个目标的二维图像数据,对于同一目标,使用CAD软件计算出该目标的三维体素特征,把所有的二维图像和相应的三维体素特征按照3:1的比例划分为训练集、测试集,并转化为深度模型需要的tensor数据;Step2:编码模块对上述训练集和测试集中的二维图像进行特征提取:二维特征提取网络层基于ResNet50,并在ResNet50后加入新的特征提取层M;首先,使用ResNet50把大小为128
×
128的二维特征依次提取为64
×
64、32
×
32、16
×
16、8
×
8、4
×
4的二维特征;接着,进一步使用特征提取层M进行特征提取,生成1024
×2×
2的二维特征F;然后通过sigmoid对所有的特征进行二分类,得到它们在二维空间上的概率P;Step3:多个二维特征融合生成三维特征:对上述Step2步骤所生成的二维特征F,使用深度估计模块得到一个新的二维特征F

,将F

与F进行融合,升维成F对应的1024
×2×2×
2的三维特征S;Step4:解码模块将深度估计模块生成的三维特征S通过3D解码网络生成粗糙的三维体素:该模块有4个上采样操作,每个上采样操作均使用三线性空间上采样和三维反卷积网络组合模块;Step5:校验模块采用U

net思想,使用具有3D解码器/解码器的残差网络来对Step4生成的粗糙三维体素进行错误校正,进而生成精确的3D体素特征;Step6:对训练集重复执行步骤Step2~Step5的训练,直至整个模型收敛;Step7:利用步骤Step6训练后所获得的单视图三维重建模型参数权重,对测试集中的二维图像进行三维重建测试,生成相应的三维体素模型和准确率,以及平均准确率。将上述步骤中Step2~Step6再进一步细化,描述如下:2.根据权利要求1所述基于深度学习的单视图三维重建方法,其特征在于,步骤Step3中的深度估计模块再划分包括以下步骤:Step301:预测新的深度二维特征:把Step2提取的二维特征分别通过二个感知层网络分别生成特征大小为1024
×2×
2的F1、F2,然后把F1、F2和Step2中的F一同融合生成大小为3072
×2×
2特征F3,再对F3使用一个特征提取层生成大小为1024
×2×
2融合特征f,最后把f与Step2中的P相乘生成新的深度二维特征F

,计算过程如公式(1)所示:F'
i
=f
i
×
P
i
(i=1,2,...1024)
ꢀꢀꢀ
(1)其中F'
i
表示第i个深度估计的二维特征,f
i
表示第i个融合二维特征,P
i
表示第i个特征的二维空间概率;Step302:二维特征融合为三维特征:首先对Step3

1中的F

与Step2中的F进行维度扩增,其次,F

和F在扩增的维度上进行融合,生成1024
×2×2×
2的三维基本单元S。3.根据权利要求1所述基于深度学习的单视图三维重建方法,其特征在于,步骤Step4中解码模块具体如下:解码模块将Step3生成的三维基本单元组通过3D解码网络生成粗糙的三维体素;该模块有4个上采样操作,每个上采样操作均使用三线性空间上采样和三维反卷积组合模块;即:首先得到的三维特征C分别进行3维反卷积和三线性空间上采样得到C1和C2,实现把三维
特征扩增两倍,其次把C1和C2进行相加生成上采样模块融合特征C

;其中三线性空间上采样是从粗粒度的对三维特征进行重建,还可以对每次的特征升维有一定初始化的作用;三维反卷积操作对对象进行细粒度的三维特征重建;把三线性空间插值和三维反卷积进行融合,可以加快整个三维重建网络的收敛速度;通过4个上采样模块把2
×2×
2三维基本单元组依次变换为4
×4×
4、8
×8×
8、16
×
16
×
16、32
×
32
×
32三维特征组,生成一个32
×
32
×
32的三维粗糙特征,最后对三维粗糙特征使用sigmoid函数,生成该粗糙三维特征对应的三维空间的概率;三线性空间上采样是在三维离散采样数据的张量积网格上进行线性插值的方法;该方法通过网格上数据点在局部的矩形棱柱上线性地近似计算点(x,y,z)的值;具体计算方法如下:首先在空间中通过C
000
、C
100
、C
010
、C
110
、C
001
、C
101
、C
011
、C
111
对C进行插值,计算x
d
、y
d
、z
d
计算公式如(2)~(4)所示。x
d
=(x

x0)/(x1‑
x0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)y
d
=(y

y0)/(y1‑
y0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)z
d
=(z

z0)/(z1‑
z0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)然后现在x轴方向插值,计算公式如下,其中V[x0,y0,z0]表示该函数在(...

【专利技术属性】
技术研发人员:喻钧刘亚彬胡志毅尹文彬刘昊阳
申请(专利权)人:西安工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1