CN117709210A - 约束推断模型训练、约束推断方法、组件、终端及介质 - Google Patents

约束推断模型训练、约束推断方法、组件、终端及介质 Download PDF

Info

Publication number
CN117709210A
CN117709210A CN202410179793.1A CN202410179793A CN117709210A CN 117709210 A CN117709210 A CN 117709210A CN 202410179793 A CN202410179793 A CN 202410179793A CN 117709210 A CN117709210 A CN 117709210A
Authority
CN
China
Prior art keywords
constraint
geometric
sequence
relation
sketch
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
CN202410179793.1A
Other languages
English (en)
Inventor
孙文愈
刘向东
曾江
幺宝刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Wanyi Digital Technology Co ltd
International Digital Economy Academy IDEA
Original Assignee
Shenzhen Wanyi Digital Technology Co ltd
International Digital Economy Academy IDEA
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 Shenzhen Wanyi Digital Technology Co ltd, International Digital Economy Academy IDEA filed Critical Shenzhen Wanyi Digital Technology Co ltd
Priority to CN202410179793.1A priority Critical patent/CN117709210A/zh
Publication of CN117709210A publication Critical patent/CN117709210A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种约束推断模型训练、约束推断方法、组件、终端及介质,通过对比约束推断模型输出的约束关系序列与训练集中的约束关系序列,计算约束预测准确度损失,实现输入的几何序列和输出的约束关系序列的最大匹配;通过判定生成的约束系统的约束状态,计算约束状态损失;根据输入的几何序列和输出的约束关系序列,基于约束方程计算约束满足性,得到约束方程损失;以约束预测准确度损失、约束状态损失和约束方程损失共同为约束推断模型的总损失,训练约束推断模型。能够解决欠约束、约束关系不合理以及求解后结果不准确的问题,提高已训练的约束推断模型推断出的草图几何约束关系的精准性。

Description

