首页> 中国专利> 用于探索设计空间的基于形状的技术

用于探索设计空间的基于形状的技术

摘要

在各种实施方案中,训练应用程序生成经训练的编码器,所述经训练的编码器自动生成具有第一大小并且表示三维(3D)几何形状的形状嵌入。首先,所述训练应用程序针对与第一3D几何结构相关联的多个视图中的每个视图基于第一卷积神经网络(CNN)块来生成不同的视图激活。然后,所述训练应用程序聚合所述视图激活以生成平铺激活。随后,所述训练应用程序基于所述平铺激活和第二CNN块来生成具有所述第一大小的第一形状嵌入。然后,所述训练应用程序基于所述第一形状嵌入来生成多个重构视图。所述训练应用程序基于所述视图和所述重构视图对所述第一CNN块和所述第二CNN块中的至少一者执行一个或多个训练操作以生成所述经训练的编码器。

著录项

  • 公开/公告号CN112955892A

    专利类型发明专利

  • 公开/公告日2021-06-11

    原文格式PDF

  • 申请/专利权人 欧特克公司;

    申请/专利号CN201980071571.5

  • 申请日2019-10-28

  • 分类号G06F30/10(20060101);G06F30/27(20060101);

  • 代理机构11336 北京市磐华律师事务所;

  • 代理人高伟

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 11:21:00

说明书

相关申请的交叉引用

本申请要求2018年10月29日提交的美国专利申请序列号16/174,110,2018年10月29日提交的美国专利申请序列号16/174,115和2018年10月29日提交的美国专利申请序列号16/174,119的权益。这些相关申请的主题特此以引用方式并入本文。

发明背景

技术领域

本发明的实施方案总体涉及计算机辅助设计软件,并且更具体地,涉及用于探索设计空间的基于形状的技术。

背景技术

