本文转载自:机器之心  |  作者:力元

深度学习的灵活性恰好适合于复杂的 CAD 设计,DeepMind 的研究者基于 CAD 草图与自然语言建模的相似性,提出了自动生成 CAD 草图的机器学习模型。

在制造业中,CAD 的应用十分广泛。凭借着精准、灵活、快速的特性,CAD 已经取代了纸笔画图,并且不再只是应用于汽车制造、航空航天等领域,哪怕小到一个咖啡杯,生活中几乎每个物件都由 CAD 画图建模。

CAD 模型中最难制作的部件之一就是高度结构化的 2D 草图,即每一个 3D 构造的核心。尽管时代不同了,但 CAD 工程师仍然需要多年的培训和经验,并且像纸笔画图设计的前辈们一样关注所有的设计细节。下一步,CAD 技术将融合机器学习技术来自动化可预测的设计任务,使工程师可以专注于更大层面的任务,以更少的精力来打造更好的设计。

在最近的一项研究中,DeepMind 提出了一种机器学习模型,能够自动生成此类草图,且结合了通用语言建模技术以及现成的数据序列化协议,具有足够的灵活性来适应各领域的复杂性,并且对于无条件合成和图像到草图的转换都表现良好。

论文链接:https://arxiv.org/abs/2105.02769

具体而言,研究者开展了以下工作:

  • 使用 PB(Protocol Buffer)设计了一种描述结构化对象的方法,并展示了其在自然 CAD 草图领域的灵活性;

  • 从最近的语言建模消除冗余数据中吸取灵感,提出了几种捕捉序列化 PB 对象分布的技术;

  • 使用超过 470 万精心预处理的参数化 CAD 草图作为数据集,并使用此数据集来验证提出的生成模型。事实上,无论是在训练数据量还是模型能力方面,实际的实验规模都比这更多。

CAD 草图展示效果图如下:

特写镜头展示:

对于 DeepMind 的这项研究,网友的评价非常高。用户 @Theodore Galanos 表示:「非常棒的解决方案。我曾使用 SketchGraphs 作为多模态模型的候选方案,但序列的格式和长度太不容易处理了。等不及在建筑设计中也使用这种方法了。」

草图之于 CAD

2D 草图是机械 CAD 的核心,是构成三维形式的骨架。草图由通过特定的约束(例如正切、垂直和对称)相关联的各种线、弧、样条线和圆组成。这些约束旨在传达设计意图,并定义在实体的各种变换下,形状应该如何发生变化。下图说明了约束是如何将不同的线、弧等几何图形组合创建成特定的形状的。虚线显示了丢失约束时的另一个有效的解决方案。所有的几何实体都位于一个草图平面上,共同形成封闭的区域,供后续操作(例如放样和拉伸)使用,以生成复杂的 3D 几何。

约束:草图逃不开的问题

约束( constraint )使草图比看起来要复杂得多。它们展现了可以间接影响草图中每个实体的关系。例如,在上图中,如果在底角保持固定的状态下向上拖动两个圆弧相交的点,则心形的大小会增大。这种转变看似简单,但实际上是所有约束共同作用的结果。

这些约束确保了当每个实体的尺寸和位置发生变化时,形状仍保持着设计者想传达的状态。由于实体之间复杂的相互作用,很容易意外地指定一组约束,从而导致草图无效。例如,同时满足平行和垂直约束的两条线是无法绘制的。在复杂的草图中,约束依赖关系链会导致设计人员确定要添加的约束变得极为困难。此外,对于给定的一组实体,有许多等效的约束系统能产生类似的草图。

一个高质量的草图通常会使用一组保留设计意图的约束,这意味着即使更改了实体参数(例如尺寸),草图的语义也得以保留。简而言之,无论实体尺寸如何变化,上图中的心形永远是心形。捕捉设计意图与选择一致的约束系统的复杂性使草图生成变成极其困难的问题。

草图与自然语言建模的相似性

草图构造的复杂性有些类似于自然语言建模。在草图中选择下一个约束或实体就像生成句子中的下一个单词,而两者中的的选择又必须在语法上起作用(在草图中形成一个一致约束系统),并保留设计意图。

在生成自然语言方面,已经有了许多成功的工具,其中表现最佳的无疑是在大量现实世界数据上进行训练的机器学习模型。比如 2017 年的 Transformer 架构,展示了强大的连贯造句的能力。这些自然语言模型中的规律,是否可以用来绘制草图呢?

数据

Onshape 是维度驱动设计的一个参数化实体建模软件。但为了存储和处理草图,研究者使用 PB,而不是 Onshape API 提供的原始 JSON 格式。使用 PB 具有双重的优势:由于移除了不必要的信息,结果数据占用的空间更少;使用 PB 语言可以轻松地为结构各异的复杂物体定义精准的规格。