约束推断模型训练、约束推断方法、组件、终端及介质
技术领域
本发明涉及工业制图技术领域,尤其涉及的是一种约束推断模型训练、约束推断方法、组件、终端及介质。
背景技术
草图几何约束关系是参数化CAD、参数化几何建模的基础。在产品设计阶段快速的捕捉设计师的设计意图、推断草图几何约束关系,能够提高二维、三维设计模型的参数化能力,从而有效的提升设计的复用性。
工业制图软件的几何约束引擎只是一种工具,方便人工进行约束关系的施加和标注,并不能自动推断出几何约束关系。
目前虽然有利用深度学习模型来推断几何约束的相关研究,但是由于目前训练用的公共数据集存在大量欠约束的情况,训练后的深度学习模型仍存在欠约束、约束关系不合理以及求解后结果不准确的问题,并且,以约束类型、约束参数的准确性作为评价指标,难以保证其物理合理性,推断的约束不合理,导致推断草图几何约束关系的精准性不高。
发明内容
本发明的主要目的在于提供一种草图几何约束关系的约束推断模型训练方法、约束推断方法、约束推断组件、智能终端及计算机可读存储介质,能够解决欠约束、约束关系不合理以及求解后结果不准确的问题以及推断出的草图几何约束关系的精准性不高的问题。
为了实现上述目的,本发明第一方面提供一种草图几何约束关系的约束推断模型训练方法,所述约束推断模型为深度学习模型,所述方法包括:
获取训练数据集,所述训练数据集包括草图的几何图元序列和约束关系序列;
将所述几何图元序列输入所述约束推断模型,获得预测约束关系序列;
根据所述约束关系序列和所述预测约束关系序列,计算用于衡量约束准确性的约束预测准确度损失;
计算所述预测约束关系序列的约束状态损失和约束方程损失,所述约束状态损失用于衡量约束系统状态,所述约束方程损失用于衡量约束满足状态;
根据所述约束预测准确度损失、所述约束状态损失和所述约束方程损失,计算总损失值,根据所述总损失值迭代优化所述约束推断模型,获得用于生成草图几何约束的已训练的约束推断模型。
可选的,所述获取训练数据集,包括:
基于预设筛选项目对公开数据集进行筛选,获得所述训练数据集。
可选的,获取训练数据集之后,还包括:
将几何图元序列中的几何图元转换为预设的几何图元目标数据格式;
将约束关系序列中的约束关系转换为预设的约束关系目标数据格式。
可选的,将几何图元序列中的几何图元转换为预设的几何图元目标数据格式之后,还包括:
采用词嵌入编码方法处理所述几何图元序列以使得所述几何图元序列向量化。
可选的,所述根据所述约束关系序列和所述预测约束关系序列,计算用于衡量约束准确性的约束预测准确度损失,包括:
基于所述几何图元序列中的每个几何图元,查找所述约束关系序列,获得每个几何图元的第一约束数量、第一约束类型、第一关联几何和第一约束值;
基于所述几何图元序列中的每个几何图元,查找所述预测约束关系序列,获得每个几何图元的第二约束数量、第二约束类型、第二关联几何和第二约束值;
计算所有几何图元的第一约束数量与第二约束数量的差异、第一约束类型和第二约束类型的差异、第一关联几何和第二关联几何的差异、第一约束值和第二约束值的差异并对得到的各差异进行加权累计,获得所述约束预测准确度损失。
可选的,计算所述预测约束关系序列的约束状态损失,包括:
以所述几何图元序列中的每个几何图元和所述预测约束关系序列中的每个约束关系为节点、几何图元与约束关系的关联关系为边,构建图;
采用匹配算法对所述图中几何图元对应的节点和约束关系对应的节点进行最大匹配,计算几何图元对应的节点的剩余自由度,根据所有的所述剩余自由度获得所述约束状态损失。
可选的,计算所述预测约束关系序列的约束方程损失,包括:
根据所述几何图元序列中每个几何图元的类型和几何图元关联的约束类型,构建每个几何图元的约束满足方程;
遍历所述几何图元序列中的几何图元,在所述几何图元序列中获取当前的几何图元的参数,在所述预测约束关系序列中获取当前的几何图元的约束值;将所述参数和所述约束值输入当前的几何图元的所有约束满足方程,获得当前的几何图元的每个约束满足方程的方程残差;
根据所有的方程残差,获得所述约束方程损失。
本发明第二方面提供一种草图几何约束关系的约束推断方法,所述方法包括:
基于几何图元目标数据格式,将草图几何数据转换为几何图元序列;
将所述几何图元序列输入已训练的深度学习模型,获得几何约束关系序列,训练所述深度学习模型时采用上述任意一项所述的草图几何约束关系的约束推断模型训练方法。
可选的,获得几何约束关系序列之后,还包括:
计算所述几何约束关系序列的约束状态残差和约束方程残差;
当所述约束状态残差小于约束状态容差且所述约束方程残差小于约束方程容差时,输出所述几何约束关系序列;否则,将所述几何图元序列重新输入已训练的深度学习模型以生成并判定新的几何约束关系序列。
本发明第三方面提供一种草图几何约束关系的约束推断组件,包括:
数据预处理模块,用于基于几何图元目标数据格式,将草图几何数据转换为几何图元序列;
约束推理模块,用于将所述几何图元序列输入已训练的深度学习模型,获得几何约束关系序列,训练所述深度学习模型时采用上述任意一项所述的草图几何约束关系的约束推断模型训练方法;
输出控制模块,用于计算所述几何约束关系序列的约束状态残差和约束方程残差;当所述约束状态残差小于约束状态容差且所述约束方程残差小于约束方程容差时,输出所述几何约束关系序列;否则,将所述几何图元序列重新输入已训练的深度学习模型以生成并判定新的几何约束关系序列。
本发明第四方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的草图几何约束关系的约束推断程序,上述草图几何约束关系的约束推断程序被上述处理器执行时实现任意一项上述草图几何约束关系的约束推断方法的步骤。
本发明第五方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有草图几何约束关系的约束推断程序,上述草图几何约束关系的约束推断程序被处理器执行时实现任意一项上述草图几何约束关系的约束推断方法的步骤。
由上可见,本发明通过对比约束推断模型输出的约束关系序列与训练集中的约束关系序列,计算约束预测准确度损失,实现输入几何序列和输出约束关系序列的最大匹配,并计算约束状态损失和约束方程损失,以约束预测准确度损失、约束状态损失和约束方程损失共同为约束推断模型的总损失,训练约束推断模型。能够解决欠约束、约束关系不合理以及求解后结果不准确的问题,提高已训练的约束推断模型推断出的草图几何约束关系的精准性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的草图几何约束关系的约束推断模型训练方法功能框图;
图2是本发明实施例提供的草图几何约束关系的约束推断模型训练方法流程示意图;
图3是草图几何示意图;
图4是几何图元目标数据格式示意图;
图5是约束关系目标数据格式示意图;
图6是几何图元和约束关系进行词向量编码后获得的向量示意图;
图7是本发明实施例提供的计算约束预测准确度损失的流程示意图;
图8是本发明实施例提供的计算约束状态损失的流程示意图;
图9是本发明实施例提供的计算约束方程损失的流程示意图;
图10是本发明实施例提供的草图几何约束关系的约束推断方法的流程示意图;
图11是本发明实施例提供的草图几何约束关系的约束推断方法功能框图;
图12是生成并显示几何约束的示意图;
图13是本发明实施例提供的草图几何约束关系的约束推断组件的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当…时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
欠约束问题造成约束系统多解,经典的约束求解方法无法从根本上解决该问题,往往需要CAD应用软件根据具体的应用场景设计求解倾向。数据驱动的约束推断模型可以将一个欠约束问题补充至全约束状态,然而,由于公开的草图数据集存在大量欠约束的情况,单独以该数据集进行模型训练,难以实现约束推断阶段时生成合适的全约束状态草图。
草图中,其几何和约束关系是具有物理意义的,现有的约束推断模型均将其看作一个自然语言序列进行建模,抛弃了草图所表达的几何及物理意义,从而使得约束推断模型缺少物理约束,在一些问题上生成效果差,容易大幅度改变输入几何图形之间的位置关系,从而破坏设计师在绘制几何时所隐含表达的设计意图。
因此,目前的约束推断模型训练效果不好,推断出的几何约束不合理,约束求解后误差较大,精准性不高。
针对上述问题,如图1所示,本发明提供了一种用于在工业制图软件中进行草图几何约束关系推断的约束推断模型的训练方法,首先构建一个端到端的约束推断模型,实现从输入的几何图元序列到输出的约束关系序列的预测,对比约束推断模型输出的约束关系序列与训练集中的约束关系序列,计算约束预测准确度损失,实现输入的几何图元序列和输出的约束关系序列的最大匹配,判定生成的约束关系序列的约束状态(欠约束、全约束、约束冗余/冲突),计算约束状态损失;根据输入的几何图元序列和输出的约束关系序列,基于约束方程计算约束满足性,得到约束方程损失;以约束预测准确度损失、约束状态损失和约束方程损失共同计算约束推断模型的总损失值,根据所述总损失值迭代训练约束推断模型,获得已训练的约束推断模型。能够解决欠约束、约束关系不合理以及求解后结果不准确的问题,提高已训练的约束推断模型推断出的草图几何约束关系的精准性。其中,工业制图软件可以为计算机辅助几何设计(CAD)软件、SolidWorks、ProE、UG等。
本实施例提供了一种草图几何约束关系的约束推断模型的训练方法,训练后的约束推断模型应用于CAD软件中。约束推断模型可以为Transformer模型,但并不限于Transformer模型,也可以为常见的各类深度学习模型,如U-Net、GCN等网络模型。
如图2所示,训练约束推断模型具体步骤包括:
步骤S100:获取训练数据集,上述训练数据集包括草图的几何图元序列和约束关系序列;
基于深度神经网络的约束推断模型,能够实现如下约束关系推断能力:给定一组由基本的几何图元(如点、线、圆)构成的草图几何,输出几何图元之间的逻辑约束和尺寸约束关系,使得由几何图元与约束关系构成的草图能够最为符合设计师的设计意图。常见的约束关系有:线段长度、半径、夹角、平行、垂直、圆弧转角、共线、重合、相切等。
训练数据集一般取自于公开数据集,如SketchGraphs。图3示例性地描述了公开数据集中的部分草图。
几何图元序列包括训练数据集的所有草图中的所有几何图元,约束关系序列包括训练数据集的所有草图中的所有几何图元的几何约束关系。
本实施例中,还依据几何图元类型、约束类型、是否成环等预设筛选项目对公开数据集进行了统计和筛选,得到训练数据集。筛选后,可以去除无关的、重复的、错误的或者噪声数据,可以提高训练数据集的数据质量,防止过拟合。
在训练数据集中,一个草图以一个文本序列的格式进行定义,包括几何部分(entities)和约束部分(constraints),几何部分根据不同的几何类型,通过字典键值定义其参数,如图4中的“centerId”、“startPointId”、“endPointId”等;约束部分如图5所示,定义了约束类型、关联几何及约束值。
由于在公开数据集中,几何图元以及约束关系的数据格式为上层应用软件(如CAD)定义的格式,当和约束推断模型预设的几何图元目标数据格式(如图4)、约束关系目标数据格式(如图5)不同时,还需要进行映射转换,将训练数据集的几何图元序列中的几何图元转换为预设的几何图元目标数据格式,将训练数据集的约束关系序列中的约束关系转换为预设的约束关系目标数据格式。
具体地,针对训练数据集中定义的线段,需要转换为一条无限长的直线和两个点;圆弧需要转换为一个圆和两个点,其他有界曲线同理进行转换。并且,对于几何之间的约束关系,训练数据集中对同一类型、不同几何之间的约束以统一的类型进行定义。而在约束求解中,由于不同几何之间的同名约束的定义、自由度以及约束方程均不同,因此需要对其进行拆分,如:重合约束(COINCIDENT)可以拆分为点点重合、点线重合、点圆重合、线线重合、圆圆重合等。
由于本实施例的约束推断模型为Transformer模型,其输入数据为向量化数据,因此,在将训练数据集的几何图元序列中的几何图元转换为预设的几何图元目标数据格式,将训练数据集的约束关系序列中的约束关系转换为预设的约束关系目标数据格式后,还采用词嵌入编码方法处理几何图元序列,将几何图元序列向量化,以输入Transformer模型。
具体地,对于一个几何图元,其参数信息由几何类型和几何参数构成,如一个圆由圆心坐标(x, y)和半径(r)构成,可以将其表示为一个类型参数和三个几何参数;对于一个几何约束,其由约束类型、关联几何和约束值构成,如一个点点重合约束,其关联几何为两个点的索引值,约束值为0,可以将一个约束表示为一个类型参数、两个几何索引参数和一个值参数。由于类型参数(几何类型和约束类型)为枚举量,几何参数和约束值为浮点数,关联几何的索引为整型数,因此,构建一个统一的词嵌入编码方式,将这些不同类型的数据信息以同样的形式进行表达。具体地,可以采用常用的量化方法,将浮点数映射至一个有限区间(如0-1),并进行离散化和one-hot编码。图6为编码后形成的向量空间,不同的参数类型占据不同的编码区间,图6仅为示意,向量空间的大小可以针对具体问题进行调整。经词嵌入表达后,原本的一个几何图元的文本定义,如一个点(由坐标x,y定义)转换为一个的张量,约束关系同理。
在一个示例中,约束推断模型可以为经典Transformer网络,而经典Transformer网络是对一维序列信息进行编码和解码的网络,根据上面描述的几何和约束的参数类型,向量化后的数据为3-4维。因此,还需要在Transformer网络中添加一个参数类型编码。
在一个实施例中,约束推断模型可以包括一个数据加载器和一个基于骨干网络的神经网络模块。数据加载器可继承自PyTorch(开源的Python机器学习库)中dataloader模块,用来加载公共数据集的草图,将公共数据集转换为约束推断模型期望的输入数据格式(预设的几何图元目标数据格式和预设的约束关系目标数据格式),并对几何图元序列进行词嵌入编码和批量分解,得到向量化后的几何图元序列。如此集成后,就可以直接将公共数据集输入约束推断模型进行训练。
步骤S200:将几何图元序列输入约束推断模型,获得预测约束关系序列;
步骤S300:根据约束关系序列和预测约束关系序列,计算用于衡量约束准确性的约束预测准确度损失;
获得约束推断模型输出的预测约束关系序列后,通过在约束类型和约束参数方面比较约束关系序列和预测约束关系序列来计算约束预测准确度损失,能够比较约束推断模型输出的约束关系序列与训练数据集中真实的约束关系序列,衡量约束推断模型生成的几何约束关系的准确性。
具体地,如图7所示,本实施例计算约束预测准确度损失的具体步骤包括:
步骤S310:基于几何图元序列中的每个几何图元,查找约束关系序列,获得每个几何图元的第一约束数量、第一约束类型、第一关联几何和第一约束值;
步骤S320:基于几何图元序列中的每个几何图元,查找预测约束关系序列,获得每个几何图元的第二约束数量、第二约束类型、第二关联几何和第二约束值;
针对几何图元序列中的每个几何图元,分别在约束关系序列、预测约束关系序列中找到该几何图元,在约束关系序列中计算该几何图元的第一约束数量、第一约束类型、第一关联几何和第一约束值,在预测约束关系序列中计算该几何图元的第二约束数量、第二约束类型、第二关联几何和第二约束值。
步骤S330:计算所有几何图元的第一约束数量与第二约束数量的差异、第一约束类型和第二约束类型的差异、第一关联几何和第二关联几何的差异、第一约束值和第二约束值的差异并对得到的各差异进行加权累计,获得约束预测准确度损失。
累计几何图元序列中所有几何图元的第一约束数量与第二约束数量之间的差异,获得约束数量差异值;累计所有几何图元的第一约束类型和第二约束类型之间的差异,获得约束类型差异值;累计所有几何图元的第一关联几何和第二关联几何之间的差异,获得关联几何差异值;累计所有几何图元的第一约束值和第二约束值之间的差异,获得约束值差异值。然后再对约束数量差异值、约束类型差异值、关联几何差异值和约束值差异值进行加权累计,获得约束预测准确度损失。
具体地,本实施例采用交叉熵计算约束预测准确度损失,且只考虑了约束类型、关联几何和约束值,因此将交叉熵Ldata的计算分为三部分,通过权重控制三个部分的重要程度,具体表达式为:
其中,为约束类型差异值,/>为关联几何差异值,/>为约束值差异值,/>、/>、/>为权重,三项权重全部为1则为经典的交叉熵损失计算公式。
需要说明的是,上述差异的计算方法不做限制,可以采用各种常规的计算手段,如计算约束数量的个数差异、计算约束类型个数的差异,计算关联几何错误数据与全部数据的占比,约束值错误数据与全部数据的占比等。
步骤S400:计算预测约束关系序列的约束状态损失和约束方程损失;
现有的约束推断模型均将约束推断看作一个自然语言序列进行建模,抛弃了草图所表达的几何及物理意义,从而使得约束推断模型缺少物理约束,推断出的几何约束关系容易大幅度改变输入几何图形之间的位置关系,从而破坏设计师在绘制几何时所隐含表达的设计意图。
本实施例通过引入用于衡量约束系统状态的约束状态损失,引导约束推断模型推断出的所有几何约束关系能够尽可能称为全约束状态,从而有效的解决了现有技术方法所产生的欠约束、过约束或冗余约束问题。
如图8所示,约束状态损失的计算步骤包括:
步骤A410:以几何图元序列中的每个几何图元和预测约束关系序列中的每个约束关系为节点、几何图元与约束关系的关联关系为边,构建图;
首先,根据几何图元序列和预测约束关系序列构建图。即将几何图元序列中的几何图元定义为图上的几何节点,预测约束关系序列中的约束关系定义为图上的约束节点,将几何节点与约束节点的关联关系看作图上的边,构造一个具有两类节点类型的图,如二分图。
步骤A420:采用匹配算法对图中几何图元对应的节点和约束关系对应的节点进行最大匹配,计算几何图元对应的节点的剩余自由度,根据所有的剩余自由度获得约束状态损失。
通过图的匹配算法可以找到几何节点与约束节点之间的最大匹配关系。图的匹配算法不限,可以采用现有的各种图算法,如通过匈牙利匹配即可实现基本的二分图最大匹配。本实施例采用图算法中最基础的匈牙利算法完成几何节点与约束节点的匹配。然后根据匹配关系消除几何节点的自由度。匹配完成后,剩余的节点自由度记为,则约束状态损失为剩余自由度/>与草图全部自由度/>的比例,具体表达式为:
基于图论求解图元约束状态的基本思想是将几何约束问题表示成几何约束图,顶点与顶点之间通过边连接的关系来定义几何图形的状态,可以更好的处理欠约束、完全约束与过约束问题。
现有技术在训练约束推断模型时,仅以约束类型、约束参数的准确性作为评价指标,致使约束推断模型生成的约束值精确性不足,经约束求解后误差较大,即小的精度误差在求解过程被大幅放大,引起草图系统大范围变形。
本实施例通过引入用于衡量约束满足状态的约束方程损失,以经约束求解后的结果进行评价,能够引导约束推断模型输出的约束关系尽可能小的改动用户输入的几何位置及参数(即物理约束),从而使得生成的带约束的草图满足在经过几何约束引擎求解后产生最小的几何位置变动,可以有效解决现有技术方法输出不合理约束的问题。
如图9所示,约束方程损失的计算步骤包括:
步骤B410:根据几何图元序列中每个几何图元的类型和几何图元关联的约束类型,构建每个几何图元的约束满足方程;
步骤B420:遍历几何图元序列中的几何图元,在几何图元序列中获取当前的几何图元的参数,在预测约束关系序列中获取当前的几何图元的约束值;将参数和约束值输入当前的几何图元的所有约束满足方程,获得当前的几何图元的每个约束满足方程的方程残差;
步骤B430:根据所有的方程残差,获得约束方程损失。
具体地,约束满足方程为两个几何图元在满足一种约束时,其几何参数需要满足的方程关系。例如:针对一条水平线段,约束满足方程有,表示坐标点2的y坐标与坐标点1的y坐标之间的差值的目标为0;针对长度为4的线段,约束满足方程有。表示坐标点2与坐标点1之间的距离与4的差值的目标为0。
例如,在点点重合约束下,其需要满足以下约束满足方程:
其中,和/>为该约束第一个几何图元(坐标点)的空间坐标,/>和/>为该约束第二个几何图元(坐标点)的空间坐标,/>为约束值,对于点点重合约束取0。
遍历几何图元序列中每个几何图元,根据几何图元的类型和几何图元关联的约束类型,可以构建几何图元的约束满足方程。每个几何图元对应于若干个约束满足方程。
获得约束满足方程后,遍历几何图元序列中的几何图元,在几何图元序列中获取当前的几何图元的参数,在预测约束关系序列中获取当前的几何图元的约束值,然后输入当前的几何图元的所有约束满足方程,对约束满足方程进行求解,获得当前的几何图元的每个约束满足方程的方程残差。根据所有的方程残差,计算约束方程损失。例如:计算均方误差或平均绝对误差,获得约束方程损失。
可以抽象描述为:对于每一个几何约束,均需要计算其约束方程的值,这些约束方程构成一个约束方程组,表达式为:
对于每一个草图,计算方程左边项F(x),得到的结果为一个的向量,/>为输出的约束关系序列中约束所对应的约束方程的总数。草图的约束方程损失为:
通过引入约束状态损失和约束方程损失,能够补充公开数据集中缺失的全约束状态信息,融合物理信息,对约束推断模型的训练过程进行监督,使得得到的约束推断模型更加适合CAD领域的几何约束预测和求解。
步骤S500:根据约束预测准确度损失、约束状态损失和约束方程损失,计算总损失值,根据总损失值迭代优化约束推断模型,获得用于生成草图几何约束的已训练的约束推断模型。
训练约束推断模型时,损失函数的表达式为:
其中,、/>、/>为权重,/>为约束预测准确度损失,/>为约束状态损失,/>为约束方程损失。
获得约束预测准确度损失、约束状态损失和约束方程损失后代入损失函数,计算总损失值,以最小化总损失值为目标,迭代优化约束推断模型,直至收敛,获得已训练的约束推断模型。
引入约束状态损失和约束方程损失,丰富了约束推断模型训练时的损失函数构成,保证约束推断模型推理结果的合理性。
由上可见,本实施例融合了数据驱动、约束状态、约束满足条件,在训练约束推断模型时,计算了约束预测准确度损失、约束状态损失和约束方程损失,约束预测准确度可以衡量约束推断模型预测的几何约束的准确度,约束状态损失可以保证约束推断模型预测的几何约束关系序列能够使得整个草图尽可能处于全约束状态,从而有效的解决了现有技术方法所产生的系统欠约束、过约束或冗余约束的问题;通过引入约束方程进行约束满足性的判定,保证约束推断模型预测的几何约束关系序列能够使得整个草图尽可能维持用户输入几何时所隐含的设计意图,使得生成的带约束的草图在经过几何约束引擎求解后产生最小的几何位置变动,可以有效解决现有技术方法输出不合理约束的问题。因此,能够解决几何约束关系推断时的欠约束问题、约束不合理问题和求解不精确问题,提高约束推断模型的约束推断的精准性。
本实施例还提供了一种草图几何约束关系的约束推断方法,以python微服务或C++动态链接库的形式部署在工业制图软件中,作为工业制图软件的几何约束引擎,支撑在上层应用中自动添加几何约束关系。
如图10所示,约束推断方法具体步骤包括:
步骤P100:基于几何图元的目标数据格式,将草图几何数据转换为几何图元序列;
步骤P200:将几何图元序列输入已训练的深度学习模型,获得几何约束关系序列,训练深度学习模型时采用草图几何约束关系的约束推断模型训练方法;
通过采用本发明的草图几何约束关系的约束推断模型训练方法训练深度学习模型,获得已训练的深度学习模型,然后将草图几何数据转换为几何图元序列并输入已训练的深度学习模型就可以获得深度学习模型预测的几何约束关系序列。
在一个示例中,为了保证推理阶段输出的约束关系能够尽可能使得整个草图系统处于全约束状态和约束满足状态,在获得深度学习模型预测的几何约束关系序列之后,还计算几何约束关系序列的约束状态残差和约束方程残差,当约束状态残差小于约束状态容差且约束方程残差小于约束方程容差时,输出几何约束关系序列;否则,重新执行步骤P200,生成新的几何约束关系序列并进行判定,直至新的几何约束关系序列满足约束状态残差和约束方程残差的要求或者达到指定的最大尝试次数。
综上所述,如图11所示,首先采用上述的草图几何约束关系的约束推断模型训练方法训练约束推断模型,获得已训练约束推断模型。然后配置约束推断模型的宏观控制参数,其中,最核心两个参数为约束状态容差和约束方程容差,约束状态容差用以指定允许约束推断模型生成的草图对欠约束、过约束状态的容许程度,约束方程容差用以指定约束方程计算后对几何位置变化的容许程度。为用户提供容差控制手段,能够使得约束推断方法适应不同的应用场景。
再将用户绘制或外部导入的草图几何数据转换为符合几何图元的目标数据格式(约束推断模型设定)的几何图元序列,将几何图元序列输入至已训练约束推断模型中,输出几何约束关系序列;根据草图几何数据的几何约束关系序列和约束推断模型输出的几何约束关系序列,计算约束状态残差和约束方程残差,若约束状态残差超过约束状态容差或者约束方程残差超过约束方程容差时,则重新生成一组新的几何约束关系序列,直至约束状态残差小于约束状态容差且约束方程残差小于约束方程容差,或者达到指定的最大尝试次数,输出几何约束关系序列。
通过约束状态残差及约束方程残差进行输出结果控制,可以有效的保证约束推断模型生成满足用户精度要求的草图,避免约束预测误差引起的求解后几何位置大幅变化的问题,保证推理阶段输出的约束关系能够尽可能使得整个草图系统处于全约束状态和约束满足状态。
将约束推断方法部署在CAD软件中后,用户在UI界面中通过鼠标绘制草图,点击“约束推断”按钮或敲击键盘快捷键(如TAB键)即可完成约束关系的推断和自动添加(如图12),在CAD图形界面上显示几何约束。通过自动化、智能化的预测约束关系,从而真正的将工程师解放出来,使其关注于更多需要创造力的设计工作。
示例性组件
本发明实施例还提供一种草图几何约束关系的约束推断组件,如图13,上述组件包括:
数据预处理模块600,用于基于几何图元目标数据格式,将草图几何数据转换为几何图元序列;
约束推理模块610,用于将所述几何图元序列输入已训练的深度学习模型,获得几何约束关系序列,训练所述约束推断模型时采用草图几何约束关系的约束推断模型训练方法;
输出控制模块620,用于计算所述几何约束关系序列的约束状态残差和约束方程残差;当所述约束状态残差小于约束状态容差且所述约束方程残差小于约束方程容差时,输出所述几何约束关系序列;否则,将所述几何图元序列重新输入已训练的深度学习模型以生成并判定新的几何约束关系序列。
其中,草图几何数据可以为用户在图形界面上输入的几何图形数据或通过外部文件导入的几何图形数据。约束推断组件可以制作为python微服务或C++动态链接库,方便部署在工业制图软件中。
具体的,本实施例中,上述草图几何约束关系的约束推断组件的各模块的具体功能可以参照上述草图几何约束关系的约束推断方法中的对应描述,在此不再赘述。
基于上述实施例,本发明还提供了一种智能终端,上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和草图几何约束关系的约束推断程序。该内存储器为非易失性存储介质中的操作系统和草图几何约束关系的约束推断程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该草图几何约束关系的约束推断程序被处理器执行时实现上述任意一种草图几何约束关系的约束推断方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有草图几何约束关系的约束推断程序,上述草图几何约束关系的约束推断程序被处理器执行时实现本发明实施例提供的任意一种草图几何约束关系的约束推断方法的步骤。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (12)

