当前位置: 首页 > 专利查询>复旦大学专利>正文

一种利用单张彩色图的三维网格重建方法技术

技术编号:20005280 阅读:49 留言:0更新日期:2019-01-05 17:49
本发明专利技术属于三维视觉技术领域,具体为一种利用单张彩色图重建物体三维网格模型的方法。本发明专利技术方法包括,对于图像,设计一个多层的全卷积特征网络,用于提取图片不同层次的特征;对于三维网格,设置一个初始椭球,用图神经网络表示,利用图片特征不断对椭球进行形变,以逼近真实形状;同时,设计投影层连接图像端和三维网格端,在此框架下训练一个端到端的神经网络,即给定一张彩色图,输出对应的三维网格模型。该方法具有三维建模结果光滑、完整并且细节丰富的优点,重建精度也得到了有效的提升,非常适合于在虚拟现实、动画游戏、生产制造等产业中的实际应用。

A method of three-dimensional mesh reconstruction using a single color image

The invention belongs to the field of three-dimensional vision technology, in particular to a method for reconstructing a three-dimensional mesh model of an object by using a single color image. The method of the invention includes: designing a multi-layer full-convolution feature network for image to extract features at different levels of the image; setting an initial ellipsoid for three-dimensional mesh, representing it by graph neural network, continuously deforming the ellipsoid using image features to approximate the real shape; and designing a projection layer to connect the image end with the three-dimensional mesh end, under this framework. Train an end-to-end neural network, that is, give a color image and output the corresponding three-dimensional mesh model. This method has the advantages of smooth, complete and rich details of three-dimensional modeling results, and the reconstruction accuracy has been effectively improved. It is very suitable for practical applications in virtual reality, animation games, production and manufacturing industries.

