一种基于深度学习的三维物体重建算法

文档序号:26626752发布日期:2021-09-14 21:46阅读:69来源:国知局
1.本发明属于计算机视觉及深度学习领域,具体涉及一种基于深度学习的三维物体重建算法。
背景技术
::2.近年来,随着三维物体公开数据集的出现,从图像中完整且精确的重建出三维几何结构如今已成为计算机视觉、工业制造等领域的研究热点。例如,5g时代出现的ar与vr,利用三维重建技术让我们切实感受到实时传输的重建效果;工业制造领域,机械手臂的抓取与避障,自动驾驶汽车路径规划及避障等,都是对三维重建技术的充分利用。另外,人们可以从三维模型中得到比二维图像更多的信息。因此,三维物体重建变得愈来愈重要。3.另一方面,随着计算机硬件及人工智能技术的发展,使用深度学习工具重建三维模型已成为如今研究的热潮。基于深度学习的三维物体重建可以从的单幅或多幅图像中恢复对象的三维几何结构,而不需要复杂的相机精确校准过程。4.目前多数基于深度学习的三维重建算法还存在一些问题:当我们从一个视角看到物体时,因为物体的自遮挡问题,很难推断出它的整体形状结构。对应到二维图像中,单幅图像所包含的信息有限,不可能推断出一个精准完整的三维模型。针对这一问题,研究人员提出利用同一物体不同视角下的多幅图像来重建三维模型,将多幅图像所包含的信息进行综合考虑。5.目前基于多视图的三维重建算法是利用lstm的记忆能力将每幅图像的特征作为lstm输入,融合其所包含的信息。虽然重建效果随着视图数量的增加在一定程度上可以提升,但这一过程仍存在缺陷。由于lstm结构的时序性,输入图像的顺序,将会影响最终的重建结果,这明显与设计网络模型的初衷不符。6.因此,本发明设计了一种基于深度学习的三维物体重建算法,称之为3dfonet(3dreconstructionfromobjectnetwork)网络。基于多视图的三维重建的卷积神经网络从二维图像映射为三维几何结构。3dfonet不需要输入任何物体类别标签、姿态信等附加信息就可以进行训练和测试,且重建结果不会由于输入图像的顺序的改变而改变。技术实现要素:7.本发明提供了一种基于深度学习的三维物体重建算法,本发明不需要输入任何物体类别标签、姿态信等附加信息就可以进行训练和测试,且重建结果不会由于输入图像的顺序的改变而改变。本发明对编码器及解码器结构进行改进,并应用分层预测策略,提高了三维物体重建效果。详见下文描述。8.本发明解决其技术问题的解决方案是:9.一种基于深度学习的三维物体重建算法,所述三维物体重建算法包括以下步骤:10.步骤1输入多个从任意角度获得的物体二维图像;11.步骤2建立卷积神经网络模型;12.步骤3将步骤1中的二维图像作为训练数据,输入到步骤2建立的卷积神经网络中进行训练;13.步骤4将待测的二维图像输入到步骤3训练好的卷积神经网络模型中,卷积神经网络模型输出三维重建结果。14.步骤2中所述的卷积神经网络模型包括编码器、解码器、多视图特征组合模块。所述的编码器由嵌入se‑block的resnet50网络构成,卷积层之间使用batchnorm进行正则化,激活函数选用relu函数。所述的解码器由三维反卷积层、batchnorm层、三维反池化层、relu构成。其中,编码器的输入为多视角的二维图像,编码器的输出为二维特征向量,需要将其转换为三维信息;解码器的输入为编码器输出向量转换得到的三维信息,解码器的输出为单幅图像的三维预测体素占用;多视图特征组合模块的输入为每幅二维图像的三维预测体素占用,多视图特征组合模块的输出为最终的预测体素占用。15.作为上述技术方案的进一步改进,所述步骤3具体包括以下步骤:16.3.1随机初始化所述卷积神经网络模型;17.3.2将每幅图像单独输入到二维编码器中进行特征提取;18.3.3将步骤3.2提取到的二维特征向量转换为三维的信息;19.3.4将步骤3.3得到的三维信息输入到三维解码器中进行解码,从而生成三维概率体素的形式,得到预测体素占用;20.3.5使步骤3.4每幅图像得到的预测体素占用通过多视图特征组合模块结合到一起,从而得到最终的预测体素占用;21.3.6通过交叉熵损失函数使模型中的参数逐步优化。22.作为上述技术方案的进一步改进,所述步骤4具体包括以下步骤:23.4.1将待测的二维图像集输入到步骤3.2至步骤3.6训练好的卷积神经网络中,获取预测体素概率o;24.4.2根据分层预测策略预测所得的0‑1占用与地面真实占用来计算准确率。25.本发明的有益效果是:本发明通过多幅二维图像完成卷积神经网络模型的训练操作,再利用卷积神经网络模型对待测二维图像进行重建操作。其中所述的编码器由嵌入se‑block的resnet50网络构成,卷积层之间使用batchnorm进行正则化,激活函数选用relu函数。所述的解码器由三维反卷积层、batchnorm层、三维反池化层、relu构成。其中,编码器的输入为多视角的二维图像,编码器的输出为二维特征向量,需要将其转换为三维信息;解码器的输入为编码器输出向量转换得到的三维信息,解码器的输出为单幅图像的三维预测体素占用;多视图特征组合模块的输入为每幅二维图像的三维预测体素占用,多视图特征组合模块的输出为最终的预测体素占用。26.本发明的有益效果是:本发明在模型中引用了多视图特征组合模块,来组合多个输入图像的特征。根据我们平时生活中的经验,当我们看到一个物体的时候,我们通过观察它的外表,可以知道这个物体大致的形状。由于物体自身的遮挡,我们只能根据生活经验大致猜到它的形状,但不能十分确定。要想知道这个物体的形状,我们最直接的方法就是绕着物体走一圈。受此启发,当输入一幅图像后,经过我们设计的卷积神经网络,我们可以得到当前的预测体素占用的概率为ot,其中t表示第t幅图像。在此幅图像中,可以直接观察到的物体的部分将会获得相对确定的概率,而由于物体自身遮挡而看不到的部分,网络将会根据先验知识来尝试预测每个体素格子被占用的概率。输入的视图数量越多,物体的可见部分也会越多,能确定占用情况的体素格子也随之增多,模型重建效果不断提高。27.本发明的有益效果是:本发明改进传统的多视图三维重建算法,在模型中加入了分层预测策略,根据最终预测体素占用概率o从外至里判断体素网格占用与否,同时根据外层体素网格占用情况,动态调整体素网格的阈值。若外层体素格子占用数量少,则取较小阈值;否则,反之。随着预测深入到物体内部,预测结果逐渐变得没有倾向性。分层预测策略的引入使得物体较薄部分的重建结果有所改善。附图说明28.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单说明。显然,所描述的附图只是本发明的一部分实施例,而不是全部实施例,本领域的技术人员在不付出创造性劳动的前提下,还可以根据这些附图获得其他设计方案和附图。29.图1是本发明的卷积神经网络模型结构示意图;30.图2是本发明的三维重建算法流程图;31.图3是本发明中编码器网络结构图;32.图4是本发明shapenet数据集的模型数量分配;33.图5是输入不同数量的多视图图像后几种算法重建结果的对比。具体实施方式34.以下将结合实例和附图对本发明的构思、具体结构以及产生的技术效果进行清楚、完整的描述,以使读者充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。35.实施例136.参照图1和图2,本发明创造公开了一种基于深度学习的三维物体重建算法,包括以下步骤:37.步骤1输入多个从任意角度获得的物体二维图像;38.步骤2建立卷积神经网络模型;39.步骤3将步骤1中的二维图像作为训练数据,输入到步骤2建立的卷积神经网络中进行训练;40.步骤4将待测的二维图像输入到步骤3训练好的卷积神经网络模型中,卷积神经网络模型输出三维重建结果。41.步骤2中所述的卷积神经网络模型包括编码器、解码器、多视图特征组合模块。所述的编码器通过提取二维图像特征来挖掘其的三维空间结构,由嵌入se‑block的resnet50网络构成,卷积层之间使用batchnorm进行正则化,激活函数选用relu函数。所述的解码器由三维反卷积层、batchnorm层、三维反池化层、relu构成。其中,编码器的输入为多视角的二维图像,编码器的输出为二维特征向量,需要将其转换为三维信息;解码器的输入为编码器输出向量转换得到的三维信息,解码器的输出为单幅图像的三维预测体素占用;多视图特征组合模块的输入为每幅二维图像的三维预测体素占用,多视图特征组合模块的输出为最终的预测体素占用。42.实施例243.下面结合具体的计算公式、例子对实施例1中的方案进行详细描述,详见下文:44.步骤2中所述的卷积神经网络模型的结构体设置有3个,分别为:编码器、解码器、多视图特征组合模块。其中,本发明设计的编码器网络基于resnet网络,并且加入了se‑block以使模型具备简单的注意力机制。每个卷积层中选用relu激活函数,使用batchnorm正则化。se‑block模块可以以较小的代价提高特征的表达能力,只需要给不同通道分配不同的权重。编码器的网络结构如附图3所示。45.本发明具体实施方式中,所述的编码器网络嵌入了se‑block模块,se‑block模块首先对w×h×c的特征图进行全局平均池化,得到一个能够感知到图像的全局信息的特征图,大小为1×1×c的,上述操作叫做sequeeze。接着是excitation过程:excitation操作有两个全连接层,经过sigmoid函数,将结果值限制在0~1之间。最后的结果值预示了各个通道的权重,实现了注意力机制。46.本发明具体实施方式中,所述的编码器改进了resnet50网络。编码器的输入大小为256×256×3,编码器的输出为4×4×2048。本发明对编码器所做修改如下所示:47.1.在残差模块上加入了se‑block,使模型具备简单的注意力机制。resnet50和se‑resnet50的网络配置图,如附图3所示。48.2.修改了输入的大小,resnet50网络的输入大小为224×224,将其修改为256×256;49.3.去掉resnet50最后的全连接层;50.4.编码器输出修改大小为4×4。51.本发明具体实施方式中,所述的解码器用于将三维特征解码为三维体积。与编码器类似,本发明设计的解码器也包含五部分残差模块,除了最后一部分由卷积层构成外,前五部分中都由conv3、bn层、3dunpooling、relu构成。编码器获得的特征大小为4×4×2048,需要将此数据转换为4×4×512,输入到解码器中,经过conv3d3、unpooling处理,得到32×32×32×2的分辨率,最后利用softmax进行归一化,得到三维体积的预测概率oi。52.进一步地,本发明的具体实施方式中,选择分类任务中常用的交叉熵损失函数来优化网络模型的训练。假设预测结果服从二项分布,则损失函数的计算公式如下式(1)所示:[0053][0054]其中,yi=1表示为正样本,yi=0表示为负样本。pi表示样本i预测为正样本的概率。[0055]本发明设计的网络需要体素交叉熵之和,其公式如下式(2)所示:[0056][0057]其中,gti,j,k表示地面真实值中,i,j,k对应坐标位置的体素格子的值,gti,j,k为1表示该体素网格被占用,gti,j,k为0则表示该体素网格为空。oi,j,k表示最终预测体素占用概率中,对应坐标位置的体素格子的预测概率。[0058]进一步地,本发明的具体实施方式中,所述的多视图特征组合模块用来将多个输入图像的特征进行组合。在发明设计的算法结构中,每一幅输入图像都可以得到一个预测体素占用概率ot,且此概率会偏向于物体可见的部分。每幅输入图像拍摄的角度不同,随着不断输入二维图像,融合而成可见的物体部分也会增加。随着模型融合越来越多的信息,体素网格占用率也会越来越明确,模型的重建性能也因此不断提高。[0059]更加形象化地说,最终预测体素占用概率o可由式(3)确定。[0060][0061]其中,oi,j,k表示(i,j,k)处体素格子的概率;表示从第t幅图像(i,j,k)处体素格子的概率;表示最终预测体素占用概率o,在所有n幅输入图像中得到的n个预测体素占用概率中取最大值。[0062]进一步地,本发明地具体实施方式中,所述的分层预测策略根据最终预测体素占用概率o从外至里判断体素网格占用与否,同时根据外层体素网格占用情况,动态调整体素网格的阈值。若外层体素格子占用数量少,则取较小阈值;否则,反之。[0063]综述所述,本发明提出一种新颖的三维物体重建算法,不需要输入任何物体类别标签、姿态信等附加信息就可以进行训练和测试,且重建结果不会由于输入图像的顺序的改变而改变。[0064]实施例3[0065]下面结合具体的实验对实施例1和2中的方案进行可行性验证,详见下文描述:[0066]1)实验数据集[0067]本发明选用shapenet数据集的子集——shapenetcore数据集进行训练与测试。shapenetcore数据集是完整shapenet数据集的子集,其包含了55种常见对象类别,约51300个三维模型。本发明选取了其中模型数量超过1000个的13个类别,共43783个三维模型。本发明选用的子集类别分别是:飞机(plane)、椅子(chair)、汽车(car)、桌子(table)、沙发(couch)、凳子(bench)、橱柜(cabinet)、显示器(monitor)、台灯(lamp)、扬声器(speaker)、步枪(rifle)、电话(telephone)、船(vessel)。[0068]每个模型都是从12个不同角度获取的分辨率为256×256的图像,并保存为分辨率为32×32×32的真实体素占用。此后将这个数据集简称为shapenet数据集。图5展示了数据集中各个类别的模型数量。[0069]2)评估标准[0070]本发明使用基于体素的并交比iou(intersection‑over‑union)来定量评估重建性能。iou的计算公式为式(4):[0071][0072]其中,prediction表示最终预测体素占用,groundtruth表示地面真实体素占用。如果模型将地面真实值为0的体素网格预测为1,则iou更接近于0;如果模型将地面真实值为1的体素网格预测为0,则iou更接近于1。[0073]3)对比方法[0074]实验中将本方法与以下两种方法进行对比:[0075]3d‑r2n2:由choy等人提出,利用深度卷积神经网络,从大量的训练数据中以纯粹的端到端方式学习从物体二维图像到三维几何结构的映射。[0076]3d‑fhnet:由路强等人提出,网络使用均等对待每幅输入图像的特征组合方法和用于改善对象较细较薄部分重建效果的分层预测策略,使得模型对任意数量的图像进行三维重建。[0077]4)网络参数配置[0078]在训练中使用优化方法adam(adaptivemomentestimation)进行网络训练。adam优化器的参数设置如下,学习速率为0.0001,每10个epoch更新一次学习速率,权重衰减为1e‑5,beta_1为0.9,beta_2为0.999,batchsize取8。另外,epsilon为10e‑8,可以防止在计算过程中出现除以0的情况。[0079]5)实验结果[0080]图5展示了不同视图数量对三维重建结果的影响[0081]由图5可以看出,对于本发明提出的3dfonet算法来说,随着视图数量的增加,三维物体重建的效果也随之增加。与本发明的basemodel:3d‑fhnet方法相比,在单视图重建方面,本发明提出的3dfonet方法比3d‑fhnet进行三维重建的效果稍弱些;输入3幅视图、6幅视图和输入12幅视图时,本发明提出的3dfonet方法重建表现要优于3d‑fhnet方法,这可以归功于本发明设计的编码器和解码器模块。与3d‑r2n2算法相比,相同输入视图数量下,本发明提出的3dfonet算法三维重建效果均优于3d‑r2n2算法。[0082]综上所述,本发明实施例通过上述的实验过程、实验数据及实验结果,验证了实施例1和2中方案的可行性,本发明实施例提供的三维物体重建算法对二维图像具有良好的三维重建能力。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1