1.一种草图几何约束关系的约束推断模型训练方法,所述约束推断模型为深度学习模型,其特征在于,所述训练方法包括:
获取训练数据集,所述训练数据集包括草图的几何图元序列和约束关系序列;
将所述几何图元序列输入所述约束推断模型,获得预测约束关系序列;
根据所述约束关系序列和所述预测约束关系序列,计算用于衡量约束准确性的约束预测准确度损失;
计算所述预测约束关系序列的约束状态损失和约束方程损失,所述约束状态损失用于衡量约束系统状态,所述约束方程损失用于衡量约束满足状态;
根据所述约束预测准确度损失、所述约束状态损失和所述约束方程损失,计算总损失值,根据所述总损失值迭代优化所述约束推断模型,获得用于生成草图几何约束的已训练的约束推断模型。
2.如权利要求1所述的草图几何约束关系的约束推断模型训练方法,其特征在于,所述获取训练数据集,包括:
基于预设筛选项目对公开数据集进行筛选,获得所述训练数据集。
3.如权利要求1所述的草图几何约束关系的约束推断模型训练方法,其特征在于,获取训练数据集之后,还包括:
将几何图元序列中的几何图元转换为预设的几何图元目标数据格式;
将约束关系序列中的约束关系转换为预设的约束关系目标数据格式。
4.如权利要求3所述的草图几何约束关系的约束推断模型训练方法,其特征在于,将几何图元序列中的几何图元转换为预设的几何图元目标数据格式之后,还包括:
采用词嵌入编码方法处理所述几何图元序列以使得所述几何图元序列向量化。
5.如权利要求1所述的草图几何约束关系的约束推断模型训练方法,其特征在于,所述根据所述约束关系序列和所述预测约束关系序列,计算用于衡量约束准确性的约束预测准确度损失,包括:
基于所述几何图元序列中的每个几何图元,查找所述约束关系序列,获得每个几何图元的第一约束数量、第一约束类型、第一关联几何和第一约束值;
基于所述几何图元序列中的每个几何图元,查找所述预测约束关系序列,获得每个几何图元的第二约束数量、第二约束类型、第二关联几何和第二约束值;
计算所有几何图元的第一约束数量与第二约束数量的差异、第一约束类型和第二约束类型的差异、第一关联几何和第二关联几何的差异、第一约束值和第二约束值的差异并对得到的各差异进行加权累计,获得所述约束预测准确度损失。
6.如权利要求1所述的草图几何约束关系的约束推断模型训练方法,其特征在于,计算所述预测约束关系序列的约束状态损失,包括:
以所述几何图元序列中的每个几何图元和所述预测约束关系序列中的每个约束关系为节点、几何图元与约束关系的关联关系为边,构建图;
采用匹配算法对所述图中几何图元对应的节点和约束关系对应的节点进行最大匹配,计算几何图元对应的节点的剩余自由度,根据所有的所述剩余自由度获得所述约束状态损失。
7.如权利要求1所述的草图几何约束关系的约束推断模型训练方法,其特征在于,计算所述预测约束关系序列的约束方程损失,包括:
根据所述几何图元序列中每个几何图元的类型和几何图元关联的约束类型,构建每个几何图元的约束满足方程;
遍历所述几何图元序列中的几何图元,在所述几何图元序列中获取当前的几何图元的参数,在所述预测约束关系序列中获取当前的几何图元的约束值;将所述参数和所述约束值输入当前的几何图元的所有约束满足方程,获得当前的几何图元的每个约束满足方程的方程残差;
根据所有的方程残差,获得所述约束方程损失。
8.一种草图几何约束关系的约束推断方法,其特征在于,所述方法包括:
基于几何图元目标数据格式,将草图几何数据转换为几何图元序列;
将所述几何图元序列输入已训练的深度学习模型,获得几何约束关系序列,训练所述深度学习模型时采用如权利要求1-7任意一项所述的草图几何约束关系的约束推断模型训练方法。
9.如权利要求8所述的草图几何约束关系的约束推断方法,其特征在于,获得几何约束关系序列之后,还包括:
计算所述几何约束关系序列的约束状态残差和约束方程残差;
当所述约束状态残差小于约束状态容差且所述约束方程残差小于约束方程容差时,输出所述几何约束关系序列;否则,将所述几何图元序列重新输入已训练的深度学习模型以生成并判定新的几何约束关系序列。
10.一种草图几何约束关系的约束推断组件,其特征在于,包括:
数据预处理模块,用于基于几何图元目标数据格式,将草图几何数据转换为几何图元序列;
约束推理模块,用于将所述几何图元序列输入已训练的深度学习模型,获得几何约束关系序列,训练所述深度学习模型时采用如权利要求1-7任意一项所述的草图几何约束关系的约束推断模型训练方法;
输出控制模块,用于计算所述几何约束关系序列的约束状态残差和约束方程残差;当所述约束状态残差小于约束状态容差且所述约束方程残差小于约束方程容差时,输出所述几何约束关系序列;否则,将所述几何图元序列重新输入已训练的深度学习模型以生成并判定新的几何约束关系序列。
11.一种智能终端,其特征在于,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的草图几何约束关系的约束推断程序,所述草图几何约束关系的约束推断程序被所述处理器执行时实现如权利要求8-9任意一项所述草图几何约束关系的约束推断方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有草图几何约束关系的约束推断程序,所述草图几何约束关系的约束推断程序被处理器执行时实现如权利要求8-9任意一项所述草图几何约束关系的约束推断方法的步骤。
CN202410179793.1A 2024-02-18 2024-02-18 约束推断模型训练、约束推断方法、组件、终端及介质 Pending CN117709210A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410179793.1A CN117709210A (zh) 2024-02-18 2024-02-18 约束推断模型训练、约束推断方法、组件、终端及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410179793.1A CN117709210A (zh) 2024-02-18 2024-02-18 约束推断模型训练、约束推断方法、组件、终端及介质