【技术实现步骤摘要】
一种利用单张彩色图的三维网格重建方法
本专利技术属于三维视觉
,具体涉及利用单张彩色图重建物体三维网格模型的方法。
技术介绍
三维数据有多种表示形式,包括立体栅格、点云、网格等。立体栅格是一种规则的数据结构,即将物体表示为N*N*N的矩阵,受分辨率和表达能力限制,这种表示方法通常缺乏细节,难以表示复杂形状;三维点云是一种不规则的数据结构,由于点之间没有局部连结关系,点云往往只能表示物体的大概形状,缺乏物体的表面信息;三维网格同样是一种不规则的数据结构,由点、边和面组成,由于其轻量、形状细节丰富等特性,在虚拟现实、动画游戏、生产制造等实际产业中应用越来越广泛。从物体的二维图片推断其三维立体形状是人类的一种基本视觉功能,但是对计算机来说却非常具有挑战。基于多视图几何(MVG)的方法已经较好地研究了三维重建,主要研究方向包括及时定位与地图构建(SLAM)和用于大规模高质量重建的运动结构方法(SfM)。虽然它们在这些场景中非常成功,但它们受到以下因素的限制:1)多个视图可提供的覆盖范围;2)想要重建的对象的外观。前者意味着MVG不能重建物体的不可见部分,因此想要进行较好的重建通常需要获得大量视角的图片;后者意味着MVG不能重建非朗伯(例如反射或透明)或无纹理的物体。这些限制导致近年来越来越多采用基于学习的方法进行三维重建。近年来,基于学习的方法已经在3D重建领域有所突破,但是受限于卷积神经网络的特性,之前的方法都是生成点云或者规则的立体栅格,两种表示方法都缺乏表面细节。文[1]从大型数据集中检索形状组件,将它们组装起来并进行形状分解以适应输入图像。这种方法依赖外部3D形状数据库,若数据库中没有相应模型,则会影响后续重建结果。文[2]为每一类学习一个可变形的3D模型,然后根据每张图片的特征进行形状分解。然而,这种方法受限于类别信息扩展能力较差,并且重建的模型严重缺乏细节。文[3]重建立体栅格,由于GPU显存和计算量限制,输出栅格通常分辨率很低。最近文[4]提出了一种八叉树的表示方法,可以在有限GPU显存预算下重建出分辨率稍微高一些的模型,但是3D栅格仍然不是电影和游戏产业中常用的表示方法。文[5]提出一种从单张图片生成点云的方法,由于点之间没有局部连接,生成点的位置移动的自由度太高,所以重建出来的点云模型缺乏形状表面细节。最近的工作文[6]提出了一种从图像到3D网格的方法,同样他们的方法依赖一个大的外部模型数据库来生成组合的模型。
技术实现思路
本专利技术的目的在于提出一种生成结果光滑、重建精度高的利用单张彩色图生成物体三维网格模型的方法。本专利技术提出的利用单张彩色图生成物体三维网格模型的方法,包括,对于图像,设计一个多层的全卷积特征网络,用于提取图片不同层次的特征;对于三维网格,设置一个初始椭球,用图神经网络表示,利用图片特征不断对椭球进行形变,以逼近真实形状;同时,设计投影层连接图像端和三维网格端,在此框架下训练一个端到端的神经网络,即给定一张彩色图,输出对应的三维网格模型。具体步骤如下:(1)收集二维图片及其对应的三维标注信息。首先收集大量原始三维CAD模型;对于二维图像,随机初始化一些相机参数,通过渲染CAD模型的方式合成图片;对于三维标签,在原始CAD模型上均匀采样固定数量的点,并记录每个点的法向量,生成含有法向量信息的点云数据;(2)构建一个初始椭球网格模型。设置空间隐性方程(x2+2*y2+2*(z+0.8)2-0.08=0),然后在方程上均匀采样,得到一个含有156个顶点、308个面的三角椭球网格模型;三维网格(3Dmesh)由节点、边和面构成,可以用图(graph)来表示,所以可以用邻接矩阵表示图中节点间的连接关系,若两个节点相连则值不为零,若不相连则值为零,由于此邻接矩阵中大部分值都为零,所以本专利技术用稀疏矩阵的形式表示;(3)构建从图像生成三维网格的深度神经网络。具体包括两部分,第一部分是图片特征网络,设计一个18层的卷积神经网络,此神经网络由卷积层和池化层构成,具体而言,每2-3个卷积层后面使用一个池化层进行特征降维,用此卷积神经网络提取图像特征;第二部分是三维网格形变网络,设计一个14层的图卷积的神经网络,中间所有隐含层特征均为128维,输出层特征是3维,即更新后的节点坐标。图卷积神经网络可在图的节点间学习和交换特征,能够根据卷积神经网络提取的图片特征对初始模型进行多次形变,使得节点坐标不断逼近真实值;另外,设计了一个投影层,此投影层的作用在于连接图片特征网络和网格形变网络,其输入是节点三维坐标,输出是图像二维坐标。具体而言,根据相机参数可将网格节点三维坐标投影回图片二维坐标,从而根据这个坐标在特征图上取特征,作为节点的初始特征向量;(4)构建由粗到精的生成模块。节点和边的数量越少越容易学习,但是受表达能力限制生成的网格细节不足,节点数量太多的话难于学习,生成的结果会出现严重的交叉问题。本方法采用由粗到精的方式,设计一个图的向上池化层,图的向上池化层的输入是含有较少节点的三维网格,输出是增加了节点和边数量的三维网格。具体而言,针对三维网格的每个三角形,在每条边的中点插入一个节点,然后把同一个三角形的三条边上增加的三个节点连接起来作为新增加的边。用这种由粗到精的方式重建出来的结果既能避免严重交叉的情况,又含有强大的细节表达能力;(5)构建损失函数。设计了与三维网格相关的损失函数作为训练的监督信号,具体而言,采用chamfer损失函数回归每个节点的位置,使其逼近真实坐标;采用normal损失函数使得生成的面尽可能光滑;采用edge损失函数使得所有条边尽可能短并且均匀;采用laplace损失函数使得相邻节点移动方向大致相同,这样能够保持整体的结构,并且可以避免点之间交叉,仅仅添加学习到的细节。这些损失函数有效保证了重建结果的高准确率和召回率,并且视觉效果上光滑,完整并且富含细节;(6)训练深度神经网络。利用反向传播算法,使用梯度下降算法优化图片特征网络和三维网格形变网络中的参数。在模型训练完成之后,对于给定的一张彩色图片,输入训练完成之后的模型,可以直接得到重建的三维网格。本专利技术的创新之处在于:1、首次使用图神经网络进行单张图像的三维网格重建,设计了投影层连接卷积神经网络和图神经网络,使得整个过程端到端训练;2、使用由粗到精(coarsetofine)的方式生成3维网格,使得整个学习过程更加稳定;设计了多个与图相关的损失函数来保证生成结果光滑,完整并且富含细节,重建精度也获得了提升。附图说明图1是本专利技术提出的三维网格(3Dmesh)重建网络的结构示意图。图2是特征投影层示意图。图3是图(Graph)的向上池化层的示意图。具体实施方式步骤1.获取三维数据及对应二维图像。本方法根据随机初始化的相机参数渲染CAD模型的方法合成图像。本方法需要含有法向量信息的三维点云数据,首先在原始CAD模型上使用泊松分布采样一些点,并记录CAD中每个面的法向量。然后判断每个点是否满足平面方程,满足的话再通过凸包算法判断点是否落在面内部,若两个条件都满足,则记录这个点的法向量为平面法向量。步骤2.使用MeshLab软件构建一个椭球三维网格。首先在三维数据处理软件MeshLab中设定椭球空间方程,然后设定节点数量本文档来自技高网
...

