CN108804094B - 学习自动编码器 - Google Patents
学习自动编码器 Download PDFInfo
- Publication number
- CN108804094B CN108804094B CN201810394084.XA CN201810394084A CN108804094B CN 108804094 B CN108804094 B CN 108804094B CN 201810394084 A CN201810394084 A CN 201810394084A CN 108804094 B CN108804094 B CN 108804094B
- Authority
- CN
- China
- Prior art keywords
- component
- image
- automatic encoder
- learning
- encoder
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 111
- 230000009466 transformation Effects 0.000 claims description 36
- 239000013598 vector Substances 0.000 claims description 23
- 230000002776 aggregation Effects 0.000 claims description 17
- 238000004220 aggregation Methods 0.000 claims description 17
- 238000000844 transformation Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 5
- 230000014616 translation Effects 0.000 claims description 5
- 238000013459 approach Methods 0.000 abstract description 7
- 238000004519 manufacturing process Methods 0.000 description 12
- 238000011176 pooling Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 235000013361 beverage Nutrition 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010413 gardening Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24143—Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/14—Transformations for image registration, e.g. adjusting or mapping for alignment of images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
- G06V20/653—Three-dimensional objects by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/1916—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/04—Indexing scheme for image data processing or generation, in general involving 3D image data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Image Analysis (AREA)
- Architecture (AREA)
Abstract
本发明显著地涉及用于学习自动编码器的计算机实现的方法。该方法包括提供图像的数据集。每个图像包括相应的对象表示。该方法还包括基于数据集来学习自动编码器。学习包括最小化重建损失。重建损失包括针对每个相应图像惩罚距离的项。惩罚的距离处于将自动编码器应用于相应图像的结果与将变换的组的至少一部分应用于相应图像的对象表示的结果集合之间。这种方法提供了学习自动编码器的改进的解决方案。
Description
技术领域
本发明涉及计算机程序和系统领域,并且更具体地涉及用于学习自动编码器的方法、设备、数据结构和程序。
背景技术
市场上提供了很多用于对象的设计、工程以及制造的系统和程序。CAD是计算机辅助设计的首字母缩写,例如,CAD涉及用于对对象进行设计的软件解决方案。CAE是计算机辅助工程的首字母缩写,例如,CAE涉及用于对未来产品的物理行为进行仿真的软件解决方案。CAM是计算机辅助制造的首字母缩写,例如,CAM涉及用于对制造工艺和操作进行定义的软件解决方案。在这样的计算机辅助设计系统中,图形用户接口对于技术的效率起到重要作用。这些技术可以嵌入到产品生命周期管理(PLM)系统中。PLM是指这样的商业策略:跨越扩展企业的概念而帮助公司来共享产品数据、应用公共过程以及利用企业知识来从概念至产品的生命结束地开发产品。由Dassault Systèmes提供的PLM解决方案(商标为CATIA、ENOVIA以及DELMIA)提供了组织产品工程知识的工程中心、管理制造工程知识的制造中心、以及使得企业能够集成并连接到工程及制造中心的企业中心。该系统一起提供了开放的对象模型,其将产品、过程、资源链接起来以实现动态的且基于知识的产品创造与决策支持,这驱动优化的产品定义、制造准备、生产以及服务。
在该上下文和其他上下文中,机器学习,并且尤其是自动编码器和/或流形学习变得非常重要。
以下论文涉及该领域,并且在下文中提及:
[1]:“Stacked Denoising Autoencoders:Learning Useful Representationsin Deep Network with a Local Denoising Criterion”,P.Vincent,H.Larcohelle,I.Lajoie,Y.Bengio,P.Manzagol,Journal of Machine Learning Research,2010。
[2]:“Reducing the Dimensionality of Data with Neural Networks”,G.E.Hinton,R.R.Salakhutdinov,Science,2006。
[3]:“Generalized Denoising Auto-Encoders as Generative Models”,Y.Bengio,L.Yao,G.Alain,P.Vincent,Advances in Neural Information ProcessingSystems,2013。
[4]:“Learning Deep Architectures for AI”,Y.Bengio,Foundations andTrends in Machine Learning,2009。
[5]:“Extracting and Composing Robust Features with DenoisingAutoencoders”,P.Vincent,H.Larochelle,Y.Bengio,P.Manzagol,W.Cohen,A.Mcallum,S.Roweis,International Conference on Machine Learning,2008。
[6]:“Greedy Layer-Wise Training of Deep Networks”,Y.Bengio,P.Lamblin,D.Popovici,H.Larcohelle,B.J.Platt,T.Hoffman,Neural InformationProcessing Systems,2007。
[7]:“Auto-Encoding Variational Bayes”,D.Kingma,M.Winging,International Conference on Learning Representations,2014。
[8]:“Stochastic Backpropagation and Approximate Inference in DeepGenerative Models”,D.Rezende,S.Mohamed,D.Wierstra,International Conference onMachine Learning,2014。
[9]:“Generative Adversarial Nets”,I.Goodfellow,J.Pouget-Abadie,M.Mirza,B.Xu,D.Warde-Farley,S.Ozair,A.Courville,Y.Bengio,Advances in NeuralInformation Processing Systems,2014。
[10]:“A Fast Learning Algorithm for Deep Belief Nets”,G.Hinton,S.Osindero,Y.The,Neural Computation,2006。
给定表示来自同一类的示例样本的图像的数据集(例如,椅子的2D图像的数据集或汽车的3D模型的数据集),自动编码器学习(在[1,2]中解释)旨在学习该数据集的原始输入空间与低维空间(通常称为潜在空间)之间的映射(编码器)。此外,自动编码器还学习从潜在空间到原始输入空间的反向映射(解码器)。自动编码器的学习质量可以作为自动编码器对输入进行编码的容量来测量,并且然后根据预定的距离将已编码的输入解码回接近输入的输出。
在该上下文中,仍然存在对用于学习自动编码器的改进解决方案的需求。
发明内容
因此提供了一种用于学习自动编码器的计算机实现的方法。该方法包括提供图像的数据集。每个图像包括相应的对象表示。该方法还包括基于数据集来学习自动编码器。学习包括重建损失的最小化。重建损失包括针对每个相应图像惩罚距离的项。惩罚的距离处于将自动编码器应用于相应图像的结果与将变换的组的至少一部分应用于相应图像的对象表示的结果集合之间。
该方法可以包括以下中的一个或多个:
-自动编码器关于变换的组的至少一部分是不变的;
-自动编码器包括:变换组件、聚合组件、编码组件以及解码组件,变换组件被配置为将变换的组的至少一部分中的每个变换应用于输入图像的对象表示,聚合组件被配置为应用于源自变换组件的结果;
-编码组件被配置为并行地应用于变换组件的每个结果;
-聚合组件被配置为应用于编码组件的结果;
-解码组件被配置为应用于聚合组件的结果;
-编码组件和/或解码组件包括卷积神经网络;
-源自聚合组件被配置为应用于的第一组件的结果是具有相同大小的向量,聚合组件输出具有相同大小的向量,该向量针对每个坐标具有值,该值等于聚合组件被配置为应用于的向量的所述坐标的值之中的最大值;
-图像是表面占用3D模型,变换的组包括平移;和/或
-对象表示各自是同一类对象的实例的表示,数据集的每个图像具有非定向框架,每个对象表示在非定向框架中对齐,变换的组包括从非定向框架中的一个对齐到非定向框架中的另一对齐的全部旋转。
还提供了包括编码器、解码器和/或通过该方法可学习的整个自动编码器的信息。整个自动编码器由自动编码器本身组成。自动编码器包括:编码器,其被配置为例如将属于图像空间的任何输入编码为属于潜在空间的向量;以及解码器,其被配置为将属于潜在空间的任何向量解码为属于图像空间的输出。这样提供的信息可以以任何方式使用。
还提供了一种包括用于执行该方法和/或该过程的指令的计算机程序。
还提供了一种包括信息和/或程序的数据结构。
还提供了一种其上记录有数据结构的计算机可读存储介质。
还提供了一种包括其上记录有数据结构的数据存储介质的设备。该设备可以形成非暂时性计算机可读介质。可替代地,该设备可以包括耦合到数据存储介质的处理器。该设备因此可以形成系统。该系统还可以包括耦合到处理器的图形用户接口。
附图说明
现在将通过非限制性示例的方式并且参照附图对本发明的实施例进行描述,其中:
-图1示出了方法的示例的流程图;
-图2示出了系统的图形用户接口的示例;
-图3示出了系统的示例;以及
-图4-6示出了方法。
具体实施方式
图1示出了用于学习自动编码器的方法的示例。
如从这种学习经典的,该方法包括提供S10图像的数据集并且基于数据集来学习S20自动编码器。学习包括重建损失的最小化。最小化可以以任何方式执行并且可以构成精确最小化或伪最小化。对于数据集的每个相应图像,重建损失包括或由以下组成:针对数据集的相应图像惩罚距离的相应项。该距离可以是相同距离函数针对每个相应图像的值。
现在,在该方法的情况下,每个图像包括相应的对象表示。然后,对于每个给定图像,在重建损失中惩罚的距离是处于将自动编码器应用于给定图像的结果与将变换的组的至少一部分应用于给定的图像的对象表示的结果集合之间的距离。距离可以是具有图像类型的元素与各自具有图像类型的元素集合之间的任何距离。该距离可以实现图像距离,即,具有图像类型的两个元素之间的距离。距离例如可以是各自处于给定图像与将变换的组的至少一部分应用于给定图像的对象表示的结果集合中的相应一个结果之间的图像距离的最小值。
将变换应用于图像的对象表示相当于对图像进行处理,使得结果图像具有相同的格式,其中根据变换在结果图像中修改对象表示。变换的组是适用于图像的对象表示的任何操作集合。该集合可以形成代数组。变换的组和/或该组的至少一部分对于数据集的所有图像可以是相同的集合。变换的组可以包括几何变换或由几何变换组成,例如包括或由以下组成:一个或多个(例如,所有)平移、一个或多个(例如,所有)旋转、一个或多个(例如,所有)刚性运动、一个或多个(例如,所有)等距变换、诸如一个或多个(例如,所有)拉伸或缩放变换的一个或多个非等距变换或其任何组合。
这种方法改进了自动编码器学习。
显著地,通过该方法学习的自动编码器相对于对象表示关于变换的组的变化性而言相对更准确。事实上,通过针对每个相应图像使用对变换对象表示无关紧要的惩罚项(符合变换的组的所提供部分),学习可以集中在重建的其他方面,例如,几何重建而不是取向。由于重建损失的特定距离惩罚项,学习使得自动编码器设置有根据所述变换的组的至少一部分中的任何一个来变换相应图像的对象表示的自由度。换言之,自动编码器被授权通过将所述变换的组的至少一部分中的任何一个应用于在输入图像中表示的对象来修改每个输入图像,而不会使这样的修改对所述重建损失的项具有影响。这种自由度为最小化提供了新的可能性。由此,最终学习的自动编码器相对于不提供这种自由度的现有技术的重建损失被改进,例如,其中在重建损失中惩罚的唯一距离处于将自动编码器应用于数据集的相应图像的结果与如其本身的(即,没有任何变换)相应图像之间。
变换的组可以是预定的并且对应于学习对所述变换的组无关紧要的自动编码器的目标(如上面解释的)。出于这个原因,通过该方法学习的自动编码器可以被称为“商”自动编码器,并且重建损失可以被称为“商”损失。
现在,变换的组可以是有限的或无限的。在有限组变换的情况下,可以通过最小化来考虑所有变换(即,组的至少一部分由整个组组成)。在所有情况下,并且显著地在无限组的情况下,可以考虑其严格的子部分。在所有情况下,组的一部分可以是组的采样,例如,定期采样(例如,根据对该组定义的概率度量(例如,统一度量),显著地在李氏群的情况下,例如旋转组)。采样可能是相对密集的采样。这允许进行鲁棒的学习。
该方法设想的图像是表示物理信号的空间分布的数据结构,例如在场景上,例如分布是分段连续的。空间分布可以是任何维度的,例如,2D或3D。空间分布可以是任何形状的,例如,形成网格并且由此定义像素,网格可能不规则或规则。物理信号可以是任何信号,例如,颜色、灰度水平、深度、表面或体积占用率,使得图像可以是2D或3D RGB/灰度/深度图像或3D表面/体积占用率模型。图像可以是诸如设计的3D建模对象的合成图像,或者可替代地是诸如照片的自然图像。例如,在上面提及的示例类型中,所提供的图像和/或自动编码器要应用于的图像可以全部是相同类型的。
该方法设想的图像是建模对象。建模对象是由例如存储在数据库中的数据定义的任何对象。引申开来,表达方式“建模对象”指定数据本身。根据系统的类型,建模对象可以由不同种类的数据定义。系统实际上可以是CAD系统、CAE系统、CAM系统、PDM系统、和/或PLM系统的任何组合。在这些不同的系统中,建模对象由对应的数据定义。本领域技术人员可以相应地提及CAD对象、PLM对象、PDM对象、CAE对象、CAM对象、CAD数据、PLM数据、PDM数据、CAM数据、CAE数据。然而,这些系统不是互相排斥的,因为建模对象可以由对应于这些系统的任何组合的数据来定义。系统因此也可以是CAD系统和PLM系统两者。
CAD系统附加地表示至少适用于在建模对象的图形表示的基础上来设计建模对象的任何系统,例如,CATIA。在这种情况下,定义建模对象的数据包括允许建模对象的表示的数据。例如,CAD系统可以使用边或线(在某些情况下使用表面或面)来提供CAD建模对象的表示。可以以诸如非均匀有理B样条(NURBS)的各种方式来表示线、边、或面。特别地,CAD文件包含规格,根据规格可以生成几何结构,这接下来允许生成表示。建模对象的规格可以存储在单个CAD文件或多个CAD文件中。表示CAD系统中的建模对象的文件的典型大小在每个零件一兆字节的范围内。并且建模对象典型地可以是成千上万个零件构成的组装件。
在CAD的上下文中,建模对象典型地可以是3D建模对象,例如,表示诸如零件或零件构成的组装件的产品,或者可能是产品构成的组装件。“3D建模对象”表示由允许其3D表示的数据建模的任何对象。3D表示允许从所有角度来查看该零件。例如,当对3D建模对象进行3D表示时,可以围绕其轴中的任一个轴或围绕显示该表示的屏幕中的任何轴来对3D建模对象进行处理并转动。这显著地排除了非3D建模的2D图标。3D表示的显示有助于进行设计(即,提高了设计人员统计地完成其任务的速度)。因为产品的设计是制造过程的一部分,所以这加速了工业中的制造过程。
数据集的3D建模对象可以表示以下产品的几何结构,该产品在利用例如CAD软件解决方案或CAD系统完成其虚拟设计之后将在真实世界中进行制造:例如,(例如,机械的)零件或零件构成的组装件(或者等同地,零件构成的组装件,因为零件构成的组装件从该方法的观点可以看作零件本身,或者该方法可以独立地应用于组装件中的每个零件),或者更一般地任何刚性体组装件(例如,移动机构)。CAD软件解决方案允许对各种且不受限制的工业领域中的产品进行设计,包括:航空航天、建筑、建造、消费品、高科技设备、工业装备、运输、船舶、和/或海上石油/天然气生产或运输。因此,通过该方法设计的3D建模对象可以表示可以是任何机械零件的工业产品,例如,陆地交通工具的一部分(包括例如汽车和轻型卡车装备、赛车、摩托车、卡车和电机装备、卡车和公共汽车、火车)、航空交通工具的一部分(包括例如机身装备、航空航天装备、推进装备、国防产品、飞机装备、空间装备)、航海交通工具的一部分(包括航海装备、商船、近海装备、游艇和工作船、船舶装备)、一般机械零件(包括例如工业制造机械、重型移动机械或装备、安装装备、工业装备产品、制造金属产品、轮胎制品等)、机电或电子零件(包括例如消费电子、安全和/或控制和/或仪表化产品、计算和通信装备、半导体、医疗设备和装备)、消费品(包括例如家具、家居和园艺产品、休闲用品、时尚产品、硬商品零售商的产品、软商品零售商的产品)、包装(包括例如食品和饮料和烟草、美容和个人护理、家用产品包装)。
数据集可以包括图像或由图像组成,其中对象表示各自是同一类对象的实例的表示。表达方式“对象类”指定可以在图像中实例化的任何类的实体(即,对象)。如果对象类的对象(换言之,类的实例)在图像中表示,则称对象类在图像中实例化。
该方法提供的数据集可以包括具有相同类的非对齐对象表示的图像。数据集可以直接输入到学习中(即,如其本身的)。换言之,该方法可以排除将对象表示对齐的任何预处理。另外,自动编码器可以被配置为当具有同一类的对象表示的图像被输入(图像被输入为对齐或者不全部对齐)时,使其所有输出对齐或大体上对齐。
该方法设想的框架(或“参考框架”或“基础”)可以是正交框架(即,定义三个正交方向)。该方法设想的框架可以具有原点,或者可替代地不具有原点。该方法设想的框架可以是定向的或非定向的。
图像可以具有框架,框架可以具有原点和/或取向。图像的框架确定例如通过该方法如何处理图像。例如,2D矩形图像具有(x,y)框架,并且例如3D图像具有(x,y,z)框架。图像可以设置有框架或间接定义所述框架的取向,由此可以确定该图像。图像的框架与图像之间的关系(即,相对定位)对于数据集的所有图像可以是相同的。
类的每个对象可以具有(例如,独特的和/或自然的)非定向框架,并且相应地具有与自然的非定向框架的不同取向相对应的若干自然的定向框架。换言之,类可以由这种预定的非定向和/或定向框架来定义。例如,汽车类或椅子类具有自然的定向框架,其中z轴对应于从下到上的方向,x轴对应于当坐在对象上或在对象中时从左到右的方向,并且y轴对应于当坐在对象上或在对象中时从后到前的方向。图像中的对象表示的框架指定虚拟框架,其对应于如何在图像中表示对象的框架。
如果对象表示的非定向框架等于图像的非定向框架,则可以称图像的对象表示与图像的非定向框架对齐。如果在图像的定向框架对齐时对象表示的定向框架也对齐,则可以称不同图像的对象表示对齐。
一般地,任何学习都可以在非对齐模型上完成。但是需要专用的数据来使模型自行学习旋转变化,这在现有技术中降低了学习在速度和质量方面的性能。此外,在现有技术中,对于自动编码器的给定架构,当模型不对齐时,潜在向量对模型的几何结构的表达较少,因为除了固有形状之外,潜在向量还必须对旋转概念进行编码。
与该方法不同的解决方案可以是预处理数据集以使图像共同对齐。现在参考以下文章对其进行讨论:
[11]:“Alignment of 3D models”,M.Chaouch,A.Verroust-Blondet,International Conference on Shape Modeling and Applications,2008。
[12]:“Autocorrelation Descriptor for Efficient Co-Alignment of 3DShape Collections”,M.Averkiou,V.Kim,N.Mitra,Computer Graphics Forum,2016。
[13]:“Co-registration of Surfaces by 3D Least Squares Matching”,D.Akca,Photogrammetric Engineering and Remote Sensing,2010。
[14]:“Registration of 3D Point Clouds and Meshes:A Survey From Rigidto Non-Rigid”,G.Tam,Z.Cheng,Y.Lai,F.Langbein,Y.Liu,A.David Marshall,R.Martin,X.Sun,P.Rosein,IEEE Transactions on Visualization and Computer Graphics,2013。
[15]:“A Segmentation Transfer Approach for Rigid Models”,E.Elghoul,A.Verroust-Blondet,M.Chaouch,Journal of Information Science and Engineering,2015。
[16]:“Consistent Segmentation of 3D Models”,A.Golovinskiy,T.Funkhouser,Computer and Graphics,2009。
[17]:“Joint Shape Segmentation with Linear Programming”,Q.Huang,V.Koltun,L.Guibas,SIGGRAPH Asia,2011。
[18]:“Active Co-Analysis of a Set of Shapes”,Y.Wang,S.Asafi,O.VanKaick,H.Zhang,D.Cohen-Or,B.Chen,SIGGRAPH Asia,2012。
[19]:“Learning Part-based Templates from Large Collections of3DShapes”,V.Kim,W.Li,N.Mitra,S.Chaudhuri,S.DiVerdi,T.Funkhouser,SIGGRAPH,2013。
共同对齐包括将图像的数据集(例如,3D模型)在同一框架中对齐。共同对齐有时被称为刚性配准。存在许多共同对齐3D模型的技术,其有时基于对称性和相关性分析[11,12],有时基于连续能量的最小化[13,14]。共同分段包括对3D模型的数据集分段,使得3D模型的每个分段在其他模型中的每个模型中具有对应的分段。已经开发了许多方法来解决这个问题,例如,使用图聚类[16]、线性编程[17]等。共同对齐和共同分段也可以在共同分析构架中同时完成,如在[15,19]中那样完成。
但是许多缺点是现有方法固有的。有些需要人工监督[18],而其他需要形状具有低变化性。有些方法还需要非常干净的网格以便能够计算准确的特征。一些方法通过每个元素相对于一个参考网格的成对匹配来计算所有数据集的对齐,但不能一次利用整个数据集来计算一致的框架。此外,当数据集已经对齐时,没有快速的方法来共同对齐新的3D模型。最后,如果出现一些错误,流形学习不能在不利用数据增量学习所有可能的旋转的情况下校正对齐中的错误。同样的缺点也适用于共同分段方法。
由于该方法可以排除将对象表示对齐的任何这种预处理,所以该方法不存在所述缺点。
通过该方法学习的自动编码器可以用于任何应用,例如,在原始空间中进行实际的非线性插值,提取数据中的有意义的特征,和/或将数据压缩成紧凑表示。
自动编码器可以包括两个前馈深度神经网络的合成物([4]),其可以标注为fW:和gW′:通过W和W'参数化,其中p<<m,p是潜在空间的维度,而m是原始输入空间的维度。fW称为编码器,并且gW′称为解码器。z=f(x)称为潜在(或隐藏)向量。
使为图像的输入数据集,其中n为样本数。
现有技术的学习方法可以通过优化重建损失 来学习自动编码器自动编码器,其中是比较输入样本和自动编码器重建的样本的距离,例如,可以是L2范数。该方法根据这个原理来执行,但是在重建损失中所涉及的惩罚项的定义方面具有差异,如上面提及并且在下文中进一步详述的。
在示例中,可以通过对每个样本xi+η应用随机噪声并且训练自动编码器以重建干净版本xi来使学习过程更加鲁棒。在这种情况下,通过该方法学习的自动编码器的该版本可以称为“去噪自动编码器”(如[5]中所解释的)。
在示例中,该方法可能以贪婪的分层方式来预训练架构,如[6]中所解释的,称为“堆栈式自动编码器”的版本。
许多架构可以用于fW和gW′。对于空间结构化的数据(例如,图像或3D形状),可以实现卷积神经网络(CNN),因为它们被证明是非常强大的。
对于降低数据维度的编码器f,不存在特别的问题。但该方法还构建了卷积解码器gW′。这样做的简单方法如下。对于中间空间表示I,该方法可以对信号I进行上采样(有时称为上池化的过程),并且然后对其应用经典卷积。这个操作可以称为“上卷积”或“转置卷积”。
在示例中,通过该方法学习的自动编码器可以形成生成式模型(如[3]中所解释的)。生成式模型是学习数据分布的概率模型。因此,自动编码器还可以用于基于其从数据集中学到的内容通过对学习到的数据分布进行采样来合成新的真实模型或图像。
为此,自动编码器可以例如形成变化自动编码器(如[7,8]中所解释的)。与[3]相比,变化自动编码器中的采样过程更加高效。变化自动编码器的编码器对qW(z|x)进行建模,并且解码器对pW′(x|z)进行建模,其中z是潜在向量。变化自动编码器在p(z)上施加先验,并且尝试使qW(z|x)尽可能接近p(z|x),以使p(x)的可能性最大化。
该方法可以使用高斯模型,并且因此变化自动编码器类似于深度潜在高斯模型。实际上,可以证明在变化自动编码器中要优化的最终损失可能是自动编码器的传统重建损失加上潜在空间上的正则化项(称为潜在损失),这使得q(z|x)接近p(z|x)。
通过该方法学习的自动编码器因此可以形成传统自动编码器或变化自动编码器。
该方法可以可替代地形成任何其他生成式模型,例如,生成式敌对网络(如[9]中所解释的)或深度信念网络(如[10]中所解释的)。
“计算机实现的”表示步骤(或者大体上所有步骤)由至少一个计算机或者任何类似的系统来执行。因此,该方法的步骤由计算机可能全自动或半自动地执行。在示例中,对步骤中的至少一些步骤的触发可以通过用户-计算机交互来执行。所要求的用户-计算机交互的等级可以取决于预见的自动化等级,并且与对实现用户的愿望的需求保持平衡。在示例中,该等级可以是用户定义的和/或预定义的。
该方法的计算机实现的典型示例为使用适于该目的的系统来执行该方法。系统可以包括耦合到存储器的处理器以及图形用户接口(GUI),存储器在其上记录有包括用于执行该方法的指令的计算机程序。存储器还可以存储数据库。存储器是适于这样的存储的任何硬件,可能包括若干物理不同的部分(例如,一部分用于程序,而一部分可能用于数据库)。
图2示出了系统的GUI的示例,其中该系统是CAD系统,其可以用于在启动该方法之前将作为3D建模对象2000的图像设计和/或添加到数据集,和/或用于作为由通过该方法学习的自动编码器输出的重建或者在将自动编码器或其一部分应用于图像之前显示这样的图像。
GUI 2100可以是典型的类似CAD的接口,其具有标准菜单栏2110、2120以及底部和侧边工具栏2140、2150。这样的菜单栏和工具栏包含一组用户可选择的图标,每个图标与如本领域已知的一个或多个操作或功能相关联。这些图标中的一些与适用于对GUI 2100中显示的3D建模对象2000进行编辑和/或工作的软件工具相关联。软件工具可以被分组到工作台中。每个工作台包含软件工具的子集。特别地,工作台中的一个是编辑工作台,其适用于编辑建模产品2000的几何特征。在操作中,设计者可以例如预先选择对象2000的一部分,并且然后启动操作(例如,改变尺寸、颜色等)或通过选择适当的图标来编辑几何约束。例如,典型的CAD操作是在屏幕上显示的3D建模对象的打孔或折叠的建模。GUI可以例如显示与所显示的产品2000相关的数据2500。在该图的示例中,显示为“特征树”的数据2500及其3D表示2000涉及包括制动钳和盘的制动器组件。GUI可以进一步示出各种类型的图形工具2130、2070、2080,例如,用于促进对象的3D取向、用于触发已编辑产品的操作的模拟或者显现所显示的产品2000的各种属性。光标2060可以由触觉设备控制以允许用户与图形工具进行交互。
图3示出了系统的示例,其中系统是诸如用户的工作站之类的客户端计算机系统。
示例的客户端计算机包括连接到内部通信总线1000的中央处理单元(CPU)1010,和同样连接到总线的随机存取存储器(RAM)1070。客户端计算机进一步设置有图形处理单元(GPU)1110,图形处理单元(GPU)1110与连接到总线的视频随机存取存储器1100相关联。在本领域中视频RAM 1100也被称为帧缓冲器。大容量存储设备控制器1020管理对诸如硬盘驱动器1030之类的大容量存储设备的访问。适于有形地体现计算机程序指令和数据的大容量存储设备包括所有形式的非易失性存储器,举例来说包括诸如EPROM、EEPROM以及闪存设备之类的半导体存储设备;诸如内部硬盘和可移除盘之类的磁盘;磁光盘;以及CD-ROM盘1040。前述任一项可以由特别设计的ASIC(专用集成电路)进行补充或并入其中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,例如,光标控制设备、键盘等。在客户端计算机中光标控制设备用于允许用户选择性地将光标定位在显示器1080上的任何期望的位置。另外,光标控制设备允许用户选择各种命令并输入控制信号。光标控制设备包括用于向系统输入控制信号的若干信号生成设备。典型地,光标控制设备可以是鼠标,鼠标的按键用于生成信号。可替代地或另外,客户端计算机系统可以包括触敏板和/或触敏屏。
计算机程序可以包括可由计算机执行的指令,该指令包括用于使得上述系统执行该方法的模块。程序可记录在包括系统的存储器的任何数据存储介质上。例如,可以以数字电子电路,或者以计算机硬件、固件、软件或以其组合来实现程序。程序可以被实现为装置(例如,有形地体现在机器可读存储设备中的产品),以用于由可编程处理器执行。方法步骤可以由执行指令的程序的可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行该方法的功能。因此,处理器可以是可编程且耦合的,以从数据存储系统的至少一个输入设备接收数据和指令,并向数据存储系统的至少一个输出设备传送数据和指令。可以以高级过程语言或面向对象的编程语言来实现应用程序,或者如果需要则以汇编语言或机器语言来实现应用程序。在任何情况下,语言都可以是编译语言或解释语言。程序可以是完全安装程序或更新程序。在任何情况下将程序应用于系统都会产生用于执行该方法的指令。
现在参照不同的示例进一步详述该方法,这些示例特别简单且高效。在这些示例中,所参照的图像是3D模型。但以下讨论也适用于任何类型的图像。另外,下面的讨论集中在非变化自动编码器上,但如已经指出的,变化自动编码器的扩展是直接的,因为其只需要损失中的附加正则化项,并且将架构变换为高斯分布的输出参数而不是单个3D模型。
现在讨论第一示例方面。
使D={x1,…,xn}表示可以在S10处提供的3D模型的数据集。每个3D模型可以例如表示为体素网格中的占用体积或距离场,表示为其中m是体素的数量。
该方法可以基于任何预定的自动编码器架构(例如,图4所示的卷积自动编码器,仅出于说明性目的而呈现为适用于32×32×32输入大小)来执行S20。
在现有技术设置中要最小化的能量可以是 其中范数通常是L2或L1范数。这里,为了使学习更通用且鲁棒,可以首先考虑使用通用度量d来替换范数: 其中d仍然可以由普通范数引起,特别是在3D模型是平坦(即,不是表面)占用网格或距离场的情况下,但是d也可以是特定的距离函数(例如,Wasserstein距离),特别是在3D模型是表面占用网格的情况下。
第一示例方面的核心是在给定变换组的作用下对距离求商。即,在上面的公式中,该方法可以用来替换d(x,y),这导致以下商损失在S20处最小化:
该方法还可以将惩罚变换h的正则化项ρ加到在S20处最小化的商损失,以产生最终损失:
正则化项可能例如惩罚变换或变换的某个方面的程度,例如,拉伸的程度。
现在讨论第二示例方面。这些第二示例方面可以与第一示例方面组合。
在这些示例中,自动编码器关于变换的组的至少一部分可以是不变的。这意味着对图像的修改中的无论哪个被输入(根据变换的组的至少一部分中的任一个),自动编码器都输出相同的结果。自动编码器关于其不变的部分可以与重建损失涉及的距离考虑自动编码器的应用所针对的部分相同或不同。前一部分可以例如相比后一部分没那么密集和/或包括在后一部分中。
在这种情况下,学习被授权不对对象表示的初始配置给予权重,并且因此可以集中于其他方面(例如,全局形状),使得自动编码器进一步得到改进。
此外,使上述能量最小化可能实际上是困难的,并且最小化可能会陷入差的局部最小值。事实上,当可以在同一框架中重建所有3D模型时,g是更好的解码器,因为它的容量可以专用于每次在3D体积中的相同位置处重建空间几何特征。尽管如此,潜在向量f(xi)在存储器中仍然具有xi的初始取向,因为如果例如两个输入x和y仅在其取向方面不同,则f(x)和f(y)可能会不同。该方法因此可以使潜在向量忘记初始取向。
这样做的具体配置是自动编码器何时包括变换组件和聚合组件,该变换组件通过其被配置为将变换的组的至少一部分中的每个变换应用于输入图像的对象表示的事实来定义,聚合组件(例如,聚合视图池化)通过其被配置为应用于源自(即,起源于)第一组件的结果的事实来定义。这样的配置允许自动编码器忘记初始配置。
这样的示例可以操作以下构架。给定传统的自动编码器或变化自动编码器,该构架可以在编码器的末端添加聚合视图池化,并且用商损失来替换出现在重建损失中的范数。因此,该构架将传统的自动编码器或变化自动编码器变换为商自动编码器,商自动编码器是通过组的作用而直接在模型的商空间中进行学习的自动编码器。例如,如果以旋转组为例,则自动编码器可以独立于输入模型的对齐来学习模型的固有形状变化。
该方法因此可以关闭使用共同分析技术对3D数据集进行预处理与使用流形学习技术进行3D学习之间的桥梁。该方法提供了对自动编码器或变化自动编码器的改进,其可以专用于3D数据,以便高效地学习非对齐的3D模型。该方法产生对3D模型的更好表示,并且对于非共同对齐的3D数据集更高效。
由于自动编码器的输出可以对齐,所以该方法还可以允许自动地共同对齐整个3D数据集。此外,与现有方法不同,在实例中,自动编码器可以应用于实时地将不存在于数据集中的任何新模型共同对齐。最后,该构架可以容易地扩展,以对模型进行共同分段或执行其他类型的共同分析。
现在进一步讨论聚合组件的示例。
先前的损失可以被重写为其中dq是商距离,而是xi的轨道(xi在组的作用下的等价类),即 如可以看出的,这种损失依赖于输入图像的配置,因为xi在公式中介入。
为了打破这种依赖性,该方法可以在网络的编码器f中添加诸如聚合视图池化的聚合组件。即,对于自动编码器的每个输入x,该方法可以通过对若干变换进行采样来对离散化,并且将所有经变换的输入hj(xi)传递到相同的网络f,并且对于每个潜在向量zj=f(hj(xi)),则该方法可以通过例如沿每个维度按元素取最大值来创建聚合的潜在向量z,即zl=maxj(zj)l。聚合视图池化更一般地可以是应用于维度为p的L个潜在向量的函数,其可以是任何函数σ:使得σ通过置换不变,即对于任何δ∈S(L),σ(h1,…,hL)=σ(δ(h1,…,hL)),并且对于任何σ(h,0,…,0)是从到的满射函数且σ(h,h,…,h)=h。
这样的过程称为聚合视图池化。这允许潜在向量捕获对变换组取模的形状x,并且因此局部最小值更鲁棒。即,f现在只依赖于而不依赖于全部输入xi,即,f依赖于xi而独立于的变换,例如,如果是旋转组,则独立于原始框架。
因此,在S20处最小化的重建损失可以独立于初始配置并且写为:
其中ρ是可选的正则化项。
可以以任何方式在S20处使这种重建损失最小化,例如,使用经典随机方法,例如随机梯度下降或Adam优化([20]:“Adam:A Method for Stochastic Optimization”,D.Kingma,J.Ba,Internation Conference on Learning Representations,2015)。
现在讨论符合提供特别好的结果的上述示例的特定架构。图5关于包括椅子表示的输入图像51示出了该架构的示例。
在该架构中,编码组件fW被配置为并行地应用于变换组件的每个结果51-54(图中未示出)。在图中所示的示例中,图像是3D建模对象,但是由它们的2D投影来表示,并且变换的组包括旋转。在该示例中,变换组件被配置为相对于关于图像的2D投影正交和居中的轴来应用0°旋转(即,恒等)、90°旋转、180°旋转和270°旋转中的每一个。尽管在图中未示出,但是变换组件被配置为应用的组的部分可以更大,这意味着图上的附加线对应于除了所示出的结果之外的结果。
现在,fW被并行地应用于每个结果51-54。换言之,fW被实例化与由变换组件输出的结果51-54的数量相等的次数。然后可以在学习S20期间共享fW的所有实例的权重。
fW如在图4的示例中那样是CNN,这导致潜在向量zi。然而,可以实现其他类型的编码器。该架构的自动编码器还包括聚合视图池化60,其被配置为应用于源自变换组件的结果,该结果是由图4的示例中的编码器fW输出的潜在向量zi。
向量zi具有相同的大小,在该示例中大小为128(但可以设想任何其他大小)。聚合视图池化60输出具有相同大小128的向量z。z的每个坐标l具有值zl,等于zl=maxj(zj)l。可以实现任何其他聚合组件(例如,较早提到的那些聚合组件)。
此时,输入图像51中的椅子的初始取向被忘记。在某种意义上,聚合视图池化60可以被视为具有被配置为忘记这种取向的确定性神经元的层。这允许自动编码器关于由变换组件应用的组的部分是不变的,并且因此学习集中于其他方面。
该架构的自动编码器还包括解码组件gW’,其被配置为应用于例如z并且输出与结果51-54相同类型的图像。gW’如在图4的示例中那样是CNN。然而,可以实现其他类型的解码器。
现在讨论该方法的不同应用(可能可组合在一起)。这些应用可以实现上述该方法的示例中的任一个。
在第一应用中,图像是表面占用3D模型,变换的组包括平移。这允许获得相对于小的不希望的移位而言鲁棒的自动编码器,这相对于表面占用3D模型情况下的学习可能具有特别差的结果。
该方法可以例如以诸如椅子的共同对齐的3D模型的数据集开始,并且每个椅子可以建模为表面占用网格。显著地,如果一些模型是开放的,则不能简单地对它们进行体素化。解决方案是使用d的标准范数(例如,L2范数)来学习经典自动编码器。但是,自动编码器的输出中的轻微位移导致距离d的非常大的重建误差。因此一种学习更鲁棒的自动编码器的方式是应用通过由27个小平移{(0或±1,0或±1,0或±1)}组成的组的作用来求商并且取空惩罚ρ的自动编码器。因此,对于重建的模型的未对齐,损失变得更加鲁棒。
在第二应用中,对象表示各自是同一类对象的实例的表示。数据集的每个图像具有(例如,单个)非定向框架。每个对象表示在非定向框架中对齐。在这种情况下,变换的组包括从非定向框架中的一个对齐到非定向框架中的另一对齐的所有旋转。这允许获得相对于在其相应的图像中对齐但在S10中未设置有相同取向的对象而言鲁棒的自动编码器。在这种情况下,通过考虑从一个对齐到另一对齐的所有旋转的组,自动编码器设置有将对象表示重新对齐的可能性,并且因此以更高的准确度来学习其形状。
该方法可以例如以诸如椅子的3D模型的数据集开始,使得每个椅子的主轴在其框架的轴上对齐,但是椅子并不在同一个框架中一致地对齐。然后该方法可以考虑24个可能的旋转来一致地对齐每个模型。
为了使学习高效,并且将3D模型共同对齐,可以使用上述原则。该方法可以应用通过由这些24个旋转组成的组的作用求商、具有空惩罚ρ的自动编码器。
在这种情况下,结果是有限的24个旋转中的最小值,这是完全易于处理的。当然,该方法可以在学习之前预先计算关于初始数据集的24个旋转模型
一旦学习了自动编码器,将数据集的任何模型或以前从未见过的任何新模型共同对齐就变得很容易。该方法还可以计算 并且该方法可以将变换应用于输入。
图6示出了利用旋转组在椅子的3D模型的数据集上运行该方法的示例。图6示出了数据集的十二个图像的数据,其中在由变换组件获得的数据中,第一列表示数据集的图像(在其第一或初始取向中),第二列表示椅子的重建(在应用通过该方法学习的自动编码器之后),并且第三列表示椅子相对于重建的最接近取向。如可以看出,自动编码器将数据集的所有椅子对齐。
已经讨论了该方法的不同示例。但是该方法不限于这些示例。现在讨论上述讨论的不同的可能扩展。
通过取所有3D旋转的组,先前的应用可以扩展到完全不对齐的3D模型。
该方法还可以应用于其他变换。例如,该方法可以与共同对齐的数据集一起起作用。然后该方法可以考虑在3D模型上拉伸变形函数(对于大变形具有高惩罚项ρ)以学习非刚性地对齐3D模型。如果一个参考模型被分段,则该方法可以使用由非刚性变形求商得到的该自动编码器将该分段转移到任何其他模型。
在这两种情况下,变换组都是无限的。这不会对聚合视图池化产生任何问题,因为该方法可以只对进入编码器的输入采取有限数量的变换。尽管如此,损失的最小化可能更复杂。两个解决方案是可能的。
如较早解释的,第一个解决方案是对变换的组离散化。
第二个解决方案是利用多次开始来进行连续优化(例如,梯度下降或Newton),以找到使最小化的变换h。
在温和假设下,下确界实际上是最小值,其在中达到。为了简化符号,使w=(W,W′)为超参数。该方法可以是能够计算的梯度以使损失最小化的,这需要计算的导数。事实上, 其中p:因此,对于p的雅可比(Jacobian)矩阵Jp的计算可以使用的雅可比矩阵因为
根据的定义,使q:通过针对若干变量的隐函数定理,其中对于固定w,Jq,h是q关于h的雅可比矩阵,并且对于固定h,Jq,w是q关于w的雅可比矩阵。
因此该方法可以计算损失的梯度。
在速度是问题的情况下,该方法也可以在求导计算中忽略w的变化对的变化的影响,这简化为
Claims (11)
1.一种用于学习自动编码器的计算机实现的方法,所述方法包括:
提供图像的数据集,每个图像包括相应的对象表示;
基于所述数据集来学习所述自动编码器所述学习包括最小化重建损失(E(W,W′)),所述重建损失包括项 所述项针对每个相应图像(xi)惩罚如下的距离所述距离处于将所述自动编码器应用于所述相应图像(xi)的结果与将变换(h)的组的至少一部分应用于所述相应图像(xi)的对象表示的结果集合之间,其中,所述自动编码器关于所述变换的组的至少一部分是不变的,并且其中,所述自动编码器包括:变换组件、聚合组件(60)、编码组件(fW)以及解码组件(gW’),所述变换组件被配置为将所述变换的组的至少一部分中的每个变换应用于输入图像的所述对象表示,所述聚合组件(60)被配置为应用于源自所述变换组件的结果;以及
将所述自动编码器用于:执行对类的对象的图像的非线性插值,去噪,将所述数据集的一个或多个图像和/或一个或多个其他图像共同对齐,或者将数据压缩为紧凑表示。
2.根据权利要求1所述的方法,其中,所述编码组件被配置为并行地应用于所述变换组件的每个结果(51-54)。
3.根据权利要求2所述的方法,其中,所述聚合组件被配置为应用于所述编码组件的结果(zi)。
4.根据权利要求1-3中任一项所述的方法,其中,所述解码组件被配置为应用于所述聚合组件的结果(z)。
5.根据权利要求1-3中任一项所述的方法,其中,所述编码组件和/或所述解码组件包括卷积神经网络。
6.根据权利要求1-3中任一项所述的方法,其中,源自所述聚合组件被配置为应用于的第一组件的结果是具有相同大小的向量,所述聚合组件输出具有相同大小的向量,所述向量针对每个坐标(l)具有值(zl),所述值(zl)等于所述聚合组件被配置为应用于的向量的所述坐标的值之中的最大值
7.根据权利要求1-3中任一项所述的方法,其中,所述图像是表面占用3D模型,所述变换的组包括平移。
8.根据权利要求1-3中任一项所述的方法,其中,所述数据集的每个图像具有非定向框架,每个对象表示在所述非定向框架中对齐,所述变换的组包括从所述非定向框架中的一个对齐到所述非定向框架中的另一对齐的所有旋转。
9.一种计算机可读存储介质,其上记录有用于执行根据权利要求1-8中任一项所述的方法的指令。
10.一种包括数据存储介质的设备,所述数据存储介质上记录有用于执行根据权利要求1-8中任一项所述的方法的指令。
11.根据权利要求10所述的设备,其中,所述设备还包括耦合到所述数据存储介质的处理器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17305475.0 | 2017-04-27 | ||
EP17305475.0A EP3396603B1 (en) | 2017-04-27 | 2017-04-27 | Learning an autoencoder |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108804094A CN108804094A (zh) | 2018-11-13 |
CN108804094B true CN108804094B (zh) | 2024-04-05 |
Family
ID=58709899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810394084.XA Active CN108804094B (zh) | 2017-04-27 | 2018-04-27 | 学习自动编码器 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10839267B2 (zh) |
EP (2) | EP3396603B1 (zh) |
JP (1) | JP7388811B2 (zh) |
CN (1) | CN108804094B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3396603B1 (en) | 2017-04-27 | 2019-12-25 | Dassault Systèmes | Learning an autoencoder |
EP3655926A1 (en) * | 2017-08-08 | 2020-05-27 | Siemens Aktiengesellschaft | Synthetic depth image generation from cad data using generative adversarial neural networks for enhancement |
US10650001B2 (en) * | 2017-10-05 | 2020-05-12 | Google Llc | Disaggregating latent causes for computer system optimization |
US10586370B2 (en) | 2018-01-08 | 2020-03-10 | Facebook Technologies, Llc | Systems and methods for rendering avatars with deep appearance models |
US10824909B2 (en) * | 2018-05-15 | 2020-11-03 | Toyota Research Institute, Inc. | Systems and methods for conditional image translation |
US11288414B2 (en) * | 2018-11-20 | 2022-03-29 | The Boeing Company | Artificial intelligence-based manufacturing part design |
EP3671574B1 (en) * | 2018-12-19 | 2024-07-10 | Robert Bosch GmbH | Device and method to improve the robustness against adversarial examples |
EP3671660A1 (en) * | 2018-12-20 | 2020-06-24 | Dassault Systèmes | Designing a 3d modeled object via user-interaction |
EP3674984B1 (en) | 2018-12-29 | 2024-05-15 | Dassault Systèmes | Set of neural networks |
EP3674983B1 (en) | 2018-12-29 | 2024-09-18 | Dassault Systèmes | Machine-learning for 3d modeled object inference |
EP3675061A1 (en) * | 2018-12-29 | 2020-07-01 | Dassault Systèmes | Forming a dataset for inference of editable feature trees |
KR102198461B1 (ko) * | 2019-01-15 | 2021-01-05 | 연세대학교 산학협력단 | 편향성이 감소된 분류장치 및 방법 |
JP7205328B2 (ja) * | 2019-03-19 | 2023-01-17 | 富士通株式会社 | 推定プログラム、推定装置および推定方法 |
US11443137B2 (en) | 2019-07-31 | 2022-09-13 | Rohde & Schwarz Gmbh & Co. Kg | Method and apparatus for detecting signal features |
US10853728B1 (en) | 2019-08-23 | 2020-12-01 | Capital One Services, Llc | Automated data ingestion using an autoencoder |
CN110648276B (zh) * | 2019-09-25 | 2023-03-31 | 重庆大学 | 基于流形映射与字典学习的高维图像数据降维方法 |
CN115039108A (zh) | 2019-10-17 | 2022-09-09 | 华为技术有限公司 | 学习数据密度函数 |
US11157772B2 (en) * | 2019-10-28 | 2021-10-26 | Element Ai Inc. | System and method for generating adversarial examples |
RU2745445C1 (ru) * | 2020-01-27 | 2021-03-25 | Автономная некоммерческая образовательная организация высшего образования "Сколковский институт науки и технологий" | Способ генерации трёхмерных облаков точек |
WO2021161823A1 (ja) * | 2020-02-14 | 2021-08-19 | 住友電気工業株式会社 | 判定装置、復元モデル生成方法、及びコンピュータプログラム |
WO2021191499A1 (en) * | 2020-03-26 | 2021-09-30 | Nokia Technologies Oy | A method, an apparatus and a computer program product for video encoding and video decoding |
KR102398931B1 (ko) * | 2020-05-11 | 2022-05-17 | 성균관대학교산학협력단 | 포인트 오토인코더, 듀얼 오토인코더, 및 이를 이용한 포인트 클라우드의 차원 변환 방법 |
JP7315929B2 (ja) * | 2020-07-08 | 2023-07-27 | 日本電信電話株式会社 | 学習装置、学習済みモデルの生成方法および学習プログラム |
RU2740683C1 (ru) * | 2020-07-23 | 2021-01-19 | Общество с ограниченной ответственностью "Интеллектуальные электроэнергетические системы" | Способ перераспределения функций между устройствами автоматики при возникновении неисправностей в автоматизированной системе |
US20220215289A1 (en) * | 2021-01-06 | 2022-07-07 | Hewlett Packard Enterprise Development Lp | Managing data drift and outliers for machine learning models trained for image classification |
US11341699B1 (en) | 2021-03-09 | 2022-05-24 | Carmax Enterprise Services, Llc | Systems and methods for synthetic image generation |
CN113610125B (zh) * | 2021-07-23 | 2023-12-22 | 北京航空航天大学 | 一种基于编码器-解码器图神经网络的高光谱分类方法 |
CN116912351B (zh) * | 2023-09-12 | 2023-11-17 | 四川大学 | 基于人工智能的颅内结构成像的修正方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102138282A (zh) * | 2008-06-23 | 2011-07-27 | 特拉维夫大学拉莫特有限公司 | 减小复杂性的ldpc解码器 |
CN105069400A (zh) * | 2015-07-16 | 2015-11-18 | 北京工业大学 | 基于栈式稀疏自编码的人脸图像性别识别系统 |
CN105868706A (zh) * | 2016-03-28 | 2016-08-17 | 天津大学 | 一种基于稀疏自编码的三维模型识别方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7599847B2 (en) * | 2000-06-09 | 2009-10-06 | Airport America | Automated internet based interactive travel planning and management system |
JP3979136B2 (ja) * | 2002-03-20 | 2007-09-19 | 富士ゼロックス株式会社 | 認識装置および方法 |
US9916538B2 (en) * | 2012-09-15 | 2018-03-13 | Z Advanced Computing, Inc. | Method and system for feature detection |
US9536177B2 (en) * | 2013-12-01 | 2017-01-03 | University Of Florida Research Foundation, Inc. | Distributive hierarchical model for object recognition in video |
US11836746B2 (en) * | 2014-12-02 | 2023-12-05 | Fair Isaac Corporation | Auto-encoder enhanced self-diagnostic components for model monitoring |
US11221990B2 (en) * | 2015-04-03 | 2022-01-11 | The Mitre Corporation | Ultra-high compression of images based on deep learning |
US10296846B2 (en) * | 2015-11-24 | 2019-05-21 | Xerox Corporation | Adapted domain specific class means classifier |
US10354199B2 (en) * | 2015-12-07 | 2019-07-16 | Xerox Corporation | Transductive adaptation of classifiers without source data |
US9916542B2 (en) * | 2016-02-02 | 2018-03-13 | Xerox Corporation | Domain adaptation by multi-noising stacked marginalized denoising encoders |
KR101836096B1 (ko) * | 2016-12-02 | 2018-03-12 | 주식회사 수아랩 | 이미지 데이터의 상태 판단 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 |
EP3396603B1 (en) * | 2017-04-27 | 2019-12-25 | Dassault Systèmes | Learning an autoencoder |
US10803347B2 (en) * | 2017-12-01 | 2020-10-13 | The University Of Chicago | Image transformation with a hybrid autoencoder and generative adversarial network machine learning architecture |
-
2017
- 2017-04-27 EP EP17305475.0A patent/EP3396603B1/en active Active
- 2017-04-27 EP EP19191973.7A patent/EP3599575B1/en active Active
-
2018
- 2018-04-25 JP JP2018083781A patent/JP7388811B2/ja active Active
- 2018-04-27 CN CN201810394084.XA patent/CN108804094B/zh active Active
- 2018-04-27 US US15/965,123 patent/US10839267B2/en active Active
-
2020
- 2020-05-20 US US16/879,507 patent/US11468268B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102138282A (zh) * | 2008-06-23 | 2011-07-27 | 特拉维夫大学拉莫特有限公司 | 减小复杂性的ldpc解码器 |
CN105069400A (zh) * | 2015-07-16 | 2015-11-18 | 北京工业大学 | 基于栈式稀疏自编码的人脸图像性别识别系统 |
CN105868706A (zh) * | 2016-03-28 | 2016-08-17 | 天津大学 | 一种基于稀疏自编码的三维模型识别方法 |
Non-Patent Citations (2)
Title |
---|
Hogler Schwenk .The Diabolo Classifier.NEURAL COMPUTATION.1998,第8卷(第10期),第1-2节. * |
赵永威 ; 李婷 ; 蔺博宇 ; .基于深度学习编码模型的图像分类方法.工程科学与技术.2017,(01),全文. * |
Also Published As
Publication number | Publication date |
---|---|
US20180314917A1 (en) | 2018-11-01 |
EP3599575B1 (en) | 2023-05-24 |
CN108804094A (zh) | 2018-11-13 |
JP2019003615A (ja) | 2019-01-10 |
JP7388811B2 (ja) | 2023-11-29 |
US20200285907A1 (en) | 2020-09-10 |
US10839267B2 (en) | 2020-11-17 |
EP3599575A1 (en) | 2020-01-29 |
EP3396603B1 (en) | 2019-12-25 |
EP3396603A1 (en) | 2018-10-31 |
US11468268B2 (en) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804094B (zh) | 学习自动编码器 | |
JP7464387B2 (ja) | 3dモデル化オブジェクト推定のための機械学習 | |
JP7491685B2 (ja) | ニューラルネットワークのセット | |
JP6878011B2 (ja) | 3dモデル化オブジェクトの再構築 | |
CN106202545B (zh) | 利用相近性准则来查询数据库 | |
JP7473335B2 (ja) | ソリッドcadフィーチャを推測するためのニューラルネットワークの学習 | |
JP7431028B2 (ja) | ユーザインタラクションを介した3dモデルオブジェクトのデサイニング | |
JP7473336B2 (ja) | ソリッドcadフィーチャを推測するためのニューラルネットワークの学習 | |
US11869147B2 (en) | Neural network for outputting a parameterized 3D model | |
US12002157B2 (en) | Variational auto-encoder for outputting a 3D model | |
EP3859610A1 (en) | Deformations basis learning | |
EP3872771B1 (en) | Determining a 3d modeled object deformation | |
EP3185171B1 (en) | 3d object localization with descriptor | |
EP3185172B1 (en) | 3d object localization with quantization of the point pair descriptors | |
JP2022119713A (ja) | 副次的な3d変形の学習 |
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 |