CN109544666B - 一种全自动的模型变形传播方法和系统 - Google Patents

一种全自动的模型变形传播方法和系统 Download PDF

Info

Publication number
CN109544666B
CN109544666B CN201811259927.1A CN201811259927A CN109544666B CN 109544666 B CN109544666 B CN 109544666B CN 201811259927 A CN201811259927 A CN 201811259927A CN 109544666 B CN109544666 B CN 109544666B
Authority
CN
China
Prior art keywords
model
deformation
vector
encoder
network
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
CN201811259927.1A
Other languages
English (en)
Other versions
CN109544666A (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201811259927.1A priority Critical patent/CN109544666B/zh
Publication of CN109544666A publication Critical patent/CN109544666A/zh
Application granted granted Critical
Publication of CN109544666B publication Critical patent/CN109544666B/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
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/44Morphing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种全自动的模型变形传播方法,包括:分别获取第一模型库和第二模型库的第一变形梯度向量和第二变形梯度向量;以该第一变形梯度向量获得该第一模型库的第一分布向量,以该第二变形梯度向量获得该第二模型库的第二分布向量;获得该第一模型库与该第二模型库之间任一对模型的相似度;由该第一分布向量、该第二分布向量和该相似度训练循环生成对抗网络,建立表示该第一分布向量和该第二分布向量之间映射关系的映射网络;由该第一模型指定变形过程的指定变形梯度向量,生成指定分布向量,并映射为该第二模型的目标分布向量,将该目标分布向量解码为该第二模型的目标变形梯度向量,并得到该第二模型的目标变形过程。

Description

一种全自动的模型变形传播方法和系统
技术领域
本发明涉及计算机图形学、深度学习领域,尤其涉及对三维模型进行变形传播的方法。
背景技术
模型变形广泛用于计算机图形学中。它在几何建模中被应用于从现有的模型生成新的模型,在计算机动画中用于生成平滑动画序列。然而,制作逼真的动画是十分耗时的并且需要专业的艺术知识。变形传播技术,即将一种模型的变形传递到另一种模型,提供了通过重复使用现有模型的变形来产生新模型的变形结果,这种方法是节约成本和有效的解决方案。在给定两组模型(源模型和目标模型)和源模型变形之后的模型,变形传播的目标是产生和源模型的变形模型在视觉上相似的目标模型的变形模型。这是一项具有挑战性的任务,因为源模型和目标模型不存在对应关系,并且该对应关系难以通过可靠地方式自动的建立。
Hung-Kuo Chu等人的“Example-based Deformation Transfer for 3D PolygonModels”和Robert W Sumner等人的“Deformation transfer for triangle meshes”等变形传播方法依赖于源模型和目标模型之间的逐点对应关系。目前没有可靠的全自动的方法来实现这一点,因此这些方法要求用户指定足够数量的对应点,以便可以推导出源模型和目标模型逐点的对应关系。该过程繁琐且通常需要反复试验以确保指定足够的对应点来提供约束。
另一种方法是基于语义的变形传播Ilya Baran等人的“Semantic deformationtransfer”,该方法不需要源模型和目标模型之间的确立逐点的对应关系,但是,它采用成对的源模型和目标模型,并且假设了源模型库中的每个模型在语义上与目标模型库中的对应模型是相关的。但是实际上,如果源模型和目标模型的模型库是独立构造的,则不太可能满足这样的假设。
发明内容
针对上述问题,本发明公开了一种全自动的模型变形传播方法,包括:将第一模型和该第一模型变形生成的第一样本模型构建为第一模型库,以该第一样本模型相对该第一模型的变形梯度为第一变形梯度向量;将第二模型和该第二模型变形生成的第二样本模型构建为第二模型库,以该第二样本模型相对该第二模型的变形梯度为第二变形梯度向量;通过第一变分自编码器,以该第一变形梯度向量获得该第一模型库的第一分布向量;通过第二变分自编码器,以该第二变形梯度向量获得该第二模型库的第二分布向量;通过相似度度量网络,以该第一分布向量和该第二分布向量,获得该第一模型库与该第二模型库之间任一对模型的相似度;构建循环生成对抗网络,由该第一分布向量、该第二分布向量和该相似度训练该循环生成对抗网络,以建立表示该第一分布向量和该第二分布向量之间映射关系的映射网络;将该第一模型的指定变形过程对应的指定变形梯度向量,通过该第一变分自编码器生成指定分布向量,并由该映射网络映射为该第二模型的目标分布向量,通过该第二变分自编码器将该目标分布向量解码为该第二模型的目标变形梯度,并得到该第二模型的目标变形过程。
进一步的,以该第一模型的顶点坐标和该第一样本模型的顶点坐标,获得该第一模型库的变形梯度,并转化为以旋转轴和旋转角表示的该第一变形梯度向量;以该第二模型的顶点坐标和该第二样本模型的顶点坐标,获得该第二模型库的变形梯度,并转化为以旋转轴和旋转角表示的该第二变形梯度向量。
进一步的,通过网格卷积网络构建该第一变分自编码器,其中该第一变分自编码器包括第一编码器、第一解码器和第一隐含层,该第一编码器和该第一解码器具有对称的结构及相同的权值,该第一分布向量为该第一变形梯度向量通过该第一编码器训练得到的在该第一隐含层上的分布向量;通过网格卷积网络构建该第二变分自编码器,其中该第二变分自编码器包括第二编码器、第二解码器和第二隐含层,该第二编码器和该第二解码器具有对称的结构及相同的权值,该第二分布向量为该第二变形梯度向量通过该第二编码器训练得到的在该第二隐含层上的分布向量。
进一步的,通过神经网络构建该相似度度量网络,并以该第一模型库与该第二模型库之间的任一对模型的光场距离,对该相似度度量网络进行训练。
优选的,以该指定变形梯度向量通过该第一编码器获得该指定分布向量,并通过该映射网络映射到该目标分布向量,并以该目标分布向量通过该第二解码器获得该目标变形梯度向量。
本发明还公开了一种全自动的模型变形传播系统,包括:
变形梯度获取模块,用于将第一模型和该第一模型变形生成的第一样本模型构建为第一模型库,以该第一样本模型相对该第一模型的变形梯度为第一变形梯度向量;并将第二模型和该第二模型变形生成的第二样本模型构建为第二模型库,以该第二样本模型相对该第二模型的变形梯度为第二变形梯度向量;
分布向量获取模块,用于通过第一变分自编码器,以该第一变形梯度向量获得该第一模型库的第一分布向量;并通过第二变分自编码器,以该第二变形梯度向量获得该第二模型库的第二分布向量;
相似度获取模块,用于通过相似度度量网络,以该第一分布向量和该第二分布向量,获得该第一模型库与该第二模型库之间的任一对模型的相似度;
映射关系获取模块,用于构建循环生成对抗网络,并由该第一分布向量、该第二分布向量和该相似度训练该循环生成对抗网络,以建立表示该第一分布向量和该第二分布向量映射关系的映射网络;
变形传播模块,用于将该第一模型的指定变形过程对应的指定变形梯度向量,通过该第一变分自编码器生成指定分布向量,并由该映射网络映射为该第二模型的目标分布向量,通过该第二变分自编码器将该目标分布向量解码为该第二模型的目标变形梯度,并得到该第二模型的目标变形过程。
进一步的,该变形梯度获取模块具体包括:
第一变形梯度模块,用于以该第一模型的顶点坐标和该第一样本模型的顶点坐标,获得该第一模型库的变形梯度,并转化为以旋转轴和旋转角表示的该第一变形梯度向量;
第二变形梯度模块,用于以该第二模型的顶点坐标和该第二样本模型的顶点坐标,获得该第二模型库的变形梯度,并转化为以旋转轴和旋转角表示的该第二变形梯度向量。
进一步的,该分布向量获取模块还包括:
第一变分自编码器构建模块,用于通过网格卷积网络构建该第一变分自编码器,其中该第一变分自编码器包括第一编码器、第一解码器和第一隐含层,该第一编码器和该第一解码器具有对称的结构及相同的权值,该第一分布向量为该第一变形梯度向量通过该第一编码器训练得到的在该第一隐含层上的分布向量;
第二变分自编码器构建模块,用于通过网格卷积网络构建该第二变分自编码器,其中该第二变分自编码器包括第二编码器、第二解码器和第二隐含层,该第二编码器和该第二解码器具有对称的结构及相同的权值,该第二分布向量为该第二变形梯度向量通过该第二编码器训练得到的在该第二隐含层上的分布向量。
进一步的,该相似度获取模块中,通过神经网络构建该相似度度量网络,并以该第一模型库与该第二模型库之间的任一对模型的光场距离,对该相似度度量网络进行训练。
优选的,该变形传播模块中,以该指定变形梯度向量通过该第一编码器获得该指定分布向量,并通过该映射网络映射到该目标分布向量,并以该目标分布向量通过该第二解码器获得该目标变形梯度向量。
本发明公开的全自动的模型变形传播方法,允许源模型库和目标模型库不成对以及没有对应关系,可以有效的学习两个模型库分布之间的映射关系,解决对应关系不准确的问题,减少人工标注,而且适用于处理大尺度高精度的网格模型。而且在网络训练好之后,可以反复使用训练好的参数对两个模型库进行模型变形传播。
附图说明
图1是本发明实施例的变形传播方式示意图。
图2是本发明实施例的变形传播的结果示意图。
图3是本发明实施例的变分自编码器结构示意图。
图4是本发明实施例的相似度度量网络结构示意图。
图5是本发明实施例的模型之间隐含层分布向量映射网络示意图。
图6是本发明实施例的判别器网络示意图。
图7是本发明实施例的循环一致性损失函数计算示意图。
图8是本发明实施例的全自动的模型变形传播方法流程图。
图9是本发明实施例的网格卷积示意图。
图10是本发明实施例的不同网络结果设计下定量和定性结果示意图。
图11是本发明实施例的自定义的相似对示意图。
图12是本发明实施例的通过自定义语义距离来训练不相似物体之间对应的结果示意图。
图13是本发明实施例的不同变形方法的效果图对比示意图。
图14是手工制作的目标模型和本发明预测的目标模型之间的误差图;
图15是本发明实施例的不同变形传播算法的对比效果图。
图16、17是本发明实施例的变形传播效果示意图。
图18是本发明实施例的重建误差对比图。
图19是本发明实施例的不同隐含层自由度嵌入效果的对比图。
图20是本发明实施例的变分自编码器生成新模型示例图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明提出的全自动的模型变形传播方法和系统进一步详细说明。应当理解,此处所描述的具体实施方法仅仅用以解释本发明,并不用于限定本发明。
鉴于已有方法存在着各种局限性,本发明的目标是开发一种全自动的算法,以尽可能与变形源模型相似的方式来变形目标模型,这是现有的变形传播方法都无法实现的。本发明利用卷积变分自编码器来学习模型库中的变形规律,同时提供一个度量来度量视觉相似性,并在两者的隐含层空间与循环一致性之间建立可靠的映射。受到人工解决这类问题的启发,通过观察变形的模型集合来了解它们的变形规律,考虑源模型和目标模型之间的相似性,以及思考目标模型应该如何变形可以与源模型很相似。与以前的方法不同,本发明不要求源模型和目标模型之间的拥有逐点对应关系,或使用成对的源模型和目标模型作为输入。相反,源模型和目标模型集可以包含不同的变形,只要它们足以覆盖其相关的变形空间即可。这极大地减少了用户的努力并允许使用两个独立的模型的模型库。为实现这一目标,本发明提出了一种用于网格变形传播的基于变分自编码器的循环生成对抗网络(VC-GAN)架构。为了通过相对少量的训练样例来确保神经网络学习效率,特别的,因为在高维空间中合理的变形形成的低维流形,引入变分自编码器来表示在隐含层空间中变形的紧致的分布。为了确保有效传播,本发明进一步提出了一种神经网络来度量几何模型的视觉相似性。
具体的说,本发明公开了一种全自动的模型变形传播方法,其中包括:
分别获取两个不同的模型库,每个模型库中的所有三维模型具有相同拓扑结构,在每个模型库中选择一个三维模型作为该模型库的参考模型,并将除该参考模型以外的三维模型作为样本模型;具体来说,本发明的变形传播方法,首先以源模型及源模型在变形过程中获得的变形模型构建源模型库(第一模型库),并将源模型作为源模型库的参考模型,将源模型的所有变形模型作为源模型的样本模型,以目标模型及目标模型在变形过程中获得的变形模型构建目标模型库(第二模型库),并将目标模型作为目标模型库的参考模型,将目标模型的所有变形模型作为目标模型的样本模型;
对源模型库和目标模型库,根据参考模型和样本模型的顶点坐标,得到样本模型相对于参考模型的变形梯度,并以极分解和轴角转化的方式,将变形梯度转化为具有模型顶点9维向量的变形梯度向量,由此得到源模型库中样本模型的变形梯度向量和目标模型库中样本模型的变形梯度向量;
对每一个模型库中的模型计算其光场特征(Ding-Yun Chen等人的“On VisualSimilarity Based 3D Model Retrieval”),通过计算的光场特征从源模型库和目标模型库中分别选取一个模型并计算两个模型之间的光场距离(LightFeild Distance),遍历源模型库和目标模型库后形成光场距离矩阵;
基于神经网络分别构建对应源模型库和目标模型库的变分自编码器,其中源模型库的变分自编码器与目标模型库的变分自编码器具有不同的权值参数,变分自编码器包括编码器、解码器以及隐含层,其中解码器和编码器结构对称且共享权值参数,变分自编码器根据模型库的变形梯度并结合损失函数,通过训练得到该权值参数;分别利用编码器对对应模型库的变形梯度进行卷积操作,生成列向量,通过对列向量进行非线性映射处理,分别得到对应模型库的隐含层的分布向量,并将获得的分布向量作为对应样本模型在隐含层空间的投影;
构建基于神经网络构建相似度度量网络,相似度度量网络由5个全连接层构成,输入是分别对应两个模型库在变分自编码器中形成的隐含层的分布中服从分布的随机向量(分布向量),通过5个非线性映射的处理,输出是这两个分布向量通过变分自编码器解码得到的两个模型的光场距离,通过已知的模型的光场距离做监督来训练相似度度量网络得到相似度度量网络的权值参数;
构建循环生成对抗网络构建,通过建立源模型库和目标模型库的变分自编码器隐含层之间的相互映射来学习两个模型库分布之间的映射关系,并通过在两个变分自编码器的解码器之后连接一个判别器来判断通过该映射合成的模型是否属于该数据分布;该映射关系由5个全连接层组成,一个模型库中的任一个模型通过变分自编码器得到在隐含层上的投影,该投影通过5个非线性映射的处理,映射到另一个模型库的隐含层空间上,然后通过对应模型库的变分自编码器的解码器得到一个模型的梯度再输入到判别器中,判别器通过对输入进行相关的卷积操作和全连接的非线性映射得到一个数值,该数值表达了是否输入该数据分布的一个置信度;
该全自动的三维模型变形传播方法,其中变分自编码器的编码器、解码器以及判别器包括卷积层、重排列层和全连接层;
其中该卷积层和全连接层操作分别是:
Figure BDA0001843665540000071
z=CTf
其中,xi是模型上第i个顶点的输入特征,Di是第i个顶点的度数,nij(1≤j≤Di)是第i个顶点的第j个相邻顶点。Wpoint
Figure BDA0001843665540000072
Figure BDA0001843665540000073
是权重和偏差,他们在每个卷积层内被所有的顶点共享。其中d和d'分别表示卷积层的输入输出的通道数,
Figure BDA0001843665540000074
指实数域,
Figure BDA0001843665540000075
为取值为实数的d'×d的矩阵,
Figure BDA0001843665540000076
是该卷积层的偏移,
Figure BDA0001843665540000077
为最后一层卷积输出的长度为μV的列向量,其中μ为最后一层卷积层的输出维数,
Figure BDA0001843665540000078
为该隐向量,K为该隐含层的维数,矩阵
Figure BDA0001843665540000079
将f线性映射至该隐含层向量。
全自动的三维模型变形传播方法中的变分自编码器部分,其损失函数为:
LVAE=Lrecon1LKL2LRegVAE
Figure BDA00018436655400000710
Figure BDA00018436655400000711
其中Lrecon定义了均方重建误差的损失函数;LKL定义了一个KL散度使得隐含层的分布逼近于一个高斯分布,
Figure BDA0001843665540000081
是在给定输入S时的后验分布,
Figure BDA0001843665540000082
指的是高斯的先验分布;LRegVAE是这个网络所有参数的平方范数的损失函数,目的在于防止网络过拟合;使用自适应力矩估计算法(ADAM)通过梯度下降来训练这个该变分自编码器(VAE)网络。
该全自动的三维模型变形传播方法,其中相似度度量网络主要负责计算符合两个模型库分布的任意两个模型之间的相似度,最终该网络输出一个值来描述两个模型的相似程度,
Figure BDA0001843665540000083
因为变形传播的一个目的是确保源模型和目标模型视觉上的相似性。在二维图像上,可以使用像素之间的2范数来度量两幅图像是否相似,但是该度量无法推广到三维模型上,所以本发明使用光场距离(LightFeild)来测量视觉相似性,由于光场距离不可微分,所以我们使用已有的光场距离作为监督来训练该相似度度量网络,该网络的损失函数定义为:LSimNet(V)=LDist(V)+βLRegSim
其中β是一个可调节的权重,
Figure BDA0001843665540000084
是一个平均的绝对误差;LRegSim是一个平方范数来避免该网络发生过拟合,这个网络不受限与光场距离,任意的描述模型特征的函数都适用与这个网络。同样使用自适应力矩估计算法(ADAM)通过梯度下降来训练该相似度度量网络。
该全自动的三维模型变形传播方法,其中循环生成对抗网络包括S→T的生成网络G,T→S的生成网络F,以及分别连接在两个变分自编码器的解码器之后的两个判别网络。G,F定义在两个隐含层之间,为了使得这两个函数有意义,本发明设计了三个正则项,分别是对抗损失,循环一致性损失以及视觉相似度损失,其中视觉相似度损失使用上述相似度度量网络来预测。对抗损失是为了判别生成模型的函数G所生成的模型是属于目标模型库分布中,反之,F同理。由于隐含层空间服从一个高斯分布,将判别器定义在隐含层空间上将无法区分真实的模型和合成的模型,所以本发明将判别器定义在解码器之后,该判别器的输入是在模型空间上的特征,输出是一个实数值表明该模型属于该模型库分布的一个置信度;并且该判别器是基于网格的卷积神经网络,用来判别属于模型库的模型(真)还是通过变形传播得到的模型(假)。
第一个损失是对抗损失,为了判别生成模型的函数G所生成的模型是属于目标模型库分布中,即对于映射G,定义在模型变形梯度空间T上的判别器的损失函数为:
Figure BDA0001843665540000091
同理,对于映射F,定义在模型变形梯度空间S上的判别器的损失函数为:
Figure BDA0001843665540000092
其中,Pdata(·)表示数据的分布,
Figure BDA0001843665540000093
表示期望,映射G用来生成与隐含层空间中
Figure BDA0001843665540000094
具有相似变形的
Figure BDA0001843665540000095
判别器DT用来区分是真实的模型库模型,还是
Figure BDA0001843665540000096
通过解码器DecT所生成的模型。同理,映射F和判别器DS类似。同时定义如下的对抗损失函数:
LGAN(G,F,DS,DT)=LGAN-F+LGAN-G
第二个损失是循环一致性损失,为了确保从一个隐含层映射到另一个隐含层在映射回来,保证两者是相似的,即F是G的逆映射,G是F的逆映射,满足如下的条件:
Figure BDA0001843665540000097
Figure BDA0001843665540000098
同时,定义如下循环一致性的损失函数:
Figure BDA0001843665540000099
第三个损失是相似性度量的损失,为了保证通过网络得到的传播之后的模型和源模型在视觉上的相似,本发明使用步骤5中的全连接的相似度度量网络来约束G,F,并定义如下的损失函数:
Figure BDA00018436655400000910
因此循环一致性网络的总的损失函数是上面三个损失函数的线性组合,如下:
LCycleGAN(G,F,DS,DT)=LSim(G,F)+γ1LCycle(G,F)+γ2LGAN(G,F,DS,DT)
因此最优的G,F将通过下面的式子得到:
Figure BDA00018436655400000911
其中G,F在最小化总损失的同时DS,DT最大化总损失。
现有的技术困难,在于难以在两个模型之间建立可靠的点对点的对应关系,以及需要耗费大量的人力,因此,本发明公开的一种全自动的模型变形传播方法,具体包括:
分别获取两个不同的包含多个三维模型的模型库,每个模型库中的所有三维模型必须具有相同拓扑结构,即模型的顶点之间连接关系相同,在每个模型库中选择一个三维模型作为该模型库的参考模型,并将除该参考模型以外的三维模型作为样本模型,根据该参考模型和该样本模型的顶点坐标,计算两个模型库中所有样本模型的变形梯度,变形梯度定义在顶点上,有助于网络进行卷积操作。优选地,其中的变形梯度通过以下方式而获得:
A-1)在模型库中选定样本模型,使得样本模型与步骤1中所述的参考模型,具有相同的拓扑结构;
A-2-1)针对每个样本模型的顶点,计算所述的顶点的变形梯度矩阵,使得所述的变形梯度矩阵最小化相对于所述参考模型的1邻域范围内的能量;顶点的1邻域指的是和该顶点只需经过一条边相连的顶点,能量函数由E(m,i)计算得到;
A-2-2)对所述的变形梯度矩阵进行极分解,得到每个模型所述顶点上的变形梯度Rm,i
A-3-1)对每个模型上每个顶点上的变形梯度矩阵转化为旋转轴和旋转角的表示方法;
A-3-2)得到每个模型上每个顶点上的旋转轴和旋转角,将该旋转轴和旋转角映射为变形梯度Rm,i,以及结合A-2-2)中通过极分解得到的Sm,i,Rm,i的旋转轴(单位向量)乘以旋转角组成一个三维向量,Sm,i是实对称矩阵,将这两个连接起来得到一个9维向量表示一个模型上每个顶点上的特征。
根据所述方法,在步骤A-2-1)~A-2-2)中采用以下的计算式计算与所述顶点对应的变形梯度:
Figure BDA0001843665540000101
Figure BDA0001843665540000102
Tm,i=Rm,iSm,i
ωm,i,θm,i=φ(Rm,i)
其中,Ni是顶点i的1邻域内包含的所有顶点的索引,顶点j在顶点i的1邻域中;pm,i表示样本模型m上顶点i的三维坐标;pm,j表示样本模型m上顶点j的三维坐标;p1,i表示参考模型1上顶点i的三维坐标,p1,j表示参考模型1上顶点j的三维坐标;Tm,i是模型m上顶点i的仿射变换矩阵;E(m,i)是样本模型m在顶点i上的能量;Tm,i是模型m上顶点i使得能量E(m,i)最小的仿射变换矩阵;Rm,i,Sm,i为变形梯度Tm,i的极分解后所对应的刚体变换矩阵和实对称矩阵,其中Rm,i为正交矩阵,描述顶点i的旋转变换分量,Sm,i为对称矩阵,描述顶点i变形的尺度分量。将该表示以及Sm,i结合得到特征{rm,i,sm,i}∈R9,并将特征的每维都线性映射到区间[-0.95,0.95]上得到
Figure BDA0001843665540000111
最终得到模型m在顶点i的变形梯度
Figure BDA0001843665540000112
优选地,根据所述方法,其中所述样本模型具有与所述三维模型相同的材质。
优选地,根据所述方法,其中所述多个样本模型具有彼此互不相同的姿态。
优选地,根据所述方法,为确保源模型和目标模型视觉上的相似性,但是在二维图像上,可以使用像素之间的2范数来度量两幅图像是否相似,但是该度量无法推广到三维模型上,所以本发明采用光场距离(LightFeild)来测量视觉相似性对两个模型库计算中的每个模型计算光场特征。对模型库中每个模型利用论文Ding-Yun Chen等人的“On VisualSimilarity Based 3D Model Retrieval”的方法通过多视角的图像特征来计算每个模型的光场特征,并计算两个模型库任意两个模型之间的光场距离,以此作为网络的监督来训练网络拟合已知的两两模型之间的光场距离并预测任意两个满足模型库分布的模型之间的相似性,通过以下步骤完成:
B-1)针对步骤1中的两个模型库,利用上述论文On Visual Similarity Based3DModel Retrieval计算出两个模型库中任意两个模型之间的相似度距离,距离越大相似度越低;
B-2-1)针对步骤1、2中训练好的变分自编码器,可以将模型库中的模型使用在隐含层上的低维向量
Figure BDA0001843665540000113
来表示;
B-2-2)针对B-2-1)中的
Figure BDA0001843665540000114
将这两个向量连接成一个向量作为网络的输入,经过5个全连接层和4个leaky ReLU的激活函数,最后一层使用平方激活函数,得到网络的输出
Figure BDA0001843665540000121
B-2-3)针对网络的输出
Figure BDA0001843665540000122
利用已有的模型库的光场距离
Figure BDA0001843665540000123
来监督该网络的训练,构建一个可微的度量两个模型相似性的网络,并建立损失函数:LSimNet(V)=LDist(V)+βLRegSim
其中β是一个可调节的权重,
Figure BDA0001843665540000124
是一个平均的绝对误差;LRegSim是一个平方范数来避免该网络发生过拟合。
优选地,根据所述方法,该网络不受限于光场距离,任意的描述模型特征的函数都适用与本发明的网络。
优选地,根据所述方法,该网络能够感知3D模型领域中复杂的视觉相似性。
优选地,根据所述方法,其中所述的学习模型库的低维流形分布通过以下步骤完成:
C-1)针对前述的模型库,用卷积神经网络构建自编码器,以步骤A-3)中得到的变形梯度作为网络的输入,通过变分自编码器进行编码与解码;
优选地,根据所选方法,变分自编码器的结构如下:
变分自编码器由编码器和解码器构成,两部分中间为所述的模型库的低维流形分布,另外在隐含层部分还加入一个服从N(0,1)正态分布的扰动,以此使得网络获得生成的能力,编码部分输出模型库低维流形分布,解码部分以此为输入,重建模型库中的模型。编码器部分以步骤2所述的变形梯度作为初始输入X∈RV×9,其中9为变形梯度的维数,V为每个模型的顶点个数。之后是叠加的一系列的卷积层,卷积层间的激活函数为tanh,每层卷积网络的作用域都在网格表面,输入矩阵为x∈RV×d,输出矩阵为y∈RV×d'。其中,d为输入数据的维数,d'为输出数据的维数。记xi是输入矩阵x的第i行,对应于卷积层在顶点i的输出值;相似的,yi是输出矩阵y的第i行,对应于卷积层在顶点i的输出值。其中所述输入到输出经过的卷积计算由下式确定:
Figure BDA0001843665540000125
其中顶点i的1邻域中的顶点记为nij,其中j∈{1,2,...,Di},Di为顶点i的度数;Wpoint,
Figure BDA0001843665540000126
分别是卷积操作的权重,卷积层的偏移。
在最后一层卷积层,卷积层的输出将被重新排列为一维长向量f∈RμV,其中μ为最后一层卷积的输出维数。之后用矩阵C1,C2∈RμV×K将向量f线性映射到隐含层向量mean,std∈RK,记作mean=C1 Tf,std=C2 Tf;
其中mean为模型在隐含层的分布均值向量,std为该模型在隐含层的分布的方差向量,将mean作为该模型在变分自编码器所学习的流形中的向量分布。
优选地,根据所述方法,将正态分布加到隐含层上z=mean+std*N(0,1)作为解码器的输入,经过一个全连接层,重排列层和一系列卷积层,重建模型的变形梯度,进而可以恢复出整个三维模型。
C-2-1)针对所述神经网络,设置损失函数,以模型库中所有模型的变形梯度作为训练数据,进行迭代训练,进而找到神经网络可以拟合输入数据又不过拟合的权重,将训练完成的神经网络作为可以体现模型库分布的工具。
优选地,根据所述方法,损失函数为重建误差,相对熵(Kullback–Leiblerdivergence),正则项的加权总和:LVAE=Lrecon1LKL2LRegVAE
在神经网络训练过程中不断减小LVAE,LVAE的每部分由如下方式获得:
优选地,根据所述方法,重建误差由重建前后变形梯度的均方误差(MSE)确定,记为
Figure BDA0001843665540000131
其中|S|为模型的个数,s是模型原本的变形梯度,s'为经过变分自编码器“编码-隐向量-解码”后得到的变形梯度。
优选地,根据所述方法,由于变分自编码器本身的生成能力,需要使用相对熵来保证模型编码到隐含层空间后的分布服从一个正态分布,相对熵主要度量两个分布的差别,利用在模型经过编码器所得到的mean和std,建立和标准正态分布的相对熵,记为
Figure BDA0001843665540000132
其中
Figure BDA0001843665540000133
是在给定输入s时的后验分布,
Figure BDA0001843665540000134
指的是高斯的先验分布。
优选地,根据所述方法为了防止变分自编码器出现过拟合的问题,增加正则项LRegVAE来约束变分自编码器中参数的优化,LRegVAE是这个网络所有参数的平方范数的损失函数项。
优选地,根据所述方法,在所述步骤C-2-1)中所述计算式的各项权重分别是α1=1,α2=0.01。
C-2-2)提取出所述网络的隐含层向量,作为每个模型的隐含层分布的向量表示;
优选地,根据所述方法,正态分布使得通过隐含层空间采样生成新模型是有效的,并且隐含层空间将用于后面循环生成对抗网络的训练。
优选地,根据所述方法,变分自编码器可以将模型编码到一个紧致的隐含层空间中,可以描述合理的变形并生成合理变形的模型。
优选地,根据所述方法,其中模型变形梯度的传播由下面的步骤而完成:
D-1)针对训练好的变分自编码器和相似度网络,以及前述两个模型库的变形梯度和光场距离,用循环生成对抗网络来建立两个模型库分布之间的映射,以步骤A-3)中得到的隐含层向量和模型之间的光场距离作为输入,其中循环生成对抗网络是一种可以学习两个流形之间映射的神经网络。
优选地,根据所述方法,循环生成对抗网络结构如下:
循环对抗生成网络由生成器和判别器构成,为了使得判别器可以有效的区分真实模型和合成模型,本发明把判别器定义在步骤C-2)的解码器之后,在特征空间上判断一个模型是属于真实模型(真),还是合成模型(假)。生成器定义在两个模型库的隐含层分布之间,包括S→T的生成网络G,T→S的生成网络F。生成网络G,F以服从高斯分布N(0,1)的随机向量作为输入,输入向量
Figure BDA0001843665540000144
的维数为K,其中K是隐含层的维数,以生成网络G:S→T为例,之后是5个全连接层,每个全连接层后是leaky ReLU激活函数,最后一层使用tanh激活函数,输入为服从N(0,1)高斯分布的随机向量
Figure BDA0001843665540000145
输出为长度为K的向量
Figure BDA0001843665540000147
反之,生成网络F:T→S的网络结构与生成网络G相同,即网络G,F是两个模型库分布之间的相互映射。其中所述的输出向量
Figure BDA0001843665540000146
经过步骤C-2)所述的解码器解码到变形梯度x∈RV×d,其中V为模型的顶点个数,d为解码器输出的特征的维数,将变形梯度x∈RV×d输入到判别网络,经过两个卷积操作,卷积层之间的激活函数为tanh,该卷积网络和步骤4中所述的卷积操作相同,其中所述的卷积操作由下式确定:
Figure BDA0001843665540000141
其中顶点i的1邻域中的顶点记为nij,其中j∈{1,2,...,Di},Di为顶点i的度数;Wpoint,
Figure BDA0001843665540000142
分别是卷积操作的权重,卷积层的偏移。
在最后一层卷积层,卷积层的输出将被重新排列为一维长向量f∈RμV,其中μ为最后一层卷积的输出维数。之后我们用矩阵C1∈RμV×2048,C2∈R2048×1将向量f线性映射并使用sigmoid激活函数将其映射到一个实数,记作
Figure BDA0001843665540000151
优选的,根据所述方法,该实数表达了是否属于该数据分布的一个置信度。
优选地,根据所述方法,生成网络F和其对应的判别网络也同上述一样。
D-2-1)针对所述的两个生成网络,为了使得两个函数有意义,我们设计了三个正则项,分别是对抗损失,循环一致性损失以及视觉相似性损失。以两个模型库中所有的模型变形梯度和计算的光场距离作为训练数据,进而找到神经网络合适的权重,将训练完成神经网络作为模型变形传播的工具。
优选地,根据所述方法,该网络的损失函数总和为:
LCycleGAN(G,F,DS,DT)=LSim(G,F)+γ1LCycle(G,F)+γ2LGAN(G,F,Ds,DT)
在神经网络训练过程中不断减小LCycleGAN,LCycleGAN的每部分由如下方式获得:
优选地,根据所述方法,如步骤D-1)中所述的生成器和判别器,对抗损失由生成器的损失和判别器的损失构成,生成器的损失目的是让生成器生成逼真的数据,判别器的损失目的是让判别器可以区分生成器生成的数据和源数据,对于生成器G和F,以及判别器DS,DT,根据对抗生成网络的损失函数,建立如下的损失,记为:LGAN(G,F,DS,DT)=LGAN-F+LGAN-G
其中LGAN-F,是生成器F和对应的判别器DS的损失函数,定义如下;
Figure BDA0001843665540000152
其中LGAN-G,是生成器G和对应的判别器DT的损失函数,定义如下:
Figure BDA0001843665540000153
其中,Pdata(·)表示数据的分布,
Figure BDA0001843665540000154
表示期望,映射G用来生成与隐含层空间中
Figure BDA0001843665540000155
具有相似变形的
Figure BDA00018436655400001510
判别器DT用来区分是真实的模型库模型,还是
Figure BDA0001843665540000156
通过解码器DecT所生成的模型。同理,映射F用来生成与隐含层空间中
Figure BDA0001843665540000157
具有相似变形的
Figure BDA0001843665540000158
判别器DS用来区分是真实的模型库模型还是
Figure BDA0001843665540000159
通过解码器DecS所生成的模型。
优选地,根据所述方法,循环一致性损失被用来约束这个网络去产生更加稳定的结果并且避免过拟合,为了确保从一个隐含层映射到另一个隐含层,再映射回来,保证两者是相似的,即F是G的逆映射,G是F的逆映射,这对于两个函数是一个很自然的性质,因此满足如下的条件:
Figure BDA0001843665540000161
Figure BDA0001843665540000162
因此定义如下的循环一致性损失:
Figure BDA0001843665540000163
优选地,根据所述方法,其中使用l1损失来度量两者的误差。
优选地,根据所述方法,该损失可以使得任给隐含层空间中的
Figure BDA0001843665540000164
通过直接恢复成模型和通过映射G和F作用之后的
Figure BDA0001843665540000165
再经过解码器并恢复得到的模型具有视觉上的相似性。
优选地,根据所述方法,步骤B-2)中描述的相似性度量方法,并且该网络目的在于使得变形传播的结果在视觉上具有相似性,通过上述步骤B-2)中训练好的网络,将其施加到生成器G和F上,使得隐含层空间中的
Figure BDA0001843665540000166
映射到
Figure BDA0001843665540000167
以及
Figure BDA0001843665540000168
映射到
Figure BDA0001843665540000169
再通过解码器并恢复出来的模型具有视觉上的相似性,即保证通过网络得到的变形传播之后的模型和源模型在视觉上的相似,我们使用步骤B)中的全连接的相似度度量网络来约束G,F,并定义如下的损失函数:
Figure BDA00018436655400001610
其中,Pdata(·)表示数据的分布,
Figure BDA00018436655400001611
表示期望,V(·,·)表示步骤B)中的网络,输入为两个不同模型库模型在隐含层上的分布向量,输出是一个实数,表示两者的相似程度。
优选地,根据所述方法,在所述步骤D-2-1)中所述计算式的变量为γ1=γ2=2.0。
D-2-2)使用自适应矩估计梯度下降方法(ADAM)训练网络,先计算模型的变形梯度,输入网络,输出变形传播后的模型变形梯度,恢复成网格模型;
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图做详细说明如下。
通过研究现有的模型变形传播方法,发明人发现利用所述方法进行模型变形传播时,现有方法或者需要建立两个模型之间可靠的对应关系来传播变形梯度,或者需要人工标注一些对应关系来辅助建立可靠的对应关系,或者依赖于人工的语义指定对应关系来进行传播,无法找到一种使用性广泛的方法来进行模型变形传播。发明人认为造成所述不足的原因在于,现有的发明没有找到合适的方法来自动建立模型之间的可靠的对应关系,从而使模型变形传播的方法没有广泛使用。
图1是本发明实施例的变形传播方式示意图。如图1所示,本发明提出一种全自动的模型变形传播方法,利用变分自编码器来学习模型在隐含层空间中的分布,通过相似性度量网络和循环生成对抗网络来建立两个模型库隐含层空间的映射关系。所述的网络经过训练,得到两个隐含层之间可靠的映射关系,即通过该映射关系我们可以全自动的完成模型变形的传播。图2是本发明实施例的变形传播的结果示意图。如图2所示,变形传播过程首先将变形梯度通过编码器映射到隐含层上,在通过映射G将其从一个模型库的隐含层空间映射到另一个模型库的隐含层空间,在通过另一个变分自编码器的解码器将隐含层向量解码为变形梯度,再恢复成模型,该模型就是输入模型经过变形传播之后的模型。
图3是本发明实施例的变分自编码器结构示意图,图4是本发明实施例的相似度度量网络结构示意图,图5是本发明实施例的模型之间隐含层分布向量映射网络示意图,图6是本发明实施例的判别器网络示意图,图7是本发明实施例的循环一致性损失函数计算示意图。在所述的网络中,分为三个网络训练,如图3、图4及图5所示,分别是变分自编码器(VAE),相似度度量网络(SimNet),循环生成对抗网络(Cycle-Gan)。变分自编码器的判别器DS,DT如图6所示,其中判别器的循环一致性的损失如图7所示;先对两个模型库的变分自编码器进行训练,得到模型库的隐含层分布,在对相似度度量网络进行训练,最后对循环生成对抗网络进行训练,在训练过程中同时施加相似度损失,循环一致性损失,以及对抗损失,使得网络产生最佳的模型变形传播结果。该网络的训练的方法为自适应的矩估计算法(ADAM),三个网络分别训练5000轮,12000轮,7000轮,学习率为0.001,批量大小为128,对于相似度度量网络,使用学习率衰减的策略,前2000轮学习率为0.00005,批量大小为512,剩下的10000轮使用学习率为0.001,批量大小为128。每次训练都将数据进行随机排序。
如图3所示,本发明提出的变分自编码器(VAE)使用卷积层来提高泛化能力。编码器将顶点上定义的特征作为输入,经过两个卷积层,其中tanh作为激活函数。在最后的卷积层中,放弃了非线性激活函数,然后将卷积层的输出重新排列为一个向量,并通过全连接层映射到128维隐含层空间。解码器具有对称架构,与编码器共享权重和偏差。本发明的实施例中,为源模型集S训练一个VAE,为目标模型集T训练一个VAE。
对于相似度度量网络(SimNet),它的输入包括来自域S和T的隐含层空间的向量。由于隐含层空间不具有空间关系,因此其隐含层分别经过大小为2048,1024,512和256的全连接层,每个全连接层都具有Leaky ReLU作为激活函数,如图4所示。
CycleGAN架构类似于Jun-Yan Zhu等人的“Unpaired Image-to-ImageTranslation using Cycle-ConsistentAdversarial Networks”,但是本发明的生成器定义在隐含层空间上。请参阅图5,由于隐含层空间不具有明确的空间关系,因此生成器G和F是全连接的网络,分别具有512,1024,2048,1024维度的四个全连接层,将一个模型的隐含层向量映射到另一个模型隐含层向量。判别器在特征空间中定义(即在解码器之后),并且旨在对模型是真实的还是合成的进行判别。请参阅图6,鉴别器DS和DT具有2个卷积层和2个全连接的层,循环一致性的损失示意图如图7所示,旨在使得映射G,F可以生成稳定的结果并且避免过拟合。
下面将通过具体的实施例来详细介绍根据本发明的方法。
请再次参阅图2,根据本发明的一个实施例,提供一种全自动的对三维模型进行变形传播。本发明训练好的自动传播变形梯度的网络,适用于和两个三维模型的模型库分别同拓扑的网格模型。编码器将一个模型库中的一个模型编码到隐含层上,再通过隐含层之间的映射关系,将该模型传播到另一个模型库的隐含层空间上,再通过解码器解码得到变形梯度,恢复成模型。例如图2显示的5个动作就是通过这样的方式生成的,第一排为输入,第二排是变形梯度传播到另一个模型上的结果。
利用所述发明方法,使用者可以方便的进行模型的变形的传播,产生与源模型动作相似但拓扑不一致的模型。如图8所示,所述方法具体包括:
步骤S1:分别获取两个不同的包含多个三维模型的模型库,每个模型库中的所有三维模型必须具有相同拓扑结构,即模型的顶点之间连接关系相同,在每个模型库中选择一个三维模型作为该模型库的参考模型,并将除该参考模型以外的三维模型作为样本模型。确定用于训练该网络的模型库,所述模型库中的样本模型和参考模型具有相同的顶点连接关系,顶点间的连接关系相同,指的是该三维模型点的坐标可以变,其余保持相同(例如正方体和长方体)。参考模型是模型库中的一个模型,相当于参考模型是坐标系的原点,本发明所提出的方法是计算两个坐标系之间的映射,并可以把合理的地方映射到合理的地方(比如将一个空间内的x轴映射到另一个空间的x轴),在根据另一个空间中的梯度恢复出来就是变形传播之后的模型。
优选地,例如所述的模型库中,均为有相同人体拓扑结构,但四肢,躯体或者头部姿势不相同的人体模型。
步骤S2:根据该参考模型和该样本模型的顶点坐标计算两个模型库中所有样本模型的每个顶点邻域内变形梯度,其定义在顶点上,有助于神经网络进行卷积操作。
优选地,其中的变形梯度通过以下方式而获得:
步骤S2-1:针对每个样本模型的顶点,计算所述的顶点的变形梯度矩阵,使得所述的变形梯度矩阵最小化相对于所述参考模型的1邻域范围内的能量;顶点的1邻域指的是和该顶点只需经过一条边相连的顶点,能量函数由E(m,i)计算得到;
Figure BDA0001843665540000191
其中,Ni是顶点i的1邻域内包含的所有顶点的索引,顶点j在顶点i的1邻域中;pm,i表示样本模型m上顶点i的三维坐标;pm,j表示样本模型m上顶点j的三维坐标;p1,i表示参考模型1上顶点i的三维坐标,p1,j表示参考模型1上顶点j的三维坐标;Tm,i是模型m上顶点i的仿射变换矩阵;E(m,i)是样本模型m在顶点i上的能量;Tm,i是模型m上顶点i使得能量E(m,i)最小的仿射变换矩阵,称为变形梯度矩阵;
在上述的计算式中,将需要计算变形梯度的模型记为m,针对参考模型1计算在顶点i的1邻域内的能量函数值。在本发明中,参考模型可以使模型库中任意一个模型,并把剩余的模型作为样本模型。
步骤S2-2:对所述的变形梯度矩阵进行极分解,得到每个模型所述顶点上的变形梯度Rm,i;Tm,i=Rm,iSm,i
其中Rm,i,Sm,i为变形梯度Tm,i的极分解,其中Rm,i为正交矩阵,描述顶点i的旋转变换分量,Sm,i为对称矩阵,描述顶点i变形的尺度分量。
步骤S2-3:对每个模型上每个顶点上的变形梯度矩阵转化为旋转轴和旋转角的表示方法;ωm,i,θm,i=φ(Rm,i)
Rm,i的旋转轴(单位向量)乘以旋转角组成一个三维向量,Sm,i是实对称矩阵,因此可以得到六维向量,因此可以合并得到{rm,i,sm,i}∈R9,并且为了让特征符合激活函数tanh的值域范围,将特征的每维都线性映射到区间[-0.95,0.95]上得到
Figure BDA0001843665540000201
最终得到模型m在顶点i的变形梯度
Figure BDA0001843665540000202
这种表示既能描述变形在切平面上的仿射变换,也能描述变形的旋转变换,适用于描述模型的变形。优选地,根据所述方法,其中所述的学习模型库的低维流形分布通过以下步骤完成:
步骤S3:针对步骤S1,S2中所述的模型库,用卷积神经网络构建自编码器,以步骤S2-4中得到的变形梯度作为输入,该自编码器包括编码器和解码器,该解码器和该编码器结构对称,由2个卷积层(卷积操作如图9)、1个重排列层和1个全连接层构成,且共享权值,并具有生成新的模型能力的神经网络;
优选地,根据所选方法,变分自编码器的结构如下:
变分自编码器由编码器和解码器构成,两部分中间为所述的模型库的低维流形分布,另外在隐含层部分还加入一个服从N(0,1)正态分布的扰动,以此使得网络获得生成的能力,编码部分输出模型库低维流形分布,解码部分以此为输入,重建模型库中的模型。编码器部分的变形梯度分解得到的分量作为初始输入X∈RV×9,其中9为变形梯度提取的分量的维数,V为每个模型的顶点个数。这样做的目的是,让网络在训练中习得从高维变形梯度到更低维的局部变形分量间的映射;传统方法设计的特征,往往构造性比较强,本发明中,利用机器学习依靠数据驱动,拟合模型库的分布这一非线性过程,能更普适地应用于各类场景。另外根据所述方法,将正态分布加到隐含层上z=mean+std*N(0,1)作为解码器的输入,经过一个全连接层,重排列层和一系列卷积层,重建模型的变形梯度,进而可以恢复出整个三维模型,并且具有随机生成的能力,可以覆盖模型库所包含的整个空间。
步骤S3-1:针对所述神经网络,设置损失函数,以模型库中所有模型的变形梯度作为训练数据,进行迭代训练,进而找到神经网络可以拟合输入数据又不过拟合的权重,将训练完成的神经网络作为可以体现模型库分布的工具。
优选地,根据所述方法,损失函数为重建误差,相对熵(Kullback–Leiblerdivergence),正则项的加权总和:LVAE=Lrecon1LKL2LRegVAE
在神经网络训练过程中不断减小LVAE
优选地,根据所述方法,在所述步骤S3-1中所述计算式的各项权重分别是α1=1,α2=0.01。
步骤S3-2:提取出所述网络的隐含层向量,作为每个模型的隐含层分布的向量表示;
事实上,作为基于网格卷积的变分自编码器,具有很强的鲁棒性和学习能力,正态分布使得通过隐含层空间采样生成新模型是有效的,并且隐含层空间将用于后面循环生成对抗网络的训练。并且变分自编码器可以将模型编码到一个紧致的隐含层空间中,可以描述合理的变形并生成合理变形的模型。另外,也具有很强的扩展性,后续工作若想让变分自编码器有其他性质,可以在目标函数中加上相应的目标函数。
步骤S4:优选地,根据所述方法,为确保源模型和目标模型视觉上的相似性,我们使用光场距离(LightFeild)来测量视觉相似性。对模型库中每个模型利用论文On VisualSimilarity Based 3D Model Retrieval的方法通过多视角的图像特征来计算每个模型的光场特征,并计算两个模型库任意两个模型之间的光场距离,以此作为网络的监督来训练网络拟合已知的两两模型之间的光场距离并预测任意两个满足模型库分布的模型之间的相似性,通过以下步骤完成:
步骤S4-1:针对步骤S1中的两个模型库,利用上述论文On Visual SimilarityBased 3D Model Retrieval计算出两个模型库中任意两个模型之间的相似度距离,距离越大相似度越低;
步骤S4-2:针对步骤S3中训练好的变分自编码器,可以将模型库中的模型使用在隐含层上的低维向量
Figure BDA0001843665540000221
来表示;
步骤S4-3:针对步骤S4-2中的
Figure BDA0001843665540000222
将这两个向量连接成一个向量作为网络的输入,经过5个全连接层和4个leaky ReLU的激活函数,最后一层使用平方激活函数,得到网络的输出
Figure BDA0001843665540000223
步骤S4-4:针对网络的输出
Figure BDA0001843665540000224
利用已有的模型库的光场距离
Figure BDA0001843665540000225
来监督该网络的训练,构建一个可微的度量两个模型相似性的网络,并建立如下的损失函数:
LSimNet(V)=LDist(V)+βLRegSim
其中β是一个可调节的权重,
Figure BDA0001843665540000226
是一个平均的绝对误差;LRegSim是一个平方范数来避免该网络发生过拟合。
优选地,根据所述方法,该网络不受限于光场距离,任意的描述模型特征的函数都适用与我们的网络。
优选地,根据所述方法,该网络能够感知3D模型领域中复杂的视觉相似性,且任给两个不同模型库的模型的隐含层分布向量,就可以得到这两个模型在视觉上的相似度。
步骤S5:针对步骤S3、S4训练好的变分自编码器和相似度度量网络,以及步骤S1、S2的两个模型库的变形梯度和光场距离,用循环生成对抗网络来建立两个模型库分布之间的映射,以步骤S3-2中得到的隐含层向量和步骤S2中模型之间的光场距离作为输入,其中循环生成对抗网络是一种可以学习两个流形之间映射的神经网络。
优选地,根据所述方法,循环生成对抗网络结构如下:
循环对抗生成网络由生成器和判别器构成,为了使得判别器可以有效的区分真实模型和合成模型,本发明把判别器定义在步骤S-3的解码器之后,在特征空间上判断一个模型是属于真实模型(真),还是合成模型(假)。生成器定义在两个模型库的隐含层分布之间,包括S→T的生成网络G,T→S的生成网络F。生成网络G,F以服从高斯分布N(0,1)的随机向量作为输入,输入向量
Figure BDA0001843665540000229
的维数为K,其中K是隐含层的维数,以生成网络G:S→T为例,由5个全连接层构成,每个全连接层后是leaky ReLU激活函数,最后一层使用tanh激活函数,输入为服从N(0,1)高斯分布的随机向量
Figure BDA0001843665540000227
输出为长度为K的向量
Figure BDA0001843665540000228
反之,生成网络F:T→S的网络结构与生成网络G相同。其中所述的输出向量
Figure BDA0001843665540000231
经过步骤S-3所述的解码器解码到变形梯度x∈RV×d,其中V为模型的顶点个数,d为解码器输出的特征的维数,将变形梯度x∈RV×d输入到判别网络,经过两个卷积操作,卷积层之间的激活函数为tanh,该卷积网络和步骤S4中所述的卷积操作相同,其中所述的卷积操作如图8所示。
在最后一层卷积层,卷积层的输出将被重新排列为一维长向量f∈RμV,其中μ为最后一层卷积的输出维数。之后我们用矩阵C1∈RμV×2048,C2∈R2048×1将向量f线性映射并使用sigmoid激活函数将其映射到一个实数,记作
Figure BDA0001843665540000232
优选的,根据所述方法,该实数表达了是否属于该数据分布的一个置信度。
优选地,根据所述方法,生成网络F和其对应的判别网络也同上述一样。
步骤S5-1:针对所述的两个生成网络,为了使得两个函数有意义,我们设计了三个正则项,分别是对抗损失,循环一致性损失以及视觉相似性损失。以两个模型库中所有的模型变形梯度和计算的光场距离作为训练数据,以找到神经网络合适的权重,将训练完成神经网络作为模型变形传播的工具。
优选地,根据所述方法,该网络的损失函数总和为:
LCycleGAN(G,F,DS,DT)=LSim(G,F)+γ1LCycle(G,F)+γ2LGAN(G,F,Ds,DT)
在神经网络训练过程中不断减小LCycleGAN
优选地,根据所述方法,在所述步骤S5-1)中所述计算式的变量为γ1=γ2=2.0
步骤S5-2:使用自适应矩估计梯度下降方法(ADAM)训练网络,先计算模型的变形梯度,输入网络,输出变形传播后的模型变形梯度,恢复成网格模型;
整个网络由两个变分自编码器,一个相似性度量网络,两个包含循环一致性损失的循环对抗网络,整体的网络结构示意图如图1。我们首先训练得到两个可以描述数据分布的变分自编码器,和一个准确预测两个模型视觉误差的相似度度量网络,最后基于已训练好的变分自编码器和相似度度量网络,再训练循环生成对抗网络,这样得到的模型变形传播效果好于端到端训练的结果,如图9所示。
步骤S6:针对上述训练好的网络,可以将该网络扩展为人工交互的,由于有一些模型是语义上相关的,但是本身形状不相关,如图11,本发明通过人为定义的光场距离,来改变模型之间的对应关系,例如减小语义相关模型的光场距离,增大语义无关的光场距离,以此来训练相似度度量网络和循环生成对抗网络,可以实现语义上的模型传播算法,实验结果如图11,人工指定语义相关的模型如图12,并和传统的语义模型传播算法Ilya Baran等人的“Semantic deformationtransfer”进行了对比。
通过上述实施例可以看出,本发明采用基于大尺度模型表示特征的网格卷积的变分自编码器和循环生成对抗网络,以及使用网络来学习可微的光场距离,算法能适应多种场景,并且能够生成合理、逼真与源模型在视觉上相似的模型。
为了验证本发明的效果,发明人进行了多种仿真实验。
图13,图14及图15说明本发明全自动的模型变形传播算法的传播效果好于传统的非自动的模型传播方法或者和传统的非自动的算法相当。
图16和图17说明本发明可以处理大部分的模型之间的变形传播。
图18显示了本发明在重建任务中模型的精度高于其他方法。
图19表明本发明的变分自编码器可以把真实的数据分布学习到,并且和隐含层的维数无关。
图20显示了本发明的变分自编码器学习到了模型库的分布并可以生成模型库之外的模型。
通过上述仿真实验的结果可以看出,本发明提出可以全自动进行变形传播的方法,可以减少过去方法手工标注对应关系的繁琐流程,并可以实现与传统经典方法相当甚至好于传统方法的结果,另外还可以处理一些其他的任务,例如可以学习模型库本质的分布以及随机生成模型。该发明还具有广泛的适用性,只要网络训练完毕,就可以不断的输入模型而获得和输入模型在视觉上相似的模型。而且也可以通过人工交互增加一些语义的对应,从而传播一些语义上的对应关系。可以看出,根据本发明的方法,所得到的传播效果比现有的技术更加逼真。
以下为与上述方法实施例对应的系统实施例,本实施系统可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施系统中依然有效,为了减少重复,这里不再赘述。相应地,本实施系统中提到的相关技术细节也可应用在上述实施方式中。
本发明还公开了一种全自动的三维模型变形传播系统,其中包括:
变形梯度获取模块,用于获取多个三维模型,在该多个三维模型中选择一个三维模型作为参考模型,并将除该参考模型以外的三维模型作为样本模型,根据该参考模型和该样本模型的顶点坐标,得出该样本模型相对于该参考模型的变形梯度;其中该参考模型与该样本模型具有同拓扑性质。
分布向量获取模块,用于构建基于网格卷积的变分自编码器,对应源模型库的变分自编码器和对应目标模型库的变分自编码器分别具有各自的参数,变分自编码器包括编码器、解码器以及隐含层,该编码器和解码器结构对称且共享权值,其中该变分自编码器用于学习模型库的分布,该变分自编码器拥有生成模型的能力;通过对应源模型库的变分自编码器,以源模型库的变形梯度向量获得源模型库在隐含层上的分布向量,并通过对应目标模型库的变分自编码器,以目标模型库的变形梯度向量获得目标模型库在隐含层上的分布向量。
相似度获取模块,用于构建基于神经网络的三维模型视觉相似的的测量网络,该网络通过已知的不同模型库中两两模型之间的光场距离作为度量两个模型相似度的标准,该网络以此作为损失函数来监督网络并训练网络拟合已知的两两模型之间的光场距离,最终可以预测任意两个满足模型库分布的模型之间的相似性。
映射关系获取模块,通过已训练好的变分自编码器和相似度度量网络,通过已知的模型分布和光场距离来训练该网上的生成器和判别器,生成器负责生成和输入相似的模型,判别器负责判断该模型是生成的模型还是源模型库中的模型,在三个损失函数(对抗损失,循环一致性损失,视觉相似度损失)的监督下得到了最终的全自动模型变形传播模块。
变形传播模块,根据上述三个网络,输入变分自编码器,得到在隐含层上的分布向量,再通过映射函数得到在另一个隐含层空间上的分布向量,再通过解码器得到在另一个模型库上的变形梯度,再恢复成模型得到最后变形传播的结果。
该全自动的三维模型变形传播系统,其中还包括:
三维模型随机生成系统,使用变分自编码器在隐含层上的高斯分布随机采样,通过解码器还原,随机生成满足数据分布的模型。
该全自动的三维模型变形传播系统,其中该神经网络包括:变分自编码器,基于光场距离的相似度度量网络,循环生成对抗网络;
其中所述的卷积操作由下式确定:
Figure BDA0001843665540000261
其中顶点i的1邻域中的顶点记为nij,其中j∈{1,2,...,Di},Di为顶点i的度数;Wpoint
Figure BDA0001843665540000262
分别是卷积操作的权重,卷积层的偏移。
变分自编码器的损失函数为:
LVAE=Lrecon1LKL2LRegVAE
Figure BDA0001843665540000263
其中|S|为模型的个数,s是模型原本的变形梯度,s′为经过变分自编码器“编码-隐向量-解码”后得到的变形梯度。
Figure BDA0001843665540000264
其中
Figure BDA0001843665540000265
是在给定输入s时的后验分布,
Figure BDA0001843665540000266
指的是高斯的先验分布。LRegVAE是这个网络所有参数的平方范数的损失函数。
相似度度量网络的损失函数为:LSimNet(V)=LDist(V)+βLRegSim
其中β是一个可调节的权重,
Figure BDA0001843665540000267
是一个平均的绝对误差;LRegSim是一个平方范数来避免该网络发生过拟合。
循环生成对抗网络的损失函数为:
LCycleGAN(G,F,DS,DT)=LSim(G,F)+γ1LCycle(G,F)+γ2LGAN(G,F,DS,DT)
其中,根据对抗生成网络的损失函数,建立如下的损失,记为:
LGAN(G,F,DS,DT)=LGAN-F+LGAN-G
其中LGAN-F,是生成器F和对应的判别器DS的损失函数,定义如下;
Figure BDA0001843665540000268
其中LGAN-G,是生成器G和对应的判别器DT的损失函数,定义如下:
Figure BDA0001843665540000269
循环一致性损失:
Figure BDA0001843665540000271
其中使用l1损失来度量两者的误差。
使用全连接的相似度度量网络来约束G,F,并定义如下的损失函数:
Figure BDA0001843665540000272
其中Pdata(·)表示数据的分布,
Figure BDA0001843665540000273
表示期望,V(·,·)表示相似度度量网络。所述计算式的变量为γ1=γ2=2.0。
虽然本发明以上述实施例公开,但具体实施例仅用以解释本发明,并不用于限定本发明,任何本技术领域技术人员,在不脱离本发明的构思和范围内,可作一些的变更和完善,故本发明的权利保护范围以权利要求书为准。

