一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度学习的多视角三维重建方法

2022-12-20 22:34:28 来源:中国专利 TAG:


1.本发明涉及计算机图形学和图像处理技术领域,具体涉及一种基于深度学习的多视角rgb图像三维重建方法。


背景技术:

2.三维重建是一个经典的计算机视觉问题,基于图像的三维重建算法在近些年取得了巨大成就,但依然存在很多问题,存在改进空间。
3.第一,传统三维重建方法过渡依赖精良设备,但在实际应用中却不切实可行,例如:弱光照条件、目标外形较复杂并且存在遮挡或者物体表面纹理特征较弱都会影响三维重建的效果。另外,传统三维重建技术并不适用于大型场景的三维重建。
4.第二,基于深度学习的三维重建算法具有更高的鲁棒性,可以有效避免光照变化所引起的重建效率低的问题,如kendall等人提出的gcnet:kendall a,martirosyan h,dasgupta s,et al.end-to-end learning of geometry and context for deep stereo regression[c]//proceedings of the ieee international conference on computer vision.2017:66-75.这种算法操作较复杂,重建时间较长,重建效果差,对设备算力要求较高。
[0005]
因此,亟需一种具有高鲁棒性的端到端的基于深度学习的多视角三维重建算法。


技术实现要素:

[0006]
发明目的:针对现有技术存在的不足,本发明提出了一种基于深度学习的多视角三维重建方法,具有高鲁棒性,操作简单,重建速度快、效率高、效果好。
[0007]
技术方案:本发明公开了一种基于深度学习的多视角三维重建方法,所述三维重建方法包括如下步骤:
[0008]
步骤1:对照相机进行标定得到相关参数,并利用照相机从不同角度对需要重建的物体进行图像采集,所述图像包括一张参考图像和数张源图像;
[0009]
步骤2:搭建图像特征提取模块,通过图像特征提取模块提取步骤1中图像的特征,得到特征图;
[0010]
所述图像特征提取模块主要包括4个降采样层和4个block组块,4个降采样层均采用一个步长为2的2
×
2卷积层后接一个批正则化层,分别命名为conv0、conv1、conv2、conv3;block组块中采用一个7
×
7空洞卷积层,后接两个1
×
1卷积层以及激活函数和批正则化层,分别命名为block0、block1、block2、block3,图像特征提取模块的整体连接方式为:输入-conv0-block0-conv1-block1-conv2-block2-conv3-block3-输出;
[0011]
步骤3:设计基于特征图的单应性变换算法,将步骤2中得到特征图进行单应性变换和相似度计算,构建代价体,对代价体进行全局方差操作得到概率体;
[0012]
步骤4:搭建代价体正则化模块,对步骤3中的概率体进行正则化和回归操作,得到参考图像的稀疏深度图;
[0013]
步骤5:搭建深度图细化模块,将步骤1得到的参考图像和步骤4的初始深度图进行拼接,然后输入该细化模块生成稠密深度图;
[0014]
步骤6:根据步骤5得到的稠密深度图生成空间点云结构,实现对目标的三维重建。
[0015]
进一步地,所述步骤3中进行单应性变换之前需要根据获取的照相机相关参数计算相邻图像间的单应性矩阵h,公式为:
[0016][0017]
其中,ki表示相机的内参数矩阵,ri为两视图之间的旋转关系矩阵,ti为视图之间的平移矩阵,k0为参考图像相机内参矩阵,r0为参考图像旋转关系矩阵,t0为参考图像平移关系矩阵,dj为第j个深度平面到参考图像的深度值,n为沿参考图像间的法向量,i为单位矩阵。
[0018]
进一步地,所述步骤3中具体操作步骤如下:
[0019]
步骤3.1:设置参考图像和重建物体间的深度平面数量为192个;
[0020]
步骤3.2:根据步骤1中获取的照相机相关参数计算相邻图像间的单应性矩阵h;
[0021]
步骤3.3:将步骤2中得到的特征图fi(i=1,...,n)通过单应性矩阵h投影到每一个深度平面上得到视角转换特征图f
′i,公式为:
[0022]f′i=hi(dj)
×fi
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0023]
步骤3.4:根据步骤3.3中得到的转换特征图f
′i计算当前视角图像与参考特征图f0之间的相似度,得到匹配代价值并构造代价体c,公式为:
[0024]ci
=∑|f