Publications (1)

Publication Number Publication Date
CN117709210A true CN117709210A (zh) 2024-03-15

Family

ID=90146577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410179793.1A Pending CN117709210A (zh) 2024-02-18 2024-02-18 约束推断模型训练、约束推断方法、组件、终端及介质

Country Status (1)

Country Link
CN (1) CN117709210A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140088925A1 (en) * 2012-09-26 2014-03-27 Siemens Product Lifecycle Management Software Inc. Systems and methods for computing solutions of geometric constraint equations of computer-implemented virtual models
WO2017168125A1 (en) * 2016-03-31 2017-10-05 Queen Mary University Of London Sketch based search methods
US20190066374A1 (en) * 2017-08-24 2019-02-28 Emilio Santos Method for generating three-dimensional models from constrained sketches and an instruction set
US20200372305A1 (en) * 2019-05-23 2020-11-26 Google Llc Systems and Methods for Learning Effective Loss Functions Efficiently
US20210153986A1 (en) * 2019-11-25 2021-05-27 Dentsply Sirona Inc. Method, system and computer readable storage media for creating three-dimensional dental restorations from two dimensional sketches
CN115617882A (zh) * 2022-12-20 2023-01-17 粤港澳大湾区数字经济研究院(福田) 基于gan的带有结构约束的时序图数据生成方法及系统
EP4250164A1 (en) * 2022-03-24 2023-09-27 Dassault Systèmes Sketch-processing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140088925A1 (en) * 2012-09-26 2014-03-27 Siemens Product Lifecycle Management Software Inc. Systems and methods for computing solutions of geometric constraint equations of computer-implemented virtual models
WO2017168125A1 (en) * 2016-03-31 2017-10-05 Queen Mary University Of London Sketch based search methods
US20190066374A1 (en) * 2017-08-24 2019-02-28 Emilio Santos Method for generating three-dimensional models from constrained sketches and an instruction set
US20200372305A1 (en) * 2019-05-23 2020-11-26 Google Llc Systems and Methods for Learning Effective Loss Functions Efficiently
US20210153986A1 (en) * 2019-11-25 2021-05-27 Dentsply Sirona Inc. Method, system and computer readable storage media for creating three-dimensional dental restorations from two dimensional sketches
EP4250164A1 (en) * 2022-03-24 2023-09-27 Dassault Systèmes Sketch-processing
CN115617882A (zh) * 2022-12-20 2023-01-17 粤港澳大湾区数字经济研究院(福田) 基于gan的带有结构约束的时序图数据生成方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黎华 等: "面向对象的柔性约束关系几何系统的建模研究及实现", 机械设计与研究, vol. 17, no. 01, 25 March 2001 (2001-03-25), pages 16 - 19 *