生成式设计是一种自动合成满足任何数量和类型的高级目标和约束条件的设计的计算机辅助设计(CAD)过程。在典型的生成式设计流程中,用户指定高级目标和约束条件,然后生成式设计应用程序基于高级目标和约束条件来执行多种多目标优化算法以优化潜在解决方案。这种生成式设计过程是通常生成满足高级目标和约束条件的大量(

在一种用于探索生成式设计空间的方法中,用户通过图形用户接口(GUI)手动筛选生成式设计空间中的设计。这种方法的一个缺点是,在视觉上识别和比较数百或数千个不同设计的显著方面即便有可能也是耗时且冗长的。例如,如果用户偏爱看起来“差不多对称”且“最纤细”的自行车车架,则用户可能必须在视觉上仔细检查自行车车架的生成式设计空间中的数千个不同设计,以确定哪个设计在外观上既差不多对称又最纤细。由于时间约束条件,用户常常最终选择次等设计,而无意中忽略更好地反映用户总体偏好的优等设计。

在另一种用于探索生成式设计空间的方法中,可使用CAD工具以基于客观标准来自动比较设计。例如,为了探索自行车车架的生成式设计空间,可使用CAD工具以基于重量、体积、拉伸强度和成本标准的任何组合对包括在设计空间中的设计进行搜索、过滤和排名。使用这些类型的CAD工具的一个缺点是,CAD工具通常不允许用户基于形状来自动比较设计。

在一些CAD工具中,基于形状来自动比较设计是有问题的,因为通常由CAD工具实现的形状的现有计算表示的相对大的大小妨碍了高效的比较。特别地,比较生成式设计空间中的潜在数万个设计的计算表示将需要大量的时间和计算资源。在相同或其他CAD工具中,形状的现有计算表示不能充分地捕获与生成式设计相关联的复杂形状,以用于比较目的。其他CAD工具实现具有相似计算限制或准确度限制的形状的计算表示。结果,用户常常诉诸于基于美学偏好来手动比较生成式设计空间中的设计。

如前述内容所说明,本领域需要用于探索生成式设计空间的更有效的技术。

发明内容

本发明的一个实施方案阐述了一种用于生成三维(3D)几何形状的计算表示的计算机实现的方法。所述方法包括:针对包括在与第一3D几何结构相关联的多个视图中的每个视图,基于第一卷积神经网络(CNN)块来生成视图激活;聚合所述视图激活以生成第一平铺激活;基于所述第一平铺激活和第二CNN块来生成具有固定大小的第一形状嵌入;基于所述第一形状嵌入来生成多个重构视图;基于所述多个视图和所述多个重构视图来对所述第一CNN块和所述第二CNN块中的至少一者执行一个或多个训练操作以生成经训练的编码器;以及基于所述经训练的编码器来生成具有所述固定大小的第二形状嵌入。

相对于现有技术解决方案,所公开的技术的至少一个技术优势在于,经训练的编码器生成鲁棒且高效地表示与各种设计相关联的3D几何结构的形状的形状嵌入。与现有技术解决方案不同,每个形状嵌入都使用具有固定大小的矢量来准确地表示可能复杂的3D设计的一个或多个显著视觉特征,所述矢量适合于跨通常与生成式设计流程相关联的相对大量的设计进行高效的比较。因此,CAD工具可比较形状嵌入,以允许用户基于美学偏好来高效且主观地探索与生成式设计流程相关联的设计空间。结果,所公开的技术降低了用户在选择用于生产的设计时无意中忽略更好地反映用户美学偏好的设计的可能性。这些技术优势提供了优于现有技术的一个或多个技术进步。

附图说明

通过参考各种实施方案,可具有可详细地在对以上简述的本发明概念的更具体的描述中理解各种实施方案的上述特征的方式,所述各种实施方案中的一些在附图中示出。然而,应注意,附图仅示出本发明概念的典型实施方案并且因此不应被视为以任何方式限制范围,并且存在其他等效的实施方案。

图1是被配置来实现本发明的一个或多个方面的系统的概念性图解;

图2是根据本发明的各种实施方案的图1的自动编码器的更详细图解;

图3是根据本发明的各种实施方案的图1的形状嵌入生成器的更详细图解;

图4是根据本发明的各种实施方案的用于生成3D几何形状的形状的计算表示的方法步骤的流程图;

图5是根据本发明的各种实施方案的图1的设计空间图形用户接口(GUI)的示例性图解;

图6是根据本发明的各种实施方案的用于自动探索设计空间的方法步骤的流程图;

图7是根据本发明的各种实施方案的由图1的探索引擎生成的散点图的示例性图解;并且

图8是根据本发明的各种其他实施方案的用于自动探索设计空间的方法步骤的流程图。

具体实施方式

在以下描述中,阐述许多具体细节以提供对各种实施方案的更透彻的理解。然而,对于本领域的技术人员将显而易见的是,可在没有这些具体细节中的一者或多者的情况下实践本发明概念。

系统概述

图1是被配置来实现本发明的一个或多个方面的系统100的概念性图解。如图所示,系统100包括但不限于任何数量的计算实例110、设计空间150、训练数据库120和用户设备190。在替代实施方案中,系统100可包括呈任何组合形式的任何数量的设计空间150、训练数据库120和用户设备190。在各种实施方案中,系统100的任何数量的部件可跨多个地理位置分布或者以任何组合的形式在一个或多个云计算环境(

用户设备190可以是能够传输输入数据和/或显示视觉内容的任何类型的设备。例如,用户设备190可以是游戏控制台、智能电话、智能电视(TV)、膝上型计算机、平板计算机或台式计算机。值得注意的是,任何数量的用户设备190也可以是计算实例110。

如图所示,计算实例110中的每一者包括但不限于处理器112和存储器116。处理器112可以是能够执行指令的任何指令执行系统、装置或设备。例如,处理器112可包括中央处理单元(CPU)、图形处理单元(GPU)、控制器、微控制器、状态机或它们的任何组合。存储器116存储供计算实例110的处理器112使用的内容,诸如软件应用程序和数据。在替代实施方案中,计算实例110中的每一者可包括呈任何组合形式的任何数量的处理器112和任何数量的存储器116。特别地,任何数量的(包括一个)计算实例110可以任何技术上可行的方式提供任何数量的多处理环境。

存储器116可以是容易获得的存储器中的一种或多种,诸如随机存取存储器(RAM)、只读存储器(ROM)、软盘、硬盘或任何其他形式的本地或远程数字存储装置。在一些实施方案中,存储装置(未示出)可补充或替换存储器116。存储装置可包括处理器112可访问的任何数量和类型的外部存储器。例如但不限于,存储装置可包括安全数字卡、外部快闪存储器、便携式光盘只读存储器(CD-ROM)、光学存储设备、磁性存储设备或前述项的任何合适的组合。

计算实例110被配置来实现一个或多个应用程序或应用程序的子系统。仅出于解释目的,每个应用程序被描绘为驻留在单个计算实例110的存储器116中并且在单个计算实例110的处理器112上执行。然而,如本领域技术人员将认识到的,每个应用程序的功能可跨驻留在任何数量的计算实例110的存储器116中并且在任何数量的计算实例110的处理器112上执行的呈任何组合形式的任何数量的其他应用程序分布。此外,任何数量的应用程序或子系统的功能可合并到单个应用程序或子系统中。

特别地,计算实例110被配置来有利于对设计空间150进行探索。如图所示,设计空间150包括但不限于任何数量的设计160。包括在设计空间150中的设计160中的每一者与表示3D对象的生成式设计流程的不同结果的不同3D几何结构122相关联。例如,对于单人座椅的生成式设计流程,设计160(1)可与凳子的3D几何结构122(2)相关联,而设计160(2)可与扶手椅的3D几何结构122(2)相关联。3D几何结构122的形状在本文中也称为“3D几何形状”。

3D几何结构122可以任何技术上可行的方式指定。例如,3D几何结构122可指定为3D网格、多边形集合、体积体素或图像。在替代实施方案中,设计空间150可包括任何数量的设计160,并且设计160中的每一者可以不一定与生成式设计流程相关联。仅出于解释目的,如果设计空间(包括设计空间150)与生成式设计流程相关联,则所述设计空间在本文中也称为“生成式设计空间”。

在典型的生成式设计流程中,用户指定高级目标和约束条件,然后生成式设计应用程序基于高级目标和约束条件来执行多种多目标优化算法以优化潜在解决方案。这种生成式设计过程是通常生成满足高级目标和约束条件的大量(

通常,设计160中的每一者可在任何粒度级别下并且以任何技术上可行的方式与任何数量和类型的元数据相关联。例如,元数据可包括呈任何组合形式的任何数量的设计160的特性、设计空间150的特性和用于生成设计空间160的生成式设计流程的特性。处于设计粒度级别的元数据的一些示例包括但不限于宽度、高度、质量、制造成本、制造状态和最小安全系数。处于最终结果粒度级别的元数据的一个示例是指定按迭代排序的在生成式设计流程期间丢弃的中间结果的时间线。处于设计空间粒度级别的元数据可包括但不限于为相关联的生成式设计流程指定的任何数量和组合的高级目标和约束条件。包括在系统100中的任何应用程序都可以任何技术上可行的方式获取、计算和/或存储任何数量和类型的元数据。例如,时间线工具(未示出)可通过生成式设计应用程序接收时间线元数据。

如本领域技术人员将认识到的,用于探索设计空间的常规技术可能是耗时且易于出错的。例如,在一些常规系统中,用户通过图形用户接口(GUI)手动筛选生成式设计空间中的设计,以试图选择优化用户美学偏好的单个设计。这种方法的一个缺点是,在视觉上识别和比较数百或数千个不同设计的显著方面即便有可能也是耗时且冗长的。由于时间约束条件,用户常常最终选择次等设计,而无意中忽略更好地反映用户总体偏好的优等设计。

可使用一些常规计算机辅助设计(CAD)工具以基于客观标准自动比较设计。例如,可使用CAD工具以基于重量、体积、拉伸强度和成本标准的任何组合对包括在设计空间中的设计进行搜索、过滤和排名。使用这些类型的CAD工具的一个缺点是,CAD工具通常不允许用户基于形状来自动比较设计。一般来说,基于形状来自动比较设计是有问题的,因为通常由CAD工具实现的形状的计算表示妨碍了高效和/或准确的比较。结果,用户常常诉诸于基于美学偏好来手动比较生成式设计空间中的设计。

基于机器学习来评估设计的形状

为了使得用户能够基于美学标准以可扩展的方式有效地探索设计空间150,系统100实现了机器学习技术。系统100包括但不限于训练引擎130、自动编码器140、形状嵌入生成器170和探索引擎180。如图所示,训练引擎120和自动编码器140在计算实例110(1)的处理器112(1)上执行并且存储在计算机实例110(1)的存储器116(1)中。相比之下,形状嵌入生成器170和探索引擎180在计算实例110(2)的处理器112(2)上执行并且存储在计算机实例110(2)的存储器116(2)中。在替代实施方案中,系统100可包括呈任何组合形式的任何数量的训练引擎130、自动编码器150、形状嵌入生成器170和探索引擎180。

在初始训练阶段,训练引擎130实现任何数量和类型的机器学习技术,以基于训练数据库120以非监督的方式训练自动编码器140。训练数据库120包括但不限于呈任何数量的格式的任何数量和类型的3D几何结构122。包括在训练数据库120中的3D几何结构122可以任何技术上可行的方式生成,并且生成技术可在3D几何结构122之间变化。此外,包括在训练数据库120中的3D几何结构122可与任何数量和类型的设计空间和3D对象相关联。例如,3D几何结构122(1)可以是咖啡桌的手动生成的设计,而3D几何结构122(2)-122(33,005)可以是包括在生成式设计空间中的座椅的不同设计。通常,为了减少过拟合的可能性,训练数据库120包括广泛多种的多样化3D几何结构122。

训练引擎130包括但不限于多视图引擎132(1)的实例。通常,针对给定3D几何结构122,多视图引擎132生成视图集134,所述视图集134以相对简单的格式描述3D几何结构122的视觉外观,而不考虑3D几何结构122的复杂度如何。每个视图集134可包括与任何数量的视图类型相关联的任何数量的视图(图1中未示出)。视图类型的示例包括但不限于深度渲染、冯氏(RGB)渲染和添加深度的冯氏渲染。深度渲染在本文中也称为“深度视图”。多视图引擎132可以任何技术上可行的方式生成视图集134。

例如,在一些实施方案中,多视图引擎132一致地缩放3D几何结构122以适应固定的体积。然后,多视图引擎132将二十个虚拟相机放置在包围经缩放的3D几何结构122的二十面体的顶点处,其中每个虚拟相机指向经缩放的3D几何结构122的质心。针对每个虚拟相机,多视图引擎132使用透视投影执行渲染操作以生成16位灰度深度渲染。16位灰度深度渲染中的每一者是包括在与3D几何结构122相关联的二十个深度视图的集合中的不同深度视图。

在操作中,训练引擎130对多视图引擎132(1)进行配置以为包括在训练数据库120中的3D几何结构122中的每一者生成不同的视图集134。随后,训练引擎130基于不同的视图集对自动编码器140迭代地执行机器学习操作。有利地,基于与给定3D几何结构122相关联的视图集134而不是直接基于3D几何结构122自身执行机器学习操作将机器学习操作与3D几何结构122的内部表示(诸如内部网格段)解耦。

自动编码器140是多视图变分自动编码器,其包括但不限于编码器142和解码器146。在训练阶段期间,编码器142学习包括在训练数据库120中的3D几何结构122的形状的潜在分布。通常,针对给定视图集134,编码器140生成形状嵌入144。训练过程的目标是训练编码器140以将与3D几何结构122相关联的视图集134映射到形状嵌入144,所述形状嵌入144准确且高效地表示3D几何结构122的视觉风格和结构。

值得注意的是,形状嵌入144中的每一者是具有固定大小的矢量,而不考虑相关联的3D几何结构122的复杂度和格式如何。固定大小可以任何技术上可行的方式确定。例如,在一些实施方案中,固定大小可基于准确度和性能标准的组合根据经验来确定。性能标准的一个示例是在数万个形状嵌入144之间执行比较所需的最大计算资源量。在相同或其他实施方案中,固定大小可通过与训练引擎130相关联的图形用户接口(GUI)来获取。

以补充的方式,在训练阶段期间,解码器146接收由编码器142生成的形状嵌入144,并且学习基于形状嵌入144来重构相关联的视图集134。更确切地说,针对给定形状嵌入144(x),解码器146生成重构视图集(图1中未示出)。针对包括在视图集134(x)中的每个“原始”视图,重构视图集包括但不限于对应的重构视图。训练引擎130实现惩罚重构视图与原始视图之间的离差的损失函数。训练引擎130基于损失函数、视图集134和重构视图集来计算损失。随后,训练引擎130基于损失和完成标准来确定编码器142和解码器146是否被训练。

如果训练引擎130确定损失未满足完成标准,则训练引擎130基于离差来修改与编码器142和/或解码器146相关联的机器学习参数(

训练引擎130可以任何技术上可行的方式实现任何数量和类型的损失函数和完成标准。例如,在一些实施方案中,训练引擎130可实现在像素粒度级别下惩罚重构视图与原始视图之间的离差的空间softmax损失函数。在相同或其他实施方案中,完成标准可以是训练引擎130通过与训练引擎130相关联的GUI获取的可接受的损失阈值。在替代实施方案中,自动编码器140和/或训练引擎130可以任何技术上可行的方式执行任何数量和类型的机器学习训练操作,以基于重构视图与原始视图之间的差异来训练编码器142和/或解码器146。例如,在一些实施方案中,自动编码器140包括但不限于损失层。

如图所示,形状嵌入生成器170包括但不限于多视图引擎132(2)的实例。针对包括在设计空间150中的每个设计160,多视图引擎132(2)生成不同的视图集134。随后,针对包括在设计空间150中的每个设计160(x),形状嵌入生成器170基于相关联的视图集134和经训练的编码器172来生成形状嵌入144(x)。然后,形状嵌入生成器170将形状嵌入144(x)存储为与设计160(x)相关联的元数据的一部分。因此,形状嵌入144(x)是与设计160(x)相关联的“美学元数据”。

在替代实施方案中,任何应用程序都可以按需方式生成形状嵌入144(x),而不是预先生成并存储形状嵌入144(x)。例如,在一些实施方案中,形状嵌入生成器170为最终结果而不是生成式设计流程的中间结果计算形状嵌入144。在此类实施方案中,探索引擎180随后可为任何数量的中间结果计算形状嵌入144。

有利地,形状嵌入144的固定大小实现包括在设计空间150中的设计160的形状之间的高效比较。特别地,形状嵌入流形上的每个形状嵌入144之间的距离指示美学空间中的设计160之间的相似度的程度。更确切地说,如果形状嵌入144(x)与形状嵌入144(y)之间的距离相对小,则设计160(x)的形状与设计160(y)的形状相对相似。相反,如果形状嵌入144(x)与形状嵌入144(y)之间的距离相对大,则设计160(x)的形状与设计160(y)的形状相对不相似。

探索引擎180使得能够通过设计空间图形用户接口(GUI)182探索设计空间150。在操作中,探索引擎180通过设计空间GUI 182从用户接收命令,执行任何数量和类型的操作以执行命令,并且通过设计空间GUI 182在视觉上显示命令的结果。特别地,探索引擎180自动地对形状嵌入144执行任何数量和类型的数据分析操作,以有利于对设计空间150进行基于美学的探索。数据分析操作的一些示例包括但不限于比较操作、排名操作、群集操作、过滤操作和搜索操作。

作为执行“基于接近度”的形状命令的一部分,探索引擎180基于嵌入144(x)与144(y)之间的距离来比较两个不同设计160(x)和160(y)的形状。探索引擎180可以任何技术上可行的方式计算距离。例如,在一些实施方案中,探索引擎180计算嵌入144(x)与144(y)之间的余弦距离。通常,探索引擎180可以任何技术上可行的方式实现任何数量的基于接近度的形状命令。

更具体地,为了执行与所选择的设计160(x)相关联的形状接近度概括命令,探索引擎180计算形状嵌入144(x)与包括在设计空间150中的其他形状嵌入144中的每一者之间的成对距离。然后,探索引擎180确定与最小距离相关联的一个或多个“相似”设计160的“相似列表”。探索引擎180还确定与最大距离相关联的一个或多个“不相似”设计160的“不相似列表”。随后,探索引擎180对设计空间GUI 182进行配置以显示包括在相似列表中的一个或多个相似设计160的缩略图并将其注释为“一个或多个相关设计”,并且显示包括在不相似列表中的一个或多个不相似设计160的缩略图并将其注释为“一个或多个替代设计”。

响应于与所选择的设计160(x)相关联的形状排名命令,探索引擎180计算形状嵌入144(x)与包括在设计空间150中的其他形状嵌入144中的每一者之间的成对距离。然后,探索引擎180基于距离以及距离递增的排序标准来生成设计160的排名列表。因此,排名列表以与所选择的设计160(x)的视觉相似度递减的次序指定设计160。随后,探索引擎180对设计空间GUI 182进行配置以显示表示设计160的排名列表的缩略图的有序序列。结合图5描述形状排名命令期间的设计空间GUI 182的一个示例。

“智能折叠”命令致使探索引擎180实现智能折叠模式。在智能折叠模式中,探索引擎180通过将具有相对相似形状的设计160组合成单个折叠组来向用户隐藏重复信息。更确切地说,探索引擎180计算包括在设计空间150中的形状嵌入144之间的成对距离。如果任何两个嵌入144(x)与144(y)之间的距离小于相似度阈值,则探索引擎144将相关联的设计160(x)和160(y)分派到单个折叠组。

探索引擎180可以任何技术上可行的方式确定相似度阈值。例如,在一些实施方案中,探索引擎180基于成对距离来计算直方图,并且然后基于直方图来确定相似度阈值。在相同或其他实施方案中,探索引擎180至少部分地基于通过设计空间GUI 182接收的用户输入来确定相似度阈值。

在生成折叠组之后,探索引擎180对设计空间GUI 182进行配置以显示表示折叠组的缩略图而不是表示设计160的缩略图。探索引擎180还实现“智能扩展”命令,所述“智能扩展”命令将表示所选择的折叠组的缩略图扩展为特定于设计的缩略图,其中每个特定于设计的缩略图表示包括在折叠组中的不同设计160。有利地,折叠组减少了视觉信息淹没,从而允许用户更有效地比较跨设计空间150的形状。在一些实施方案中,为了有利于涉及折叠组的后续操作,探索引擎180可通过与设计空间150相关联的元数据保存折叠组。

在各种实施方案中,“形状集群”命令致使探索引擎180基于形状嵌入144来执行群集操作。探索引擎180可跨整个设计空间150或跨设计空间150内的所选择的设计160执行群集操作。更确切地说,探索引擎180执行非监督式集群分析,以将任何数量的设计160划分成不同的形状集群(未示出)。值得注意的是,探索引擎180确保:相较于包括在任何其他形状集群中的设计160,包括在任何给定形状集群中的设计160彼此在视觉上更加相似。

探索引擎180可实现任何数量和类型的群集技术以生成视觉上相似的设计160的形状集群。例如,探索引擎180可实现任何数量和类型的基于质心的群集技术、基于分布的群集技术和基于密度的群集技术,仅举几例。在一些实施方案中,为了有利于涉及形状集群的后续操作,探索引擎180可通过与设计空间150相关联的元数据保存形状集群。

在生成新的形状集群之后,探索引擎180对设计空间GUI 182进行配置以显示表示新的形状集群的缩略图而不是表示新的形状集群内的设计160的缩略图。探索引擎180还实现“集群扩展”命令,所述“集群扩展”命令将表示所选择的形状集群的缩略图扩展为特定于设计的缩略图,其中每个特定于设计的缩略图表示包括在形状集群中的不同设计160。

在各种实施方案中,探索引擎180扩展任何数量的命令的范围以包括折叠组和/或形状集群。例如,在一些实施方案中,探索引擎180在执行形状接近度概括命令或形状排名命令时评估折叠组、形状集群和设计160。因此,命令的结果可包括任何数量和组合的折叠组、形状集群和设计160。并且,以补充的方式,探索引擎180可将命令的结果显示为表示任何数量和组合的折叠组、集群和设计160的缩略图。

在相同或其他实施方案中,探索引擎180扩展形状集群命令的范围,以实现多个所选择的形状集群的重新群集。响应于与多个所选择的形状集群相关联的形状集群命令,探索引擎180选择包括在所选择的形状集群中的设计160。然后,探索引擎180对所选择的设计160执行重新群集操作,以生成新的形状集群。探索引擎180将所选择的形状集群替换为新的形状集群,并且相应地更新设计空间GUI 182。在一些实施方案中,探索引擎180使得用户能够限制在群集期间生成的形状集群的数量,以有利于通过重复的形状集群命令对设计空间150进行分层的和美学的探索。

通常,形状嵌入144使得探索引擎180能够提供基于美学标准在任何粒度级别下对包括在设计空间150中的设计160进行过滤和/或搜索的任何数量和类型的机制。例如,在一些实施方案中,探索引擎180使得用户能够基于形状对所选择的设计160、所选择的折叠组和/或所选择的形状集群进行过滤和/或搜索以生成结果列表。

在各种实施方案中,探索引擎180基于形状嵌入144以及设计150、设计空间150和/或与设计空间150相关联的设计流程的其他方面(

在一些实施方案中,除了非美学元数据之外,探索引擎160基于形状嵌入144来自动生成图。例如,探索引擎160可生成散点图,其中每个点“x”具有反映设计160(x)的相关联的制造成本的垂直位置和反映形状嵌入144(x)的水平位置。在相同或其他实施方案中,除了非美学元数据之外,探索引擎160基于形状集群或折叠组来自动生成图。例如,探索引擎160可生成散点图,其中每个点“x”具有反映与设计160(x)相关联的非美学元数据的位置和反映设计160(x)所分派到的形状集群的颜色。结合图6描述探索引擎180所生成的散点图的一个示例性图解。

在各种实施方案中,探索引擎180基于特定于生成式设计流程的元数据来自动分析设计空间150。值得注意的是,在一些实施方案中,探索引擎180基于时间线(未示出)来自动分析设计空间150。每个时间线与用于生成设计空间150的生成式设计流程的不同最终结果相关联,并且指定在生成式设计流程期间丢弃的任何数量的中间结果。在时间线内,中间结果按迭代排序。

如本文先前所描述,中间结果和最终结果两者都是包括在设计空间150中的设计160。然而,为了减少信息淹没,探索引擎180通常不将中间结果暴露给用户。为了使得用户能够高效地确定是否有任何中间结果比任何最终结果可以更好地满足用户偏好,探索引擎180通过设计空间GUI 182提供时间线工具(未示出)。

针对所选择的时间线,时间线工具通过接近度和群集技术分析沿着时间线的中间结果,并且然后在视觉上概括分析结果。更确切地说,时间线工具基于形状嵌入144对沿着时间线的中间结果执行群集操作以生成形状集群。此外,针对每对连续(相对于时间线而言)中间结果,时间线工具基于嵌入144来计算相关联的距离。如果距离中的任一者超过不相似度阈值,则时间线工具就确定这对中间结果中的至少一者是“感兴趣的”。最后,时间线工具基于集群对时间线进行着色,生成沿着时间线的指示中间结果的位置的标记,并且通过设计空间GUI 182显示着色且带注释的时间线。有利地,以此方式对时间线进行自动分析和注释使得用户能够以有针对性且高效的方式评估相关联的中间结果。

在相同或其他实施方案中,探索引擎180可以任何技术上可行的方式识别感兴趣的中间结果,将任何数量的感兴趣的中间结果提升为独立设计160(

在替代实施方案中,生成式设计流程可不涉及“收敛”的迭代,而是涉及以相对随机(遗传)的方式探索设计空间150。因此,生成式设计流程可按迭代以外的性能度量来排序,并且不一定与时间线相关联。例如,在一些替代实施方案中,生成式设计流程可生成一组或多组中间结果。

在一些替代实施方案中,训练引擎130可将解码器146(包括当前机器学习参数)保存为经训练的解码器。随后,针对包括在设计空间150中的每个设计160(x),形状嵌入生成器170基于经训练的解码器172来生成形状嵌入144(x)并且基于经训练的解码器来生成重构误差(

应注意,本文所描述的技术是说明性的而非限制性的,并且可在不脱离本发明的更广泛的精神和范围的情况下进行改变。在不脱离所描述的实施方案和技术的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。此外,在替代实施方案中,训练引擎130、多视图引擎132、自动编码器140、形状嵌入生成器170和探索引擎180的功能可跨可包括或可不包括在系统100中的任何数量的其他应用程序和部件分布。

生成形状嵌入

图2是根据本发明的各种实施方案的图1的自动编码器140的更详细图解。如图所示,自动编码器140包括但不限于编码器142和解码器146。在操作中,自动编码器140接收视图集134并且生成重构视图集290。仅出于解释目的,图2描绘源自包括在训练数据库120中的3D几何结构122中的一者的单个视图集134。如图所示,视图集132包括但不限于视图220(1)-220(M)。以补充的方式,重构视图集290包括但不限于重构视图292(1)-292(M)。重构视图292(x)与“原始”视图220(x)相关联。

编码器142接收视图集132并且生成形状嵌入144。如图所示,编码器142包括但不限于视图编码器卷积神经网络(CNN)块230、平铺引擎240和编码器CNN块250。如本文所指,“CNN块”包括但不限于呈任何数量的配置的任何数量的(包括一个)CNN。视图编码器CNN块230包括但不限于一系列任何数量和类型的CNN。针对包括在视图集134中的每个视图220,包括在视图编码器CNN块230中的CNN可以任何技术上可行的方式实现任何数量和类型的机器学习技术(

仅出于解释目的,视图编码器CNN块230基于不同的视图220进行的每个执行被表示为视图编码器CNN块230的单独实例。因此,如本文中所提及,视图编码器CNN块230(x)基于视图220(x)执行以生成单个视图激活。在一些实施方案中,视图编码器CNN块230的实例共享机器学习参数(诸如权重和偏差)的相同值。在其他实施方案中,用于任何数量的视图编码器CNN块230的任何数量的机器学习参数可不同于用于任何其他视图编码器CNN块230的任何数量的机器学习参数。例如,在一些实施方案中,视图编码器CNN块230(1-5)共享一组权重,而视图编码器CNN块230(6-9)共享不同的一组权重。

此外,视图编码器CNN块230的实例可基本上彼此并行地执行,彼此顺序地执行,或以其任何组合的形式执行。例如,在任何给定时间,视图编码器CNN块230的四个不同实例都可正在执行。首先,视图编码器CNN块230(1)-230(4)的四个实例可基本上并行地处理视图220(1)-220(4),然后视图编码器CNN块230(5)-230(5)的四个其他实例可基本上并行地处理视图220(5)-220(8),并且依此类推。在替代实施方案中,视图编码器CNN块230的单个实例将视图220作为视图220的单个叠堆基本上并行地处理。

平铺引擎240接收M个不同的视图激活并且生成单个平铺激活(图2中未示出)。更具体地,平铺引擎240聚合视图激活以生成平铺激活。平铺引擎240可以任何技术上可行的方式聚合视图激活。例如,在一些实施方案中,平铺引擎240沿着单个维度序接视图激活。有利地,通过平铺不同的视图激活,平铺引擎240保留包括在不同的视图激活中的信息。相反,如本领域技术人员将认识到的,常规多视图编码器通常实现可能丢弃用于检测特征之间的精确关系的信息的池化操作。因此,平铺引擎240提高了由经训练的编码器172生成的形状嵌入144表示3D几何结构122的显著视觉特征的准确度。

编码器CNN块250接收平铺激活并生成形状嵌入144。编码器CNN块250包括但不限于任何数量的连接2D CNN、之后是任何数量的全连接层。例如,通常,编码器CNN块250可以任何技术上可行的方式实现任何数量和类型的机器学习技术,以基于平铺激活来生成形状嵌入144。例如,在一些实施方案中,CNN块250可包括具有深度为N个权重层的3×3卷积的CNN、之后是利用丢弃法的任何数量的全连接层。在一些其他实施方案中,CNN块250可包括任何数量的连接CNN、之后是1x1卷积层。

解码器146接收形状嵌入144并且生成重构视图集290。解码器146相对于编码器142对称。更确切地说,在编码器142中实现的每个卷积与解码器146中的转置卷积形成镜像。此外,由编码器142执行的平铺过程与在解码器146中执行的划分过程形成镜像。在替代实施方案中,解码器146不一定相对于编码器142对称。例如,在一些实施方案中,解码器146不如编码器142复杂。

如图所示,解码器146包括但不限于解码器CNN块260、拆分引擎270和视图解码器CNN块280。解码器CNN块260包括但不限于任何数量和类型的CNN,它们相对于编码器CNN块240实现转置卷积,以基于形状嵌入144来生成经解码的平铺激活(未示出)。解码器CNN块260可以任何技术上可行的方式实现任何数量和类型的机器学习技术,以使编码器CNN块250成镜像。例如,在一些实施方案中,解码器CNN块260可实现上采样卷积而不是转置卷积。在替代实施方案中,解码器CNN块260可以任何技术上可行的方式实现任何数量和类型的卷积,并且不一定相对于编码器CNN块250对称。

拆分引擎270执行任何数量和类型的划分操作,以基于经解码的平铺激活来生成M个不同的经解码的视图激活(未示出)。经解码的视图激活中的每一者对应于包括在视图集134中的不同的视图220。针对每个经解码的视图激活,视图解码器CNN块280相对于视图编码器CNN块230实现转置卷积,以生成包括在重构视图集290中的不同的重构视图292。特别地,视图解码器CNN块280可以任何技术上可行的方式实现任何数量和类型的机器学习技术,以使视图编码器CNN块230成镜像。例如,在一些实施方案中,视图解码器CNN块280可实现上采样卷积而不是转置卷积。在替代实施方案中,视图解码器CNN块280可以任何技术上可行的方式实现任何数量和类型的卷积,并且不一定相对于视图编码器CNN块230对称。

仅出于解释目的,视图解码器CNN块280基于不同的经解码的视图激活进行的每个执行被表示为视图解码器CNN块280的单独实例。通常,视图解码器CNN块280的实例可基本上彼此并行地执行,彼此顺序地执行,或以其任何组合的形式执行。然而,视图解码器CNN块280的实例共享机器学习参数(诸如权重和偏差)的相同值。

在替代实施方案中,视图解码器CNN块280的单个实例将经解码的视图激活作为经解码的视图激活的单个叠堆基本上并行地处理。在相同或其他替代实施方案中,用于任何数量的视图解码器CNN块280的任何数量的机器学习参数可不同于用于任何其他视图解码器CNN块280的任何数量的机器学习参数。例如,在一些实施方案中,视图解码器CNN块280(1-5)共享一组权重,而视图解码器CNN块280(6-9)共享不同的一组权重。

图3是根据本发明的各种实施方案的图1的形状嵌入生成器170的更详细图解。形状嵌入生成器170将3D几何结构122映射到形状嵌入144,所述形状嵌入144将3D几何结构122的形状表示为固定大小的矢量。如图所示,形状嵌入生成器170包括但不限于多视图引擎132和经训练的编码器172。如结合图1所描述,多视图引擎132基于3D几何结构122来生成视图集134。仅出于解释目的,视图集134包括但不限于M个不同的视图220(1)-220(M)。视图220中的每一者的尺寸为H×W×C,其中H是高度,W是宽度,并且C是与视图220相关联的通道数。

经训练的编码器172是图2的编码器142的经训练的版本。如图所示,经训练的编码器172包括但不限于视图编码器CNN块230的M个实例、平铺引擎240和编码器CNN块250。在操作中,视图编码器CNN块230(x)基于视图220(x)来生成视图激活330(x)。视图编码器CNN块230包括但不限于“k”个跨步卷积332和“F”个最终过滤器335。更确切地说,“k”指定包括在视图编码器CNN块230中的跨步卷积332的数量,并且F指定包括在视图编码器CNN块230中的最终卷积层中所包括的过滤器的数量。相应地,视图编码器CNN块230(x)生成尺寸为(W/2k)×(H/2k)×F的视图激活330(x)。

在视图编码器块230已经完成生成视图激活330(1)-330(M)之后,平铺引擎240横向地序接视图激活330(1)-330(M)以生成平铺激活340。如图所示,平铺激活340是尺寸为(M*W/2k)×(H/2k)×F的张量。最后,编码器CNN块250生成嵌入144。嵌入144的尺寸为1×E,其中E是固定大小(

仅出于解释目的,图3描绘形状嵌入生成器170内的尺寸、参数、参数值等之间的示例性关系。在替代实施方案中,尺寸、参数、值等本身以及尺寸、参数、值等之间的关系可以变化。例如,在各种实施方案中,由视图编码器CNN块230(x)生成的视图激活330(x)的尺寸不取决于跨步卷积的数量。

图4是用于生成3D几何形状的计算表示的方法步骤的流程图。尽管参考图1至图3的系统描述了方法步骤,但本领域技术人员将理解,被配置来按任何次序实现方法步骤的任何系统都落在本发明的范围内。

如图所示,方法400开始于步骤402,在步骤402处,多视图引擎132为包括在训练数据库120中的每个3D几何结构122(x)生成不同的视图集134(x)。然后,训练引擎130选择第一视图集134。第一视图集134包括视图220(1)-220(M)。在步骤404处,针对包括在所选择的视图集134中的每个视图220(y),视图编码器CNN块230执行卷积以生成视图激活330(y)。在步骤406处,平铺引擎240序接与所选择的视图集134相关联的视图激活330以生成平铺激活340(x)。在步骤408处,编码器CNN块250执行卷积以基于平铺激活340(x)来生成形状嵌入144(x)。

在步骤410处,解码器CNN块260执行转置卷积以基于形状嵌入144(x)来生成经解码的平铺激活。在步骤412处,拆分引擎270将经解码的平铺激活划分成M个经解码的视图激活。在步骤414处,针对每个经解码的视图激活,视图解码器CNN块280执行转置卷积以生成包括在与所选择的视图集134相关联的重构视图集290中的不同的重构视图292。

在步骤416处,训练引擎130基于视图集230和重构视图集290来计算损失。在步骤418处,训练引擎130基于损失来修改编码器142和/或解码器146。在步骤420处,训练引擎130确定自动编码器140的训练是否完成。训练引擎130可以任何技术上可行的方式确定自动编码器140的训练是否完成。例如,在一些实施方案中,训练引擎130可将损失与最大可接受损失进行比较。

如果在步骤420处训练引擎130确定自动编码器140的训练未完成,则方法前进到步骤422。在步骤422处,训练引擎130确定所选择的视图集290是否是与训练数据库120相关联的最后视图集290。如果在步骤422处训练引擎130确定所选择的视图集290不是与训练数据库120相关联的最后视图集290,则方法400前进到步骤424。在步骤424处,训练引擎130选择与训练数据库120相关联的下一视图集290。然后,方法400返回到步骤404,在步骤404处,自动编码器140生成与所选择的视图集134相关联的重构视图集290。

然而,如果在步骤422处训练引擎130确定所选择的视图集290是与训练数据库120相关联的最后视图集290,则方法400直接前进到步骤426。在步骤426处,训练引擎130选择与训练数据库120相关联的第一视图集290。然后,方法400返回到步骤404,在步骤404处,自动编码器140生成与第一视图集134相关联的重构视图集290。

现在返回到步骤420,如果训练引擎130确定自动编码器140的训练已完成,则方法直接前进到步骤428。在步骤428处,训练引擎130将编码器142保存为经训练的编码器172。形状嵌入生成器170基于经训练的编码器172来为设计空间150中的设计160中的每一者生成形状嵌入144。随后,探索引擎180有利于基于形状嵌入144对设计空间进行基于美学的视觉探索。然后,方法400终止。

基于形状嵌入来探索设计空间

图5是根据本发明的各种实施方案的图1的设计空间图形用户接口(GUI)182的示例性图解。特别地,图5描绘在执行形状排名命令520时的两个不同时间点处的设计空间GUI182。仅出于解释目的,设计空间150包括但不限于61个不同的设计160(1)-160(61)。设计空间GUI 182在视觉上将61个不同的设计表示为61个不同的缩略图。

设计空间GUI 182(1)是在探索引擎180执行形状排名命令520之前的时间点处的设计空间GUI 182的快照。如设计选择510所描绘,选择单个设计160(30)。随后,探索引擎180基于所选择的设计160和分别与61个不同的设计160(1)-160(61)相关联的61个不同的形状嵌入144(1)-144(61)来执行形状排名命令520。

设计空间GUI 182(2)是在探索引擎180已经完成执行形状排名命令520并且已经重新生成设计空间GUI 182之后的时间点处的设计空间GUI 182的快照。第一行包括从左到右排序的12个最高排名的设计。下一行包括12个下一最高排名的设计,并且依此类推。因此,左上设计是设计160(30),指示设计160(30)的形状与其自身最佳匹配。相反,右下设计160的形状与设计160(30)的形状明显不相似。

如图5所示,基于形状来对设计160进行自动排名使得用户能够高效地探索设计空间150。值得注意的是,在设计空间150与生成式设计流程相关联的实施方案中,设计空间150可包含数万个不同的设计160。通过选择当前“最喜爱的”设计160并相对于最喜爱的设计160对其他设计160进行排名,用户可跨数万个设计160执行有高度针对性且因此有效的搜索。

图6是根据本发明的各种实施方案的用于自动探索设计空间的方法步骤的流程图。更具体地,图6是用于基于3D设计的形状来自动探索设计空间的方法步骤的流程图。尽管参考图1至图3和图5的系统描述了方法步骤,但本领域技术人员将理解,被配置来按任何次序实现方法步骤的任何系统都落在本发明的范围内。

如图所示,方法600开始于步骤602,在步骤602处,形状嵌入生成器170获取经训练的编码器172和设计空间150。在步骤604处,针对包括在设计空间150中的每个设计160(x),形状嵌入生成器170基于相关联的3D几何结构122(x)和经训练的编码器172来生成形状嵌入144(x)。在步骤606处,探索引擎180生成并显示设计空间GUI 182。在步骤608处,探索引擎180通过设计空间GUI 182接收命令。

在步骤610处,探索引擎180基于形状来确定命令是否涉及(重新)排名。如果在步骤610处探索引擎160基于形状来确定命令涉及(重新)排名,则方法600前进到步骤612。在步骤612处,探索引擎160基于形状嵌入144来对设计160、形状集群和/或折叠组进行(重新)排名。然后,方法600直接前进到步骤618。

然而,如果在步骤610处探索引擎160基于形状来确定命令不涉及(重新)排名,则方法600直接前进到步骤614。在步骤614处,探索引擎160确定命令是否涉及形状(重新)群集。如果在步骤614处探索引擎160确定命令涉及形状(重新)群集,则方法600前进到步骤616。在步骤612处,探索引擎160基于形状嵌入144来生成形状集群。然后,方法600直接前进到步骤618。然而,如果在步骤614处探索引擎160确定命令不涉及形状(重新)群集,则方法600直接前进到步骤618。

在步骤618处,探索引擎160基于形状嵌入144、排名和/或形状集群来执行命令。在步骤620处,探索引擎160基于命令的结果来更新设计空间GUI 182。在步骤622处,探索引擎160确定用户是否已经完成探索设计空间150。探索引擎160可以任何技术上可行的方式确定用户是否已经完成探索设计空间150。

例如,如果探索引擎160确定用户已经尝试退出设计空间GUI 182,则探索引擎确定用户已经完成探索设计空间150。如果在步骤622处探索160确定用户尚未完成探索设计空间150,则方法600返回到步骤608,在步骤608处,探索引擎160接收并处理下一命令。然而,如果在步骤622处探索引擎确定用户已经完成探索设计空间150,则方法600终止。

图7是根据本发明的各种实施方案的由图1的探索引擎180生成的散点图710的示例性图解。如图所示,通过设计空间GUI 182显示散点图710。散点图710包括但不限于x轴720、y轴730和术语表780。

仅出于解释目的,x轴720和y轴730被配置来表示与设计160相关联的非美学数据。更具体地,x轴720被配置来表示设计160的质量,并且y轴被配置来表示与设计160相关联的最小(min)安全系数。术语表780包括但不限于符号生成选择750和任何数量的符号740。符号生成选择750被设置为“形状集群”以指示每个不同的形状集群将由散点图710中的不同符号来表示。

如图所示,术语表780通过包括在相关联的形状集群中的代表性设计160的缩略图在视觉上定义符号740(x)中的每一者。实心正方形的符号740(1)与包括既没有轮子也没有扶手的基础椅子的形状集群相关联。实心圆形的符号740(2)与包括既具有轮子也具有扶手的办公椅的形状集群相关联。叉形的符号740(3)与包括凳子的形状集群相关联。

在操作中,针对给定设计160,探索引擎180基于与设计160相关联的非美学元数据来确定相关联的标绘位置。探索引擎180还基于设计160所分派到的形状集群来确定设计160的相关联的标绘符号。最后,探索引擎180基于相关联的标绘位置和相关联的标绘符号来生成表示散点图内的每个设计160的散点图710。

在替代实施方案中,探索引擎180可以任何技术上可行的方式将任何类型的区别信息分派到不同的形状集群。例如,在一些实施方案中,探索引擎180任意地给形状集群中的每一者命名和着色。在相同或其他实施方案中,探索引擎180不生成术语表780,并且因此,散点图710不包括术语表780。

有利地,散点图710使得用户能够高效地权衡各种功能和非功能标准并识别可能最佳地表示用户偏好的设计160。例如,在查看散点图710之后,先前只考虑凳子的用户可观察到,最轻的基础椅子和最轻的凳子具有相似的质量。此外,用户可观察到,最轻的基础椅子的最小安全系数高于最轻的凳子的最小安全系数。因此,用户可选择最轻的基础椅子而不是最轻的凳子以用于生产。

图8是根据本发明的各种其他实施方案的用于自动探索设计空间的方法步骤的流程图。特别地,图8是用于基于形状嵌入和非美学元数据的组合来自动探索设计空间的方法步骤的流程图。尽管参考图1至图3和图7的系统描述了方法步骤,但本领域技术人员将理解,被配置来按任何次序实现方法步骤的任何系统都落在本发明的范围内。

如图所示,方法800开始于步骤802,在步骤802处,形状嵌入生成器170获取经训练的编码器172和设计空间150。在步骤804处,针对包括在设计空间150中的每个设计160(x),形状嵌入生成器170基于相关联的3D几何结构122(x)和经训练的编码器172来生成形状嵌入144(x)。在步骤806处,探索引擎180获取与设计160、设计空间150和/或同设计空间150相关联的设计流程相关联的任何数量和类型的另外的非美学元数据。在步骤808处,探索引擎180生成并显示设计空间GUI 182。在步骤810处,探索引擎180通过设计空间GUI 182接收命令。

在步骤812处,探索引擎180确定命令是否涉及与生成式设计流程相关联的时间线。如果在步骤812处探索引擎180确定命令不涉及与生成式设计流程相关联的时间线,则方法800前进到步骤814。在步骤814处,探索引擎160基于形状嵌入144和非美学元数据的组合来执行命令。然后,方法800直接前进到步骤820。

然而,如果在步骤812处探索引擎160确定命令涉及与生成式设计流程相关联的时间线,则方法800直接前进到步骤816。在步骤816处,探索引擎160基于沿着时间线的中间结果来确定形状集群和/或感兴趣的中间结果。更确切地说,探索引擎160基于与沿着时间线的中间结果相关联的形状嵌入144来确定形状集群。通常,探索引擎160可以任何技术上可行的方式基于任何数量和类型的信息来确定感兴趣的中间结果。例如,探索引擎160可基于元数据和/或形状嵌入144来确定感兴趣的中间结果。在步骤818处,探索引擎160基于形状集群和感兴趣的中间结果来生成带注释的时间线。

在步骤820处,探索引擎160基于命令的结果来更新设计空间GUI 182。在步骤822处,探索引擎160确定用户是否已经完成探索设计空间150。探索引擎160可以任何技术上可行的方式确定用户是否已经完成探索设计空间150。

例如,如果探索引擎160确定用户已经尝试退出设计空间GUI 182,则探索引擎确定用户已经完成探索设计空间150。如果在步骤822处探索160确定用户尚未完成探索设计空间150,则方法800返回到步骤810,在步骤810处,探索引擎160接收并处理下一命令。然而,如果在步骤822处探索引擎确定用户已经完成探索设计空间150,则方法800终止。

总之,所公开的技术可用于生成高效且准确地表示3D设计的形状的形状嵌入。针对包括在训练数据库中的每个3D几何结构,训练引擎基于多个虚拟相机来渲染3D几何结构以生成包括在与3D几何结构相关联的视图集中的不同的深度视图。然后,训练引擎训练多视图变分自动编码器以将每个视图集无损地压缩为形状嵌入,并且随后扩展形状嵌入以生成重构视图集。在训练期间,包括在自动编码器中的编码器基于视图集来生成形状嵌入,并且包括在自动编码器中的解码器基于形状嵌入来生成重构视图集。

编码器包括但不限于视图编码器卷积神经网络(CNN)块的多个实例、平铺引擎和编码器CNN块。针对包括在给定视图集中的每个视图,视图编码器CNN块的不同实例生成视图激活。平铺引擎横向地序接不同的视图激活以生成平铺激活。随后,编码器CNN块基于平铺激活来生成形状嵌入。值得注意的是,形状嵌入是固定大小的矢量,其鲁棒地表示与视图集相关联的3D几何结构的视觉结构,而不考虑格式、复杂度和与3D几何结构相关联的任何镶嵌如何。解码器相对于编码器对称。更确切地说,编码器中的每个卷积与解码器中的转置卷积形成镜像。此外,由编码器执行的平铺过程与由解码器执行的划分过程形成镜像。在自动编码器内,解码器按编码器的顺序进行操作并基于形状嵌入来生成重构视图集。

为了训练自动编码器,训练引擎实现惩罚重构视图与相关联的“原始”视图的离差的损失函数。在确定重构视图与跨训练数据库的原始视图充分相似之后,训练引擎丢弃解码器并将编码器保存为经训练的编码器。通常,经训练的编码器将与3D几何结构相关联的视图集映射到准确且高效地表示3D几何结构的视觉形状的固定长度的形状嵌入。值得注意的是,形状嵌入使得能够在3D几何结构之间进行高效的美学比较。特别地,形状嵌入流形上的每个形状嵌入之间的距离指示视觉相似度的程度。

在各种实施方案中,形状嵌入引擎和探索引擎有利于基于形状嵌入对设计空间进行美学探索。针对包括在设计空间中的每个3D设计,形状嵌入引擎基于经训练的编码器来计算并存储相关联的形状嵌入。探索引擎提供设计空间图形用户接口(GUI),所述设计空间GUI从用户接收命令,处理命令并在视觉上显示命令的结果。值得注意的是,命令可包括探索引擎基于形状嵌入执行的任何数量和类型的美学分析命令。值得注意的是,因为形状嵌入是固定长度的矢量,所以形状嵌入适合于广泛多种的数据分析操作。数据分析操作的示例包括但不限于比较操作、群集操作、排名操作和过滤操作,仅举几例。

在相同或其他实施方案中,探索引擎有利于基于形状嵌入结合设计的非美学方面、设计空间的方面和/或与设计空间相关联的生成式设计过程的方面来对设计空间进行探索。例如,探索引擎可基于与中间结果(

有利地,通过实现机器学习操作以基于3D设计的庞大训练数据库来训练自动编码器,训练应用程序实现3D几何结构的视觉形状的鲁棒且高效的表示。特别地,通过在整个编码过程中为3D几何结构的多个视图中的每一者保留信息,经训练的编码器生成准确地表示3D几何结构的一个或多个显著视觉特征的形状嵌入。此外,因为形状嵌入具有固定大小,所以形状嵌入适合于跨通常与生成式设计流程相关联的相对大量的几何复杂3D设计进行高效的数据分析操作。因此,CAD工具可自动比较形状嵌入,以允许用户基于美学和非美学偏好来高效且主观地探索与生成式设计流程相关联的设计空间。结果,相比现有技术方法,显著降低了用户在选择用于生产的设计时无意中忽略更好地反映用户美学偏好的设计的可能性。这些技术优势提供了优于现有技术的一个或多个技术进步。

在一些实施方案中,一种用于生成三维(3D)几何形状的计算表示的计算机实现的方法包括:针对包括在与第一3D几何结构相关联的第一多个视图中的每个视图,基于第一卷积神经网络(CNN)块来生成视图激活;聚合所述视图激活以生成第一平铺激活;基于所述第一平铺激活和第二CNN块来生成具有固定大小的第一形状嵌入;基于所述第一形状嵌入来生成第一多个重构视图;基于所述第一多个视图和所述第一多个重构视图来对所述第一CNN块和所述第二CNN块中的至少一者执行一个或多个训练操作以生成经训练的编码器;以及基于所述经训练的编码器来生成具有所述固定大小的第二形状嵌入。

如条款1所述的方法,其中聚合所述视图激活包括:沿着单个维度序接所述视图激活。

如条款1或2所述的方法,其中所述第二CNN块包括一个或多个2D CNN、之后是全连接层。

如条款1-3中任一项所述的方法,其中执行所述一个或多个训练操作包括:基于损失函数来确定所述第一CNN块未经训练;基于所述损失函数来修改与所述第一CNN块相关联的一个或多个机器学习参数以生成第三CNN块;基于所述第三CNN块和所述第二CNN块来生成第二多个重构视图;以及基于所述损失函数、所述第一多个视图和所述第二多个重构视图来确定所述第三CNN块和所述第二CNN块构成所述经训练的编码器。

如条款1-4中任一项所述的方法,其中生成所述第一多个重构视图包括:基于所述第一形状嵌入和第三CNN块来生成经解码的平铺激活;将所述经解码的平铺激活划分成多个经解码的视图激活;以及针对包括在所述多个经解码的视图激活中的每个经解码的视图激活,基于第四CNN块来生成包括在所述第一多个重构视图中的不同的重构视图。

如条款1-5中任一项所述的方法,其还包括:基于损失函数来修改与第五CNN块相关联的一个或多个机器学习参数以生成所述第三CNN块。

如条款1-6中任一项所述的方法,其还包括:针对包括在多个虚拟相机中的每个虚拟相机,基于所述虚拟相机来渲染所述第一3D几何结构以生成包括在所述第一多个视图中的不同的视图。

如条款1-7中任一项所述的方法,其中生成包括在所述视图激活中的第一视图激活与生成包括在所述视图激活中的第二视图激活至少部分地并行发生。

如条款1-8中任一项所述的方法,其中所述第二形状嵌入与通过生成式设计流程自动生成的3D设计相关联。

如条款1-9中任一项所述的方法,其中所述第二形状嵌入与第二3D几何结构相关联,并且所述方法还包括:基于所述经训练的编码器和第三3D几何结构来生成具有所述第一大小的第三形状嵌入;以及在探索设计空间时在所述第二形状嵌入与所述第三形状嵌入之间执行一个或多个比较操作。

在一些实施方案中,一种或多种非暂时性计算机可读介质包括指令,所述指令在由一个或多个处理器执行时致使所述一个或多个处理器执行以下步骤:针对包括在与第一3D几何结构相关联的第一多个视图中的每个视图,基于第一卷积神经网络(CNN)块来生成视图激活;聚合所述视图激活以生成第一平铺激活;基于所述第一平铺激活和第二CNN块来生成具有固定大小的第一形状嵌入;基于所述第一形状嵌入来生成第一多个重构视图;基于所述第一多个视图和所述第一多个重构视图来对所述第一CNN块和所述第二CNN块中的至少一者执行一个或多个训练操作以生成经训练的编码器;以及基于所述经训练的编码器来生成具有所述固定大小的第二形状嵌入。

如条款11所述的一种或多种非暂时性计算机可读介质,其中聚合所述视图激活包括:沿着单个维度序接所述视图激活。

如条款11或12所述的一种或多种非暂时性计算机可读介质,其中所述第二CNN块包括一个或多个2D CNN、之后是全连接层。

如条款11-13中任一项所述的一种或多种非暂时性计算机可读介质,其中执行所述一个或多个训练操作包括:基于损失函数来确定所述第一CNN块未经训练;基于所述损失函数来修改与所述第一CNN块相关联的一个或多个机器学习参数以生成第三CNN块;基于所述第三CNN块和所述第二CNN块来生成第二多个重构视图;以及基于所述损失函数、所述第一多个视图和所述第二多个重构视图来确定所述第三CNN块和所述第二CNN块构成所述经训练的编码器。

如条款11-14中任一项所述的一种或多种非暂时性计算机可读介质,其中所述损失函数测量多个视图与多个重构视图之间的差异。

如条款11-15中任一项所述的一种或多种非暂时性计算机可读介质,其中生成所述第一多个重构视图包括:对所述第一形状嵌入执行第一组卷积操作以生成经解码的平铺激活;将所述经解码的平铺激活划分成多个经解码的视图激活;以及针对包括在所述多个经解码的视图激活中的每个经解码的视图激活,对所述经解码的视图激活执行第二组卷积操作以生成包括在所述第一多个重构视图中的不同的重构视图。

如条款11-16中任一项所述的一种或多种非暂时性计算机可读介质,其中包括在所述第一多个视图中的每个视图包括不同的渲染。

如条款11-17中任一项所述的一种或多种非暂时性计算机可读介质,其中生成包括在所述视图激活中的第一视图激活与生成包括在所述视图激活中的第二视图激活至少部分地并行发生。

如条款11-18中任一项所述的一种或多种非暂时性计算机可读介质,其中所述第二形状嵌入与第二3D几何结构相关联,并且所述一种或多种非暂时性计算机可读介质还包括:基于所述经训练的编码器和第三3D几何结构来生成具有所述第一大小的第三形状嵌入;以及在探索设计空间时在所述第二形状嵌入与所述第三形状嵌入之间执行一个或多个比较操作。

在一些实施方案中,一种系统包括:一个或多个存储器,所述一个或多个存储器存储指令;以及一个或多个处理器,所述一个或多个处理器耦合到所述一个或多个存储器并且在执行所述指令时被配置来:针对包括在与第一3D几何结构相关联的第一多个视图中的每个视图,基于第一卷积神经网络(CNN)块来生成视图激活;聚合所述视图激活以生成第一平铺激活;基于所述第一平铺激活和第二CNN块来生成具有固定大小的第一形状嵌入;基于所述第一形状嵌入来生成第一多个重构视图;基于所述第一多个视图和所述第一多个重构视图来对所述第一CNN块和所述第二CNN块中的至少一者执行一个或多个训练操作以生成经训练的编码器;以及基于所述经训练的编码器来生成具有所述固定大小的第二形状嵌入。

权利要求中任一项所述的权利要求元素中的任一者和/或本申请所描述的任何元素的以任何方式进行的任何和全部组合落在本发明和保护的设想范围内。

各种实施方案的描述已经出于说明目的加以呈现,但并不意图是详尽的或限于所公开的实施方案。在不脱离所描述的实施方案的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。

本发明实施方案的方面可体现为一种系统、方法或计算机程序产品。因此,本公开的方面可采取完全硬件实施方案、完全软件实施方案(包括固件、常驻软件,微代码等)或结合软件方面与硬件方面的实施方案的形式,所述实施方案在本文中通常可全部称为“模块”或“系统”。另外,本公开所描述的任何硬件和/或软件技术、过程、功能、部件、引擎、模块或系统可实现为电路或一组电路。此外,本公开的方面可采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,所述一个或多个计算机可读介质具有在其上体现的计算机可读程序代码。

可利用一种或多种计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁性、光学、电磁、红外或半导体系统、装置或设备、或前述项的任何合适的组合。计算机可读存储介质的更具体示例(非详尽列表)将包括以下项:具有一个或多个导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或快闪存储器)、光纤、便携式光盘只读存储器(CD-ROM)、光学存储设备、磁性存储设备或前述项的任何合适的组合。在本文献的上下文中,计算机可读存储介质可以是可包含或存储供指令执行系统、装置或设备使用或者与其结合使用的程序的任何有形介质。

上文参考根据本公开的实施方案的方法、装置(系统)和计算机程序产品的流程图图解和/或框图来描述本公开的方面。将理解的是,流程图图解和/或框图中的每个框以及流程图图解和/或框图中的框的组合可通过计算机程序指令来实现。这些计算机程序指令可提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生一种机器。所述指令在通过计算机或其他可编程数据处理装置的处理器执行时使得能够实现一个或多个流程图和/或框图框中所指定的功能/动作。此类处理器可以是但不限于通用处理器、专用处理器、特定用途处理器或现场可编程门阵列。

附图中的流程图和框图示出根据本公开的各种实施方案的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。就这一点而言,流程图或框图中的每个框可表示包括用于实现一个或多个指定逻辑功能的一个或多个可执行指令的代码的模块、区段或代码部分。还应注意,在一些替代实现方式中,框中提及的功能可不按附图中提及的次序出现。例如,连续示出的两个框实际上可基本同时执行,或者这些框有时可按相反的次序执行,这取决于所涉及的功能。还应注意,框图和/或流程图图解中的每个框以及框图和/或流程图图解中的框的组合可由执行指定功能或动作的基于专用硬件的系统或专用硬件与计算机指令的组合来实现。

虽然前述内容涉及本公开的实施方案,但在不脱离本公开的基本范围的情况下可设想本公开的其他和另外的实施方案,并且本公开的范围由随附权利要求书确定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号