CN109389671B - 一种基于多阶段神经网络的单图像三维重建方法 - Google Patents

一种基于多阶段神经网络的单图像三维重建方法 Download PDF

Info

Publication number
CN109389671B
CN109389671B CN201811119216.4A CN201811119216A CN109389671B CN 109389671 B CN109389671 B CN 109389671B CN 201811119216 A CN201811119216 A CN 201811119216A CN 109389671 B CN109389671 B CN 109389671B
Authority
CN
China
Prior art keywords
point cloud
dimensional
network
image
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811119216.4A
Other languages
English (en)
Other versions
CN109389671A (zh
Inventor
孙正兴
胡安琦
王梓轩
刘川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN201811119216.4A priority Critical patent/CN109389671B/zh
Publication of CN109389671A publication Critical patent/CN109389671A/zh
Application granted granted Critical
Publication of CN109389671B publication Critical patent/CN109389671B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于多阶段神经网络的单图像三维重建方法,对现有三维形状集中的三维形状进行多视角渲染获得训练图像集,在其表面采点获得训练点云集;构建点云生成网络,使用深度残差网络构建图像编码器提取图像信息,使用反卷积网络和全连接网络构建双分支初级解码器生成初始点云;构建点云精化网络,使用姿态变换网络、多层感知机和最大池化函数构建点云编码器,使用深度残差网络构建图像编码器,使用全连接层构建图像‑点云耦合器与高级解码器,生成精细点云;对点云生成网络进行训练及对点云精化网络先后进行预训练和精调训练;对输入图像使用已训练的模型进行三维重建获得三维点云,对其进行表面网格重建生成多边形网格表示的三维形状。

Description

一种基于多阶段神经网络的单图像三维重建方法
技术领域
本发明属于计算机视觉技术领域,尤其涉及一种基于多阶段神经网络的单图像三维重建方法。
背景技术
面向单幅图像的三维重建即从单幅图像中利用特定的技术恢复图像中所包含对象的三维形状。然而该任务是一个病态问题,这是由于单幅图像能提供的信息极其有限,因此需要很强的先验信息才可完成。
事实上,学术界已经提出了许多相关的技术和方法用于解决面向单幅图像的三维重建问题。其中,基于视觉线索的重建方法是根据人类在计算机视觉中已经总结的某种知识或理论对单幅图像进行三维重建。如文献1:Bichsel,Martin,and Alex P.Pentland."Asimple algorithm for shape from shading."Computer Vision and PatternRecognition,1992.Proceedings CVPR'92.,1992IEEE Computer Society Conferenceon.IEEE,1992.利用图像中的阴影渐变效果与三维形状之间的关系恢复对象的三维形状。又如文献2:Super,Boaz J.,and Alan C.Bovik."Shape from texture using localspectral moments."IEEE Transactions on Pattern Analysis and MachineIntelligence 17.4(1995):333-343.他们利用照相机拍摄时中产生图像畸变而导致的纹理变化与三维形状之间的关系恢复对象的三维形状。然而这些方法对于图像拍摄的限制条件十分繁多,而且对于被重建物体的表面材质具有很强约束,用户的拍摄负担很重,难以满足日常使用的需求。
随着三维形状集规模的增长,一些研究者提出了数据驱动的三维重建方法。所谓数据驱动即通过对三维形状集的学习获得用于三维重建的先验信息。如文献3:Kar,Abhishek,et al."Category-specific object reconstruction from a single image."Proceedings of the IEEE Conference on Computer Vision and PatternRecognition.2015,文献4:Huang,Qixing,Hai Wang,and Vladlen Koltun."Single-viewreconstruction via joint analysis of image and shape collections."ACMTransactions on Graphics(TOG)34.4(2015):87.他们先在三维形状集中寻找与图像所描绘对象最相似的三维形状,在点寻得的三维形状进行一定的形变,使其形状进一步接近图像的描绘。然而这类方法过分依赖于图像与三维形状集的匹配,若图像与三维形状集中的所有三维形状皆有较大差异,则即使对三维形状集中某一三维形状进行形变也很难得到与原图相似的结果。
自2015年以来,基于神经网络的方法在三维重建领域逐渐占据了主导地位。这类方法是利用神经网络这种具有更强学习能力的学习模型,从三维形状集中习得三维形状先验用于三维重建。如文献5:Choy,Christopher B.,et al."3d-r2n2:A unified approachfor single and multi-view 3d object reconstruction."European Conference onComputer Vision.Springer,Cham,2016,文献6:Yan,Xinchen,et al."Perspectivetransformer nets:Learning single-view 3d object reconstruction without 3dsupervision."Advances in Neural Information Processing Systems.2016.他们使用卷积神经网络构成一个图像编码器从输入图像中提取有价值的视觉线索,再使用反卷积神经网路构成一个解码器将提取到的视觉线索映射为最终的三维形状,这种结构通常称为编解码器架构。这类方法重建出的三维形状在效果上相比于前人工作有了不小的提升,然而仍然常常出现重建得到的三维形状与原图所描绘对象的形状差异很大的现象。导致这一现象的原因归根结底是由于这些方法只使用了单个神经网络(即一对编码器和解码器结构,简称为编解码结构)进行三维重建,而单个神经网络的学习能力十分有限,很难充分挖掘图像中的视觉线索,导致习得的三维形状先验不足以使得重建结果的形状与原图高度一致。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于神经网络的递进式三维重建方法,用于从图像中恢复对象的三维形状。
为了解决上述技术问题,本发明公开了一种基于神经网络的递进式三维重建方法,包括以下步骤:
步骤1,神经网络的训练数据准备:对现有三维形状集中的所有三维形状的尺寸进行归一化,再将三维形状渲染为训练图像集,最后在三维形状表面采点获得训练点云集;
步骤2,构建三维点云生成网络:通过基于编解码器的点云生成网络从输入图像中生成初始三维点云;
步骤3,构建三维点云精化网络:通过基于降噪自编码器的点云精化网络将初始三维点云转化为更精细的点云;
步骤4,离线训练三维重建网络:三维重建网络即步骤2中实现的三维点云生成网络和步骤3实现的三维点云精化网络的总称,离线训练包括预训练三维点云生成网络与三维点云精化网络,再对三维点云精化网络进行精调;
步骤5,在线测试三维重建网络:将用户提供的图像输入三维重建网络,重建出三维点云;最后使用泊松表面重建算法将三维点云转化为多边形网格表示。
步骤1包括以下步骤:
步骤1-1,三维形状归一化:对于选自ShapeNet三维形状集的一个子集中的每个三维形状,计算其轴对齐最小包围盒(即能够将三维形状中所有顶点包裹在内、且其6条边分别于三维空间的3条坐标轴平行的最小长方体,以下简称包围盒),对三维形状进行缩放和平移使最小包围盒的对角线长度为1且中心位于坐标原点。
步骤1-2,多视角选取:对三维形状集中的每个三维形状,在三维空间中选取Nview=16个与三维形状中心距离相等且指向该中心的不同视角:
V={Vi|i=1,2,…,Nview};
其中V为视角集合,Vi为第i个视角。
步骤1-3,生成多视角渲染图像:在步骤1-2选取的每一个视角方向下对三维形状使用Phong光照模型进行渲染得到图像,由渲染图像组成训练图像集;
步骤1-4,点云采样:将现有三维形状(以多边形网格表示)表面使用泊松采样算法采样两千个以上的三维点形成训练点云,点云即为三维点云,是能够表示一个三维对象形状的三维点的集合,点云中的点用其三维坐标表示;
步骤1-5,调整点云姿态:对于步骤1-4中获得的训练点云进行旋转使其姿态与渲染得到的训练图像所描绘的姿态一致,调整后的训练点云组成训练点云集。
步骤2包括以下步骤:
步骤2-1,图像信息编码:使用深度残差网络构成图像编码器(简称编码器)来编码输入图像从而完成图像信息提取任务,编码器接收图像I为输入,输出一个包含了对三维重建有价值的图像信息的特征矩阵Fm。具体地,用于构成图像编码器的深度残差网络由十七层的卷积层(一种神经网络结构,其神经元通过卷积操作处理图像信息,是卷积网络和深度残差网络的基本组成元素)构成,其中每三层卷积层包含一个残差连接,该连接使信号跨越前两层卷积层直接传递至第三层;
步骤2-2,图像信息解码生成初始点云:通过双分支解码器将步骤2-1中提取的图像信息特征矩阵映射为初始的三维点云;双分支解码器包含的两条分支分别为反卷积网络分支和全连接网络分支。
反卷积网络分支由八层卷积层与反卷积层(即转置卷积层)组成,每两层卷积层后接一层反卷积层,其出入为图像信息特征矩阵Fm,输出特征图Fn,设Fn的维度为Hn×Wn×3,也即高度为Hn、宽度Wn为的三通道图像,其中每个像素的三个通道值代表一个三维点的xyz坐标,因此,反卷积分支生成一个包含Ndeconv=Hn×Wn个三维点的点云Pdeconv
全连接网络分支由三层全连接层组成,它输入图像信息特征矩阵Fm,并将其映射为一个矩阵,设该矩阵的维度为Nfc×3,它表示一个包含Nfc个三维点的点云Pfc
反卷积网络分支倾向于生成平滑而连续的点云,适合于重建三维形状的主体部分;而全连接分支擅长刻画细节形状,适合于重建三维形状的局部细节,参见文献7:Fan,Haoqiang,Hao Su,and Leonidas Guibas."A point set generation network for 3dobject reconstruction from a single image."Conference on Computer Vision andPattern Recognition(CVPR).Vol.38.2017。
将反卷积网络分支生成的点云Pdeconv与全连接网络分支生成的点云Pfc合并即为初始三维点云Pinit
步骤2-1包括:令函数g表示步骤2-1中构建的图像编码器中卷积层所进行的卷积操作,则图像信息的提取过程(即图像的编码过程)可通过下式表示:
F1=g1(I),F2=g2(F1),F3=g3(F2),F4=g4(F3+F1),
Figure BDA0001809764330000041
Fi-2=gi-2(Fi-3),Fi-1=gi-1(Fi-2),Fi=gi(Fi-1+Fi-3),
Figure BDA0001809764330000042
Fm-3=gm-3(Fm-4),Fm-2=gm-2(Fm-3),Fm-1=gm-1(Fm-2+Fm-4),Fm=gm(Fm-1);
其中,I为表示输入图像的维度为H0×W0×3的三维矩阵(在本发明的后文中均使用三维矩阵I代指输入图像),在本发明中H0=W0=128,H0、W0分别为输入图像的高和宽,gi为第i层卷积层进行的卷积操作,gi包含十六个以上大小为3×3的卷积核,Fi为图像编码器中的第i层卷积层输出的特征图,Fm为最终输出的维度为Hm×Wm×Dm(4×4×256)特征矩阵,Hm、Wm和Dm分别为特征矩阵的高度、宽度和深度。
步骤2-2包括:令函数e表示解码器中的卷积层所进行的卷积操作,函数h表示反卷积层进行的转置卷积操作,函数f表示全连接层(一种神经网络结构,全连接层中的每个神经元与前后两层神经网络的所有神经元均相连,是全连接网络的基本组成元素)所进行的线性计算,则解码器的反卷积网络分支生成点云的过程可通过下式表示:
Figure BDA0001809764330000051
其中Fm为步骤2-1编码器输出的特征矩阵;Fm+1表示经过解码器第一层反卷积层输出的特征图,Fm+2表示经解码器第二层卷积层输出的特征图;hj表示位于第j层的反卷积层;gj表示位于第j层的卷积层,而
Figure BDA0001809764330000052
为编码器某一层次输出的与Fj尺度相同的特征图,
Figure BDA0001809764330000053
为沙漏结构的跨层连接上对
Figure BDA0001809764330000054
进行额外卷积操作的卷积层;Fn为反卷积网络分支输出的代表点云xyz三维坐标的特征矩阵,设该特征矩阵的维度为Hn×Wn×3,Hn和Wn分别为该矩阵的行数和列数,而最终生成的点云即将Fn的前两个维度合并形成一个表示点云三维坐标的二维矩阵
Figure BDA0001809764330000055
(本发明中使用
Figure BDA0001809764330000056
表示矩阵M是一个包含x行y列的实数矩阵)。
令函数fi(F)=Wi·F+bi表示第i层全连接层对特征图F所进行的线性计算操作,Wi为权重矩阵,bi为偏置向量,则解码器的全连接网络分支生成点云的过程可通过下式表示:
Pfc=f3(f2(f1(Fm)));
其中
Figure BDA0001809764330000057
为解码器的全连接网络分支生成的点云坐标矩阵,Nfc表示全连接网络分支生成的点云所包含点的个数,fi为第i层全连接层所进行的线性计算。
解码器最终输出的初始三维点云为反卷积网络分支和全连接网络分支生成点云的合并,即:
Pinit=Pdeconv∪Pfc
其中Pinit为点云生成网络生成的初始点云的坐标矩阵,
Figure BDA0001809764330000058
Ninit表示初始点云包含点的个数。
步骤3包括以下步骤:
步骤3-1,初始点云编码:本步骤是构建图像-点云对编码器的第一个环节,目的是将步骤2-2获得的点云映射为一个点云特征向量。包括使用多层感知机(一种常见的前向结构的神经网络,映射一组输入向量到一组输出向量,本发明使用五个卷积层构建此处的多层感知机)提取步骤2生成的初始三维点云中每个三维点的特征并形成点特征向量,设点特征向量的维度为npc。使用最大池化函数(将输入的图像划分为若干个矩形子区域,并对每个子区域进行输出最大值的操作),取所有点的点特征向量(由多层感知机提取)的第i维的最大值作为点云特征向量的第i维,从而使编码过程与点序无关。另使用一个姿态变换网络根据输入三维点云计算一个3×3的变换矩阵,在提取点特征之前将点云变换至同一姿态下,从而使编码过程与点云姿态无关,最终获得的点云编码为fpc;其中,姿态变换网络由多层感知机、最大池化函数以及两层全连接层构成。
步骤3-2,图像信息再编码:本步骤是构建图像-点云对编码器的第二个环节,此处采用与步骤2-1相同的方法构建基于深度残差网络的图像编码器(简称编码器)提取图像信息,输出一个图像信息的特征矩阵Fimg,在输出维度为4×4×256特征矩阵Fimg后,再通过连续三层的卷积层映射为图像编码特征向量
Figure BDA0001809764330000061
(本发明中使用
Figure BDA0001809764330000062
表示向量a是一个x维的实数向量),设图像编码特征向量的维度为nimg;本步骤的目的是进一步挖掘图像中未被步骤2-1充分利用的信息并用于指导初始点云的精化。
步骤3-3,图像编码与点云编码耦合:本步骤是构建图像-点云编码器的第三个环节,包括将步骤3-1中获得的点云编码fpc和步骤3-2中获得的图像编码特征向量fimg拼接在一起形成一个nimg+npc维的向量,再通过使用连续两层的全连接层构建的图像-点云耦合器将其映射为一个ns维的三维形状特征向量
Figure BDA0001809764330000063
本发明中nimg=npc=ns=512;
步骤3-4,生成精细三维点云:构建由三层全连接层组成的高级解码器将步骤3-3中获得的三维形状特征向量fs解码为精细三维点云的坐标矩阵
Figure BDA0001809764330000065
Nfine=2048为精细点云包含点的个数。
步骤3-1包括:初始三维点云的编码过程可通过如下公式表示:
Figure BDA0001809764330000064
其中,fpc表示点云编码,函数q表示多层感知机进行的点特征提取操作,xi表示初始三维点云中的第i个三维点,q(xi)输出npc维的特征向量fi;而函数r代表最大池化函数,Ninit为初始点云包含的点的个数。
步骤3-3包括:图像编码特征向量与点云编码的耦合过程可通过下式表示:
Figure BDA0001809764330000071
其中,fs表示三维形状特征向量;而函数f4(f)=W4·f+b4和f5(f)=W5·f+b5分别为两个全连接层进行的线性计算操作,W4和W5分别为二者的权重矩阵,b4和b5分别为二者的偏置向量;而⊕则表示两个向量的拼接操作。
步骤3-4包括:将三维形状特征向量fs通过高级解码器映射为精细三维点云的过程可以通过下式表示:
Pfine=f8(f7(f6(fs))),
其中,
Figure BDA0001809764330000072
为三维形状特征向量,ns为向量维数,
Figure BDA0001809764330000073
为精细三维点云的坐标矩阵,Nfine表示精细三维点云包含点的个数。其中f6、f7和f8表示步骤3-4中构成高级解码器的三个不同全连接层所进行的线性计算操作。
步骤4包括以下步骤:
步骤4-1,训练三维点云生成网络:对步骤2中构建的三维点云生成网络进行训练,使其学习能够从二维图像中恢复三维形状的先验信息。训练过程中,将步骤1-3获得的训练图像集中的图像I作为输入,输出初始点云Pinit,并通过下式计算Pinit与步骤1-5获得的对应ground-truth三维点云Pgt之间的Chamfer距离dCD作为训练误差:
Figure BDA0001809764330000074
其中dCD包含两项,第一项称为正向距离,第二项称为反向距离,α为正向距离的权重,而β为反向距离的权重,|Pgt|和|Pinit|分别表示ground-truth点云Pgt和初始点云Pinit中点的数量,x和y分别为Pgt上的某一点的坐标向量和Pinit上的某一点的坐标向量,min为求最小值函数,
Figure BDA0001809764330000075
表示求欧几里得距离。
将训练误差反向传播至三维点云生成网络中的每一网络层(网络层即泛指神经网络中的卷积层、反卷积层或全连接层等)并在每一网络层中使用Adam优化算法调整网络层的权重和偏置等参数从而最小化该训练误差;
步骤4-2,预训练三维点云精化网络:对步骤3中构建的三维点云精化网络进行预训练,使降噪自编码器中的高级解码器能够将三维形状特征空间中的某一点解码为精细的三维点云。在预训练过程中,本步骤将步骤1-3获得的训练图像集中的图像I与步骤1-5获得的训练点云集中的ground-truth点云Pgt作为输入,输出精细点云Pfine,计算Pfine与Pgt之间的Chamfer距离dCD作为损失函数度量训练误差,再将训练误差反向传播至三维点云精化网络中的每一网络层,并在每一网络层中使用Adam优化算法调整网络层的权重和偏置等参数从而最小化该训练误差。
步骤4-3,精调三维点云精化网络:对步骤3中构建的三维点云精化网络在步骤4-2的预训练基础上进行进一步精调,使得降噪自编码器中的图像-点云对编码器能够将粗糙的点云与图像一起编码至三维形状特征空间的正确位置。在精调过程中,本步骤将步骤1-3获得的训练图像集中的图像I输入三维点云生成网络中并重建出初始点云Pinit,再将图像I和初始点云Pinit输入点云精化网络(即降噪自编码器)并重建出精细点云Pfine,并计算Pfine与步骤1-5获得的对应ground-truth点云Pgt之间的Chamfer距离dCD作为损失函数度量训练误差,最后将将训练误差反向传播至三维点云精化网络中的每一网络层,并在每一网络层中使用Adam优化算法调整网络层的权重和偏置等参数从而最小化该训练误差。
步骤5包括以下步骤:
步骤5-1,对测试图像进行三维重建:用户将测试图像Ipredict输入步骤4-1中已经训练好的三维点云生成网络模型中,生成初始点云Pinit,在将测试图像Ipredict与初始点云Pinit输入步骤4-2中已经训练好的三维点云精化网络模型中,生成精细的三维点云Pfine
步骤5-2,点云表面网格重建:将步骤5-1获得的三维点云使用泊松表面重建算法转化为多边形网格表示的三维形状,参见文献8:Kazhdan,Michael,and Hugues Hoppe."Screened poisson surface reconstruction."ACM Transactions on Graphics(ToG)32.3(2013):29。
有益效果:本发明具有以下优点:首先,本发明能够全自动地进行三维重建,重建过程中无需任何用户交互,使用方法简单便捷。其次,本发明可以仅从单幅图像中重建出对象的三维形状,用户在拍摄时的负担大大减轻,并可利用互联网上的海量图像,且本发明的三维重建技术对目标对象的表面材质以及环境光照等条件并无过高要求,使其具有较强的应用场景适应性。最后,本发明的技术重建出的三维形状与原图像的描绘比以往大多数方法更加相似,并具有更少的形状错误。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
图1是本发明的处理流程示意图。
图2是三维重建过程的输入图像示意图。
图3是本发明构建的点云生成器生成的初始点云示意图。
图4是本发明构建的点云精化网络生成的精细点云示意图。
图5是由点云经表面网格重建后获得的多边形网格表示示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
如图1所示,本发明公开了一种基于多阶段神经网络的单图像三维重建方法,具体包括以下步骤:
步骤一,神经网络的训练数据准备:对现有三维形状集中的所有三维形状的尺寸进行归一化,由该三维形状集中的三维形状从多视角渲染获得训练图像集,并在现有三维形状集中的三维形状表面采样两千个以上三维点获得训练点云(点云即为三维点云,是能够表示一个三维对象形状的三维点的集合,一般地点云中的点用其三维坐标表示)集,并将点云进行旋转使其姿态与对应的图像之描绘相一致;
步骤二,三维点云生成网络构建:三维点云生成网络通过基于编解码器的点云生成网络从输入图像中恢复三维形状;包括构建基于深度残差网络构成的图像编码器将输入图像编码为一个特征矩阵从而完成图像信息的提取,构建包含两条分支的解码器将图像的特征矩阵转化为一个初始的三维点云;
步骤三,三维点云精化网络构建:三维点云精化网络通过基于降噪自编码器的点云精化网络将初始点云转化为更精细的点云。该降噪自编码器包括构建图像-点云对编码器同事将原始图像与初始点云编码为一个三维形状特征向量;其中点云编码器将初始三维点云编码为一个点云特征向量,构建图像编码器将原始图像再次编码为一个图像特征向量;构建图像-点云耦合器将点云特征向量和图像特征向量进行融合生成一个新的形状特征向量。构建高级解码器将形状特征向量解码为一个精细的三维点云;
步骤四,三维重建网络离线训练:三维重建网络即步骤2中实现的点云生成网络和步骤3实现的点云精化网络的总称;离线训练包括使用训练图像集和训练点云集分别预训练点云生成网络与点云精化网络;使用训练图像集、点云生成网络生成的初始点云以及训练点云集对点云精化网络进行精调;
步骤五,三维重建网络在线测试:将用户提供的图像输入三维重建网络,重建出三维点云;最后使用泊松表面重建算法将三维点云转化为多边形网格表示。
下面具体介绍各个步骤的主要流程:
步骤一包括以下步骤:
步骤11,三维形状归一化:本发明所使用的三维形状集来源于ShapeNet三维形状集的一个子集,共有13类超过个用多边形网格表示的三维形状;对于该三维形状集中的每个三维形状,计算其轴对齐最小包围盒,包围盒的对角线长度ldiag可用下式计算:
Figure BDA0001809764330000101
Figure BDA0001809764330000102
Figure BDA0001809764330000103
Figure BDA0001809764330000104
其中xmax、ymax、zmax为所有顶点中x坐标、y坐标与z坐标的最大值,xmin、ymin、zmin为所有顶点中x坐标、y坐标与z坐标的最小值,Ns为三维形状所包含的顶点数,xi、yi、zi分别为三维形状中第i个顶点的x、y、z坐标,max(.)函数是最大值函数,其作用是求取一个集合中的最大值,而min(.)函数是最小值函数,作用是求取一个集合中的最小值;而包围盒的中心点坐标c可通过下式计算:
Figure BDA0001809764330000105
则三维形状S归一化后的顶点坐标可通过下式计算:
Figure BDA0001809764330000106
其中,vi’为三维形状归一化后第i个顶点的三维坐标向量,vi为归一化前第i个顶点的三维坐标向量。
步骤12,多视角选取:对三维形状集中的每个三维形状,在空间中选取Nview=16个与三维形状中心距离相等且指向该中心的不同视角
V={Vi|i=1,2,…,Nview};
其中V为视角集合,Vi为第i个视角,可用观察点的位置坐标vpi和观察方向的方向向量di表示,即Vi=(vpi,di),而vpi可通过下式计算:
Figure BDA0001809764330000111
Figure BDA0001809764330000112
Figure BDA0001809764330000113
其中r为观察点距离三维形状中心点的距离,本发明中设r=2.5;θi为第i个视角的观察方向向量与三维坐标系的y轴的夹角,
Figure BDA0001809764330000114
为第i个视角的观察方向向量与三维坐标系z轴的夹角;θbase为一个常量,本发明中
Figure BDA0001809764330000115
ξi为一个位于区间
Figure BDA0001809764330000116
内的随机实数;而第i个视角的观察方向向量即为由观察点指向坐标原点的向量,即
Figure BDA0001809764330000117
步骤13,生成多视角渲染图像:在步骤12选取的每一个视角方向下对三维形状使用Phong光照模型进行渲染得到图像,由渲染图像组成训练图像集。
步骤14,点云采样:对于步骤13中每个用于多视角渲染的三维形状(以多边形网格表示),在其表面使用泊松采样算法采样Np个三维点。参见文献9:Bridson,Robert."FastPoisson disk sampling in arbitrary dimensions."SIGGRAPH sketches.2007.其中Np在步骤2中取值为16384,在步骤3中取值2048。
步骤15,调整点云姿态:对于步骤14中获得的点云,其对应的三维形状以步骤12选取的Nview个不同的视角在步骤13中被渲染为Nview幅不同的图像,本发明将该点云分别进行Nview次旋转,其中第i次旋转使得点云从三维坐标系的x轴正向观察的姿态与以视角Vi渲染得到的图像所描绘的姿态一致。具体地,对每个点云P将进行多次旋转获得Nview个不同姿态的点云,并与Nview幅图像相对应;旋转是通过一个旋转矩阵完成,对于视角Vi,旋转矩阵Ri定义为:
Figure BDA0001809764330000121
包含Np个点的点云P可以表示为一个Np×3的矩阵,即
Figure BDA0001809764330000122
那么经过第i个视角姿态调整之后的点云P’则可表示为:
P′=Ri·P。
步骤二包括以下步骤:
步骤21,图像信息编码:使用深度残差网络构成图像编码器(简称编码器)来编码输入图像从而完成图像信息提取任务,编码器接收图像为输入,输出一个包含了对三维重建有价值的图像信息的特征矩阵。在该网络中,输入图像为三通道图像(即RGB三通道),可使用一个维度为H0×W0×D0的三维矩阵I表示,其中H0为图像高度,W0为宽度,D0为深度(也即图像通道数)。深度残差网络由17层卷积层构成,其中的第一层卷积层输入图像矩阵I,经过卷积操作后输出一个特征图F1,设F1的维度为H1×W1×D1,H1和W1分别为特征图的高和宽,D1为特征图的深度也即卷积层中包含的滤波器(也即卷积核)个数;深度残差网络中的后续卷积层中的第i层输入i-1层卷积层输出的特征图Fi-1,并输出一个新的特征图Fi,并设的维度为Hi×Wi×Di,Hi、Wi和Di分别为特征图的高度、宽度和深度;卷积层的层数越高,特征图所包含的图像信息的抽象程度越高,且特征图的高度和宽度越小而深度越大。可知,浅层卷积层在大尺度特征图上提取的是细粒度图像信息,深层卷积层在小尺度特征图上提取的是粗粒度的图像信息。为防止梯度弥散现象(指神经网络的训练误差在反向传播过程中其梯度值逐渐减小直至消失导致训练难以进行的现象)且使神经网络的训练效率加快,深度残差网络在相邻的两层前后加入跨层连接,使训练误差(指神经网络的输出结果与真实情况之间的差异)能够通过跨层连接直接传递至浅层卷积层。最后,编码器将输入图像I编码为特征矩阵Fm。具体地,令函数g表示图像编码器中卷积层所进行的卷积操作,则图像信息的提取过程(即图像的编码过程)可通过下式表示:
F1=g1(I),F2=g2(F1),F3=g3(F2),F4=g4(F3+F1),
Figure BDA0001809764330000123
Fi-2=gi-2(Fi-3),Fi-1=gi-1(Fi-2),Fi=gi(Fi-1+Fi-3),
Figure BDA0001809764330000124
Fm-3=gm-3(Fm-4),Fm-2=gm-2(Fm-3),Fm-1=gm-1(Fm-2+Fm-4),Fm=gm(Fm-1);
其中,I为表示输入图像的维度为H0×W0×3的三维矩阵,在本发明中H0=W0=128分别为输入图像的高和宽,gi为第i层卷积层进行的卷积操作,gi共包含Di个大小为3×3的卷积核,Fi为图像编码器中的第i层卷积层输出的特征图,Fm为最终输出的维度为Hm×Wm×Dm特征矩阵,在本发明中,m=17,Hm=Wm=4,Dm=256。
步骤22,图像信息解码生成初始点云:通过双分支解码器将步骤21中提取的图像信息特征矩阵映射为初始的三维点云;该解码器包含的两条分支分别为反卷积网络分支和全连接网络分支。
反卷积分支由8层卷积层与反卷积层(即转置卷积层)组成,每两层卷积层后接一层反卷积层。假定第j-1层卷积层输出的高度、宽度和深度为Hj-1×Wj-1×Dj-1的特征图Fj-1为输入,那么第j层反卷积层接收Fj-1为输入,并经过转置卷积操作后将输出高度、宽度和深度为
Figure BDA0001809764330000131
的特征图Fj,即反卷积层将特征图的尺度扩大一倍,而深度(即通道数)缩小为
Figure BDA0001809764330000132
随后的第j+1层卷积层接收两方面输入,其一为第j层反卷积层输出的特征图Fj;其二是步骤21中编码器的第kj层卷积层输出的与Fj尺度相同的特征图
Figure BDA0001809764330000133
其中kj<m<j;换言之,编码器在某一尺度下的编码的特定粒度的图像信息将通过一个跨层连接直接传递至解码器反卷积分支的相同尺度层次处,从而保证该粒度的图像信息不会随着卷积层的深入而逐渐丢失。实际上,步骤21的编码器和本步骤的反卷积解码分支形成一种对称的架构,对称的编码器卷积层与解码器反卷积层通过跨层连接相连,这种架构称为“沙漏结构”,参见文献10:Newell,Alejandro,Kaiyu Yang,and Jia Deng."Stacked hourglass networksfor human pose estimation."European Conference on Computer Vision.Springer,Cham,2016。最后,反卷积分支输出特征图Fn,设Fn的维度为Hn×Wn×3,也即高度为Hn、宽度Wn为的三通道图像,其中每个像素代表一个三维点,该像素的三个通道的像素值分别为该三维点的xyz坐标,因此,反卷积分支生成一个包含Ndeconv=Hn×Wn个三维点的点云Pdeconv;具体地,令函数e表示解码器中的卷积层所进行的卷积操作,函数h表示反卷积层进行的转置卷积操作,函数f表示全连接层所进行的线性计算,则解码器的反卷积分支生成点云的过程可通过下式表示:
Figure BDA0001809764330000141
其中Fm为步骤21编码器输出的特征矩阵,Fm+1表示经过解码器第一层反卷积层输出的特征图,Fm+2表示经解码器第二层卷积层输出的特征图;hj表示位于第j层的反卷积层,包含多余十六个大小为5×5的转置卷积核;gj表示位于第j层的卷积层,而
Figure BDA0001809764330000142
为编码器某一层次输出的与Fj尺度相同的特征图,
Figure BDA0001809764330000143
为沙漏结构的跨层连接上对
Figure BDA0001809764330000144
进行额外卷积操作的卷积层;gj
Figure BDA0001809764330000145
中包含的卷积核大小均为3×3,卷积核的数量分别与Fj
Figure BDA0001809764330000146
的深度相同;Fn为反卷积分支输出的代表点云xyz坐标的Hn×Wn×3特征矩阵,Hn和Wn分别为该矩阵的行数和列数,在本发明中,n=25,Hn=Wn=32,而最终生成的点云即将Fn的前两个维度合并形成一个表示点云三维坐标的二维矩阵
Figure BDA0001809764330000147
全连接分支由三层全连接层组成,它接收图像信息特征矩阵Fm为输入,并将其映射为一个矩阵,设该矩阵的维度是Nfc×3,则该矩阵表示一个包含Nfc个三维点的点云Pfc,矩阵的每一行为其中一个三维点的坐标向量。具体地,令函数fi(F)=Wi·F+bi表示第i层全连接层所进行的线性计算操作,Wi为权重矩阵,bi为偏置向量,则解码器的全连接分支生成点云的过程可通过下式表示:
Pfc=f3(f2(f1(Fm)));
其中
Figure BDA0001809764330000148
为解码器的全连接分支生成的点云坐标矩阵,Fm为步骤21编码器输出的特征矩阵,fi为第i层全连接层所进行的线性计算,在本发明中,Nfc=1024为全连接分支生成的点云包含的点的个数。
反卷积分支倾向于生成平滑而连续的点云,适合于重建三维形状的主体部分;而全连接分支擅长刻画细节形状,适合于重建三维形状的局部细节,参见文献7:Fan,Haoqiang,Hao Su,and Leonidas Guibas."A point set generation network for 3dobject reconstruction from a single image."Conference on Computer Vision andPattern Recognition(CVPR).Vol.38.2017。
将反卷积分支生成的点云Pdeconv与全连接分支生成的点云Pfc合并即为初始三维点云Pinit。即:
Pinit=Pdeconv∪Pfc
其中Pinit为点云生成网络生成的初始点云的坐标矩阵,
Figure BDA0001809764330000151
Ninit=2048为初始点云包含的点的个数。
步骤三包括以下步骤:
步骤31,初始点云编码:本步骤是构建图像-点云对编码器的第一个环节,目的为将步骤2-2输出的初始点云编码为一个点云特征向量。包括使用多层感知机提取初始点云中每个三维点的特征并形成点特征向量,并设点特征向量的维度为npc,其中多层感知机由五层卷积层构成,每层卷积层包含超过64个大小为1×1的卷积核。包含Ninit个三维点的点云将通过多层感知机获得Ninit个npc维特征向量,即特征矩阵
Figure BDA0001809764330000152
由于同一个点云的不同点序排列仍表示相同对象,因此必须使点云编码过程与点序无关,本发明使用最大池化函数(将输入的图像划分为若干个矩形区域,对每个子区域输出最大值的操作),取Fpoints第i列中的最大值作为点云特征向量的第i维,如此初始点云便通过多层感知机与最大池化函数编码为npc维的特征向量
Figure BDA0001809764330000153
本发明中npc=512;且最大池化函数的取最大值操作对点序不敏感,因此可使点云编码过程与点序无关。另外,同一个点云在三维空间中呈现不同姿态时仍表示同一个对象,因此点云编码过程须与姿态无关。本发明使用一个姿态变换网络根据输入的初始点云生成一个变换矩阵,用该变换矩阵与输入点云的坐标矩阵相乘将其变换至统一的姿态下后再进行点云的编码过程。姿态变换网络同样包括提取每个点特征向量的多层感知机和最大池化函数,但最大池化函数输出的点云特征向量将通过额外的全连接层映射为一个3×3的变换矩阵。点云的编码方法参见文献11:Qi,CharlesR.,et al."Pointnet:Deep learning on point sets for 3d classification andsegmentation."Proc.Computer Vision and Pattern Recognition(CVPR),IEEE 1.2(2017):4。初始点云的编码过程可通过如下公式表示
Figure BDA0001809764330000161
其中,函数q表示多层感知机进行的点特征提取操作,xi表示初始点云中的第i个三维点,q(xi)输出npc维的特征向量fi;而函数r代表最大池化函数,Ninit为初始点云包含的点的个数。
步骤32,图像信息再编码:本步骤是构建图像-点云对编码器的第二个环节,步骤3-1将步骤2生成的初始点云编码为特征向量的同时,原始输入图像将在本步骤中被再次编码,目的是进一步挖掘图像中未被步骤2-1充分利用的信息并用于指导初始点云的精化。本步骤同样使用深度残差网络构成图像编码器(简称编码器),其构建方式与步骤2-1相同,但在输出特征矩阵
Figure BDA0001809764330000162
后,将再通过连续三层的卷积层映射为nimg维的特征向量
Figure BDA0001809764330000163
本发明中nimg=512。
步骤33,图像编码与点云编码耦合:本步骤是构建图像-点云编码器的第三个环节,包括将步骤31中获得的点云编码fpc和步骤32中获得的图像编码fimg拼接在一起形成一个nimg+npc维的向量,再通过使用连续两层的全连接层构建的图像-点云耦合器将其映射为一个ns维的三维形状特征向量
Figure BDA0001809764330000164
该向量刻画了目标对象在三维形状的特征空间中的具体位置,本发明中ns=512。图像编码与点云编码的耦合过程可通过下式表示
Figure BDA0001809764330000165
其中,fimg和fpc分别表示图像编码与点云编码,fs表示三维形状特征向量;而函数f4(f)=W4·f+b4和f5(f)=W5·f+b5分别为两个全连接层进行的线性计算操作,W4和W5分别为二者的权重矩阵,b4和b5分别为二者的偏置向量;而⊕则表示两个向量的拼接操作。
步骤34,精细三维点云生成:构建由三层全连接层组成的高级解码器将步骤33中获得的三维形状特征向量fs解码为精细三维点云的坐标矩阵
Figure BDA0001809764330000166
将三维形状特征向量fs通过高级解码器映射为精细三维点云的过程可以通过下式表示
Pfine=f8(f7(f6(fs)))
其中,
Figure BDA0001809764330000174
为三维形状特征向量,ns为向量维数,
Figure BDA0001809764330000171
为精细三维点云的坐标矩阵,Nfine为精细三维点云包含点的个数,本发明中Nfine=2048。其中f6、f7和f8表示步骤3-4中构成高级解码器的三个不同全连接层所进行的线性计算操作。
步骤四包括以下步骤:
步骤41,点云生成网络训练:对步骤2中构建的点云生成网络进行训练,使其学习能够从二维图像中恢复三维形状的先验信息。训练过程中,将步骤1-3获取的训练图像集中的图像I作为输入,将步骤1-5获取的训练点云集中与图像I对应的ground-truth三维点云Pgt作为监督信息;点云生成网络重建出初始点云Pinit,并通过下式计算Pinit与Pgt之间的Chamfer距离:
Figure BDA0001809764330000172
其中dCD表示二者的Chamfer距离,其中包含两项,第一项称为正向距离,第二项称为反向距离,α为正向距离的权重,而β为反向距离的权重,本步骤中α=1.0且β=0.5,|Pgt|和|Pinit|分别表示ground-truth点云Pgt和初始点云Pinit中点的数量,x和y分别Pgt和Pinit上的某一点的坐标向量,min为求最小值函数,
Figure BDA0001809764330000173
表示求欧几里得距离。
本步骤将Chamfer距离dCD作为损失函数度量训练误差,在将训练误差反向传播至点云生成网络中的每一网络层(网络层即泛指神经网络中的卷积层、反卷积层或全连接层等),并在每一卷积层中使用Adam优化算法最小化该训练误差从而对卷积层中的权重和偏置等参数进行调整,参见文献12:Kingma,Diederik P.,and Jimmy Ba."Adam:A methodfor stochastic optimization."arXiv preprint arXiv:1412.6980(2014)。
步骤42,点云精化网络预训练:对步骤3中构建的点云精化网络进行预训练,使得降噪自编码器中的高级解码器能够将三维形状特征空间中的某一点解码为精细的三维点云。在预训练过程中,本步骤将步骤1-3获得的训练图像集中的图像I与步骤1-5获得的训练点云集中的ground-truth点云Pgt作为输入,并使用ground-truth点云作为监督信息;点云精化网络重建出精细点云Pfine,并计算Pfine与Pgt之间的Chamfer距离dCD作为损失函数度量训练误差,在将训练误差反向传播至点云精化网络中的每一网络层,并在每一层中使用Adam优化算法最小化该训练误差从而对网络层中的权重和偏置等参数进行调整。
步骤43,点云精化网络精调:对步骤3中构建的点云精化网络在步骤42的预训练基础上进行进一步精调,使得降噪自编码器中的图像-点云对编码器能够将粗糙的点云与图像一起编码至三维形状特征空间的正确位置。在精调过程中,本步骤将步骤1-3获得的训练图像集中的图像I输入点云生成网络中并重建出初始点云Pinit,再将图像I和初始点云Pinit作为点云精化网络(即降噪自编码器)的输入,将步骤1-5获得的训练点云集中的ground-truth点云Pgt作为监督信息;点云精化网络重建出精细点云Pfine,并计算Pfine与Pgt之间的Chamfer距离dCD作为损失函数度量训练误差,最后将训练误差反向传播至点云精化网络中的每一网络层,并在每一层中使用Adam优化算法最小化该训练误差从而对网络层中的权重和偏置等参数进行调整。
步骤五包括以下步骤:
步骤51,对测试图像进行三维重建:用户将测试图像Ipredict输入步骤41中已经训练好的点云生成网络模型中,生成初始点云Pinit,在将测试图像Ipredict与初始点云Pinit输入步骤42中已经训练好的点云精化网络模型中,生成精细的撒为点云Pfine
步骤52,点云表面网格重建:将步骤51获得的三维点云使用泊松表面重建算法转化为多边形网格表示的三维形状,参见文献13:Kazhdan,Michael,and Hugues Hoppe."Screened poisson surface reconstruction."ACM Transactions on Graphics(ToG)32.3(2013):29。
实施例
本实施例中,如图2所示为输入的待重建的图像,通过本发明所述的三维重建方法,可重建出图中对象的三维形状。具体实施过程如下:
通过步骤一至步骤四,本发明获得了已经训练好的点云生成网络模型和点云精化网络模型,前者用于生成初始点云,后者用于生成精细点云。
步骤五中,用户输入一张包含待重建椅子对象的图像,如图2所示。将图像输入点云生成网络模型中,并被深度残差网络构成图像编码器编码为图像信息特征矩阵。随后,该特征矩阵将输入初级解码器中,其中解码器的反卷积分支将特征矩阵映射为一个大小为32×32的三通道特征图,特征图的每个像素代表点云中的一个三维点,三个通道的值表示其xyz坐标,即反卷积分支输出一个包含1024个点的点云;而解码器的全连接分支将图像信息特征矩阵映射为一个1024×3的矩阵,该矩阵表示一个包含1024个点的点云的三维坐标;将两条分支输出的点云合并在一起得到包含2048个点的初始点云,如图3所示。然而初始点云可能包含一些缺陷,如椅子的椅背形状更接近方形,而原图中椅子的椅背则更接近圆形。
下一步,将初始点云连同原始图像一同输入点云精化网络中。其中,由姿态变换网络、多层感知机和最大池化函数构成的点云编码器将初始点云编码为一个512维的点云特征向量;由深度残差网络构成的图像编码器则对原始图像再次编码以进一步挖掘图像中有价值的信息,并将图像映射为一个512维的图像特征向量。随后,点云特征向量和图像特征向量被拼接为一个1024维向量,再通过图像-点云耦合器将融合为一个512维的三维形状特征向量,接着通过高级解码器映射为一个包含2048个点的精细点云,如图4所示,该点云所表示的椅子的椅背形状更加贴近原图的形状。
最后,精细点云通过泊松表面重建算法转化为多边形网格表示,如图5所示。
本发明提供了一种基于多阶段神经网络的单图像三维重建方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (5)

1.一种基于多阶段神经网络的单图像三维重建方法,其特征在于,包括以下步骤:
步骤1,准备神经网络的训练数据:对现有三维形状集中的所有三维形状的尺寸进行归一化,再将三维形状渲染为训练图像集,最后在三维形状表面采点获得训练点云集;
步骤2,构建三维点云生成网络:通过基于编解码器的点云生成网络从输入图像中生成初始三维点云;
步骤3,构建三维点云精化网络:通过基于降噪自编码器的点云精化网络将初始三维点云转化为更精细的点云;
步骤4,离线训练三维重建网络:三维重建网络即步骤2中实现的三维点云生成网络和步骤3实现的三维点云精化网络的总称,离线训练包括预训练三维点云生成网络与三维点云精化网络,再对三维点云精化网络进行精调;
步骤5,在线测试三维重建网络:将用户提供的图像输入三维重建网络,重建出三维点云;最后使用泊松表面重建算法将三维点云转化为多边形网格表示;
步骤1包括以下步骤:
步骤1-1,三维形状归一化:对于选自三维形状集的一个子集中的每个三维形状,计算其轴对齐最小包围盒,对三维形状进行缩放和平移使最小包围盒的对角线长度为1且中心位于坐标原点;
步骤1-2,多视角选取:对三维形状集中的每个三维形状,在三维空间中选取Nview=16个与三维形状中心距离相等且指向该中心的不同视角:
V={Vi|i=1,2,…,Nview},
其中V为视角集合,Vi为第i个视角;
步骤1-3,生成多视角渲染图像:在步骤1-2选取的每一个视角方向下对三维形状使用Phong光照模型进行渲染得到图像,由渲染图像组成训练图像集;
步骤1-4,点云采样:将现有三维形状表面使用泊松采样算法采样两千个以上的三维点形成训练点云,点云即为三维点云,是能够表示一个三维对象形状的三维点的集合,点云中的点用其三维坐标表示;
步骤1-5,调整点云姿态:对于步骤1-4中获得的训练点云进行旋转使其姿态与渲染得到的训练图像所描绘的姿态一致,调整后的训练点云组成训练点云集;
步骤2包括以下步骤:
步骤2-1,图像信息编码:使用深度残差网络构成图像编码器编码输入图像从而提取图像信息,编码器接收图像为输入,输出一个抽象了图像信息的特征矩阵Fm;用于构成图像编码器的深度残差网络由十七层的卷积层构成,其中每三层卷积层包含一个残差连接,该连接使信号跨越前两层卷积层直接传递至第三层;
步骤2-2,图像信息解码生成初始点云:通过双分支解码器将步骤2-1中提取的图像信息特征矩阵映射为初始的三维点云;双分支解码器包含的两条分支分别为反卷积网络分支和全连接网络分支,二者均接受图像信息特征矩阵Fm为输入;反卷积网络分支输出代表点云三维坐标的三通道图像,其中每个像素代表一个三维点;全连接网络分支直接输出点云的三维坐标矩阵;将反卷积网络分支生成的点云Pdeconv与全连接网络分支生成的点云Pfc合并即为初始三维点云Pinit
步骤2-1包括以下步骤:
令函数g表示步骤2-1中构建的图像编码器中卷积层所进行的卷积操作,则图像信息的提取过程通过下式表示:
Figure FDA0002620700730000021
其中,I为表示输入图像的维度为H0×W0×3的三维矩阵,H0=W0=128,H0、W0分别为输入图像的高和宽,gi为第i层卷积层进行的卷积操作,gi包含十六个以上大小为3×3的卷积核,Fi为图像编码器中的第i层卷积层输出的特征图,Fm为最终输出的维度为Hm×Wm×Dm特征矩阵,Hm、Wm和Dm分别为特征矩阵的高度、宽度和深度;
步骤2-2包括以下步骤:
令函数e表示解码器中的卷积层所进行的卷积操作,函数h表示反卷积层进行的转置卷积操作,函数f表示全连接层所进行的线性计算,则解码器的反卷积网络分支生成点云的过程通过下式表示:
Figure FDA0002620700730000031
其中Fm为步骤2-1编码器输出的特征矩阵;Fm+1表示经过解码器第一层反卷积层输出的特征图,Fm+2表示经解码器第二层卷积层输出的特征图;hj表示位于第j层的反卷积层;gj表示位于第j层的卷积层,而
Figure FDA0002620700730000032
为编码器某一层次输出的与Fj尺度相同的特征图,
Figure FDA0002620700730000033
为沙漏结构的跨层连接上对
Figure FDA0002620700730000034
进行额外卷积操作的卷积层;Fn为反卷积网络分支输出的代表点云三维坐标的32×32×3特征矩阵,而最终生成的点云即将Fn的前两个维度合并形成一个表示点云三维坐标的二维矩阵Pdeconv∈R1024×3
令函数fi(F)=Wi·F+bi表示第i层全连接层对特征图F所进行的线性计算操作,Wi为权重矩阵,bi为偏置向量,则解码器的全连接网络分支生成点云的过程通过下式表示:
Pfc=f3(f2(f1(Fm)));
其中,Pfc∈R1024×3为解码器的全连接网络分支生成的点云坐标矩阵,Nfc表示全连接网络分支生成的点云所包含点的个数,fi为第i层全连接层所进行的线性计算;
解码器最终输出的初始三维点云为反卷积网络分支和全连接网络分支生成点云的合并,即:
Pinit=Pdeconv∪Pfc
其中Pinit为点云生成网络生成的初始点云的坐标矩阵,
Figure FDA0002620700730000035
Ninit表示初始点云包含点的个数;
步骤3包括以下步骤:
步骤3-1,初始点云编码:目的为将步骤2-2输出的点云编码为一个点云特征向量;其中使用多层感知机提取步骤2生成的初始三维点云中每个三维点的特征并形成维特征向量,并设特征向量的维度为npc,使用最大池化函数将输入的图像划分为矩形子区域,并对每个子区域进行输出最大值的操作,由多层感知机提取所有点的点特征向量,所有点的点特征向量的第i维的最大值作为点云特征向量的第i维,使用一个姿态变换网络根据输入三维点云计算一个3×3的变换矩阵,在提取点特征之前将点云变换至同一姿态下,最终获得的点云编码为fpc
步骤3-2,图像信息再编码:构建基于深度残差网络的图像编码器提取图像信息,输出一个图像信息的特征矩阵Fimg,在输出维度为4×4×256特征矩阵Fimg后,再通过连续三层的卷积层映射为的图像编码特征向量
Figure FDA0002620700730000041
图像编码特征向量的维度为nimg
步骤3-3,图像编码与点云编码耦合:将步骤3-1中获得的点云编码fpc和步骤3-2中获得的图像编码特征向量fimg拼接在一起形成一个nimg+npc维的向量,再通过使用连续两层的全连接层构建的图像-点云耦合器将其映射为一个ns维的三维形状特征向量
Figure FDA0002620700730000042
步骤3-4,生成精细三维点云:构建由三层全连接层组成的高级解码器将步骤3-3中获得的三维形状特征向量fs解码为精细三维点云的坐标矩阵
Figure FDA0002620700730000043
Nfine=2048为精细点云包含点的个数。
2.根据权利要求1所述的方法,其特征在于,步骤3-1包括以下步骤:
通过如下公式表示初始三维点云的编码过程:
Figure FDA0002620700730000044
其中,fpc表示点云编码,函数q表示多层感知机进行的点特征提取操作,xi表示初始三维点云中的第i个三维点,q(xi)输出npc维的特征向量fi;而函数r代表最大池化函数,Ninit表示初始点云中包含的点的个数。
3.根据权利要求2所述的方法,其特征在于,步骤3-3包括以下步骤:
通过下式表示图像编码特征向量与点云编码的耦合过程:
Figure FDA0002620700730000045
其中,fs表示三维形状特征向量,函数f4(f)=W4·f+b4和f5(f)=W5·f+b5分别为两个全连接层进行的线性计算操作,W4和W5分别为二者的权重矩阵,b4和b5分别为二者的偏置向量,
Figure FDA0002620700730000051
表示两个向量的拼接操作。
4.根据权利要求3所述的方法,其特征在于,步骤3-4包括以下步骤:
通过下式表示高级解码器将三维形状特征向量fs映射为精细三维点云Pfine的过程:
Pfine=f8(f7(f6(fs))),
其中,
Figure FDA0002620700730000052
为三维形状特征向量,ns为向量维数,
Figure FDA0002620700730000053
为精细三维点云的坐标矩阵,Nfine表示精细三维点云包含点的个数;f6、f7和f8表示步骤3-4中构成高级解码器的三个不同全连接层所进行的线性计算操作。
5.根据权利要求4所述的方法,其特征在于,步骤4包括以下步骤:
步骤4-1,训练三维点云生成网络:对步骤2中构建的三维点云生成网络进行训练,将步骤1-3获取的训练图像集中的图像即三维矩阵I作为输入,输出初始点云Pinit,并通过下式计算Pinit与步骤1-5获取的对应ground-truth三维点云Pgt之间的Chamfer距离dCD作为训练误差:
Figure FDA0002620700730000054
其中dCD包含两项,第一项称为正向距离,第二项称为反向距离,α为正向距离的权重,而β为反向距离的权重,|Pgt|和|Pinit|分别表示ground-truth点云Pgt和初始点云Pinit中点的数量,x和y分别为Pgt上的某一点的坐标向量和Pinit上的某一点的坐标向量,min为求最小值函数,
Figure FDA0002620700730000055
表示求欧几里得距离,将训练误差反向传播至三维点云生成网络中的每一网络层,并在每一网络层中使用Adam优化算法调整网络层的权重和偏置参数从而最小化该训练误差;
步骤4-2,预训练三维点云精化网络:对步骤3中构建的三维点云精化网络进行预训练,将步骤1-3获得的训练图像集中的图像I与步骤1-5获得的训练点云集中的ground-truth点云Pgt作为输入,输出精细点云Pfine,计算Pfine与Pgt之间的Chamfer距离dCD作为损失函数度量训练误差,再将训练误差反向传播至三维点云精化网络中的每一网络层,并在每一网络层中使用Adam优化算法调整网络层的权重和偏置参数从而最小化该训练误差;
步骤4-3,精调三维点云精化网络:对步骤3中构建的三维点云精化网络在步骤4-2的预训练基础上进行进一步精调,将步骤1-3获得的训练图像集中的图像I输入三维点云生成网络中并重建出初始点云Pinit,再将图像I和初始点云Pinit输入三维点云精化网络并重建出精细点云Pfine,并计算Pfine与步骤1-5获得的对应ground-truth点云Pgt之间的Chamfer距离dCD作为损失函数度量训练误差,最后将训练误差反向传播至三维点云精化网络中的每一网络层,并在每一网络层中使用Adam优化算法调整网络层的权重和偏置参数从而最小化该训练误差;
步骤5包括以下步骤:
步骤5-1,对测试图像进行三维重建:将测试图像Ipredict输入步骤4-1中已经训练好的三维点云生成网络模型中,生成初始点云Pinit,将测试图像Ipredict与初始点云Pinit输入步骤4-2中已经训练好的三维点云精化网络模型中,生成精细的三维点云Pfine
步骤5-2,点云表面网格重建:将步骤5-1获得的三维点云使用泊松表面重建算法转化为多边形网格表示的三维形状。
CN201811119216.4A 2018-09-25 2018-09-25 一种基于多阶段神经网络的单图像三维重建方法 Active CN109389671B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811119216.4A CN109389671B (zh) 2018-09-25 2018-09-25 一种基于多阶段神经网络的单图像三维重建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811119216.4A CN109389671B (zh) 2018-09-25 2018-09-25 一种基于多阶段神经网络的单图像三维重建方法

Publications (2)

Publication Number Publication Date
CN109389671A CN109389671A (zh) 2019-02-26
CN109389671B true CN109389671B (zh) 2020-09-22

Family

ID=65418870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811119216.4A Active CN109389671B (zh) 2018-09-25 2018-09-25 一种基于多阶段神经网络的单图像三维重建方法

Country Status (1)

Country Link
CN (1) CN109389671B (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109924949A (zh) * 2019-03-05 2019-06-25 北京工业大学 一种基于卷积神经网络的近红外光谱断层成像重建方法
CN110070595B (zh) * 2019-04-04 2020-11-24 东南大学深圳研究院 一种基于深度学习的单张图像3d对象重建方法
CN110021069B (zh) * 2019-04-15 2022-04-15 武汉大学 一种基于网格形变的三维模型重建方法
CN110169820A (zh) * 2019-04-24 2019-08-27 艾瑞迈迪科技石家庄有限公司 一种关节置换手术位姿标定方法及装置
CN110163974B (zh) * 2019-05-22 2020-09-04 南京大学 一种基于无向图学习模型的单图像面片重建方法
CN110335344A (zh) * 2019-06-20 2019-10-15 中国科学院自动化研究所 基于2d-3d注意机制神经网络模型的三维重建方法
US10922877B2 (en) * 2019-07-01 2021-02-16 Samsung Electronics Co., Ltd. Higher-order function networks for learning composable three-dimensional (3D) object and operating method thereof
CN110334237B (zh) * 2019-07-15 2022-03-01 清华大学 一种基于多模态数据的立体对象检索方法与系统
CN110378047A (zh) * 2019-07-24 2019-10-25 哈尔滨工业大学 一种基于计算机视觉的大跨度桥梁拓扑感知三维重建方法
CN110473284B (zh) * 2019-07-29 2021-02-12 电子科技大学 一种基于深度学习的运动物体三维模型重建方法
CN110544297B (zh) * 2019-08-06 2023-06-20 北京工业大学 一种单幅图像的三维模型重建方法
CN110956194A (zh) * 2019-10-10 2020-04-03 深圳先进技术研究院 三维点云的结构化方法、分类方法、设备及装置
CN110827302A (zh) * 2019-11-14 2020-02-21 中南大学 基于深度图卷积网络的点云目标提取方法及装置
CN111179440B (zh) * 2020-01-02 2023-04-14 哈尔滨工业大学 一种面向自然场景的三维物体模型检索方法
CN111260781B (zh) * 2020-01-15 2024-04-19 北京云迹科技股份有限公司 一种生成图像信息的方法、装置和电子设备
CN111354076A (zh) * 2020-02-29 2020-06-30 北京航空航天大学 一种基于嵌入空间的单幅图像三维零件组合式建模方法
CN111652966B (zh) * 2020-05-11 2021-06-04 北京航空航天大学 一种基于无人机多视角的三维重建方法及装置
CN111709328B (zh) * 2020-05-29 2023-08-04 北京百度网讯科技有限公司 车辆跟踪方法、装置及电子设备
CN111681318B (zh) * 2020-06-10 2021-06-15 上海城市地理信息系统发展有限公司 一种基于点云数据建模的方法、装置和电子设备
CN112419334A (zh) * 2020-11-18 2021-02-26 山东大学 基于深度学习的微表面材质重建方法及系统
CN112489197B (zh) * 2020-11-30 2024-06-21 江苏科技大学 一种基于对抗训练先验学习的单视图三维重建系统及其方法
CN112509123A (zh) * 2020-12-09 2021-03-16 北京达佳互联信息技术有限公司 三维重建方法、装置、电子设备及存储介质
WO2022147783A1 (zh) * 2021-01-08 2022-07-14 中国科学院深圳先进技术研究院 脑结构三维重建方法、装置及终端设备
CN112785526B (zh) * 2021-01-28 2023-12-05 南京大学 一种用于图形处理的三维点云修复方法
CN112862672B (zh) * 2021-02-10 2024-04-16 厦门美图之家科技有限公司 刘海生成方法、装置、计算机设备和存储介质
CN113096239B (zh) * 2021-04-07 2022-07-19 天津大学 一种基于深度学习的三维点云重建方法
CN113112607B (zh) * 2021-04-19 2022-09-06 复旦大学 一种生成任意帧率的三维网格模型序列的方法及装置
CN113591369B (zh) * 2021-06-30 2023-06-09 国网福建省电力有限公司信息通信分公司 一种基于先验约束的单帧视图三维模型点云重建方法和存储设备
CN113763539B (zh) * 2021-09-09 2023-04-07 哈尔滨工业大学(深圳) 一种基于图像和三维输入的隐式函数三维重建方法
CN113808275B (zh) * 2021-09-24 2023-10-13 南京信息工程大学 一种基于gcn与拓扑修改的单图像三维重建方法
CN113989547B (zh) * 2021-10-15 2024-05-31 天津大学 基于图卷积深度神经网络的三维点云数据分类系统及方法
WO2023133675A1 (zh) * 2022-01-11 2023-07-20 深圳先进技术研究院 基于2d图像重建3d图像方法、装置、设备及存储介质
CN114627250B (zh) * 2022-05-13 2022-08-16 武汉纺织大学 一种基于Kinect的人体站姿三维重建与测量的方法
CN115049946B (zh) * 2022-06-10 2023-09-26 安徽农业大学 一种基于点云变换的麦田生长状态判别方法与装置
CN115482353A (zh) * 2022-09-01 2022-12-16 北京百度网讯科技有限公司 重建网络的训练方法、重建方法、装置、设备和介质
CN115588090B (zh) * 2022-10-19 2023-09-19 南京航空航天大学深圳研究院 空间关系与特征信息解耦的飞机点云语义提取方法
CN115409931B (zh) * 2022-10-31 2023-03-31 苏州立创致恒电子科技有限公司 一种基于图像与点云数据融合的三维重建方法
CN116740218B (zh) * 2023-08-11 2023-10-27 南京安科医疗科技有限公司 一种心脏ct成像图像质量优化方法、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107610221A (zh) * 2017-09-11 2018-01-19 南京大学 一种基于同构模型表示的三维模型生成方法
CN108399649A (zh) * 2018-03-05 2018-08-14 中科视拓(北京)科技有限公司 一种基于级联回归网络的单张图片三维人脸重建方法
CN108510573A (zh) * 2018-04-03 2018-09-07 南京大学 一种基于深度学习的多视点人脸三维模型重建的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9111349B2 (en) * 2011-12-16 2015-08-18 Microsoft Technology Licensing, Llc Object identification using 3-D curve matching

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107610221A (zh) * 2017-09-11 2018-01-19 南京大学 一种基于同构模型表示的三维模型生成方法
CN108399649A (zh) * 2018-03-05 2018-08-14 中科视拓(北京)科技有限公司 一种基于级联回归网络的单张图片三维人脸重建方法
CN108510573A (zh) * 2018-04-03 2018-09-07 南京大学 一种基于深度学习的多视点人脸三维模型重建的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Point Set Generation Network for 3D Object Reconstruction from a Single Image;Haoqiang Fan,etc.;《2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR)》;20171109;第607页第4.2节、第609页第5.1节、第610页第1段、第611页第5.6节、图2、图8、图11 *
PointNet:Deep Learning on Point Sets for 3D Classification Segmentation;Charles R.Qi,etc.;《2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)》;20171109;第652页摘要、第654页第4.2节、第659页第5.3节、图2、图7 *