一旦设定好所有必要的对象类型,就需要将数据转换为可以通过机器学习模型来处理的表格。研究者选择将草图表示为 tokens 序列,以便使用语言建模生成草图。文本格式包含了结构和数据的内容,这样使用的优势是可以应用任何现成的文本数据建模方法。不过,即使对于现代语言建模技术,这样做也是有代价的:模型为了生成有效的语法,将额外占用模型容量的一部分。

解决的手段就是避免使用字节格式 PB 定义的通用解析器,利用草图格式的结构来自定义构建设计解释器,即输入一系列代表草图创建过程中各个决策步骤有效选择的 tokens。在这种 tokens 序列的格式下设计解释器会导致 PB 消息有效。

在这种格式下,研究者将消息表示为 triplets 序列(????????,????????,????????),其中????是 token 的索引。给定一系列这样的 triplets,推断每个 token 对应的确切字段是可能的。实际上,第一个 token(????????,????????,????????)始终与 objects.kind 相关联,因为它是创建一个草图消息的首选。第二个字段取决于????1 的具体值。如果????1= 0,那么第一个对象是一个实体,这意味着第二个 token 对应于 entity.kind。该序列的其余部分以类似的方式关联。字段标识符及其在对象中的位置构成了 token 的上下文。因为它使解释 triplets 值的含义以及了解整体数据结构更容易,研究者将此信息用作机器学习模型的其他输入。

如上图所示,草图包含了一条线实体和一个点实体。在左列的每个 triplet 中,实际使用的值以粗体显示。右列显示了 triplet 与对象的哪个字段有关联。

从模型中取样

建立模型的主要目标是估计数据集 D 中的 2D 草图 ????data 的分布。就像上文提到的,研究者将像 token 序列一样处理草图。在这项工作中,由于相关原始文本格式的序列长度挑战,只会考虑使用用字节和 triplet 来表示。

从字节模型取样很简单,该过程与任何典型的基于 Transformer 的语言建模过程相同,而 Triplet 模型需要更多的定制处理。

上图展示了 Triplet 的处理过程:首先将特殊的 BOS token 嵌入并提供给 Transformer。然后,Transformer 输出一组 triplets,每个可能的 token 组一个。为了确定具体需要发出哪个 token,应用从数据规格中自动生成的解释器(状态机),再选择合适的 token 组并关联在合成对象中具有字段的 triplet 的活动组件。填入适当的字段后,解释器转换到下一个状态并生成一个输出 token,然后将其反馈到该模型。当状态机收到最外层重复字段(即 object.kind)的 “end” triplet 时,停止该过程。

实验

研究者使用了从 Onshape 平台上公开可用的文档库中获得的数据对方法进行验证。遵循自回归生成模型的标准评估方法,研究者使用对数可能性作为主要的定量指标。此外,研究者还提供了各种随机和选定的模型样本以进行定性分析评估。

训练细节

研究者使用 128 个通道的批次训练模型以进行 10^6 个权重更新。每个通道都可以在 triplet 设置中容纳 1024 个 tokens 的序列,在字节设置中容纳 1990 个 tokens。为了提高占用率并减少计算浪费,研究者动态地填满了通道,在继续前进到下一条道之前将尽可能多的例子打包。每个批次由 32 个 TPU 内核并行处理。

此外,研究者还使用了 Adam 优化器,学习率为 10^−4,梯度范数为 1.0,所有实验均采用 0.1 的失活率。

实验结果

如上图所示,各种模型的可能性都被测试到了。第三列是草图测试样本中每个对象的平均字节数,第四列是第三列乘以对象数。

下图是从 triplet 模型中取样的实体与约束。第一列节点代表了不同的实体,节点从上至下遵循生成的顺序。第二列代表着不同的约束,按照序列索引排序。第三列是从频率最高到最低的约束类型。

下图是条件模型的实体和约束。左下角是输入位图,下例说明了模型在分布外输入时的表现。

下图显示了从非条件模型取样的各种草图数据分布统计,而括号中的是 Nucleus 取样的 top-p 参数。

这些只是最初的概念验证实验。DeepMind 表示,希望能够看到更多利用已开发接口的灵活性优势开发的应用程序,比如以各种草图属性为条件,给定实体来推断约束,以自动完成图纸。

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