【技术保护点】
1.一种利用单张彩色图的三维网格重建方法,其特征在于,包括:对于图像,设计一个多层的全卷积特征网络,用于提取图片不同层次的特征;对于三维网格,设置一个初始椭球,用图神经网络表示,利用图片特征不断对椭球进行形变,以逼近真实形状;同时,设计投影层连接图像端和三维网格端,在此框架下训练一个端到端的神经网络,即给定一张彩色图,输出对应的三维网格模型。

【技术特征摘要】
1.一种利用单张彩色图的三维网格重建方法,其特征在于,包括:对于图像,设计一个多层的全卷积特征网络,用于提取图片不同层次的特征;对于三维网格,设置一个初始椭球,用图神经网络表示,利用图片特征不断对椭球进行形变,以逼近真实形状;同时,设计投影层连接图像端和三维网格端,在此框架下训练一个端到端的神经网络,即给定一张彩色图,输出对应的三维网格模型。2.根据权利要求1所述的三维网格重建方法,其特征在于,具体步骤为:(1)收集二维图片及其对应的三维标注信息:首先收集大量原始三维CAD模型;对于二维图像,随机初始化一些相机参数,通过渲染CAD模型的方式合成图片;对于三维标签,在原始CAD模型上均匀采样固定数量的点,并记录每个点的法向量,生成含有法向量信息的点云数据;(2)构建一个初始椭球网格模型:设置空间隐性方程:x2+2*y2+2*(z+0.8)2-0.08=0,然后在方程上均匀采样,得到一个含有156个顶点、308个面的三角椭球网格模型;三维网格由节点、边和面构成,用图来表示,用邻接矩阵表示图中节点间的连接关系,若两个节点相连则值不为零,若不相连则值为零,由于此邻接矩阵中大部分值都为零,所以用稀疏矩阵的形式表示;(3)构建从图像生成三维网格的深度神经网络,具体包括两部分,第一部分是图片特征网络,设计一个18层的卷积神经网络,此神经网络由卷积层和池化层构成;每2-3个卷积层后面使用一个池化层进行特征降维,用此卷积神经网络提取图像特征;第二部分是...

【专利技术属性】
技术研发人员:姜育刚付彦伟王南洋张寅达李著文
申请(专利权)人:复旦大学
类型:发明
国别省市:上海,31

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

1