Claims (10)

1.一种全自动的模型变形传播方法,其特征在于,包括:
将第一模型和该第一模型变形生成的第一样本模型构建为第一模型库,以该第一样本模型相对该第一模型的变形梯度为第一变形梯度向量;
将第二模型和该第二模型变形生成的第二样本模型构建为第二模型库,以该第二样本模型相对该第二模型的变形梯度为第二变形梯度向量;
通过第一变分自编码器,以该第一变形梯度向量获得该第一模型库的第一分布向量;
通过第二变分自编码器,以该第二变形梯度向量获得该第二模型库的第二分布向量;
通过相似度度量网络,以该第一分布向量和该第二分布向量,获得该第一模型库与该第二模型库之间任一对模型的相似度;
构建循环生成对抗网络,由该第一分布向量、该第二分布向量和该相似度训练该循环生成对抗网络,以建立表示该第一分布向量和该第二分布向量之间映射关系的映射网络;
将该第一模型的指定变形过程对应的指定变形梯度向量,通过该第一变分自编码器生成指定分布向量,并由该映射网络映射为该第二模型的目标分布向量,通过该第二变分自编码器将该目标分布向量解码为该第二模型的目标变形梯度,并得到该第二模型的目标变形过程。
2.如权利要求1所述的全自动的模型变形传播方法,其特征在于,以该第一模型的顶点坐标和该第一样本模型的顶点坐标,获得该第一模型库的变形梯度,并转化为以旋转轴和旋转角表示的该第一变形梯度向量;以该第二模型的顶点坐标和该第二样本模型的顶点坐标,获得该第二模型库的变形梯度,并转化为以旋转轴和旋转角表示的该第二变形梯度向量。
3.如权利要求1所述的全自动的模型变形传播方法,其特征在于,通过卷积神经网络构建该第一变分自编码器,其中该第一变分自编码器包括第一编码器、第一解码器和第一隐含层,该第一编码器和该第一解码器具有对称的结构及相同的权值,该第一分布向量为该第一变形梯度向量通过该第一编码器训练得到的在该第一隐含层上的分布向量;通过卷积神经网络构建该第二变分自编码器,其中该第二变分自编码器包括第二编码器、第二解码器和第二隐含层,该第二编码器和该第二解码器具有对称的结构及相同的权值,该第二分布向量为该第二变形梯度向量通过该第二编码器训练得到的在该第二隐含层上的分布向量。
4.如权利要求1所述的全自动的模型变形传播方法,其特征在于,通过神经网络构建该相似度度量网络,并以该第一模型库与该第二模型库之间的任一对模型的光场距离,对该相似度度量网络进行训练。
5.如权利要求3所述的全自动的模型变形传播方法,其特征在于,以该指定变形梯度向量通过该第一编码器获得该指定分布向量,并通过该映射网络映射到该目标分布向量,并以该目标分布向量通过该第二解码器获得该目标变形梯度向量。
6.一种全自动的模型变形传播系统,其特征在于,包括:
变形梯度获取模块,用于将第一模型和该第一模型变形生成的第一样本模型构建为第一模型库,以该第一样本模型相对该第一模型的变形梯度为第一变形梯度向量;并将第二模型和该第二模型变形生成的第二样本模型构建为第二模型库,以该第二样本模型相对该第二模型的变形梯度为第二变形梯度向量;
分布向量获取模块,用于通过第一变分自编码器,以该第一变形梯度向量获得该第一模型库的第一分布向量;并通过第二变分自编码器,以该第二变形梯度向量获得该第二模型库的第二分布向量;
相似度获取模块,用于通过相似度度量网络,以该第一分布向量和该第二分布向量,获得该第一模型库与该第二模型库之间的任一对模型的相似度;
映射关系获取模块,用于构建循环生成对抗网络,并由该第一分布向量、该第二分布向量和该相似度训练该循环生成对抗网络,以建立表示该第一分布向量和该第二分布向量映射关系的映射网络;
变形传播模块,用于将该第一模型的指定变形过程对应的指定变形梯度向量,通过该第一变分自编码器生成指定分布向量,并由该映射网络映射为该第二模型的目标分布向量,通过该第二变分自编码器将该目标分布向量解码为该第二模型的目标变形梯度,并得到该第二模型的目标变形过程。
7.如权利要求6所述的全自动的模型变形传播系统,其特征在于,该变形梯度获取模块具体包括:
第一变形梯度模块,用于以该第一模型的顶点坐标和该第一样本模型的顶点坐标,获得该第一模型库的变形梯度,并转化为以旋转轴和旋转角表示的该第一变形梯度向量;
第二变形梯度模块,用于以该第二模型的顶点坐标和该第二样本模型的顶点坐标,获得该第二模型库的变形梯度,并转化为以旋转轴和旋转角表示的该第二变形梯度向量。
8.如权利要求6所述的全自动的模型变形传播系统,其特征在于,该分布向量获取模块还包括:
第一变分自编码器构建模块,用于通过卷积神经网络构建该第一变分自编码器,其中该第一变分自编码器包括第一编码器、第一解码器和第一隐含层,该第一编码器和该第一解码器具有对称的结构及相同的权值,该第一分布向量为该第一变形梯度向量通过该第一编码器训练得到的在该第一隐含层上的分布向量;
第二变分自编码器构建模块,用于通过卷积神经网络构建该第二变分自编码器,其中该第二变分自编码器包括第二编码器、第二解码器和第二隐含层,该第二编码器和该第二解码器具有对称的结构及相同的权值,该第二分布向量为该第二变形梯度向量通过该第二编码器训练得到的在该第二隐含层上的分布向量。
9.如权利要求6所述的全自动的模型变形传播系统,其特征在于,该相似度获取模块中,通过神经网络构建该相似度度量网络,并以该第一模型库与该第二模型库之间的任一对模型的光场距离,对该相似度度量网络进行训练。
10.如权利要求8所述的全自动的模型变形传播系统,其特征在于,该变形传播模块中,以该指定变形梯度向量通过该第一编码器获得该指定分布向量,并通过该映射网络映射到该目标分布向量,并以该目标分布向量通过该第二解码器获得该目标变形梯度向量。
CN201811259927.1A 2018-10-26 2018-10-26 一种全自动的模型变形传播方法和系统 Active CN109544666B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811259927.1A CN109544666B (zh) 2018-10-26 2018-10-26 一种全自动的模型变形传播方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811259927.1A CN109544666B (zh) 2018-10-26 2018-10-26 一种全自动的模型变形传播方法和系统