Also Published As

Publication number Publication date
CN109389671A (zh) 2019-02-26

Similar Documents

Publication Publication Date Title
CN109389671B (zh) 一种基于多阶段神经网络的单图像三维重建方法
US11450066B2 (en) 3D reconstruction method based on deep learning
Song et al. Monocular depth estimation using laplacian pyramid-based depth residuals
Tateno et al. Distortion-aware convolutional filters for dense prediction in panoramic images
Lu et al. 3DCTN: 3D convolution-transformer network for point cloud classification
CN111047548A (zh) 姿态变换数据处理方法、装置、计算机设备和存储介质
CN113344806A (zh) 一种基于全局特征融合注意力网络的图像去雾方法与系统
Zhang et al. Nonlocal low-rank tensor factor analysis for image restoration
Wang et al. FaceFormer: Aggregating global and local representation for face hallucination
CN113962858A (zh) 一种多视角深度获取方法
Huang et al. Refsr-nerf: Towards high fidelity and super resolution view synthesis
Bao et al. SCTANet: A spatial attention-guided CNN-transformer aggregation network for deep face image super-resolution
Zhao et al. Deep equilibrium models for video snapshot compressive imaging
CN114694081A (zh) 一种基于多元属性合成的视频样本生成方法
Feng et al. U²-Former: Nested U-Shaped Transformer for Image Restoration via Multi-View Contrastive Learning
Zhao et al. Deep equilibrium models for snapshot compressive imaging
KR20230081378A (ko) 3차원 휴먼 자세 추정을 위한 단시점 모델의 다시점 준지도 학습 시스템
Kasliwal et al. Corefusion: Contrastive regularized fusion for guided thermal super-resolution
Manimaran et al. Focal-WNet: An architecture unifying convolution and attention for depth estimation
CN110782503B (zh) 一种基于两分支深度相关网络的人脸图像合成方法和装置
Xiong et al. MLP-Pose: Human pose estimation by MLP-mixer
CN116797640A (zh) 一种面向智能伴行巡视器的深度及3d关键点估计方法
Zhao et al. Face super-resolution via triple-attention feature fusion network
CN115482368A (zh) 一种利用语义图进行三维场景编辑的方法
Mishra et al. Accelerating neural style-transfer using contrastive learning for unsupervised satellite image super-resolution

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant