CN111382530A - 学习用于推测实体cad特征的神经网络 - Google Patents

学习用于推测实体cad特征的神经网络 Download PDF

Info

Publication number
CN111382530A
CN111382530A CN201911396199.3A CN201911396199A CN111382530A CN 111382530 A CN111382530 A CN 111382530A CN 201911396199 A CN201911396199 A CN 201911396199A CN 111382530 A CN111382530 A CN 111382530A
Authority
CN
China
Prior art keywords
curve
data
parameter
cad
neural 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.)
Pending
Application number
CN201911396199.3A
Other languages
English (en)
Inventor
F·M·桑切斯贝穆德斯
E·梅尔
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.)
Dassault Systemes SE
Original Assignee
Dassault Systemes SE
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 Dassault Systemes SE filed Critical Dassault Systemes SE
Publication of CN111382530A publication Critical patent/CN111382530A/zh
Pending legal-status Critical Current

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
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/18Manufacturability analysis or optimisation for manufacturability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Geometry (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明尤其涉及用于学习神经网络的计算机实现的方法,所述神经网络被配置用于从表示3D形状的手绘图推测表示3D形状的实体CAD特征。所述方法包括:提供包括手绘图的数据集,每个手绘图表示相应3D形状,以及基于该数据集来学习神经网络。所述方法形成用于从表示3D形状的手绘图推测表示3D形状的3D建模对象的改进的解决方案。

Description

学习用于推测实体CAD特征的神经网络
技术领域
本公开内容涉及计算机程序和***的领域,并且更具体地说,本公开内容涉及与学习神经网络有关的解决方案,该神经网络被配置用于从表示3D形状的手绘图推测表示3D形状的3D建模对象。
背景技术
市场上提供了大量用于对物体的设计、工程和制造的***和程序。CAD是计算机辅助设计的缩写,例如,它涉及用于设计物体的软件解决方案。CAE是计算机辅助工程的缩写,例如,它涉及用于对未来产品的物理行为进行模拟的软件解决方案。CAM是计算机辅助制造的缩写,例如,它涉及用于定义制造过程和操作的软件解决方案。在这些计算机辅助设计***中,图形用户界面在技术效率方面起着重要作用。这些技术可以嵌入产品生命周期管理(PLM)***中。PLM指的是一种业务战略,其帮助企业在扩展型企业的整个概念中共享产品数据、应用通用流程以及利用企业知识从概念到使用寿命结束来开发产品。Dassault Systèmes(商标为CATIA、ENOVIA和DELMIA)提供的PLM解决方案提供了工程中心(其组织产品工程知识)、制造中心(其管理制造工程知识)以及企业中心(其允许将企业整合和连接成工程和制造中心)。该***共同提供了一种开放对象模型,该模型将产品、过程、资源链接在一起,以实现动态的、基于知识的产品创建和决策支持,从而推动优化的产品定义、制造准备、生产和服务。
在这种情况下,研究人员一直在寻找解决方案,以从表示3D形状的手绘图推测出表示3D形状的3D建模对象。值得注意的是,以下参考文献与此问题相关:
-[1]T.Igarashi,S.Matsuoka和H.Tanaka,“Teddy:a sketching interface for3D freeform design”,第26届计算机图形学和交互技术年度会议论文集,1999年,第409-416页。
-[2]Z.Lun,M.Gadelha,E.Kalogerakis,S.Maji和R.Wang,“3D shapereconstruction from sketches via multi-view convolutional networks”,3D视觉(3DV)2017年国际会议,2017年,第67-77页。
-[3]J.Delanoy、M.Aubry,P.Isola、A.Efros以及A.Bousseau,“3D Sketchingusing Multi-View Deep Volumetric Prediction”,ACM关于计算机图形学和交互技术的论文集,卷1,no.21,2018年5月。
-[4]B.Xu、W.Chang,A.Sheffer、A.Bousseau、J.McCrae以及K.Singh,“True2Form:3D curve networks from 2D sketches via selective regularization”,ACM图形学报,卷33,no.4,2014。
-[5]C.Li,H.Pan、Y.Liu、X.Tong、A.Sheffer以及W.Wang,“BendSketch:modelingfreeform surfaces through 2D sketching”,ACM图形学报,卷36,no.4,第1-14页,2017年7月。
-[6]Y.Zheng、H.Liu,J.Dorsey以及N.J.Mitra,“SmartCanvas:Context-inferredInterpretation of Sketches for Preparatory Design Studies”,计算机图形学论坛,2016,卷35,第37-48页。
-[7]Y.Li,X.Luo、Y.Zheng,P.Xu以及H.Fu,“SweepCanvas:Sketch-based 3DPrototyping on an RGB-D Image”,第30届ACM用户界面软件和技术年度研讨会论文集,2017年,第387-399页。
论文[1]至[3]提供了从草图生成3D网格的方法。
网格的主要缺点是它们几乎不可编辑且不提供语义。3D网格将表面离散化为基本多边形(通常是三角形)的集合。如果表面是水密且为流形的,则其可以表示实体。这种表示形式不适用于3D建模,因为三角形应一一编辑。
此外,论文[1]的方法会生成类圆形网格。另外,论文[1]的方法要求用相关联的动作(创建、拉伸、弯曲)来标注草图笔触。
论文[2]和论文[3]避免了这种类圆形先验,并且由于最近在深度学习中的优势而避免了需要带标注的笔触。但是,这两种方法仍会输出网格。此外,论文[2]从规范化的角度需要对象的一个或多个草图(即正面、侧面、顶部),这对用户来说是一个很大的限制。
论文[4]至[7]提供了从草图生成参数化表面的方法。
论文[4]通过对草图笔触施加一些规律性(正交性、平行性、共面性)来生成曲线。然后,可以将表面拟合到曲线。这种方法要求用户在绘制草图时非常准确:这些笔触必须代表对象的几何形状(跟随其表面,但不一定是其轮廓),并且可能需要闭合的笔触。此外,用户必须指定笔触之间的实际3D相交。
论文[5]直接将表面拟合到草图。但是,必须对草图笔触进行标记。标签提供有关草图笔触应位于其上的表面的一些信息:表面的极限、凹度/凸度、尖锐的边缘。由于这些标签的性质,用户必须是几何学专家,因为对象的简单透视图将是不够的。
因此,论文[4]和[5]提供的解决方案使参数化表面拟合到输入绘图,但是生成的表面不一定是闭合的,因此,它们可能不表示实体。即使它们代表实体,也不能将它们编辑为有意义的实体CAD特征。此外,这两种方法都需要额外的用户输入(交叉点或笔触标记)。
论文[6]从草图笔触生成3D曲线。该方法假设每个笔触代表一个平面3D曲线。一旦确定了平面,就可以通过将笔触从2D草图反向投影到笔触应位于的平面上来获得3D曲线。位于同一平面上的笔触可以彼此相交并定义平面贴片的边界。然后可以沿垂直方向拉伸所获得的平面贴片。这种方法的主要缺点在于:平面方向仅限于正交参考系的三个规范性方向。为了定义该参考系,要求用户明确显示两组平行线,第一组线与第二组线正交。然后,从消失点推测出参考系。
论文[7]提出了一种非常相似的方法。但是,除了经典的RGB图像外,所提出的方法还需要深度图像。从深度图提供的场景的3D中直接估计笔触平面。
因此,论文[6]和论文[7]提供了产生包括可能被拉伸的表面的结果的技术。但是,两种方法都假定基本2D草图位于一组受限平面上。此外,这两种方法都需要额外的输入:图片、用户对平行线的定义、深度图像。
在这种情况下,仍然需要用于从表示3D形状的手绘图推测表示3D形状的3D建模对象的改进的解决方案。
发明内容
因此提供了一种用于学习神经网络的计算机实现的(学习)方法,所述神经网络被配置用于从表示3D形状的手绘图推测表示3D形状的实体CAD特征。该方法包括:提供包括手绘图的数据集,每个手绘图表示相应3D形状,以及基于该数据集来学习神经网络。
该方法可以包括下列各项中的一个或多个:
-该实体CAD特征包括相应曲线序列,该方法还包括:提供候选曲线集,该学习还基于该候选曲线集;
-该神经网络包括循环神经网络(RNN)单元,每个RNN单元在相应的时间步长处输出用于推测实体CAD特征的相应曲线的相应数据;
-该候选曲线集包括下列各项之间的集合乘积:离散的曲线类型集,以及针对每个曲线类型,每个相应参数的一个或多个参数域的相应离散集合,每个参数域具有该相应参数的相应参数值,每个曲线类型利用制定一个或多个参数域的相应离散集合中的每个参数域的相应参数值,形成该候选曲线集的相应元素;
-用于推测实体CAD特征的相应曲线的相应数据包括:用于推测相应曲线类型的相应第一数据,以及用于推测针对一个或多个参数域的相应离散集合中的每个参数域的相应参数值的相应第二数据;
-具有一个或多个先前RNN单元的每个RNN单元将从由一个或多个先前RNN单元输出的相应数据可推测出的信息作为输入信息;
-实体CAD特征包括扫描操作,该方法还包括:提供扫描操作的候选集合,该学习还基于该扫描操作的候选集合;
-该神经网络包括输出用于对实体CAD特征的扫描操作进行推测的数据的神经网络部件;
-该扫描操作的候选集合包括下列各项之间的集合乘积:离散的扫描曲线类型集,以及针对每个扫描曲线类型,每个相应参数的一个或多个参数域的相应离散集合,每个参数域具有该相应参数的相应参数值,每个扫描曲线类型利用一个或多个参数域的各个离散集合中的每个参数域的相应参数值,形成该扫描操作的候选集合的相应元素;
-用于推测该实体CAD特征的该扫描操作的该数据包括:用于推测扫描曲线类型的第一数据;以及第二数据,该第二数据用于推测针对一个或多个参数域的相应离散集合中的每个参数域的参数值;
-该神经网络包括对表示该手绘图的图像进行编码的卷积神经网络(CNN);
-该数据集针对一个或多个手绘图中的每个手绘图还包括:表示相对于该手绘图的该3D形状的相应实体CAD特征,并且该学习包括受监督的训练,其包括使损失Lsup最小化,损失Lsup可选地对下列各项不变:序列循环排列,每个实体CAD特征包括相应的曲线序列,和/或基于参考的草图,每个实体CAD特征包括扫描操作;和/或
-学习包括无监督训练,其中包括使损失Lunsup最小化,对于手绘图,损失Lunsup惩罚与源自相应可推测实体CAD特征的渲染的差异,该神经网络可选地输出概率的一个或多个离散分布,该最小化包括:相对于一个或多个变量的损失Lunsup的梯度的反向传播,该变量分别表示概率的相应离散分布,该梯度是用增强算法获得的。
还提供了表示可根据该学习方法学习的神经网络的数据结构。
还提供了一种使用该数据结构的计算机实现的(使用)方法。该方法包括:提供表示3D形状的手绘图;向该手绘图应用该神经网络;以及基于该应用的结果,推测表示该3D形状的实体CAD特征。
还提供了一种计算机程序,其包括用于执行该学习方法和/或该使用方法的指令。
还提供了一种设备,所述设备包括其上记录有所述数据结构和/或所述程序的数据存储介质。所述设备可以形成或用作非暂时性计算机可读介质,例如在SaaS(软件即服务)或其他服务器上,或者在基于云的平台上,等等。所述设备可替代地包括耦合至所述数据存储介质的处理器。因此,所述设备可以全部或部分地形成计算机***(例如,所述设备是整个***的子***)。所述***还可以包括耦合至所述处理器的图形用户接口。
附图说明
现在将通过非限制性示例并参考附图来描述实施例,其中:
-图1示出了***的图形用户界面的示例;
-图2示出了***的示例;并且
-图3-图12示出了方法。
具体实施方式
因此,提出了与神经网络的学习有关的计算机实现的方法。在本文中,神经网络是一种功能,其被配置为:将任意一个手绘图作为输入,每个表示相应的3D形状,对该输入进行处理,并且作为处理的结果,输出相应的数据,数据被配置用于推测表示与输入相对应的3D形状的实体CAD特征。因此,这样的神经网络可以用于推测与表示3D形状的手绘图相对应的实体CAD特征。
因此,提出了一种用于执行这样的推测的计算机实现的方法,该方法可以被称为“推测方法”。
推测方法可以包括提供表示3D形状的手绘图。推测方法还可以包括将神经网络应用于手绘图。推测方法还可以包括:基于应用的结果(即,当用手绘图进行输入时由神经网络输出的数据)来(例如,当应用时基本上实时地)推测表示3D形状的至少一个实体CAD特征。输出数据可以(直接)包括实体CAD特征,和/或被处理以(间接)确定实体CAD特征,例如自动地和/或根据预定算法。
在间接确定的情况下,输出数据例如可以包括用于选择定义至少一个实体CAD特征的值的一个或多个概率分布,并且预定算法可以例如包括基于该一个或多个概率分布来确定至少一个实体CAD特征。该确定可以例如使选择具有低概率的值不利,例如,通过基于该一个或多个概率分布来选择一个或多个最可能的值。然后,该确定可以导出实体CAD特征的一个或多个元素(例如,几何形状),每个元素对应于相应的一个或多个所选值。
在示例中,确定还可以包括修改各元素中的一个或多个元素。例如,推测的实体CAD特征可以包括相应的几何形状(例如,曲线)的序列。在这样的示例中,修改可以包括:修改相应序列中的一个或多个几何形状(例如曲线)的几何图形。在特定示例中,推测可以被限制为闭合的(例如,曲线形成环)、几何形状(例如,曲线)的相应序列。在这样的特定示例中,修改序列中的一个或多个几何形状(例如曲线)的几何图形可以包括闭合相应的序列。
从机器学习的领域中已知,由神经网络对输入进行处理包括将操作应用于输入,操作由包括权重值的数据所定义。因此,神经网络的学习包括:基于被配置用于这种学习的数据集来确定权重的值。为此,数据集包括数据片段,每个数据片段形成相应训练样本。训练样本代表被学习后要使用神经网络的情况的多样性。本文中引用的任何数据集都可以包括数量高于1000、10000、100000或1000000的训练样本。
因此,特别提出了一种用于形成这样的数据集的计算机实现的方法,该方法可以被称为“数据形成方法”。还提出了一种用于执行这样的学习的计算机实现的方法,该方法可以被称为“学习方法”。
机器学习过程可以包括数据集形成方法和/或学习方法,以及可选地包括推测方法。
机器学习过程可以特别地包括数据集形成方法和学习方法二者。学习方法可以例如至少部分基于由数据集形成方法形成的数据集来执行,例如在数据集形成方法之后。这种机器学习过程特别有效并且提供了改进的准确性。
或者,机器学习过程可以包括数据集形成方法,以及基于数据集来执行用于学习神经网络的任何其他计算机实现的方法(不同于所提出的学习方法)。又或者,机器学习过程可以包括:对由任何其他计算机实现的方法(不同于所提出的数据集形成方法)例如用于形成数据集或检索这样的数据集的另一种方法提供的数据集执行学习方法。
在给出数据集形成方法和学习方法之前,现在讨论其中涉及的数据结构。将会认识到,本文中提供的数据结构定义和示例可以应用于通过数据集形成方法形成的数据集的至少一部分(例如全部)和/或在学习方法中提供的数据集的至少一部分(例如全部),和/或应用于推测方法的至少一个输入和/或至少一个输出。
实体CAD特征是表示实体的3D形状的3D建模对象。本文中的任何3D形状都表示构成实体的材料的3D空间分布。3D建模对象可以表示实体的皮肤(即外表面)。可以将3D建模对象提供给CAD***,以显示给用户和/或供用户对该3D建模对象执行一个或多个CAD设计操作。
建模对象是由存储的(例如,在数据库中)数据定义的任何对象。通过扩展,表述“建模对象”指示数据本身。根据用于设计建模对象的***的类型,可以通过不同种类的数据来定义建模对象。该***确实可以是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***中建模对象的文件的典型大小在每部件1兆字节的范围内。建模对象通常可以是数千个部件的组合。
在CAD的上下文中,建模对象通常可以是3D建模对象,例如,表示诸如部件或部件组合的产品,或者可能是产品的组合。“3D建模对象”意指由允许其3D表示的数据进行建模的任何对象。3D表示允许从各个角度查看部件。例如,当表示3D时,可以处理3D建模对象并围绕其任何轴或围绕显示该表示的屏幕中的任何轴来对其进行旋转。特别是,这排除了非3D建模的2D图标。3D表示的显示有助于设计(即,提高统计上设计人员完成任务的速度)。由于产品的设计是制造过程的一部分,因此可以加快工业制造过程。
本文中的任何3D形状都可以表示要在现实世界中制造的产品的几何图形,诸如(例如机械的)部件或部件组合(或等效地,部件的组合,因为从方法的角度看,部件的组合可以看作是部件本身,或者可以将方法独立地应用于组合中的每个部件),或更一般地,可以是任何刚体组件(例如,可移动的机械)。产品可以是以下各种各样且无限的工业领域中的产品之一,包括:航空航天、建筑、建造、消费品、高科技设备、工业设备、运输、航海、和/或离岸石油/天然气生产或运输。因此,3D形状可以表示一种工业产品,其可以是任何机械部件,例如陆地车辆(包括例如汽车和轻型卡车设备、赛车、摩托车、货车和电动机设备、卡车和公共汽车、火车)的部件,航空器(包括机身设备、航空航天设备、推进设备、国防产品、航空设备、航天设备)的部件,海上运输工具(包括海军设备、商用船只、近海设备、游艇和工作船只,船舶设备)的部件,通用机械部件(包括例如工业制造机械、重型移动机械或设备、安装的设备、工业设备产品、金属制品、轮胎制造产品),机电或电子部件(包括例如消费类电子产品、安全和/或控制和/或仪器产品、计算和通信设备、半导体产品、医疗器械和设备),消费品(包括例如家具、家居和园艺产品、休闲商品、时尚产品、硬商品零售商的产品、软商品零售商的产品),包装(包括例如食品饮料和烟草、美容和个人护理、家用产品包装)。
如从CAD领域已知的,表示3D形状的实体CAD特征在本文中是一个或多个指令的列表,这些指令允许CAD***生成实体的3D几何图形,以及例如渲染和显示对该实体的3D图形表示。3D图形表示可以包括实体的外表面的3D细分,例如,网格细分(例如,多边形,可选地三角形)。在示例中,网格细分可以包括大于100(例如,大于1000)的数量的面(例如,多边形,可选地三角形)。
如从CAD领域已知的,实体CAD特征可由CAD***的用户来选择和/或编辑。一个或多个指令的列表可以涉及一个或多个元素,每个元素都是可选择和/或修改的。用户可以用CAD领域已知的任何方式来执行对实体CAD特征的编辑,例如包括选择其至少一个元素和/或删除或修改该元素和/或添加至少一个新元素。与诸如网格的离散几何表示法的编辑相比,这种编辑呈现了人体工程学特征。
具体而言,指令列表可以表示涉及一个或多个参数化的几何形状以创建实体的一个或多个约束。每个参数化的几何形状包括相应的一个或多个参数,例如,包括类型参数和/或一个或多个形状参数。一个或多个参数可以是可选的和/或可编辑的(例如,包括至少一个(例如每个)形状参数)。参数的编辑可以包括修改参数的值。在这样的情况下,推测出的实体CAD特征可能涉及的几何形状的数量比其细分网格的面的数量要低因数5以上(例如,10以上),和/或可能涉及的几何形状的数量低于50(例如,低于20)。每个几何形状可以由数量小于20(例如,小于10)的多个参数定义。因此,与网格相比,实体CAD特征以更紧凑和更有条理的方式表示3D形状。而且,如从CAD领域所知,作用在实体CAD特征的单个元素上可能会产生全局影响,而在网格的情况下,作用在单个几何实体上只会造成局部影响。例如,与移动/增加大量的网格三角形相反,本文中的任何实体CAD特征都可以被配置为通过修改低于5(例如低于3)的数量的参数值来放大其表示的3D形状(例如,弯曲的,例如圆柱形的)。此外,与离散的几何形状表示相比,实体CAD功能在语义上对用户更有意义。
对于本文中的任何实体CAD特征,指令列表可以表示一个或多个实时/声明性约束和/或一个或多个过程约束。对于本文中的任何实体CAD特征,几何形状可以包括几何3D形状,即在3D空间中定义的几何形状。3D形状可以例如包括3D曲线和/或任何其他3D形状(例如3D点和/或3D实体)。本文中的任何3D曲线可以是平面的(即,定义在3D空间中,但包含在所述3D空间的平面中)或非平面的(即,不被包含在任何平面中)。在示例中,对于本文中的任何实体CAD特征,几何形状可以包括一个或多个几何形状序列,例如(例如,平面的)3D曲线(例如,序列曲线)的一个或多个(例如,闭合的)序列。导致闭合轮廓(必定在包含这些曲线中的每个曲线的平面中)的平面3D曲线的序列被称为“闭合2D平面草图”。在示例中,对于本文中的任何实体CAD特征,几何形状可以替代地或附加地包括一个或多个扫描操作,每个扫描操作将一个或多个几何对象(例如,单个闭合的2D平面草图)作为输入和/或基于另一个几何对象(例如3D曲线)。本文中的任何扫描操作可以例如由3D曲线(例如,扫描曲线)定义,可选地是非平面的。
本文中的任何3D曲线可以属于由一个或多个字段定义的类别(指的是面向对象的编程),每个字段与在该类别的上下文中定义该3D曲线形状的相应参数相对应。本文中的任何3D曲线可以特别地由一个或多个形状参数定义,例如包括用于一个或多个边界(例如,开始和/或结束)点的一个或多个定位参数(例如,3D坐标)。本文中的任何3D曲线可以替代地或附加地由类型参数定义(例如,在包括线型、弧型和/或三次埃尔米特插值片段类型的曲线类型之中)。根据其类型,本文中的任何3D曲线可以可替代地或附加地由附加形状参数定义,可选地包括:曲线的一个或多个中间点中的各个点的一个或多个定位参数(例如3D坐标)和/或曲线的一个或多个点(例如,包括起点和/或终点)中的各个点的一个或多个切向量参数(例如3D向量定义)。3D曲线的这种参数化对于用户进行编辑来说特别符合人体工程学。
就学习的准确性和鲁棒性以及针对手绘图的预期应用所表示的情况的多样性而言,在特别有效的示例中,相对于给定的3D空间,本文中的任何实体CAD特征可以具体地通过(并且仅通过)下列各项来定义:
-闭合的2D平面草图,由一系列平面曲线(例如,序列曲线)组成,从而形成闭合的轮廓,
-然后执行扫描操作(例如,由扫描曲线定义),通过在3D空间中扫描由2D平面草图定义的闭合表面来生成实体,即实体由闭合表面经过的体积来定义。
在这样特别有效的示例中,实体CAD特征具有有意义的参数并且可以轻松地对其进行编辑。例如,可以修改基础2D平面草图,并可以通过将扫描操作应用于新基础来自动更新最终几何形状。编辑可以包括选择和编辑各个3D曲线的参数(例如,构成闭合2D平面草图的3D曲线或定义扫描操作的3D曲线)。编辑可能受到平面和/或不修改顺序和/或保持闭合的要求的限制。对于用户来说,这种类型的实体CAD特征在编辑时特别符合人体工程学。
在示例中,推测方法可以包括:显示由实体CAD特征表示的3D形状的3D图形表示(即,通过执行实体CAD特征的指令列表而获得的3D形状),例如其3D细分。推测方法可以另外包括显示实体CAD特征的结构的图形表示,例如包括表示每个相应的几何形状或几何操作的图形项的树形布置,或者对实体CAD特征中涉及的几何形状的3D图形表示的突出显示。实体CAD特征的编辑可以包括例如通过图形交互来选择图形项。本文中的图形交互是指操作触觉设备以激活与显示器上的图形项的位置相对应的位置处的像素。例如,可以将鼠标光标放置在所显示的图形项上方,或者可以直接经由触摸屏或间接经由触摸板来触摸所显示的图形项。该选择可以触发对话框等的打开,以及由用户例如经由键盘输入一个或多个参数值。在实体CAD特征的特别有效的示例中,图形交互可以包括对链接到3D曲线的点或向量的图形表示的拖放动作,以移动点的位置和/或修改向量的方向和/或大小,例如当3D曲线属于闭合的2D平面草图时约束在平面中。这种类型的人体工程学编辑在CAD领域广为人知。
在示例中,作为对用户编辑推测出的实体CAD特征的替代或补充,推测方法可包括:例如,经由用户交互,将实体CAD功能组合至一个或多个其他实体CAD特征。例如,推测方法可以包括:将实体CAD特征添加到包括一个或多个其他实体CAD特征的现有特征树,例如,通过将实体CAD特征连接到特征树的任何节点。可选地,推测方法还可以包括对特征树的一个或多个实体CAD特征进行编辑。在特定示例中,可以重复推测方法,并且推测方法包括:提供若干手绘图,并且通过将神经网络应用于各个手绘图来分别推测若干实体CAD特征。在这样的特定示例中,推测方法然后可以包括在单个特征树中对所推测的实体CAD特征进行组合。这些特定示例允许基于手绘图,按照人体工程学原理创建特征树,从而执行复杂的CAD设计。本文中的任何特征树都可以是构造实体几何(CSG)树。
CAD***可以是基于历史的。在这种情况下,可以通过包括几何特征历史的数据来进一步定义建模对象。建模对象可以确实由自然人(即设计者/用户)使用标准建模特征(例如,拉伸、旋转、切割和/或环绕)和/或标准曲面设计特征(例如,扫去、混合、放样、填充、变形和/或平滑化)来设计。支持此类建模功能的许多CAD***都是基于历史的***。这意味着设计特征的创建历史通常是通过非循环数据流保存的,该非循环数据流通过输入和输出链接将所述几何特征链接在一起。自80年代初以来,基于历史的建模范例已广为人知。可以通过两个持久数据表示法来描述建模对象:历史和B-rep(即边界表示)。B-rep是历史中定义的计算的结果。当表示建模对象时,显示在计算机屏幕上的部件的形状为B-rep(例如,B-rep的细分)。部件的历史是设计意图。基本上,历史收集了关于建模对象已经经历的操作的信息。B-rep可以与历史一起保存,以使显示复杂部件更加容易。历史可以与B-rep一起保存,以允许根据设计意图对部件进行设计更改。由于手绘方法,特定示例的推测方法允许以符合人体工程学的方式经由特征树来检索这样的几何特征的历史。
可以基于实体CAD特征和/或特征树来执行机械仿真。的确,由于实体CAD特征和/或特征树以紧凑的形式形成了3D形状的紧凑和参数化表示(相对于离散的几何表示),因此可以更精确地执行机械计算。具体而言,从CSG计算有限元网格更容易并且更直接(如以下所教导的:Edwin Boender、Willem F.Bronsvoort、Frits H.Post的论文“Finite-elementmesh generation from constructive-solid-geometry models”,计算机辅助设计,第26卷,第5期,1994年5月,第379-392页,或者K Ho-Le的论文“Finite element meshgeneration methods:a review and classification”,计算机辅助设计38,第20卷,第1号,1988年一月/二月)。此外,CSG还保证了表面的防水性。因此,机械仿真可以包括从实体CAD特征和/或特征树(例如CSG)和/或其一个或多个修改来计算一个或多个有限元网格,然后基于每个有限元网格来执行有限元分析。而且,由于对实体CAD特征进行了参数化,因此可以根据仿真结果容易地优化实体CAD特征。因此,一个或多个修改可以用于基于每个先前的有限元分析结果来优化实体CAD特征。
本文中表示3D形状的任何手绘图都是用于表示3D形状的、(人类)用户可徒手设计的2D图像。“可徒手设计的”是指该图表示由用户绘制的2D图像的特征。因此,手绘图可能已经由用户建立,但是可替代地,它可能已经被合成,即由计算机***人工和自动地合成。具体而言,数据集形成方法中的手绘图可以是合成的。另一方面,期望的是推测方法中的手绘图由用户有效地徒手绘制,尽管也可以向推测方法提供合成的手绘图。
因此,手绘图是一种2D图像数据结构,其包括一个或多个(2D平面)笔触,这些笔触从3D形状从其可见的相应的视角表示3D形状。一个或多个笔触定义在同一平面上,并从各个视角表示3D形状的透视图。每个笔触是在平面中定义的连续或基本连续的曲线。
在示例中,对于本文中的任何手绘图,一个或多个笔触可以包括笔触数量小于20个(例如,小于10个)笔触,可选地大于或等于2。在示例中,对于本文中的任何手绘图,一个或多个笔触可以各自表示从视点来看的3D形状的相应特征边缘,例如由3D形状表示的实体的轮廓边缘或可见边缘。“可见边缘”是指实体的边缘,其通过光反射的作用对于用户而言是值得注意的。本文中任何实体的可见边缘可以包括(例如,仅包括)一个或多个边缘,每个边缘形成实体表示的Ck不连续性,k为大于或等于1的整数(例如,并且可选地小于10或4)。
在示例中,对于本文中的任何手绘图,一个或多个(例如所有)笔触可以各自与另一笔触相距(例如,距另一笔触的末端点)某个距离的末端点,该距离例如低于预定阈值,例如10mm或5mm。这表示以下事实:当绘制手绘图时,用户可能打算以这种方式将末端点连接到所述另一个笔触(例如,另一个笔触的所述末端点)以便在2D中表示3D。在示例中,对于本文中的任何手绘图(例如,输入到推测方法的一个或多个手绘图和/或数据集的一个或多个手绘图),一个或多个(例如所有)笔触可各自具有与另一个笔触(例如,与另一个笔触的末端点)相距非零距离(即正间隙)的末端点。这表示以下事实:当绘制手绘图时,用户可能经常无法完美地将末端点连接到所述另一个笔触(例如,另一个笔触的所述末端点),从而造成间隙。这是因为用户正在随意地绘制草图,因此快速/符合人体工程学。尽管存在这种不精确性,但推测方法仍可以准确推测实体CAD特征。并且数据集可以表示这种不精确性,以使学习准确。
在示例中,对于本文中的任何手绘图,笔触自由地表示3D形状。这意味着它们可以以任何顺序进行定义,并且没有预定义的约束(例如必须具有平行和/或正交笔触),并且它们没有组织成簇(例如,基于距离可获取的),其中每个簇表示实体的一个平面。在示例中,对于本文的任何手绘图,可替代地或另外地,一个或多个笔触可以每个都是不规则的。这意味着,在没有对笔触进行近似并因此引入误差的情况下,笔触不能由参数化的2D曲线(本文所述的任何一种类型中的至少一种)来表示。由于笔触预期是由用户草草绘制的,因此通常情况下它们不会形成规范的几何图形。在示例中,不规则笔触被允许为特别/明显不规则。在示例中,本文中的任何手绘图可以可替代地或另外地以原始格式提供,例如不具有与笔触相关联的任何标签(例如动作标注,诸如创建、拉伸、弯曲)和/或没有任何附加数据(例如图片、用户定义的平行线、深度图像)。推测方法因此符合人体工程学,因为用户不受任何约束,可以自由绘制笔触(例如,推测方法在2D草图平面上不做任何假设),并且除了输入手绘图之外,不需要额外输入。
根据推测,每个笔触都是未参数化的,这意味着表示笔触的数据结构包括数据片段,数据片段分别表示笔触的各个部分(例如像素),数据结构表示这些部分的原始聚合。推测方法可以包括由用户来绘制所输入的手绘图的每个笔触。可以通过与计算机的屏幕的图形交互,通过顺序地(例如,基本上连续地)激活定义笔触的屏幕的一系列像素来执行草图绘制。可以经由作用在像素上的触觉设备(例如鼠标)(例如,定义笔触的光标移动)或经由与触摸屏或触摸板的用户交互(例如,交互包括通过物理触摸在触摸屏或触摸板上绘制笔触)来执行激活。这在CAD领域被称为草图设计或笔触设计。在替代方案中,可以将对纸质草图或任何其他图像的扫描输入到推测方法。又或者,可以从存储器中检索或从远程计算机***接收手绘图(例如,已经由其他用户和/或任何上述技术产生)。
在示例中,推测方法可以包括在用户绘制笔触时(例如实时地)显示手绘图的图形表示。推测方法可以触发对神经网络的应用。例如,当用户完成时,用户可以触发对神经网络的应用并推测出实体CAD特征。结果,该方法可以显示实体CAD特征的3D图形表示,可选地仍然同时显示手绘图的图形表示。然后,用户可以隐藏手绘图的图形表示,以处理(例如,编辑、整合到树、仿真)实体CAD特征。可以在显示由用户设计的复杂的3D建模对象的同时执行推测方法,可选地,包括重复上述推测方法。因此,推测方法为基于历史的CAD***提供了基于草图的设计能力。
因此,本文中的任何方法可以是用于设计包括实体CAD特征的3D建模对象的过程的一部分,特别是推测方法。“设计3D建模对象”指定任何动作或一系列动作,其至少是制作出3D建模对象的过程的一部分。因此,该方法可以包括从头开始创建3D建模对象。可替代地,该方法可以包括:提供先前创建的3D建模对象,然后对该3D建模对象进行修改。
本文中的任何方法都可以被包括在制造过程中,制造过程可以包括:在执行该方法之后,产生与建模对象相对应的物理产品。在任何情况下,通过该方法设计的建模对象都可以表示生产对象。因此,建模对象可以是建模实体(即表示实体的经建模对象)。生产对象可以是产品,例如部件或部件的组合。因为该方法改进了建模对象的设计,所以该方法还改进了产品的生产,从而提高了生产制造过程的生产率。
现在概括地介绍数据集形成方法和学习方法。
数据集形成方法包括:生成(例如合成)一个或多个实体CAD特征,一个或多个实体CAD特征包括表示各自的3D形状的每个实体CAD特征。数据集形成方法还包括,针对每个实体CAD特征,确定(例如合成)一个或多个相应手绘图,每个手绘图表示相应3D形状(例如,基于生成的实体CAD特征),以及在数据集中***一个或多个训练样本,每个样本包括(例如合成的)实体CAD特征和相应的(例如合成的)手绘图。
“提供/生成/确定/合成相应数据片段”意味着至少在某个时刻,将该数据片段记录在计算机***的存储器上并且可供处理器访问。
“数据集”是指包括训练样本并且被配置用于机器学习的任何数据结构,该数据结构被记录在计算机***的存储器上并且可供处理器访问。数据集形成方法可以包括:将数据集记录在非易失性存储器上。
在数据集中“***”或“不***”数据片段作为训练样本,是指至少在数据集形成方法的某个时刻(例如结束时),将数据集记录在计算机***的(例如,非易失性)存储器上,并处于以下状态:数据集包括所有“***的”数据片段(即,因此将该数据片段记录在存储器上在表示数据集的数据结构内),同时数据集排除(即不包括)所有“未***”的数据片段(即因此未将该数据片段记录在存储器上,至少未在表示该数据集的数据结构内)。然后,在进一步处理数据集之后的示例中,学习可以基于数据集。因此,被学习的神经网络将与***数据集中的数据片段保持一致。
数据集形成方法为CAD设计提供了一种改进的解决方案。形成的数据集包括训练样本,每个训练样本包括相应3D形状的手绘图和表示3D形状的相应实体CAD特征。因此,该数据集被配置用于学习可用于将手绘图转换为实体CAD特征的神经网络,在示例中采用所提出的学习方法。此外,针对预期学习对数据集进行了标记。其实,神经网络的潜在输入(手绘图)在数据集中分别由地面实况(ground truth)的输出(相应的实体CAD特征)进行标记。因此,学习可以被监督并且因此特别有效。
该学习方法包括:提供包括手绘图的数据集,每个手绘图表示相应3D形状,以及基于该数据集来学习神经网络。
该学习方法为CAD设计提供了一种改进的解决方案。值得注意的是,已学习的神经网络可用于将手绘图转换为实体CAD特征。正如已经讨论过的那样,这在CAD上下文中尤其有用。此外,利用已学习的神经网络执行这种转换可以实现机器学习领域提供的益处,例如快速或实时执行、不需要繁琐的先前手动编程/写代码,以及结果的准确性(例如,这里的准确性是指在绘制手绘图时,在执行实体CAD特征的结果与用户想要的3D形状之间评估的3D相似度的值,例如,可选地被测量为执行实体CAD特征的结果的2D投影(例如,特征边缘)与手绘图之间评估的2D相似度的值)。因此,该学习方法在3D设计的上下文中改善了人体工程学。
学习可以包括受监督的训练,其基于数据集的至少一部分。在这种情况下,数据集的所述至少一部分针对每个手绘图包括相应实体CAD特征,相应实体CAD特征与该手绘图一起形成(标记的)训练样本。数据集的所述至少一部分可以根据任何方法来提供,例如根据数据集形成方法来形成。
替代地或附加地,学习可以包括无监督的训练,其基于数据集的至少另一部分。在这种情况下,数据集的所述至少另一部分的手绘图分别形成相应(未标记的)训练样本。可以根据任何方法来提供该数据集的所述至少另一部分,例如作为手绘图的商业数据库来检索。
在特别有效的示例中,学习方法可以包括:基于由数据集形成方法形成的数据集进行受监督的训练。在这样的示例的可靠示例中,学习还可以包括:基于另一个数据集进行无监督训练,例如在受监督的训练之后。从机器学习领域已知,每次训练可以包括迭代地处理相应数据集,例如逐个小批量地进行处理,以及沿着迭代处理来修改神经网络的权重值。这可以根据随机梯度下降来执行。针对每次训练,可以以任何方式对权重值进行初始化。在示例中,可以利用在受监督的训练的结尾处获得的权重值来对无监督训练的权重值进行初始化。可以以任意方式对权重值进行初始化以进行受监督的训练,例如随机地或将其分别初始化为零值。因此,数据集形成方法和受监督的训练形成了对权重值进行初始化以用于进一步训练的方法,进一步训练即无监督训练,其可以基于另一个数据集。另一个数据集可以例如是未标记的数据集,其比通过数据集形成方法形成的经标记的数据集更能代表现实。因此,与在受监督的训练之后停止训练相比,无监督训练可以带来更准确的结果。然而,如从机器学习领域已知的,无监督训练可能非常长,并且如果任意进行初始化,则会提供不准确的结果。在提出的方法中,受监督学习提供了相对良好的初始化。
这些方法是计算机实现的。
这意味着方法的步骤(或基本上所有步骤)由至少一台计算机或任何类似***执行。因此,方法的步骤由计算机可能完全自动或半自动地执行。在示例中,可以通过用户-计算机交互来执行对方法的至少一些步骤的触发。所需的用户-计算机交互级别可能取决于预见的自动级别,并与实现用户意愿的需求保持平衡。在示例中,该级别可以是用户定义的和/或预定义的。
这也意味着神经网络、数据集、一个或多个(例如所有)输入和/或一个或多个(例如所有)输出可以分别由相应数据结构表示。一个或多个(例如所有)数据结构可以分别被非暂时性地记录在相应的数据存储介质上。
方法的计算机实现的典型示例是使用适用于此目的的***来执行该方法。该***可以包括耦合至存储器和图形用户界面(GUI)的处理器,存储器上记录有包括用于执行该方法的指令的计算机程序。存储器还可以存储数据库。存储器是适合于这种存储的任何硬件,可能包括几个物理上不同的部分(例如,一个用于程序,而可能一个用于数据库)。该***可以是CAD***。
图1示出了本文中任何***的GUI的示例,其中,该***是CAD***。
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可以由触觉设备控制以允许用户与图形工具进行交互。
3D建模对象2000可以是3D形状的离散几何表示的图形表示,并且推测方法可以允许确定可编辑特征树2500的任何实体CAD特征。推测方法因此允许基于CAD***的2D草图功能来编辑可编辑特征树2500(例如,添加实体CAD特征)并同时更新3D形状的离散几何表示2000。这代表了高度的人体工程学。
图2示出了本文中任何***的示例,其中该***是客户端计算机***,例如,用户的工作站。
该示例的客户端计算机包括:连接至内部通信总线1000的中央处理单元(CPU)1010、也连接至总线的随机存取存储器(RAM)1070。客户端计算机还设有图形处理单元(GPU)1110,其与连接到总线的视频随机存取存储器1100相关联。视频RAM 1100在本领域中也被称为帧缓冲器。大容量存储设备控制器1020管理对大容量存储设备(例如硬盘驱动器1030)的访问。适用于有形地体现计算机程序指令和数据的大容量存储设备包括所有形式的非易失性存储器,通过举例的方式,包括半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘和可移动盘;磁光盘;以及CD-ROM盘1040。前述内容中的任何一项都可以由专门设计的ASIC(专用集成电路)补充或并入其中。网络适配器1050管理对网络1060的访问。客户端计算机还可以包括触觉设备1090,例如光标控制设备、键盘等。在客户端计算机中使用光标控制设备,以允许用户有选择地将光标定位在显示器1080上的任何所需位置。此外,光标控制设备允许用户选择各种命令并输入控制信号。光标控制设备包括多个信号生成设备,用于将控制信号输入到***。通常,光标控制设备可以是鼠标,该鼠标的按钮用于生成信号。替换地或附加地,客户端计算机***可以包括感应垫和/或感应屏。
本文中的任何计算机程序都可以包括可由计算机执行的指令,这些指令包括用于使上述***执行方法的单元。程序可以记录在任何数据存储介质上,包括***的存储器。程序可以例如以数字电子电路或计算机硬件、固件、软件或它们的组合来实现。程序可以被实现为装置,例如,有形地体现在机器可读存储设备中以供可编程处理器执行的产品。方法步骤可以通过执行指令程序的可编程处理器来执行,以通过对输入数据进行操作并生成输出来执行方法的功能。因此,处理器可以是可编程的并且是耦合的以从数据存储***、至少一个输入设备和至少一个输出设备接收数据和指令,以及向数据存储***、至少一个输入设备和至少一个输出设备发送数据和指令。如果需要,可以以高级过程或面向对象的编程语言或汇编或机器语言来实现应用程序。在任何情况下,语言都可以是编译语言或解释语言。程序可以是完整的安装程序或更新程序。在任何情况下,程序在***上的应用都会导致执行该方法的指令。
现在进一步讨论包括相应(例如,闭合的)曲线序列和/或扫描操作(例如,由扫描曲线定义)的实体CAD特征的上文给出的示例。
在数据集形成方法中生成的一个或多个(例如所有)实体CAD特征,在学习方法中提供的一个或多个(例如所有)(例如候选)实体CAD特征和/或由推测方法提供的一个或多个(例如所有)实体CAD特征可以分别与这些示例一致。
在这些示例中,学习方法可以包括提供序列曲线的候选集合和/或扫描操作的候选集合,例如扫描曲线的候选集合(例如,曲线的共同候选集合),学习还基于曲线的候选集合和/或扫描操作的候选集合。通过“提供候选集合”,意味着学习方法,具体来说学习步骤,能够将所述候选集合中的每个元素视为供推测的候选(至少在某些时候)。从机器学习领域已知,学习步骤可以包括自由地设置神经网络的权重值,使得推测方法趋于执行与馈送到学习方法的数据集一致的推测。并且,“提供曲线/扫描操作的候选集合”意味着以某种方式预先确定神经网络架构,并且以某种方式执行学习步骤,使得候选集合的每个元素可用于在推测过程中潜在地进行推测。在示例中,候选集合中的每个元素是每个推测出的实体CAD特征的候选。具体而言,曲线的候选集合中的每个元素可以是该曲线序列的每个推测出的曲线的候选。
曲线的候选集合和/或扫描操作的候选集合可以分别包括至少一个连续的曲线子集(分别为扫描操作)。“连续的”是指子集中的每个元素可以通过对子集的另一个元素的特定连续变形(例如,用固定数量的参数进行参数化)来获得,使得连续变形的每个中间状态本身就是候选元素。在示例中,每个候选集合包括若干个连续的子集(例如,每个曲线类型一个)。这提高了学习的准确性。实际上,由于至少一个各元素的连续体都可访问以成为推测出的实体CAD特征的元素,因此可以在这种连续体中以良好的方式执行推测。
现在讨论曲线序列(例如,平面2D曲线,即序列曲线)中的曲线和/或定义扫描操作的曲线(例如,扫描曲线)的示例。对于每个序列曲线和/或扫描曲线,所涉及的数据结构可以可选地是相同的。
给定离散的曲线类型集,并且对于每个曲线类型,给定一个或多个参数域的相应离散集合,每个离散域具有相应的(例如,连续的)参数,在每个参数域具有相应连续参数的相应参数值的情况下,可以通过相应曲线类型形成曲线,一个或多个参数域的相应离散集合中的每一个具有相应的参数值。
因此,数据集形成方法和/或学习方法可以基于这样的离散的曲线类型集,并且对于每个曲线类型,可以基于一个或多个参数域的这种相应离散集合。对于数据集形成方法和学习方法,这些集合可以相同或不同。在集合相同的情况下,机器学习过程特别准确,因为训练样本的曲线与作为推测候选的曲线一致。
现在,学习方法中的候选曲线集可以包括离散的曲线类型集与对于每个曲线类型的一个或多个参数域的相应离散集合之间的集合乘积。集合乘积的每个元素代表相应的候选序列/扫描曲线。
在数据集形成方法的情况下,训练样本的每个序列/扫描曲线可以属于这样的集合乘积。在示例中,数据集形成方法可以包括:提供初始数据,该初始数据包括离散的曲线类型集(代表其的数据),并且对于每个曲线类型,包括一个或多个参数域的相应离散集合(代表其的数据)。在这样的示例中,可以基于这样的初始数据来生成(例如,合成)序列曲线和/或扫描曲线。
“曲线类型”是指一类曲线(例如,序列曲线为2D平面,扫描曲线为3D),其中每条曲线都呈现公共的通用形式(例如,用户可以识别)。曲线类型与参数相关联。每个参数采用被称为“参数域”的集合(可以是一段间隔,即实数的连续范围)中的值,并且为每个参数域提供特定的参数值定义了曲线类型的实例。曲线类型可以由一个或多个参数的相应集合以及预定算法来定义,预定算法被配置为当被馈送有相应集合的参数值时生成该曲线类型的这样的曲线实例。所述实例形成可以介入一个或多个实体CAD特征的序列曲线或扫描曲线。
曲线类型可以分别与一个或多个连续参数相关联。参数的“连续”是指输出曲线的函数相对于参数而言至少是分段连续的。也可以说参数域至少是分段连续的。这样可以紧凑地表示各种各样的形状。
在示例中,对于一个或多个曲线类型中的每一个,一个或多个相应的连续参数包括一个或多个如上所述的形状参数,例如,包括用于曲线起点的定位参数和用于曲线终点的定位参数,以及可选地包括取决于曲线类型的一个或多个额外参数(例如,包括一个或多个中间点定位参数和/或一个或多个切向量,每个均将曲线约束在曲线的相应(例如边界)点处)。定位参数对于所有曲线类型都可以相同,例如相对于(0,X,Y,Z)参照来定义的(x,y,z)坐标。
与对真实情况的多样性的代表性相比,在针对学习的计算时间和/或收敛方面特别有效的示例中,离散的曲线类型集可以包括线型、弧型和/或三次埃尔米特插值片段类型,可选地包括线型,弧型和三次埃尔米特插值片段类型。离散的曲线类型集可以包括任何其他曲线类型。
本文提供的任何曲线(例如在存储器上)都可以被记录(例如在提供的数据片段、训练样本和/或推测的输出中)为数据结构,数据结构包括:代表曲线类型的数据(例如文本信息),以及针对每个参数,代表参数值的相应数据(例如,值,例如浮点数)。可以对本文提供的任何曲线进行后处理,例如,以向量方式表示、渲染和/或显示(例如,通过将曲线划分为子曲线,和/或使用一个或多个贝塞尔(Bézier)曲线和/或样条曲线来逼近曲线,例如针对曲线的相应部分,例如,在2D曲线的svg格式下)。
现在讨论数据集形成方法的示例。
在示例中,提供相应训练样本可以包括合成数据片段。“合成”实体CAD特征和/或手绘图(例如训练样本)是指一种自动过程,其包括生成实体CAD特征和/或确定至少一个相应手绘图(例如,表示实体CAD特征所代表的3D图)。
在示例中,数据集形成方法可以包括提供初始数据,该初始数据包括离散的曲线类型集,并且对于每个曲线类型,包括一个或多个参数域的相应离散集合。这意味着对于每个曲线类型,初始数据包括与对象类别(指的是面向对象的编程)相对应的相应数据结构,该数据结构具有与曲线类型的参数相对应的字段。在这种情况下,可以基于初始数据来合成实体CAD特征。例如,至少一个相应的实体CAD特征的生成可以包括基于初始数据来合成实体CAD特征。合成可以包括:生成表示序列的曲线数量的整数;以及基于初始数据,生成与该整数相对应的序列曲线的数量,例如,该生成是受实体CAD特征定义的要求所约束的,例如,每条曲线都是平面的和/或在同一平面上,曲线是顺序的(即某条曲线的终点是下一条曲线的起点),和/或序列是闭合的(即序列是循环的)。生成还可以包括基于初始数据生成扫描曲线。
特别地,每个序列/扫描曲线的生成可以包括选择曲线类型,以及为曲线类型的每个参数选择参数值。这对应于创建给定类别的实例。
当合成实体CAD特征时执行的任何选择都可以经由(例如随机)采样来执行。这允许生成相对较好地代表真实情况的多样性的数据。因此,这导致最终的准确学习。任何(例如随机)采样可以包括集合内的均匀(例如随机)采样,其中要选择的变量进行取值(例如,随机均匀采样是根据均匀概率分布的随机采样)。
例如:
-可以根据在大于N1和小于N2的所有整数的集合上的均匀分布来对曲线序列的长度进行采样,其中N1是“最小深度”整数,其大于0和/或小于5,例如等于1;并且N2是“最大深度”整数,其大于N1和/或小于100、50或20,例如等于10。
-可以根据离散的曲线类型集上的均匀分布来对序列/扫描曲线类型进行采样。
-可以用任何方式对每个所选择的曲线类型的参数值进行采样,例如通过直接或间接地(例如在初始数据中)提供参数域,每个参数域具有一个或多个间隔(例如,每个间隔具有上限(例如浮点)和下限(例如浮点)),例如对遵守序列曲线的要求。
合成还可以包括为每个手绘图确定方案,以确定一个或多个合理的手绘图。
该方案包括:提供视点(即在定义实体CAD特征的3D空间中的3D位置),从该视点可以看到相应的3D形状(由合成的实体CAD特征表示),并基于这些视点在图像中渲染一个或多个边缘。该方案可以可选地包括提供透视图,或者透视图可以是预定的(例如默认的圆锥形透视图)。
可以以任何方式来提供视点,例如在候选视点的集合(例如,围绕3D形状的球体的所有点的集合)中进行采样(例如,随机地和/或均匀地)。
边缘定义了3D形状的手绘图的合理笔触的位置。例如,相对于基于实体CAD特征的相应3D形状的实体表示(即,对应于执行实体CAD特征),从视点来看,每个边缘可以是实体表示的轮廓边缘或可见边缘。可以基于视点以任何方式确定轮廓和/或可见边缘。
在示例中,可见边缘可被视为从视点可访问的(从视点来看不被3D形状遮挡)、位于3D形状上(因此可能包括非平面边缘)的一个或多个(例如所有)边缘,并且其与实体表示上具有实体表示的Ck不连续性的曲线相对应。k是大于或等于1的整数。k可以可选地小于10或4。在示例中,该方案可以包括:提供或基于最大不连续性值kmax(例如,kmax=2),以及计算所有形成实体表示的不连续性Ck不连续性的边,其中k大于或等于1小于或等于kmax。这允许提取可见的切线不连续性(即尖锐的边缘)和/或可见的曲率不连续性,这种不连续性自然地由手绘草图表示。因此,这允许用实际数据来填充数据集。
在示例中,确定每个手绘图还包括:摄动一个或多个所渲染边缘的至少一部分。换句话说,在从视点进行渲染之后,可以修改渲染的边缘。这允许再现手绘草图的不规则性,而从实体CAD特征开始的渲染会产生过于规则的几何形状。因此,这使得学习更加准确和可靠。
如前所述,可以以向量的方式执行每个边缘的渲染。换句话说,每个边缘可以由一个或多个相应的参数曲线表示,例如具有少于50、20或10个控制点。贝塞尔曲线,以svg格式在2D图像中表示。可以使用其他格式。在这种情况下,对于至少一条相应的参数曲线,摄动可以包括将噪声添加到该至少一条相应的参数曲线的一个或多个参数。例如,噪声可以移动控制点。这使得学习特别稳健。
现在讨论学习方法的示例。
在示例中,神经网络可以包括循环神经网络(RNN)单元(即,同一RNN的单元)。这样的示例允许学习准确的神经网络,从而执行准确的推测,该神经网络呈现了与要推测的实体CAD特征的几何形状(例如曲线)序列的顺序特征相对应的顺序结构(经由RNN)。
具体而言,每个RNN单元可以以相应的时间步长输出用于推测实体CAD特征的相应几何形状(例如,序列曲线)的相应数据。因此,输出的数据允许推测相应的曲线。可以以任何预定的方式来推测曲线序列的长度(例如,可以将所推测出的曲线序列限制为具有某个给定长度的曲线序列)。或者,每个RNN单元还可以以相应的时间步长输出相应的数据,以推测曲线序列的结束或继续决策(即结束标志)。
现在讨论RNN输出的特别有效的示例。
用于推测实体CAD特征的相应曲线的相应数据可以包括:用于推测相应曲线类型的相应第一数据,以及对于一个或多个参数域的相应离散集合中的每个参数域,用于推测相应参数值的相应第二数据。
在示例中,相应第一数据可以包括相应的离散的概率分布,每个概率归因于离散的曲线类型集中的相应一个。换句话说,每个RNN单元输出曲线类型上的概率分布,使得可以针对与相应时间步长相对应的序列曲线推测出可能的曲线类型。
替换地或附加地,在示例中,相应的第二数据可以包括(对于每个曲线类型)针对一个或多个参数域的相应离散集合中的每个参数域的相应参数值。换句话说,RNN单元直接输出推测出的曲线类型的参数值。这简化了学习并提高了收敛性和准确性,尤其是当参数连续且难以学习输出密度分布的神经网络时。
类似地,神经网络在示例中可以包括输出数据的标准神经网络(NN)部件,用于推测实体CAD特征的扫描操作。在示例中,用于推测实体CAD特征的扫描操作的数据可以包括:用于推测扫描曲线类型的第一数据,以及对于一个或多个参数域的相应离散集合中的每个参数域,用于推测参数值的第二数据。
在示例中,相应第一数据可以包括相应的离散概率分布,每个概率归因于离散的曲线类型集中的相应一个曲线类型。换句话说,NN部件输出曲线类型的概率分布,使得可以针对扫描曲线推测出可能的曲线类型。
替换地或附加地,在示例中,相应的第二数据可以包括(对于每个曲线类型)针对一个或多个参数域的相应离散集合中的每个参数域的相应参数值。换句话说,NN部件直接输出推测出的曲线类型的参数值。这简化了学习并提高了收敛性和准确性,尤其是当参数连续且难以学习输出密度分布的神经网络时。
现在讨论导致特别准确的结果的神经网络的体系结构。
在选择中,神经网络可以包括初始编码器,其采用手绘图(为2D图像)作为输入。编码器可以是卷积神经网络(CNN)。CNN可以是2D CNN,并采用2D图像数据为输入。
现在讨论导致精确结果的受监督的训练的损失示例特征。
在示例中,损失对于序列循环置换和/或基于参照的草图可以是不变的。换句话说,对于用于推测的候选实体CAD特征,损失可能不随其曲线序列的循环置换而变化,和/或损失可能在扫描操作结束时对于用其图像替换闭合2D平面草图并反转扫描操作来说是不变的。如果实体CAD特征产生相同的3D形状,则这种损失会处理可能地并正确地表示不同的实体CAD特征的手绘图的情况。由于将学习集中在重要参数上,因此提高了学习的准确性,从而使学习方法不必学习不必要的信息。
损失可以惩罚一个或多个数量,例如,经由相应的损失项来惩罚每个数量。对于每个序列曲线的时间步长和相对于扫描曲线的步长(每个手绘图在此与相应的地面真值实体CAD特征相关联),惩罚数量可以包括以下数量中的任意一个或它们的任意组合:
-归因于相应地面真值曲线的各自曲线类型的相应数据的概率较低,
-地面真值曲线的一个或多个相应参数值与其对应的各自数据的一个或多个相应参数值之间的差异,和/或
-(仅对于RNN单元时间步长)归因于相应地面真值结束相对于持续状态的相应概率(由RNN单元输出)的概率较低。
换句话说,受监督的训练通过使此类损失最小化,可以作用于神经网络的权重,从而趋于使每个RNN单元和NN部分针对相应地面真值曲线类型输出的相应概率接近于1(即不低),并且针对其他曲线类型输出的相应概率接近于0(即低),和/或使每个RNN单元及该部件输出的各个连续参数值接近其地面真实值。这样的损失准确地处理问题的离散/连续混合。而且,损失会以其地面真实值来惩罚推测的曲线序列长度的差异。
现在讨论导致精确结果的无监督训练的示例,其中相应的第一数据包括相应的概率的离散分布,每个均归因于离散的曲线类型集中相应的一个。
众所周知,无监督训练可以使损失最小化。最小化包括探索候选的各个离散的概率的分布。换句话说,最小化迭代地修改神经网络权重,以探索输出的各个离散的概率分布,并使它们与未标记的数据集一致(其中,每张手绘图均未与任何地面实体CAD特征相关联)。在某种意义上,候选的各个离散的概率分布的探索是间接的,并且是直接探索权重的结果。在选择中,最小化还包括:探索结束标志的候选的各个离散的概率分布。在示例中,最小化还包括探索针对一个或多个参数域的各个离散集中的每个参数域的候选的相应参数值。
现在,针对数据集的每个手绘图以及针对每个候选,损失都会惩罚与相应手绘图的差异。相应的手绘图是从相应的实体CAD特征得出的,其本身可基于所探索的候选的各个离散概率分布来进行推测。换句话说,给定神经网络的权重值(在无监督训练的任何迭代中),可以将未标记数据集的手绘图输入神经网络以执行对实体CAD特征的推测。可以基于每个推测出的实体CAD特征本身来得出手绘图(通过构建树并确定结果的手绘图)。这样得出的手绘图可以与初始的相应数据集的手绘图进行比较。
在示例中,无监督训练可以包括用于至少一个(例如,每个)手绘图的采样步骤。训练可以包括提供小批量,并且采样可以包括:对于每个小批量,通过跟着由神经网络输出的数据(包括概率分布以及由RNN输出的连续参数值),针对小批量的每个手绘图对实体CAD特征进行采样。然后,采样可以计算损失,其将输入手绘图(或其表示,例如渲染)与和经采样的实体CAD特征相对应的手绘图进行比较(即,对差异进行惩罚)。由于采样是随机且离散的,因此该损失相对于采样是不可微分的。因此,由于不存在真实梯度,故而无法执行相对于变量的真实梯度的经典反向传播。
提出的无监督训练示例提出使用一种增强方法来提供损失相对于表示相应第一数据的候选各个离散分布的变量的伪梯度,以及可选地提供损失相对于表示几何操作上的候选的各个离散分布的变量的伪梯度,和/或损失相对于表示结束标志分布的变量的伪梯度。然后,最小化可以包括这种损失的伪梯度的反向传播(例如,随机下降)以学习神经网络。由于伪梯度是通过增强方法提供的,因此即使反向传播不是真实梯度之一,该学习也是准确的。最小化还可以包括:损失相对于针对一个或多个参数域的各个离散集合中的每个参数域的各个参数值的(真实)梯度的反向传播(因为损失相对于这些变量是可微分的)。因此,强化方法解决了引入离散概率分布而引起的可微性问题,并且仅解决了该问题。
现在讨论示例机器学习过程,包括方法的示例。
循环神经网络
示例机器学习过程基于循环神经网络(RNN)。循环神经网络是具有内部记忆状态的深度神经网络。因此,与前馈神经网络不同,循环神经网络可以表现出时间行为。它们隐式地考虑了过去的条目以预测下一个结果。它们可以写为
Figure BDA0002346362180000291
其中y是输出,x是输入,h是内部隐藏状态,也被称为存储器。w是RNN的权重。存储器h并不是堆叠所有过去输入的硬存储器,它是固定大小的向量,可以通过
Figure BDA0002346362180000292
进行学习,使得RNN学会仅保留来自过去步骤的有用信息。
示例机器学习过程的目标
给定实体的手绘图,示例机器学习过程旨在获得表示手绘图的合理的实体CAD特征。示例机器学习过程通过(且仅通过)下列各项关注针对3D空间定义的实体CAD特征:
-闭合的2D平面草图,由一系列平面曲线组成,从而形成闭合的轮廓,
-然后是扫描操作,通过在3D空间中扫描由2D平面草图定义的闭合表面来生成实体,即实体由闭合表面经过的体积来定义。
示例机器学习过程的原理
示例机器学习过程将实体的手绘透视图作为输入,并通过端到端深度学习模型来产生实体CAD特征。
1.首先,通过卷积神经网络(CNN)生成绘图的紧凑型潜在表示。
2.然后从此潜在表示中分两步推测出实体CAD特征:
a.首先,通过循环神经网络(RNN)推测闭合2D平面草图。草图由曲线序列定义。RNN的每个时间步长与序列中的一条曲线相对应。在每个时间步长,相应的RNN单元估算曲线的类型(直线、样条、弧)、其参数以及结束/继续标志(是否为序列的最后一个元素)。
b.其次,神经网络(NN)预测该扫描。
当地面真值实体CAD特征可获得时,整个模型(CNN编码器、RNN、NN)以受监督的方式端到端地进行训练。否则,对于无监督训练,生成推测出的几何图形的渲染图像,并对整个模型进行优化,以使渲染图像适合输入的手绘图。
示例机器学习过程的实现选项
示例机器学***面草图。
但是,本讨论仅考虑由i索引的样本,其中2D平面草图由一系列长度为Ti的参数化曲线(cx(u),
Figure BDA0002346362180000301
具有参数x)组成,每个曲线由
Figure BDA0002346362180000302
索引。分别地,示例机器学***面草图。对于2D平面草图和扫描操作二者,示例机器学习过程均考虑以下曲线类型:
·直线:具有参数x=(pstart,pend)的直线片段,其中pstart和pend是该片段的两个边界点(即起点和终点):
Figure BDA0002346362180000305
·弧:具有参数x=(pstart,pinter,pend)的圆弧片段,其经过pstart,pinter和pend。pstart和pend是该片段的两个边界点,并且pinter是中间点。为了完整起见,附录部分从三个点提供了弧公式。
·三次埃尔米特插值片段由三次埃尔米特插值定义的片段具有参数x=(pstart,tstart,pend,tend),其中pstart和pend是该片段的两个边界点,并且tstart和tend分别是它们的切线:
Figure BDA0002346362180000306
选择这些曲线类型的不同原因包括:
-这些曲线的参数对任何用户都有意义。因此,可以容易地对所获得的实体CAD特征进行编辑。具体而言,三次埃尔米特插值在设计中被广泛使用(例如Catmull-Rom样条)。
-它们可以表示各种各样的形状。而且,如果形状不能由这些曲线的序列表示,则这样的序列可以容易地接近该形状(序列中的每个曲线局部地接近形状的区域)。
-这种表示法还可以容易地实现最常见的扫描操作:拉伸和旋转。
示例机器学习过程的流水线选项
示例机器学习过程流水线的主要步骤如下:
1.生成合成的带标记数据集(如果需要)
2.端到端地对模型进行训练(受监督地,使用带标记数据)
3.端到端地对模型进行训练(无监督地,使用无标记数据)
4.推测
示例机器学习过程考虑了训练模型的两种不同方式。当带标记数据可获得时(或在步骤1中合成地生成),可以用受监督方式来训练模型。在这种情况的示例中,模型可以仅是受监督的方式和/或可以跳过步骤3。在这种情况的替代示例中,可以在使用合成数据进行预训练之后,以无监督的方式来训练模型。作为这种情况的替代,可以仅以无监督的方式来训练模型。
对示例机器学习过程的描述
1、生成合成的带标记数据集(如果需要)
示例机器学习过程将带标记数据集视为与实体CAD特征相关联的实体手绘图的集合,从中可以生成实体的实际几何形状。这样的数据集很少是可获得的。如果丢失,则可以使用随机生成器来合成地生成。
a.实体CAD特征生成
首先,从给定分布中采样实体CAD特征。分布可以由用户考虑任何以后的应用来设计。示例机器学习过程将专门用于学习检索此分布的实体CAD特征。
现在,以下内容描述了一般分布的示例,该示例处理由长度最大为N=10的曲线序列组成的2D平面草图(N可以采用任何严格的正整数值),以及包括沿曲线对2D平面草图进行扫描的扫描操作。每个采样的实体CAD特征由i索引。
对二维平面草图进行如下采样:
·在
Figure BDA0002346362180000311
中对序列Ti的长度进行均匀采样。
·
Figure BDA0002346362180000312
两个实数值αt和rt是分别在[0,2π[和]0,1]中均匀采样的,并且曲线类型
Figure BDA0002346362180000313
是在可能的曲线类型中均匀选择的。然后,通过递增的值来对αt的值进行排序
Figure BDA0002346362180000314
图3示出了这样的随机采样的示例,其中,Ti=3,以一元圆表示。
·对于每个
Figure BDA0002346362180000315
使用约定Ti+1=0,对具有参数
Figure BDA0002346362180000316
的类型
Figure BDA0002346362180000317
的曲线进行实例化。通过以下方式来选择参数:
ο无论曲线类型
Figure BDA0002346362180000321
如何,设置参数pstart和pend使得pstart(分别地,pend)是长度为rt(分别地,rt+1)的向量,具有相对于αt(分别地,αt+1)弧度的轴
Figure BDA0002346362180000322
的角度,并位于“地平面”上(穿过原点并垂直于
Figure BDA0002346362180000323
)。
ο在
Figure BDA0002346362180000324
(弧)的情况下,在片段
Figure BDA0002346362180000325
中对点μinter进行均匀采样。从高斯分布
Figure BDA0002346362180000326
对附加参数pinter进行采样,其中,Σ是对角矩阵,其非零元素等于‖pend-pstart2,将pinter的z坐标设置为0,以使得它也位于“地平面”中。
ο在
Figure BDA0002346362180000327
的情况下,在片段
Figure BDA0002346362180000328
中对两个点μstart和μend进行均匀采样。分别从高斯分布
Figure BDA0002346362180000329
Figure BDA00023463621800003210
对点pstart′和pend′进行采样,其中,Σ是对角矩阵,其非零元素等于‖pend-pstart2。将pstart′和pend′的z坐标设置为0,以使得它也位于“地平面”中。最后,将tstart和tend设置为tstart=pstart′-pstart,并且tend=pend′-pend.。
ο如果实例化的曲线与自身或先前经实例化的曲线中的一个相交,则重复该过程,直到不再相交为止。如果经过多次试验(例如10次),仍然存在一些交点,则整个样本将从开始重新生成。
图4示出了图3的示例,其中
Figure BDA00023463621800003211
并且
Figure BDA00023463621800003212
对扫描操作进行如下采样:
·从可能的曲线类型中均匀地选择曲线类型s。
·对具有参数
Figure BDA00023463621800003213
的类型si的曲线进行实例化。通过以下方式来选择参数:
ο无论曲线类型si如何,将参数pstart设置为原点。在[-0.5,0.5]×[-0.5,0.5]×[0.1,1.0]中对pend参数进行均匀采样。
ο取决于曲线类型si,其余参数的采样方式与2D平面草图中的曲线相同,但不强制其位于“地平面”中。
图5示出了与图4相同的示例,其中si=三次埃尔米特插值片段。
该通用分布可以专门用于生成特定类型的实体CAD特征。以下内容提供了可应用的一些限制以生成不同种类的实体:
·规则正棱柱(right prism)
ο曲线的类型限制为线型(Line)曲线类型(
Figure BDA0002346362180000331
和si=线型)。
ο在
Figure BDA0002346362180000332
中而不是在
Figure BDA0002346362180000333
中对序列Ti的长度进行均匀采样。
ο线性片段的边界点在一元圆中规则分布(
Figure BDA0002346362180000334
我们设置rt=1并且
Figure BDA0002346362180000335
)。
ο将扫描线设置为垂直的(在{0}×{0}×[0.1,1.0]中对扫描曲线的pend参数进行均匀采样)。
·圆柱体
ο 2D平面草图由形成一元圆的弧组成。将曲线的类型限制为2D平面草图(
Figure BDA0002346362180000336
)的弧曲线类型,并选择其参数使得其控制点(由弧参数定义)位于该一元圆中。
ο将扫描操作曲线的类型限制为线型曲线类型(si=线型)。
ο将扫描线设置为垂直的(在{0}×{0}×[0.1,1.0]中对扫描曲线的pend参数进行均匀采样)。
实体CAD特征SCFi可以在示例机器学习过程中完全由不同的曲线类型及其参数来定义:
Figure BDA0002346362180000337
为了使所有实体CAD特征具有相似的大小(这使学习过程更容易),可以调整它们的大小,以使其边界框的最大边等于1并居中(边界框的中心在原点)。
b.训练样本生成
然后,对于每个实体CAD特征,在以原点为中心的球体中对一个或多个视点进行均匀采样。可以选择球体半径以使整个实体CAD特征在从该位置渲染并且看向原点的图像中可见。
我们将边缘定义为生成的实体的Ck不连续性。对于每个样本,我们随机选择k=1(切线不连续性,尖锐的边缘)或k=2(曲率不连续性,例如平面和圆柱表面之间的边缘)。
然后,实体CAD特征的轮廓和可见边缘可以从采样的并看向图像Ii中的原点的视点渲染。
最后,通过将渲染的图像Ii与其相应的实体CAD特征SCFi进行关联来生成训练样本i,这些参数先前已在视点坐标系中表示出。
图6示出了使用C1不连续性作为边缘的实体CAD特征的渲染图像。图7示出了使用C2不连续性作为边缘的相同实体CAD特征的渲染图像。图8示出了图5中表示的实体CAD特征的渲染图像。在这种情况下,每个C2不连续性也是C1不连续性,即,使用C1或C2不连续性作为边缘进行渲染将提供相同的结果。
c.样本摄动
最后,可以对渲染的边缘和轮廓可能进行干扰,以模仿手绘的笔触。
示例机器学习过程遵循以下可选策略:
·轮廓和边缘是先前以向量方式渲染的,例如svg格式(即,每个渲染的片段对应于一条参数化曲线)。
·将每条曲线划分为任意数量的曲线(例如贝塞尔曲线)。
·将高斯噪声添加到曲线的每个参数。
图9示出了图8所示的渲染的摄动图像。图10示出了实体CAD特征渲染的另一个示例(表示规则正棱柱)。图11示出了图10的渲染的经摄动图像。
2、端到端地对模型进行训练(受监督地,使用带标记数据)
为了训练模型,示例机器学习过程考虑了大小为N的数据集。由i索引的数据集的每个样本由手绘图像
Figure BDA0002346362180000341
2D基础草图曲线序列、扫描操作
Figure BDA0002346362180000342
及其相关联参数
Figure BDA0002346362180000343
组成。设第i个2D基础草图曲线序列的长度为
Figure BDA0002346362180000344
将每个曲线序列写为曲线类型的序列
Figure BDA0002346362180000345
对于每条曲线
Figure BDA0002346362180000346
设其参数为
Figure BDA0002346362180000347
模型定义
该模型采用表示手绘图的单通道图像作为输入(合成的或非合成的)
Figure BDA0002346362180000348
CNN将图像编码为特征向量
Figure BDA0002346362180000349
其中w是模型的权重。
RNN估计2D基础草图。每个RNN单元在每个时间步长t输出曲线可能类型上的离散分布pt,以及指示草图是否结束的结束/继续标志上的伯努利(Bernoulli)分布qt。每个单元还在每个时间步长t针对每个曲线类型c和状态向量ht输出预测的连续参数
Figure BDA0002346362180000351
每个RNN单元都将以下元素作为输入:
·特征向量
Figure BDA0002346362180000352
·由先前单元输出的状态向量ht-1,其中,h0=O。
·可选地,从由先前RNN单元预测的估计分布
Figure BDA0002346362180000353
中采样一个或几个曲线类型
Figure BDA0002346362180000354
和/或它们的估计的参数
Figure BDA0002346362180000355
更具体地说,每个RNN单元公式可以写作:
Figure BDA0002346362180000356
Figure BDA0002346362180000357
我们记得
Figure BDA0002346362180000358
输入是可选的。
然后,标准NN输出可能的扫描操作类型以及每个扫描操作类型s的连续参数ys上的离散分布r。其采用下列各项作为输入:
·特征向量
Figure BDA0002346362180000359
·由最后的单元输出的状态向量
Figure BDA00023463621800003510
·可选地,从由先前RNN单元预测的估计分布
Figure BDA00023463621800003511
中采样一个或几个曲线类型
Figure BDA00023463621800003512
和/或它们的估计的参数
Figure BDA00023463621800003513
图12示出了示例机器学习过程中呈现的模型的示例的流水线。如上所述,RNN单元和/或NN可以采用上述不同的输入。
损失定义
为了简单起见,我们从现在开始将估计的分布和参数作为输入图像
Figure BDA00023463621800003514
的函数,尽管它们可以取决于上文阐述的其他变量。
我们定义了损失,其惩罚曲线以及扫描操作类型的预测误差:
Figure BDA00023463621800003515
类似地,我们定义了以下损失,其迫使曲线序列具有正确长度:
Figure BDA0002346362180000361
我们还定义了以下损失,其惩罚预测曲线和扫描操作参数上的平方误差:
Figure BDA0002346362180000362
最后,我们将损失最小化如下以训练网络的权重(使用标准深度学习技术,例如小批量上的ADAM求解器):
Lsup(w)=Ltype(w)+Llength(w)+λLparameters(w) (公式4)
其中,λ是加权参数,例如,其可以被初始化为:
Figure BDA0002346362180000363
其中,w0是神经网络的随机初始化的权重。
除对数(交叉熵项)以外的任何低度惩罚函数都可以用于项Ltype(w)和Llength(w)中的任何一项,和/或除L2距离之外的任何距离d和/或任何递增和/或除平方函数外的正incr函数可用于Lparameters(w)。
损失修正:使其针对序列循环置换不变
如果一个曲线序列是另一个曲线序列的循环置换,则两个曲线序列是等效的(生成相同的2D基础草图),即相同的序列但开始于不同的点。结果,在训练期间,示例机器学习过程的模型可以预测曲线序列分布,该曲线序列分布生成精确的2D基础草图,但是由于预测是地面真值的循环置换而导致高损失。为避免此问题,我们将公式
Figure BDA0002346362180000364
Figure BDA0002346362180000365
Figure BDA0002346362180000366
Figure BDA0002346362180000367
中的损失修改为对循环置换不变:
Figure BDA0002346362180000368
Figure BDA0002346362180000371
损失修正:使其针对基于参照的草图不变
等效地,两个实体CAD特征可以在相同的几何图形上产生。实际上,第二2D平面将在扫描操作的末端形成。结果,由该第二表面的2D平面草图定义的实体CAD特征以及在原始扫描操作之后进行的扫描操作(但是在相反方向上)将产生相同的实体。对于由
Figure BDA0002346362180000372
定义的给定实体CAD特征,我们指出其等效实体CAD特征
Figure BDA0002346362180000373
我们将由公式(公式6)定义的损失修改为对于单个实体的特征表示不变:
Figure BDA0002346362180000374
3、端到端地对模型进行训练(无监督地,使用无标记数据)
可以对模型进行微调,也可以从头开始使用实际数据对其进行训练(即跳过步骤2)。
模型架构几乎不变(参见步骤2)。
在每次迭代中,从估计的分布中对实体CAD特征进行采样,通过输入绘图
Figure BDA00023463621800003710
进行调整,并用模型预测的参数来进行实例化。对一些预测的参数进行了修改以确保闭合的2D基础草图(即序列中的曲线的终点必须与下一条曲线的起点一致)。在示例机器学习过程中,我们强制
Figure BDA0002346362180000375
等于
Figure BDA0002346362180000376
在序列的第一条曲线的起点和最后一条曲线的终点的特殊情况下,在这种情况下,我们强制
Figure BDA0002346362180000377
等于
Figure BDA0002346362180000378
我们表示Ti为采样的草图序列(最小的t,其中,结束标志是从中qt采样的)长度,
Figure BDA0002346362180000379
为采样的曲线,以及si为采样的扫描操作。
用固定的任意照相机姿势在图像Ii中渲染所获得的几何图形的可见边缘。渲染过程可以看作是在实体CAD特征与其生成的渲染视图Ii之间的映射。以有限的差分来计算此映射的微分。
不是使用步骤2中定义的损失,我们定义了用于将输入绘图与获得的渲染图像进行比较的损失。这种损失的一个例子可以是:
Figure BDA0002346362180000381
其中,d是Ii
Figure BDA0002346362180000382
之间的相似度测量。例如,我们可以使用Ii中的渲染边缘相对于
Figure BDA0002346362180000383
的非背景像素的倒角(Chamfer)距离(或者反过来)。
使该损失最小化使我们可以优化网络的权重,离散分布p,q,r除外,其仅用于采样。示例机器学习过程可以反向传播针对这些分布的损失的梯度。示例机器学习过程可以使用增强算法来获得离散分布p,q,r的这种梯度。增强算法仅限于这些离散分布,因此无监督学习阶段可以获得其他变量的真实梯度。这限制了近似,从而影响了精度。
增强算法可以是以下论文中描述的增强算法:
-R.J.Williams.用于连接增强学习的简单统计梯度跟踪算法。机器学习,229—256,1992。
这提供了以下渐变公式:
Figure BDA0002346362180000384
Figure BDA0002346362180000385
Figure BDA0002346362180000386
其中,ρ是额外的稀疏性奖励,以鼓励草图序列在最小尺寸下具有最大表现力,并且b是用于减少估计的梯度的方差的基线,并计算为过去损失的移动平均值。
4、推测
一旦学习了模型,推测就可以简单直接。用户可以建立新的手绘图,并将其提供给模型。然后可以生成最可能的(根据推测的分布)实体CAD特征。否则,可以通过从推测的分布进行采样来计算若干合理的解。对一些预测的参数进行修改以确保闭合的2D基础草图(即序列中的曲线的终点必须与下一条曲线的起点一致)。在一种实现中,我们强制
Figure BDA0002346362180000387
等于
Figure BDA0002346362180000388
在序列的第一条曲线的起点和最后一条曲线的终点的特殊情况下,在这种情况下,过程可以强制
Figure BDA0002346362180000391
等于
Figure BDA0002346362180000392
所讨论的示例机器学习过程可以允许提出几个合理的实体CAD特征,或者由扫描的2D草图产生的几何形状(CAD特征可以被隐藏)。示例机器学习过程的预测对噪声具有鲁棒性。
附录:来自3个点的弧方程
设pstart、pinter和pend是空间中的三个点。我们定义:
ο平面Π穿过点pstart、pinter和pend
ο应用fΠ:
Figure BDA0002346362180000393
将属于Π的三维点转换为平面Π的局部二维坐标系中的二维点,
ο应用
Figure BDA0002346362180000394
将平面Π的局部坐标系中的二维点转换为相应的三维点,
ο
Figure BDA0002346362180000395
ο
Figure BDA0002346362180000396
并且
ο
Figure BDA0002346362180000397
穿过pstart、pinter和pend的弧形片段然后由以下来定义:
Figure BDA0002346362180000398
其中,
Figure BDA0002346362180000399
并且
Figure BDA00023463621800003910
Figure BDA00023463621800003911
Figure BDA0002346362180000401
最后,我们注意到θstartinter和θend分别是向量
Figure BDA0002346362180000402
Figure BDA0002346362180000403
相对于轴
Figure BDA0002346362180000404
的角度:
ο如果θstartinterend则α=θstart并且β=θend
ο如果θstartendinter或者θinterstarend
则α=θend并且β=θstart+2π
ο如果θinterendstar或者θendstarinter
则α=θstart并且β=θend+2π
ο如果θendinterstart则α=θend并且β=θstart

Claims (15)

1.一种用于学习神经网络的计算机实现的方法,所述神经网络被配置用于从表示3D形状的手绘图推测表示所述3D形状的实体CAD特征,所述方法包括:
-提供包括分别表示相应3D形状的手绘图的数据集;以及
-基于所述数据集来学习所述神经网络。
2.根据权利要求1所述的方法,其中,所述实体CAD特征包括相应曲线序列,所述方法还包括:提供候选曲线集,所述学习还基于所述候选曲线集。
3.根据权利要求2所述的方法,其中,所述神经网络包括循环神经网络(RNN)单元,每个RNN单元在相应的时间步长(t)处输出用于对所述实体CAD特征的相应曲线进行推测的相应数据。
4.根据权利要求3所述的方法,其中,
-所述候选曲线集包括下列各项之间的集合乘积:
ο离散的曲线类型集,以及
ο针对每个曲线类型,每个相应参数的一个或多个参数域的相应离散集合,每个参数域具有所述相应参数的相应参数值,
每个曲线类型利用针对所述一个或多个参数域的相应离散集合中的每个参数域的相应参数值,形成所述候选曲线集的相应元素;以及可选地
-用于推测所述实体CAD特征的相应曲线的所述相应数据包括:
用于推测相应曲线类型的相应第一数据,以及用于推测针对所述一个或多个参数域的相应离散集合中的每个参数域的相应参数值的相应第二数据。
5.根据权利要求3或4所述的方法,其中,具有一个或多个先前RNN单元的每个RNN单元将从由所述一个或多个先前RNN单元输出的相应数据可推测出的信息作为输入信息。
6.根据权利要求1至5中任一项权利要求所述的方法,其中,所述实体CAD特征包括扫描操作,所述方法还包括:提供扫描操作的候选集合,所述学习还基于所述扫描操作的候选集合。
7.根据权利要求6所述的方法,其中,所述神经网络包括输出用于对所述实体CAD特征的所述扫描操作的推测的数据的神经网络部分。
8.根据权利要求7所述的方法,其中,
-所述扫描操作的候选集合包括下列各项之间的集合乘积:
ο离散的扫描曲线类型集,以及
ο针对每个扫描曲线类型,每个相应参数的一个或多个参数域的相应离散集合,每个参数域具有所述相应参数的相应参数值,
每个扫描曲线类型利用所述一个或多个参数域的相应离散集合中的每个参数域的相应参数值,形成所述扫描操作的候选集合的相应元素;以及可选地
-用于推测所述实体CAD特征的所述扫描操作的所述数据包括:
用于推测扫描曲线类型的第一数据,以及用于推测针对所述一个或多个参数域的相应离散集合中的每个参数域的参数值的第二数据。
9.根据权利要求1至8中任意一项权利要求所述的方法,其中,所述神经网络包括对表示所述手绘图的图像进行编码的卷积神经网络(CNN)。
10.根据权利要求1至9中任意一项权利要求所述的方法,其中:
-所述数据集针对一个或多个手绘图中的每个手绘图还包括:
表示相对于所述手绘图的所述3D形状的相应实体CAD特征,并且所述学习包括受监督的训练,所述受监督的训练包括使损失Lsup最小化,
所述损失Lsup可选地对下列各项不变:
ο序列循环排列,每个实体CAD特征包括相应的曲线序列,和/或
ο基于参照的草图,每个实体CAD特征包括扫描操作;和/或
-所述学习包括无监督训练,所述无监督训练包括使损失Lunsup最小化,对于手绘图,所述损失Lunsup惩罚与从相应可推测实体CAD特征导出的渲染的差异,所述神经网络可选地输出一个或多个离散的概率分布,所述最小化包括相对于分别表示相应的离散概率分布的一个或多个变量的所述损失Lunsup的梯度的反向传播,所述梯度是利用增强算法获得的。
11.一种表示根据权利要求1至10中任一项权利要求所述的方法可学习的神经网络的数据结构。
12.一种使用根据权利要求11所述的数据结构的计算机实现的方法,所述方法包括:
-提供表示3D形状的手绘图;
-向所述手绘图应用所述神经网络;以及
-基于所述应用的结果,推测表示所述3D形状的实体CAD特征。
13.一种计算机程序,其包括用于执行根据权利要求1至10中任一项权利要求所述的方法的指令和/或根据权利要求12所述的方法的指令。
14.一种包括具有在其上记录的根据权利要求11所述的数据结构和/或根据权利要求13所述的程序的数据存储介质的设备。
15.根据权利要求14所述的设备,其中,所述设备还包括耦合至所述数据存储介质的处理器。
CN201911396199.3A 2018-12-29 2019-12-30 学习用于推测实体cad特征的神经网络 Pending CN111382530A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP18306886.5A EP3675062A1 (en) 2018-12-29 2018-12-29 Learning a neural network for inference of solid cad features
EP18306886.5 2018-12-29

Publications (1)

Publication Number Publication Date
CN111382530A true CN111382530A (zh) 2020-07-07

Family

ID=65200561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911396199.3A Pending CN111382530A (zh) 2018-12-29 2019-12-30 学习用于推测实体cad特征的神经网络

Country Status (4)

Country Link
US (1) US11922573B2 (zh)
EP (1) EP3675062A1 (zh)
JP (1) JP7473335B2 (zh)
CN (1) CN111382530A (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3671660A1 (en) * 2018-12-20 2020-06-24 Dassault Systèmes Designing a 3d modeled object via user-interaction
EP3675063A1 (en) * 2018-12-29 2020-07-01 Dassault Systèmes Forming a dataset for inference of solid cad features
EP3675062A1 (en) 2018-12-29 2020-07-01 Dassault Systèmes Learning a neural network for inference of solid cad features
EP3674984B1 (en) * 2018-12-29 2024-05-15 Dassault Systèmes Set of neural networks
EP3958162A1 (en) 2020-08-20 2022-02-23 Dassault Systèmes Neural network for outputting a parameterized 3d model
EP3958182A1 (en) 2020-08-20 2022-02-23 Dassault Systèmes Variational auto-encoder for outputting a 3d model
KR102410047B1 (ko) * 2021-12-30 2022-06-16 주식회사 리콘랩스 비정형 스케치 기반 3차원 모델링 방법 및 시스템
DE102022108379A1 (de) 2022-04-07 2023-10-12 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren, System und Computerprogrammprodukt zum optimierten Konstruieren und/oder Designen einer technischen Komponente
EP4266257A1 (en) * 2022-04-21 2023-10-25 Dassault Systèmes 3d reconstruction from images
US20230351650A1 (en) * 2022-04-28 2023-11-02 Dassault Systemes Solidworks Corporation Converting images to sketches that are modifiable using computer-aided design (cad) software
DE102022113702A1 (de) 2022-05-31 2023-11-30 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren, System und Computerprogrammprodukt zum autonomen intuitiven Konstruieren eines technischen Bauteils für eine Entität

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5945995A (en) * 1995-06-08 1999-08-31 Olympus Optical Co., Ltd. CAD system which automatically creates a 3-dimensional solid model directly from a 2-dimensional drawing
US20170161590A1 (en) * 2015-12-07 2017-06-08 Dassault Systemes Recognition of a 3d modeled object from a 2d image

Family Cites Families (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4951227A (en) 1988-09-30 1990-08-21 Tektronix, Inc. Dimension analysis of drawings
US5537519A (en) 1993-06-29 1996-07-16 Electronic Data Systems Corporation System and method for converting boundary representations to constructive solid geometry representations for three-dimensional solid object modeling
JPH0896138A (ja) 1994-09-20 1996-04-12 Just Syst Corp 形状認識装置
US6912293B1 (en) 1998-06-26 2005-06-28 Carl P. Korobkin Photogrammetry engine for model construction
US6629065B1 (en) 1998-09-30 2003-09-30 Wisconsin Alumni Research Foundation Methods and apparata for rapid computer-aided design of objects in virtual reality and other environments
US6628279B1 (en) 2000-11-22 2003-09-30 @Last Software, Inc. System and method for three-dimensional modeling
AU2002323545A1 (en) 2001-08-31 2003-03-18 Solidworks Corporation Simultaneous use of 2d and 3d modeling data
US20040090439A1 (en) 2002-11-07 2004-05-13 Holger Dillner Recognition and interpretation of graphical and diagrammatic representations
US8429174B2 (en) 2003-01-25 2013-04-23 Purdue Research Foundation Methods, systems, and data structures for performing searches on three dimensional objects
US8230358B1 (en) 2004-06-22 2012-07-24 Apple Inc. Defining motion in a computer system with a graphical user interface
CN101308441B (zh) 2004-10-12 2010-09-22 日本电信电话株式会社 三维显示控制方法和三维显示控制装置
US7880737B2 (en) 2005-03-22 2011-02-01 Vijayvardhan Elchuri Graphical method and system for making drawings directly in three-dimensions on a computer monitor or other display device
US8300062B2 (en) 2005-04-18 2012-10-30 Steve Tsang Method, system and computer program for using a suggestive modeling interface
WO2009100538A1 (en) 2008-02-13 2009-08-20 Dirtt Environmental Solutions, Ltd. Rendering and modifying cad design entities in object-oriented applications
CA2642553C (en) 2006-02-16 2016-04-19 Dirtt Environmental Solutions, Ltd. Integrating object-oriented design software with record-based cad software
US20080297503A1 (en) 2007-05-30 2008-12-04 John Dickinson System and method for reconstructing a 3D solid model from a 2D line drawing
US10993744B2 (en) 2007-12-18 2021-05-04 Howmedica Osteonics Corporation Preoperatively planning an arthroplasty procedure and generating a corresponding patient specific arthroplasty resection guide
US10575875B2 (en) 2007-12-18 2020-03-03 Howmedica Osteonics Corporation Systems and methods for surgical planning of arthroplasty procedures
US8334869B1 (en) 2009-03-23 2012-12-18 Adobe Systems Incorporated Method and apparatus for modeling 3-D shapes from a user drawn curve
US8914259B2 (en) 2010-10-12 2014-12-16 Autodesk, Inc. Passive associativity in three-dimensional (3D) modeling
US8718375B2 (en) 2010-12-03 2014-05-06 Massachusetts Institute Of Technology Sketch recognition system
US9182882B2 (en) 2011-04-12 2015-11-10 Autodesk, Inc. Dynamic creation and modeling of solid models
US9977840B2 (en) 2012-08-29 2018-05-22 Prem Makeig Computer-implemented methods for generating 3D models suitable for 3D printing
US20140074272A1 (en) 2012-09-13 2014-03-13 Parametric Products Intellectual Holdings, Llc System for creation of three dimensional printing files
US9734638B2 (en) 2013-02-11 2017-08-15 Ramot At Tel-Aviv University Ltd. Three-dimensional modeling from single photographs
US9405994B2 (en) 2013-05-08 2016-08-02 The University Of British Columbia Methods and systems for characterizing concept drawings and estimating three-dimensional information therefrom
EP2811463B1 (en) 2013-06-04 2018-11-21 Dassault Systèmes Designing a 3d modeled object with 2d views
CN104574515B (zh) 2013-10-09 2017-10-17 华为技术有限公司 一种三维物体重建的方法、装置和终端
US9341848B2 (en) 2013-10-17 2016-05-17 Cherif Algreatly Method of 3D modeling
EP2874118B1 (en) 2013-11-18 2017-08-02 Dassault Systèmes Computing camera parameters
US10074218B1 (en) 2013-12-23 2018-09-11 Dassault Systemes Solidworks Corporation 3D content creation tool with automatic mating
US9923949B2 (en) 2014-03-24 2018-03-20 Baldur A. Steingrimsson All-electronic ecosystems for design and collaboration
WO2016018264A1 (en) 2014-07-29 2016-02-04 Johnson Controls Technology Company Cad synchronization system and method
US10664628B2 (en) 2014-12-08 2020-05-26 Dassault Systemes Solidworks Corporation Interactive surface alignment
EP3032495B1 (en) 2014-12-10 2019-11-13 Dassault Systèmes Texturing a 3d modeled object
US10437938B2 (en) 2015-02-25 2019-10-08 Onshape Inc. Multi-user cloud parametric feature-based 3D CAD system
US10168899B1 (en) 2015-03-16 2019-01-01 FiftyThree, Inc. Computer-readable media and related methods for processing hand-drawn image elements
US10740500B1 (en) 2015-08-13 2020-08-11 Raytheon Technologies Corporation Meta data management system for a multi-user CAx environment
EP3188033B1 (en) 2015-12-31 2024-02-14 Dassault Systèmes Reconstructing a 3d modeled object
US10755005B1 (en) 2015-12-31 2020-08-25 Dassault Systemes Solidworks Corporation Providing a single command to create multiple CAD features
US10664766B2 (en) 2016-01-27 2020-05-26 Bonsai AI, Inc. Graphical user interface to an artificial intelligence engine utilized to generate one or more trained artificial intelligence models
WO2017139509A1 (en) 2016-02-12 2017-08-17 Purdue Research Foundation Manipulating 3d virtual objects using hand-held controllers
US9799147B1 (en) 2016-05-23 2017-10-24 Marwan Chehadeh Interactive system for decorating two and three dimensional objects
EP3264286B1 (en) 2016-06-28 2020-11-18 Dassault Systèmes Querying a database with morphology criterion
US11058524B2 (en) 2016-09-26 2021-07-13 James R. Glidewell Dental Ceramics, Inc. Dental restoration design tools
DE102017122185A1 (de) 2016-09-26 2018-03-29 James R. Glidewell Dental Ceramics, Inc. Zahnrestaurations-Gestaltungswerkzeuge
EP3545438A1 (en) 2016-09-28 2019-10-02 Siemens Product Lifecycle Management Software Inc. Variational modeling method and system for editing of geometric objects
US20180158239A1 (en) 2016-11-01 2018-06-07 Purdue Research Foundation Sketch-based 3d modeling system
US10515479B2 (en) 2016-11-01 2019-12-24 Purdue Research Foundation Collaborative 3D modeling system
WO2018084576A1 (en) 2016-11-03 2018-05-11 Samsung Electronics Co., Ltd. Electronic device and controlling method thereof
EP3321817A1 (en) 2016-11-14 2018-05-16 Dassault Systèmes Querying a database based on a parametric view function
US10534867B2 (en) 2016-12-16 2020-01-14 Dassault Systemes Solidworks Corporation Constructing multi-element features using a 3D CAD system
US10574585B2 (en) 2017-01-07 2020-02-25 International Business Machines Corporation Resource usage management in a stream computing environment
JP6751029B2 (ja) 2017-01-11 2020-09-02 日本ユニシス株式会社 曲面生成装置および曲面生成用プログラム
US10192355B2 (en) 2017-01-16 2019-01-29 Adobe Inc. Providing a tutorial for drawing a scaffold to guide a drawing of a three dimensional object
KR20180107707A (ko) 2017-03-22 2018-10-02 (주)광개토연구소 인공 지능 기술 기반의 머신 러닝을 사용하는 특허 도면 이미지에 도면 부호의 설명이 표시되도록 맵핑 처리하는 방법 및 장치
JP7014782B2 (ja) 2017-05-01 2022-02-01 株式会社Preferred Networks 自動着色方法、自動着色システム及び自動着色装置
JP7252701B2 (ja) 2017-05-23 2023-04-05 株式会社Preferred Networks システム、プログラム、および方法
WO2018218478A1 (zh) 2017-05-31 2018-12-06 上海联影医疗科技有限公司 图像处理方法及***
US11163916B2 (en) 2017-06-16 2021-11-02 Dassault Systemes Solidworks Corporation Automatic generation of dimension and tolerance information for fastened components
US11386245B2 (en) 2017-06-30 2022-07-12 Aerion Corporation Computing techniques for three-dimensional modeling and design analysis
US10565196B2 (en) 2017-07-29 2020-02-18 Splunk Inc. Determining a user-specific approach for disambiguation based on an interaction recommendation machine learning model
CN107480725A (zh) 2017-08-23 2017-12-15 京东方科技集团股份有限公司 基于深度学习的图像识别方法、装置和计算机设备
US10628997B2 (en) 2017-08-24 2020-04-21 Emilio Santos Method for generating three-dimensional models from constrained sketches and an instruction set
CN110235182A (zh) 2017-09-07 2019-09-13 西门子产品生命周期管理软件公司 用于轻量精确3d视觉格式的***和方法
US10930048B2 (en) 2017-09-25 2021-02-23 Autodesk, Inc. Three-dimensional generative design based on two-dimensional sketching
EP3474185B1 (en) 2017-10-18 2023-06-28 Dassault Systèmes Classification of 2d images according to types of 3d arrangement
US10424086B2 (en) 2017-11-16 2019-09-24 Adobe Inc. Oil painting stroke simulation using neural network
US20190155986A1 (en) 2017-11-19 2019-05-23 Ecole Polytechnique Federale De Lausanne (Epfl) Method and System for the Creation of an H-Spline Based Data Structure, Data Storage, and Data Representation
GB2569139B (en) 2017-12-06 2023-02-01 Goggle Collective Ltd Three-dimensional drawing tool and method
US10730181B1 (en) 2017-12-27 2020-08-04 X Development Llc Enhancing robot learning
US11263360B2 (en) 2018-01-19 2022-03-01 Autodesk, Inc. Building information design synthesis (BIDS)
US10657716B2 (en) 2018-03-07 2020-05-19 California Institute Of Technology Collaborative augmented reality system
US20190303514A1 (en) 2018-04-02 2019-10-03 United Technologies Corporation Feature-based merging for multi-user cax
US20210117648A1 (en) 2018-05-09 2021-04-22 Hewlett-Packard Development Company, L.P. 3-dimensional model identification
KR20190140519A (ko) 2018-05-29 2019-12-20 삼성전자주식회사 전자 장치 및 그의 제어방법
US10650290B2 (en) 2018-06-04 2020-05-12 Adobe Inc. Sketch completion using machine learning
US20210165561A1 (en) 2018-06-11 2021-06-03 Hewlett-Packard Development Company, L.P. Model generation based on sketch input
WO2019241818A1 (en) 2018-06-21 2019-12-26 Institute Of Science And Technology Austria Method for computationally designing a re-usable two-pieced mold
US10248664B1 (en) 2018-07-02 2019-04-02 Inception Institute Of Artificial Intelligence Zero-shot sketch-based image retrieval techniques using neural networks for sketch-image recognition and retrieval
CA3105871A1 (en) 2018-07-09 2020-01-16 Ottawa Hospital Research Institute Virtual or augmented reality aided 3d visualization and marking system
US11861461B2 (en) 2018-08-09 2024-01-02 Autodesk, Inc. Techniques for generating designs that reflect stylistic preferences
US11468206B2 (en) 2018-08-20 2022-10-11 Sri International Machine learning system for building renderings and building information modeling data
WO2020050881A1 (en) 2018-09-04 2020-03-12 Siemens Industry Software Inc. Anti-constraint configuration and enforcement for computer-aided design (cad) models
EP3623967A1 (en) 2018-09-17 2020-03-18 Bricsys NV Improved 3d wall drawing in computer-aided design
US10937211B2 (en) 2018-11-09 2021-03-02 Autodesk, Inc. Automated parametrization of floor-plan sketches for multi-objective building optimization tasks
CN113366481A (zh) 2018-11-09 2021-09-07 欧特克公司 在计算机辅助设计与制造的2.5轴减材制造约束下的基于边界的生成式设计
JP7208771B2 (ja) 2018-11-22 2023-01-19 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム、並びに、画像形成システム
US11074751B2 (en) 2018-12-04 2021-07-27 University Of Southern California 3D hair synthesis using volumetric variational autoencoders
EP3671660A1 (en) 2018-12-20 2020-06-24 Dassault Systèmes Designing a 3d modeled object via user-interaction
EP3675062A1 (en) 2018-12-29 2020-07-01 Dassault Systèmes Learning a neural network for inference of solid cad features
US10963786B1 (en) 2019-05-07 2021-03-30 Ledgerdomain Inc. Establishing a trained machine learning classifier in a blockchain network
US11361505B2 (en) 2019-06-06 2022-06-14 Qualcomm Technologies, Inc. Model retrieval for objects in images using field descriptors
EP3761211A1 (en) 2019-07-04 2021-01-06 Dassault Systèmes Designing a part featuring a bump
WO2021015754A1 (en) 2019-07-24 2021-01-28 Hewlett-Packard Development Company, L.P. Edge models
US11048932B2 (en) 2019-08-26 2021-06-29 Adobe Inc. Transformation of hand-drawn sketches to digital images
US11442430B2 (en) 2019-08-27 2022-09-13 Kyocera Document Solutions Inc. Rapid packaging prototyping using machine learning
US10991163B2 (en) 2019-09-20 2021-04-27 Facebook Technologies, Llc Projection casting in virtual environments
JP7380076B2 (ja) 2019-10-23 2023-11-15 富士フイルムビジネスイノベーション株式会社 3dモデル評価システム
EP3825956B1 (en) 2019-11-21 2022-06-22 Dassault Systèmes Processing a 3d signal of a shape attribute over a real object
US20210182674A1 (en) 2019-12-12 2021-06-17 Siemens Healthcare Gmbh Automatic training and deployment of deep learning technologies
US11481691B2 (en) 2020-01-16 2022-10-25 Hyper Labs, Inc. Machine learning-based text recognition system with fine-tuning model
US20210232858A1 (en) 2020-01-23 2021-07-29 Seiko Epson Corporation Methods and systems for training an object detection algorithm using synthetic images
US11157086B2 (en) 2020-01-28 2021-10-26 Pison Technology, Inc. Determining a geographical location based on human gestures
US20210232224A1 (en) 2020-01-28 2021-07-29 Pison Technology, Inc. Human-machine interface
US11199908B2 (en) 2020-01-28 2021-12-14 Pison Technology, Inc. Wrist-worn device-based inputs for an operating system
US11501032B2 (en) 2020-01-31 2022-11-15 Toyota Motor Engineering & Manufacturing North America, Inc. Surface developability constraint for density-based topology optimization
US20210240881A1 (en) 2020-02-05 2021-08-05 Dassault Systemes Solidworks Corporation Predictive Modeling
US20210286924A1 (en) 2020-03-11 2021-09-16 Aurora Innovation, Inc. Generating autonomous vehicle simulation data from logged data
US11279167B2 (en) 2020-03-15 2022-03-22 Naser Moghadampour Combinational template and scale ruler for drawing parallel 3-dimensions
US11610031B2 (en) 2020-04-02 2023-03-21 Dassault Systemes Solidworks Corporation 3D-link for sharing a 3D context of 3D computer- aided design (CAD) model
US11294352B2 (en) 2020-04-24 2022-04-05 The Boeing Company Cross-section identification system
US20210358164A1 (en) 2020-05-15 2021-11-18 Nvidia Corporation Content-aware style encoding using neural networks
US20220004682A1 (en) 2020-06-26 2022-01-06 Autodesk, Inc. Generative design shape optimization with controlled convergence for computer aided design and manufacturing
EP3933651A1 (en) 2020-07-03 2022-01-05 Dassault Systemes Deutschland GmbH Parallelized vehicle impact analysis
US20220019932A1 (en) 2020-07-14 2022-01-20 Sap Se Automatic generation of odata services from sketches using deep learning
US11475242B2 (en) 2020-07-27 2022-10-18 Seiko Epson Corporation Domain adaptation losses
US20220027528A1 (en) 2020-07-27 2022-01-27 Prem Makeig Computer device for generating a three-dimensional cad solid model suitable for 3d printing
EP3958182A1 (en) 2020-08-20 2022-02-23 Dassault Systèmes Variational auto-encoder for outputting a 3d model
EP3958162A1 (en) 2020-08-20 2022-02-23 Dassault Systèmes Neural network for outputting a parameterized 3d model
US11197744B1 (en) 2021-01-06 2021-12-14 Arkimos Ltd Method and system for generating interdental filler models
US20220004675A1 (en) 2021-07-02 2022-01-06 Dassault Systemes Deutschland Gmbh Vehicle impact analysis with two-point-contact curves

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5945995A (en) * 1995-06-08 1999-08-31 Olympus Optical Co., Ltd. CAD system which automatically creates a 3-dimensional solid model directly from a 2-dimensional drawing
US20170161590A1 (en) * 2015-12-07 2017-06-08 Dassault Systemes Recognition of a 3d modeled object from a 2d image
CN107038751A (zh) * 2015-12-07 2017-08-11 达索***公司 从2d图像进行3d建模对象的识别

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JOHANNA DELANOY 等: "3D Sketching using Multi-View Deep Volumetric prediction", 《ACM》, 31 May 2018 (2018-05-31), pages 1 - 22 *
LEI LI 等: "Sketch-R2CNN An Attentive Network for Vector Sketch Recognition", 《ARXIV》, 20 November 2018 (2018-11-20), pages 1 - 10 *
XIN CHEN 等: "AutoSweep: Recovering 3D Editable Objects from a Single Photograph", 《IEEE》, 19 September 2018 (2018-09-19), pages 1466 - 1475, XP011768782, DOI: 10.1109/TVCG.2018.2871190 *
YANG SONG 等: "Training deep neural networks via direct loss minimization", 《PMLR》, 31 December 2016 (2016-12-31), pages 1 - 9 *

Also Published As

Publication number Publication date
US20200210845A1 (en) 2020-07-02
US11922573B2 (en) 2024-03-05
EP3675062A1 (en) 2020-07-01
JP7473335B2 (ja) 2024-04-23
JP2020109661A (ja) 2020-07-16

Similar Documents

Publication Publication Date Title
JP7473335B2 (ja) ソリッドcadフィーチャを推測するためのニューラルネットワークの学習
JP7473336B2 (ja) ソリッドcadフィーチャを推測するためのニューラルネットワークの学習
Remelli et al. Meshsdf: Differentiable iso-surface extraction
JP7464387B2 (ja) 3dモデル化オブジェクト推定のための機械学習
JP7491685B2 (ja) ニューラルネットワークのセット
US11869147B2 (en) Neural network for outputting a parameterized 3D model
JP6734044B2 (ja) 制御点のグリッドによって定義される3dモデリングされた物体
JP7431028B2 (ja) ユーザインタラクションを介した3dモデルオブジェクトのデサイニング
JP2020109659A (ja) 編集可能なフィーチャツリーの推測のためにニューラルネットワークを学習すること
US20220058865A1 (en) Variational auto-encoder for outputting a 3d model
CN111381919A (zh) 形成用于推断可编辑特征树的数据集
EP4120203A1 (en) Segmenting a 3d modeled object representing a mechanical assembly
CN113205609A (zh) 变形基础学习
Bae et al. User‐guided volumetric approximation using swept sphere volumes for physically based animation
JP7509537B2 (ja) 編集可能なフィーチャツリーの推測のためのデータ集合を形成すること
CN116934998A (zh) 从图像进行3d重建
Moore An efficient active B-spline/nurbs model for virtual sculpting

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