Publications (2)

Publication Number Publication Date
CN109544666A CN109544666A (zh) 2019-03-29
CN109544666B true CN109544666B (zh) 2020-10-16

Family

ID=65845337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811259927.1A Active CN109544666B (zh) 2018-10-26 2018-10-26 一种全自动的模型变形传播方法和系统

Country Status (1)

Country Link
CN (1) CN109544666B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110660128B (zh) * 2019-09-23 2023-08-11 云南电网有限责任公司电力科学研究院 一种基于生成对抗网络的三维语义场景重建方法
US11729190B2 (en) * 2019-10-29 2023-08-15 General Electric Company Virtual sensor supervised learning for cyber-attack neutralization
CN111047690B (zh) * 2019-12-23 2023-12-15 北京奇艺世纪科技有限公司 模型构建方法和装置、存储介质和电子装置
CN112215055A (zh) * 2020-08-15 2021-01-12 天津大学 一种基于单分类方法的检测输电线路中导线缺陷的方法
CN112699952B (zh) * 2021-01-06 2021-08-24 哈尔滨市科佳通用机电股份有限公司 基于深度学习的列车故障图像扩增方法及系统
CN114511534B (zh) * 2022-01-28 2023-05-05 江苏泰和木业有限公司 一种基于图像处理的pc板裂纹判断方法及系统
CN116052724B (zh) * 2023-01-28 2023-07-04 深圳大学 肺音增强方法、系统、设备和存储介质
CN117688319B (zh) * 2023-11-10 2024-05-07 山东恒云信息科技有限公司 一种使用ai分析数据库结构的方法
CN117610717B (zh) * 2023-11-13 2024-08-02 重庆大学 一种基于双变分级联自编码器的信息流行度预测方法
CN117727307B (zh) * 2024-02-18 2024-04-16 百鸟数据科技(北京)有限责任公司 基于特征融合的鸟类声音智能识别方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1332360C (zh) * 2004-10-26 2007-08-15 中国科学院计算技术研究所 一种用计算机创建三维运动的方法
CN100545871C (zh) * 2006-05-12 2009-09-30 中国科学院自动化研究所 一种直接传递三维模型姿态的方法
US7768628B2 (en) * 2006-10-12 2010-08-03 Hewlett-Packard Development Company, L.P. Contact lithography apparatus and method
CN101719284B (zh) * 2009-12-25 2011-08-31 北京航空航天大学 一种基于层次模型的虚拟人皮肤物理变形方法
US9245176B2 (en) * 2012-08-01 2016-01-26 Disney Enterprises, Inc. Content retargeting using facial layers
US9202300B2 (en) * 2013-06-20 2015-12-01 Marza Animation Planet, Inc Smooth facial blendshapes transfer
CN106767928A (zh) * 2017-01-13 2017-05-31 中国电子科技集团公司第二十八研究所 一种自适应快速传递对准方法
CN106949844A (zh) * 2017-04-18 2017-07-14 新汶矿业集团有限责任公司 一种井筒井壁变形自动测量仪及其工作方法
CN108520513A (zh) * 2018-03-30 2018-09-11 中国科学院计算技术研究所 一种三维模型局部变形分量提取方法和系统