Transformer再下一城!DeepMind新模型自动生成CAD草图,网友:建筑设计要起飞了相关推荐

  1. 借助Transformer,DeepMind新模型自动生成CAD草图,网友:建筑设计要起飞了

    来源:机器之心 作者:力元 深度学习的灵活性恰好适合于复杂的 CAD 设计,DeepMind 的研究者基于 CAD 草图与自然语言建模的相似性,提出了自动生成 CAD 草图的机器学习模型. 在制造业中 ...

  2. Transformer再下一城!low-level多个任务榜首被占领,北大华为等联合提出预训练模型IPT

    来自Transformer的降维打击!北京大学等最新发布论文,联合提出图像处理Transformer.通过对low-level计算机视觉任务,如降噪.超分.去雨等进行研究,提出了一种新的预训练模型IP ...

  3. 不用卷积,也能生成清晰图像!Transformer再下一城

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 「attention is really becoming『all you need』.」 最 ...

  4. 视频超分,Transformer再下一城之VSR-Transformer

    论文:https://arxiv.org/pdf/2106.06847.pdf 代码:https://github.com/caojiezhang/VSR-Transformer 编者言:ETHz(苏 ...

  5. ICCV 2021 Oral | Transformer再下一城!百度南大提出神经绘画网络:Paint Transformer

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 杨净 发自 凹非寺 转载自:量子位(QbitAI) AI已经能教你画油画了. 随便给一张图,笔画序列秒秒钟呈 ...

  6. Serverless 全能选手,再下一城

    简介:近日,中国信通院(即工信部电信研究院),在2021可信云大会上发布了<可信云 Serverless 平台技术能力>和<可信云 Serverless 应用建设成效>的评测结 ...

  7. 嘉兴碧桂园云栖里土拍价格_奥山深耕嘉兴,再下一城!以总价5.73亿元竞得王店镇宅地...

    点击上方蓝字"嘉兴房产圈"一起玩 时隔1周,嘉兴市本级土地市场迎来了8月第二场宅地拍卖. 今日(8月27日),一宗位于王店镇花园路旁的宅地迎来出让,即2020嘉秀洲-030号地块, ...

  8. 华为自研服务器芯片再下一城,从中国移动招标中获取近两成份额

    中国移动近日公布的服务器招标中,华为自研的鲲鹏服务器芯片取得了16.55%的市场份额,显示出它的自研服务器芯片获得越来越多国内客户的认可. 消费者认识华为都是因为华为手机,毕竟华为手机曾在国内市场取得 ...

  9. 微软 Azure 再下一城:收购 Kinvolk,改进开源 Linux

    微软正在以实际证明,做开源,他们是认真的.如今依靠开源,Azure 也再下一城. 整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 4 月 29 日,微软宣布收购专注于构建和改进开源 Li ...

最新文章

  1. 近些年有哪些口碑炸裂的项目管理工具?各具特色的项目管理工具我们该如何选择?
  2. Web应用渗透测试框架Arachni
  3. oracle--pl/sql变量定义----
  4. 2018 年 ACM-ICPC 焦作站现场赛感受
  5. 实录分享 | 计算未来轻沙龙:深度学习工具专场(PPT下载)
  6. ASP.NET Core中如影随形的”依赖注入”[上]: 从两个不同的ServiceProvider说起
  7. 【原生JS插件】LoadingBar页面顶部加载进度条
  8. 设计之路:如何进行软件需求分析?
  9. Python爬虫 senlenium爬取拉勾网招聘数据,你学会了吗
  10. VS2008中的一些命令窗口
  11. android自动接听和挂断电话
  12. [JNI] 开发基础(6)字符串相关操作
  13. 华为云学习笔记(二)
  14. ArcEngine代码 两规冲突检测
  15. java 夏令时_Java里面的夏令时
  16. http上传文件服务器限制大小,修改Nginx与Apache配置参数解决http状态码:413上传文件大小限制问题...
  17. es2015学习笔记经典入门教程
  18. 【CAD算法】【计算机图形学】Bezier贝塞尔曲线生成程序(python/numpy实现)[1]
  19. catti二级笔译综合能力真题_【CATTI二级笔译】综合能力知识点总结(一)
  20. 最小编辑距离算法及python实现

热门文章

  1. 【Go】Go 错误处理
  2. 新塘单片机烧写器_新唐单片机软件加密|新唐单片机软件(NuConsole) v2.04.6725官方版 附安装教程_星星软件园...
  3. Unity ECS初学
  4. android 抽屉组件,Android组件之DrawerLayout实现抽屉菜单
  5. 计算机专业发展1500字,【关于计算机起源及发展的论文1500字左右,论文形式.】...
  6. 史上最全Elasticsearch学习
  7. 家谱网站 php,家谱网站大全
  8. 强化学习代码实操和讲解(三)
  9. 华为ax3怎么接光纤sc接口_华为路由器AX3与其他华为/荣耀路由器如何连接? | 192路由网...
  10. 1001 害死人不偿命的(3n+1)猜想