i-f0|(i=1,...,n)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0025]
步骤3.5:求代价体c的全局方差得到概率体c
p
,公式为:
[0026][0027]
其中,n表示图像数量,表示概率体中的平均值。
[0028]
进一步地,所述步骤4中代价体正则化模块的具体结构如下:
[0029]
所述代价体正则化模块包括特征提取结构、编码结构和解码结构;
[0030]
特征提取结构包括一个3d卷积层和激活函数层;
[0031]
编码器共包含4层结构,前两层由两个3d卷积层组成,后两层由两个3d胶囊卷积层组成,每层依次命名为:en-conv1、en-conv2、caps1、caps2,编码器的具体连接方式为:en-conv1连接en-conv2连接caps1连接caps2;
[0032]
解码器共包含5层结构,前4层分别与编码器的4层结构相对应,第1、3、5层是3d卷积层,第2、4层是反卷积层,每层依次命名为:de-conv1、unconv2、de-conv3、unconv4、de-conv5,其具体连接方式为:de-conv1连接unconv2连接de-conv3连接unconv4连接de-conv5。
[0033]
进一步地,所述代价体正则化模块的整体连接方式是依次将特征提取结构、编码结构和解码结构连接起来,即:特征提取结构连接en-conv1连接en-conv2连接caps1连接caps2连接de-conv1连接unconv2连接de-conv3连接unconv4连接de-conv5,同时,编码器的4层结构与解码器的前4层对应连接,即:en-conv1连接unconv4、en-conv2连接de-conv3、caps1连接unconv2、caps2连接de-conv1。
[0034]
进一步地,所述步骤5中深度图细化模块的具体操作步骤为:
[0035]
步骤5.1:将步骤4中的稀疏深度图与步骤1中的参考图像进行拼接操作;
[0036]
步骤5.2:将步骤5.1拼接后的图像输入深度图细化模块得到稠密深度图,该模块包括4个2d卷积层,并使用残差结构将其连接起来。
[0037]
有益效果
[0038]
第一:本发明利用深度学习的方法实现对物体的三维重建,其重建方式是一种端到端的生成方式,该方法重建效率高、速度快,能够生成更加稠密的三维模型,且算法鲁棒性高对光照等环境因素不敏感,可以针对室内场景,重建目标或者尺度较小。
[0039]
第二:本发明的特征提取模块采用了最先进深度学习技术,其生成的特征图包含更多全局图像特征。
[0040]
第三:本发明在代价体正则化模块利用胶囊网络进行解码,胶囊网络中的动态路由机制能够更加准确的生成深度图。
附图说明
[0041]
图1为本发明三维重建方法的整体流程图;
[0042]
图2为本发明图像特征提取模块结构图;
[0043]
图3位本发明图像特征提取模块中的降采样层和block模块结构图;
[0044]
图4为本发明代价体正则化模块结构图;
[0045]
图5为本发明实施例的三维重建效果对比图,其中(a)为colmap重建效果,(b)为mvsnet重建效果,(c)为本发明重建效果。
具体实施方式
[0046]
下面根据附图详细描述本发明,本发明的目的和效果将变得更加明确,应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
[0047]
参见图1,其为本发明提供的基于深度学习的多视角三维重建方法流程图,具体步骤如下所示:
[0048]
步骤1:标定相机并计算相机的内部参数和外部参数;在获取相机的相关参数后,利用该照相机对需要重建的物体进行多角度图像采集,同时建立图像集,任选图像集中一张图像为参考图像,其余图像则为源图像,其中图像集中图片个数n应大于等于3(n≥3),在本发明中图像集个数n为48(n=48)。
[0049]
步骤2:搭建图像特征提取模块,如图2所示,将步骤1中图像集的图像输入该特征提取模块提取图像特征,得到图像集中图像对应的深度图fi(i=0,...,47),其中,f0为参考特征图,fi(i=1,...,47)为源图像特征图。其中,图像特征提取模块利用卷积神经网络实现对图像的特征提取,包括4个降采样层和4组block模块且采样层与block模块相互交替连接,下面对图像特征提取模块作进一步详细描述:
[0050]
图像特征提取模块的4个降采样层均采用一个步长为2的卷积层,后接一个批正则化层。如图3(a)所示,4个降采样层分别命名为conv0、conv1、conv2、conv3,其中,conv0为步长为2的4
×
4卷积,conv1、conv2、conv3均为步长为2的2
×
2卷积,各个降采样层的输入通道数分别为[3,8,16,64],对应的输出通道数分别为[8,16,64,32]。
[0051]
如图3(b)所示,4个block组块均采用1个7
×
7空洞卷积层、后接2个1
×
1卷积层以及激活函数以及批正则化层。4个block模块分别命名为block0、block1、block2、block3,其中,各block模块的输入通道数分别为[8,16,64,32],对应的输出通道数依次为[8,16,64,32]。
[0052]
各降采样层和block模块采用交替连接的方式,即:conv0-block0-conv1-bl ock1-conv2-block2-conv3-block3。图像从conv0输入,从block3输出,且图像输入分辨率为1024
×
1024,输出特征图fi的尺寸为64
×
64。
[0053]
步骤3:设计基于特征图的单应性变换算法,将步骤2中得到的特征图fi进行单应性变换,同时根据对极几何原理进行逐像素的相似度计算,得到匹配代价值,并利用匹配代价值建立代价体,对代价体进行全局方差操作得到概率体。下面作进一步详细描述:
[0054]
步骤3.1:设定参考图像到重建物体之间的深度平面数量为192个。
[0055]
步骤3.2:根据步骤1中得到相机相关参数来计算相邻图像之间的单应性变换h,单应性变换公式为:
[0056][0057]
其中,ki表示相机的内参数矩阵,ri为两视图之间的旋转关系矩阵,ti为视图之间的平移矩阵,k0为参考图像相机内参矩阵,r0为参考图像旋转关系矩阵,t0为参考图像平移关系矩阵,dj为第j个深度平面到参考图像的深度值,n为沿参考图像间的法向量,i为单位矩阵。
[0058]
步骤3.3:将步骤2中得到的各源图像对应的特征图fi(i=1,...,n)通过单应性变换h,逐一投影到每个深度平面上,得到视角转换后的特征图f
′i,公式为:
[0059]f′i=hi(dj)
×fi
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0060]
步骤3.4:根据步骤3.3中得到的转换后的特征图f
′i,利用对极几何原理对当前视角图像与参考特征图f0之间进行逐相似度计算,得到匹配代价值同时构建代价体c,公式为:
[0061]ci
=∑|f