Similar Documents

Publication Publication Date Title
Shephard et al. Automatic three‐dimensional mesh generation by the finite octree technique
Solomon et al. Earth mover's distances on discrete surfaces
Zheng et al. A generative architectural and urban design method through artificial neural networks
US20220207370A1 (en) Inferring device, training device, inferring method, and training method
Luo et al. FloorplanGAN: Vector residential floorplan adversarial generation
CN115775116B (zh) 基于bim的路桥工程管理方法及系统
Sieger et al. A comprehensive comparison of shape deformation methods in evolutionary design optimization
Bolandi et al. Bridging finite element and deep learning: High-resolution stress distribution prediction in structural components
Kovalchuk et al. A conceptual approach to complex model management with generalized modelling patterns and evolutionary identification
CN114694158A (zh) 票据的结构化信息的提取方法及电子设备
CN112086144A (zh) 分子生成方法、装置、电子设备及存储介质
Zakaria et al. Fuzzy B-Spline surface modeling
Bonham et al. post-MORDM: Mapping policies to synthesize optimization and robustness results for decision-maker compromise
CN117709210A (zh) 约束推断模型训练、约束推断方法、组件、终端及介质
Betkier et al. PocketFinderGNN: A manufacturing feature recognition software based on Graph Neural Networks (GNNs) using PyTorch Geometric and NetworkX
US20230042464A1 (en) Methods and systems for of generating an instantaneous quote of any part without toolpathing
CN114615505A (zh) 基于深度熵编码的点云属性压缩方法、装置和存储介质
CN114494109A (zh) 用于为3d cad对象的b-rep生成主观风格比较度量的技术
Jerše et al. Ascending and descending regions of a discrete Morse function
CN111210870A (zh) 蛋白质分类方法
CN111709275B (zh) 一种用于Affordance推理的深度网络构建方法
US20220292352A1 (en) Machine-learning for 3d segmentation
EP3913539A1 (en) Device for and computer implemented method of digital signal processing
Park A rational B-spline hypervolume for multidimensional multivariate modeling
Kuikka Predicting the Building Envelope in BIM Models Using Graph Convolutional Neural Networks

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