Also Published As

Publication number Publication date
CN109544666A (zh) 2019-03-29

Similar Documents

Publication Publication Date Title
CN109544666B (zh) 一种全自动的模型变形传播方法和系统
Wang et al. Hierarchical attention learning of scene flow in 3d point clouds
CN108921926B (zh) 一种基于单张图像的端到端三维人脸重建方法
Chen et al. Visibility-aware point-based multi-view stereo network
CN111161364B (zh) 一种针对单视角深度图的实时形状补全和姿态估计方法
CN112396703A (zh) 一种单图像三维点云模型重建方法
CN110223370B (zh) 一种从单视点图片生成完整人体纹理贴图的方法
CN110288695A (zh) 基于深度学习的单帧图像三维模型表面重建方法
CN106971414A (zh) 一种基于深度循环神经网络算法的三维动画生成方法
Demir et al. Skelneton 2019: Dataset and challenge on deep learning for geometric shape understanding
CN105427360B (zh) 一种动态网格的误差可控cage序列表示算法
Wei et al. Conditional single-view shape generation for multi-view stereo reconstruction
CN113052955A (zh) 一种点云补全方法、系统及应用
CN111797692B (zh) 一种基于半监督学习的深度图像手势估计方法
CN116385667B (zh) 三维模型的重建方法、纹理重构模型的训练方法以及装置
Zhu et al. Nonlocal low-rank point cloud denoising for 3-D measurement surfaces
Li et al. Image-guided human reconstruction via multi-scale graph transformation networks
Maruani et al. Voromesh: Learning watertight surface meshes with voronoi diagrams
CN118229885A (zh) 基于融合体素八叉树和网格渲染的增量式三维重建方法
Han et al. A double branch next-best-view network and novel robot system for active object reconstruction
Gan et al. Fine-grained multi-view hand reconstruction using inverse rendering
Oblak et al. Learning to predict superquadric parameters from depth images with explicit and implicit supervision
CN116486030A (zh) 基于地表图像的三维地质体模型的建模方法和相关装置
CN115393512A (zh) 基于投影损失约束的单帧图像3d人体姿态估计及重建方法
CN114119862A (zh) 基于宽基线光场成像技术的垃圾堆场三维重建方法及系统

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