i-f0|(i=1,...,n)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0062]
步骤3.5:求代价体c的全局方差得到概率体c
p
,公式为:
[0063][0064]
步骤4:搭建代价体正则化模块,如图4所示,该模块是一个编码器-解码器的对称结构。将步骤3中得到的概率体c
p
输入该正则化模块,经过正则化和回归操作得到参考图像的稀疏深度图,下面对代价体正则化模块作进一步详细描述:
[0065]
该代价体正则化模块包含特征提取结构、编码结构和解码结构三个部分。其中,特征提取结构包括一个3d卷积层和激活函数层;编码器有4层,每层输入分别为[32,8,16,32],输出分别为[8,16,32,32]。其中,前两层采用3d卷积网络正则化代价体,后两层利用3d胶囊网络提取更多深度空间语义信息,各层依次命名为en-conv1、en-conv2、caps1、caps2;解码器有5层结构,第1、3、5层是3d卷积网络,第2、4层是反卷积网络,第1、3、5层的输入通道数为[32,32,16],输出通道数为[32,8,1],第2、4层的输入通道数为[64,8],输出通道数为[16,8],各层分别命名为de-conv1、unconv2、de-conv3、unconv4、de-conv5。
[0066]
代价体正则化的整体连接方是将特征提取结构、编码结构和解码结构依次连接起来,编码器内部4层顺次连接,即:en-conv1连接en-conv2连接caps1连接caps2;解码器内5层顺次连接,即:de-conv1连接unconv2连接de-conv3连接unconv4连接de-conv5;与此同时,编码器内4层与解码器内前4层依次对应连接,即:en-conv1连接unconv4、en-conv2连接de-conv3、caps1连接unconv2、caps2-连接de-convl。
[0067]
步骤5:搭建深度图细化模块,将步骤1的参考图像与步骤4生成的稀疏深度图拼接后输入该模块中,得到稠密的深度图。该模块包括4个2d卷积层,且通过残差连接的方式保留图像特征。
[0068]
步骤6:根据步骤5得到的稠密深度图生成空间点云结构,并通过图像渲染方式实现对目标的三维重建。
[0069]
下面以图5中所示图像为例进行实验说明,图5中(a)为colmap重建效果,(b)为mvsnet重建效果,(c)为本发明重建效果。从图中可以看出,本发明对于重建的完整性和效果要优于colmap、mvsnet等经典重建算法。
[0070]
针对表1,fe为mvsnet重建算法中采用的图像特征提取模块,fenet-t为本发明中的图像特征提取模块。本发明特征提取模块较fe采用了更大的卷积核以扩大模型的感受视野,同时,本发明采用分组卷积和空洞卷积的方式提高了该特征提取模块对图像特征的提取效率。
[0071]
表1 fe与fenet-t网络对比
[0072][0073]
消融实验即对比实验,通过类似控制变量的方式来证明所提出模型的有效性。表2中,acc表示准确率,comp表示完整度,overall表示整体性,其中acc、comp、overall是针对模型所生成的点云与点云的ground truth来衡量的两个指标,acc表示生成点云与点云真实值之间的欧氏距离,因此acc越小,表示重建精度越高;comp与0verall同理。
[0074]
表2中可以看出,通过第1组与第2组对比实验或者第3组和第4组对比实验可知,本发明的代价体正则化模块(3d-capscnn)的正则化效果优于mvsnet重建算法的代价体正则化模块(unet);通过第1组与第3组对比实验或者第2组与第4组对比实验可知,本发明的特征提取模块(fenet-t)的图像特征提取效果优于mvsnet重建算法的特征提取模块(fe)。
[0075]
表2消融实验二结果对比
[0076][0077]
acc表示准确率,comp表示完整度,overall表示整体性,colmap、tola、camp、gipuma、furu是传统经典的三维重建算法,通过手动设计一些算法来实现多幅图像中的特征点的检测和匹配,从而实现三维重建;surfacenet、mvsnet以及本发明提出的三维重建算法,是基于深度学习的端到端的多视图三维重建算法。表中可以看出,本发明提出的三维重建算法在comp、overal均取得了最优值,acc较好,因此可以证明本发明中所述三我重建算法的有效性。
[0078]
表3对比实验结果
[0079]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
/mm
[0080][0081]
本领域普通技术人员可以理解,以上所述仅为发明的优选实例而已,并不用于限制发明,尽管对发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对实例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在发明的精神和原则之内,所做的修改、等同替换等均包含在发明保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献