一种基于对抗训练先验学习的单视图三维重建系统及其方法与流程

    专利2022-07-08  99


    本发明属于基于深度学习的三维模型重建技术领域,具体涉及一种基于对抗训练先验学习的单视图三维重建系统及其方法。

    技术背景

    人类只需一眼就能估计出物体的三维结构,可以利用这种能力来实现抓持物体、避免障碍等高难度动作。人类之所以有这种能力,是因为人类已经获得了关于三维物体形状的先验知识。机器是否也能获得这种能力呢?现有技术中,一种方法是用二维图像及其相应的基准三维模型来训练重建器,使重建器具备某些物体的三维先验知识,但创建三维标注极其复杂而繁琐;另一种方法是使用对象的多视图来训练重建器,这种方法称为基于视图的训练,通常需要对对象的轮廓和视点进行标注,这相对容易获得。但是现有的基于视图的训练方法中没有给出基准三维形状,重建的三维形状存在一定歧义性。即:重建的三维形状当从与输入图像相同的视角看起来是正确的,但从其它视角看起来是不正确的,这是因为重建器不知道未观察到的视图,并生成仅适合观察视图的三维形状。为减少这种歧义性,通常使用每个对象的多个视图来训练。然而,从可行性与可扩展性的角度来看,在很多状况下这是不实际的。在创建拍摄照片的数据集时,如果对象正在移动或变形,则很难从多个视角来拍摄照片。此外,当使用从互联网上的大量照片创建数据集时,并不总是可以收集对象的多个视图。



    技术实现要素:

    本发明的目的是克服现有技术的不足,提出一种基于对抗训练先验学习的单视图三维重建系统及其方法,能够使用少数甚至单个视图训练重建器,来实现三维重建,并克服三维形状歧义性的问题。本发明可满足以下两点要求:一是学习正确视图和不正确视图间的区别,二是可告诉重建器如何修改不正确的视图。

    为了解决现有技术的上述问题,本发明采用如下技术方案。

    本发明的一种基于对抗训练先验学习的单视图三维重建系统,包括:重建器、可微渲染器、判别器、重建损失函数、视图判别损失函数;

    所述的重建器,采用编解码结构,包括编码器和解码器;所述的解码器包括形状解码器和纹理解码器;

    所述的编码器,包括:3个二维卷积层conv和2个全连接层fc,将图像作为输入,生成相应的隐向量表示;3个卷积层的卷积核大小均为3×3,步幅stride均为2,输出通道数filters分别是128、256和512,在每个卷积层后面设置有一个批量归一化层bn和一个relu激活函数;2个全连接层的输出分别是2048和1024,每个全连接层后面设置有一个批量归一化层bn层和一个relu激活函数;编码器最终输出1024维的特征向量;

    所述的解码器,包括:形状解码器和纹理解码器,且均用多层感知机实现:所述的形状解码器根据隐向量重建三维形状,记作三维形状mlp;所述的纹理解码器根据隐向量生成相应的纹理图像,记作纹理图像mlp;

    所述的判别器,包括:4个二维卷积层和一个全连接层:4个卷积层的卷积核大小均为5×5,步幅均为1,输出通道数分别是256、512、1024和2048,在每个卷积层后面设置一个层归一化层ln和一个leaky-relu激活函数;全连接层的输出是1维,其后设置有一个sigmoid函数。

    本发明的一种基于对抗训练先验学习的单视图三维重建方法,包括以下训练步骤:

    步骤1.初始三维形状重建训练:根据输入图像训练生成其对应的初始三维模型;

    步骤2.形状真实性对抗训练:学习渲染视图的正确性,将已观察到的视点上的渲染视图和未观察到的视点上的渲染视图区分开来;通过估计渲染视图和三维形状,判别器将识别损失的梯度反向传播到重建器,从而将修改不正确视图的知识传递给重建器。

    进一步地,所述的步骤1的训练目标是最小化重建三维形状的渲染视图与基准视图之间的差异,其具体过程包括:

    1-1.将重建器记作r(·),输入对象的多个视图数据,输出由三维形状和纹理表示的三维模型;

    1-2.将可微渲染器记作p(·,·),输入一个三维模型和相应的视点;根据指定视点,将三维模型投影到相应视图,将其渲染成rgb视图或者轮廓视图;

    1-3.将重建损失函数记作是度量两个视图间差异的函数;其训练总损失定义如下:

    其中,假设xij是对象oi从某个视点vij的观察视图;no表示训练数据集中的对象数;nv是每个对象的视点数;v是训练数据集中所有视点的集合;r(·)是重建器;p(·,·)是可微渲染器;

    所述步骤1的训练过程采用rgb彩色图像和轮廓图像数据,因此公式(1)中的需要考虑rgb彩色图像和轮廓图像两类图像;设:x和是基准视图和估计视图,xc和分别是x和的rgb彩色图像,xs和分别是x和的轮廓图像;为了比较彩色图像xc和采用结构相似性ssim评价;假设深度神经网络输出的多尺度特征图数量是nf,即nf是尺度数,则表示第i个尺度对应的rgb彩色图,mi和ni表示的宽度和高度,则比较rgb彩色图像xc和的损失函数定义如下:

    对于轮廓图像xs和如果第k个像素属于对象,则第k个像素处的轮廓值设置为1;如果第k个像素属于背景,其轮廓值设置为0;设计多尺度余弦距离衡量轮廓图像xs和之间的差异;设是和由xs和降采样2i-1次得到的图像,将轮廓图像的损失函数定义为:

    所以,重建损失函数其中,λc是一个超参数。

    进一步地,所述的步骤2的具体过程包括:

    2-1.将判别器记作dis(·,·),输出渲染图像正确的概率;

    2-2.将视图判别损失函数记作基于判别器7,根据视图及相应视点,输出该视图正确的概率;利用交叉熵,将定义如下:

    其中,v是训练数据集中所有视点的集合。

    与现有技术相比,本发明具有以下的优点和效益结果:

    1、现有技术为减少三维重建歧义性,通常使用对象的多个视图来训练,获取某个对象的多个视图是极其困难的,因此这种训练方式在现实中是非常困难的;本发明使用少数甚至单个视图训练重建器实现三维重建,通过先验知识的学习,克服了三维形状歧义性的问题,简化训练过程,避免多视图采集的复杂问题。

    2、该发明不需要任何基准三维模型进行训练,减少了三维重建对训练数据获取的要求。基准三维模型获取是极其困难的,目前的方法大多采用三维建模软件制作三维模型,或者采用三维扫描仪通过扫描拼接的方式获取,这种三维模型的获取过程耗时、耗力。该发明通过初始三维模型训练和形状真实性对抗训练缓解了对基准三维模型的需求,使得三维重建的过程更加便捷、简单。

    附图说明

    图1是本发明基于对抗训练先验学习的单视图三维重建系统的一种实施例的训练原理图。

    图2是本发明系统的一种实施例的重建器示意图。

    图3是本发明系统的一种实施例的判别器示意图。

    图4是本发明基于对抗训练先验学习的单视图三维重建方法的一种实施例的流程框图。

    具体实施方式

    本发明的一种基于对抗训练先验学习的单视图三维重建系统及其方法,能够使用少数甚至单个视图训练重建器,来实现三维重建,并克服三维形状歧义性的问题。重建器如何克服形状歧义性,并正确估计三维形状,即能从任何角度都能重建一个真实的形状?人类可以估计出观察物体的三维形状,因为人类过去已看到过许多类似的物体,因而具有相关的先验知识。如果机器也具有关于正确视图的知识,将可以使用它来更准确地估计三维形状。为此,本发明能够满足两点要求:一方面学习正确视图和不正确视图间的区别;另一方面告知重建器如何修改不正确的视图。

    下面结合附图,对本发明做进一步详细说明。

    图1是本发明基于对抗训练先验学习的单视图三维重建系统的一种实施例的训练原理图。如图1所示,该发明实施例系统包括:重建器、可微渲染器、判别器、重建损失函数、视图判别损失函数。

    所述的重建器采用编解码结构,包括编码器和解码器两部分,而解码器又包括形状解码器和纹理解码器。

    图2是本发明系统的一种实施例的重建器示意图。如图2所示,其编码器包括3个二维卷积层(conv)和2个全连接层(fc),将图像作为输入,生成相应的隐向量表示:3个卷积层的卷积核大小均为3×3,步幅(stride)均为2,输出通道数(filters)分别是128、256和512,在每个卷积层后面设置一个批量归一化层bn和一个relu激活函数;2个全连接层的输出分别是2048和1024,每个全连接层后面设置一个批量归一化层bn层和一个relu激活函数。编码器最终输出1024维的特征向量。

    其形状解码器和纹理解码器均用多层感知机mlp实现:形状解码器根据隐向量重建三维形状,记作三维形状mlp;纹理解码器4根据隐向量生成相应的纹理图像,记作纹理图像mlp。

    所述的判别器,包括:4个二维卷积层和一个全连接层:4个卷积层的卷积核大小均为5×5,步幅均为1,输出通道数分别是256、512、1024和2048,在每个卷积层后面设置一个层归一化层ln和一个leaky-relu激活函数;全连接层的输出是1维,其后设置有一个sigmoid函数。

    图4是本发明基于对抗训练先验学习的单视图三维重建方法的一种实施例的流程框图。如图4所示,本发明实施例方法包括:初始三维形状重建训练和形状真实性对抗训练。具体过程如下:

    步骤1.初始三维形状重建训练

    该训练步骤依次使用3个主要组件:重建器、可微渲染器和重建损失函数。其训练过程包括:

    ①将重建器记作r(·),输入对象的多个视图数据,输出由三维形状和纹理表示的三维模型。

    ②将可微渲染器记作p(·,·),输入一个三维模型和相应的视点;根据指定视点,将三维模型投影到相应视图,将其渲染成rgb视图或者轮廓视图。

    ③将重建损失函数记作是度量两个视图间差异的函数。本发明是一种基于视图的三维重建训练方法,其训练目标是最小化重建三维形状的渲染视图与基准视图之间的差异。本发明训练总损失定义如下:

    其中,假设xij是对象oi从某个视点vij的观察视图;no表示训练数据集中的对象数;nv是每个对象的视点数;v是训练数据集中所有视点的集合;r(·)是重建器;p(·,·)是可微渲染器。

    本发明的训练过程采用rgb彩色图像和轮廓图像数据,因此公式(1)中的需要考虑rgb彩色图像和轮廓图像两类图像。设:x和是基准视图和估计视图,xc和分别是x和的rgb彩色图像,xs和分别是x和的轮廓图像。为了比较彩色图像xc和本发明采用结构相似性(ssim)评价,ssim是一种基于人类视觉系统的图像质量评价指标。假设深度神经网络输出的多尺度特征图数量是nf,即nf是尺度数,则表示第i个尺度对应的rgb彩色图,mi和ni表示的宽度和高度,则比较rgb彩色图像xc和的损失函数定义如下:

    对于轮廓图像xs和如果第k个像素属于对象,则第k个像素处的轮廓值设置为1;如果第k个像素属于背景,其轮廓值设置为0。本发明设计多尺度余弦距离衡量轮廓图像xs和之间的差异。设是和由xs和降采样2i-1次得到的图像。将轮廓图像的损失函数定义为:

    综上,重建损失函数6其中,λc是一个超参数。

    步骤2.形状真实性对抗训练

    该训练步骤主要涉及2个组件:判别器和视图判别损失函数。其训练过程包括:

    ①将判别器记作dis(·,·),输出渲染图像正确的概率。

    图3是本发明系统的一种实施例的判别器示意图。如图3所示,判别器包括4个二维卷积层和一个全连接层;4个卷积层的卷积核大小均为5×5,步幅均为1,输出通道数分别是256、512、1024和2048,在每个卷积层后面设置一个层归一化层ln和一个leaky-relu激活函数;全连接层的输出是1维,其后设置一个sigmoid函数。

    ②将视图判别损失函数记作基于判别器,根据视图及相应视点,输出该视图正确的概率。本发明利用交叉熵,将定义如下:

    其中,v是训练数据集中所有视点的集合。

    综上所述,本发明针对现有的基于视图三维重建技术的不足之处,利用深度学习技术,从二维图像中学习对象的三维形状,提出一种通过使用判别器来学习对象视图的先验知识,合理预测三维形状的方法:该三维重建过程的采用两步训练策略,初始三维形状重建训练和形状真实性对抗训练。训练判别器来区分从未知视点观察三维形状的视图、和已知视点观察三维形状的视图,训练重建器通过欺骗判别器来纠正未知的不正确的视图,从而使得重建的三维形状从任何角度看起来都是合理的。本发明发明不需要任何三维模型进行训练,减少了三维重建训对练数据获取的要求;同时可以使用少数甚至单个视图训练重建器实现三维重建,通过先验知识的学习,克服了三维形状歧义性的问题。本发明适用于船舶综合保障、装备虚拟维修、交互式电子技术手册、电影、动画、虚拟现实、增强现实、工业制造等多个领域,具有广阔的市场前景。


    技术特征:

    1.一种基于对抗训练先验学习的单视图三维重建系统,其特征在于,包括:重建器、可微渲染器、判别器、重建损失函数、视图判别损失函数;

    所述的重建器,采用编解码结构,包括编码器和解码器;所述的解码器包括形状解码器和纹理解码器;

    所述的编码器,包括:3个二维卷积层conv和2个全连接层fc,将图像作为输入,生成相应的隐向量表示;3个卷积层的卷积核大小均为3×3,步幅stride均为2,输出通道数filters分别是128、256和512,在每个卷积层后面设置有一个批量归一化层bn和一个relu激活函数;2个全连接层的输出分别是2048和1024,每个全连接层后面设置有一个批量归一化层bn层和一个relu激活函数;编码器最终输出1024维的特征向量;

    所述的解码器,包括:形状解码器和纹理解码器,且均用多层感知机实现:所述的形状解码器根据隐向量重建三维形状,记作三维形状mlp;所述的纹理解码器根据隐向量生成相应的纹理图像,记作纹理图像mlp;

    所述的判别器,包括:4个二维卷积层和一个全连接层:4个卷积层的卷积核大小均为5×5,步幅均为1,输出通道数分别是256、512、1024和2048,在每个卷积层后面设置一个层归一化层ln和一个leaky-relu激活函数;全连接层的输出是1维,其后设置有一个sigmoid函数。

    2.一种采用权利要求1所述系统的基于对抗训练先验学习的单视图三维重建方法,其特征在于,包括以下训练步骤:

    步骤1.初始三维形状重建训练:根据输入图像训练生成其对应的初始三维模型;

    步骤2.形状真实性对抗训练:学习渲染视图的正确性,将已观察到的视点上的渲染视图和未观察到的视点上的渲染视图区分开来;通过估计渲染视图和三维形状,判别器将识别损失的梯度反向传播到重建器,从而将修改不正确视图的知识传递给重建器。

    3.根据权利要求2所述的一种基于对抗训练先验学习的单视图三维重建方法,其特征在于,所述的步骤1的训练目标是最小化重建三维形状的渲染视图与基准视图之间的差异,其具体过程包括:

    1-1.将重建器记作r(·),输入对象的多个视图数据,输出由三维形状和纹理表示的三维模型;

    1-2.将可微渲染器记作p(·,·),输入一个三维模型和相应的视点;根据指定视点,将三维模型投影到相应视图,将其渲染成rgb视图或者轮廓视图;

    1-3.将重建损失函数记作是度量两个视图间差异的函数;其训练总损失定义如下:

    其中,假设xij是对象oi从某个视点vij的观察视图;no表示训练数据集中的对象数;nv是每个对象的视点数;v是训练数据集中所有视点的集合;r(·)是重建器;p(·,·)是可微渲染器;

    所述步骤1的训练过程采用rgb彩色图像和轮廓图像数据,因此公式(1)中的需要考虑rgb彩色图像和轮廓图像两类图像;设:x和是基准视图和估计视图,xc和分别是x和的rgb彩色图像,xs和分别是x和的轮廓图像;为了比较彩色图像xc和采用结构相似性ssim评价;假设深度神经网络输出的多尺度特征图数量是nf,即nf是尺度数,则表示第i个尺度对应的rgb彩色图,mi和ni表示的宽度和高度,则比较rgb彩色图像xc和的损失函数定义如下:

    对于轮廓图像xs和如果第k个像素属于对象,则第k个像素处的轮廓值设置为1;如果第k个像素属于背景,其轮廓值设置为0;设计多尺度余弦距离衡量轮廓图像xs和之间的差异;设是和由xs和降采样2i-1次得到的图像,将轮廓图像的损失函数定义为:

    所以,重建损失函数其中,λc是一个超参数。

    4.根据权利要求2所述的一种基于对抗训练先验学习的单视图三维重建方法,其特征在于,所述的步骤2的具体过程包括:

    2-1.将判别器记作dis(·,·),输出渲染图像正确的概率;

    2-2.将视图判别损失函数记作基于判别器7,根据视图及相应视点,输出该视图正确的概率;利用交叉熵,将定义如下:

    其中,v是训练数据集中所有视点的集合。

    技术总结
    本发明公开了一种基于对抗训练先验学习的单视图三维重建系统及其方法,包括:初始三维形状重建训练:根据输入图像训练生成其对应的初始三维模型;形状真实性对抗训练:学习渲染视图的正确性,将已观察到的视点上的渲染视图和未观察到的视点上的渲染视图区分开来;通过估计渲染视图和三维形状,判别器将识别损失的梯度反向传播到重建器,从而将修改不正确视图的知识传递给重建器。本发明训练重建器通过欺骗判别器来纠正未知的不正确的视图,使得重建的三维形状从任何角度看起来都是合理的,其三维重建的过程便捷、简单,有效克服了三维形状歧义性的问题。本发明适用于船舶综合保障、装备虚拟维修、工业制造等领域,具有广阔的市场前景。

    技术研发人员:白素琴;史金龙;茅凌波;李顺君;钱强;欧镇;田朝晖
    受保护的技术使用者:江苏科技大学
    技术研发日:2020.11.30
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-15945.html

    最新回复(0)