3D模型深度生成网络【ShapeAssembly】

news2025/6/9 9:57:42

在这里插入图片描述

推荐:使用 NSDT场景设计器 快速搭建 3D场景。

我们提出了一个深度生成模型,该模型学习在ShapeAssembly中编写新颖的程序,ShapeAssembly是一种用于建模3D形状结构的特定领域语言。

执行 ShapeAssembly 程序会生成一个由部件代理长方体的分层连接程序集组成的形状。我们的方法开发了一个格式良好的潜在空间,支持程序之间的插值。上面,我们展示了一个这样的插值,并可视化了这些程序在执行时产生的几何形状。在最后一列中,我们手动编辑生成的程序的连续参数,以生成具有新拓扑的变体几何结构。
在这里插入图片描述

1、概述

手动创作 3D 形状既困难又耗时;3D 形状的生成模型提供了引人注目的替代方案。程序表示(procedural representations)就是这样一种可能性:它们提供高质量和可编辑的结果,但难以创作,并且通常产生多样性有限的输出。另一个极端是深度生成模型(deep generative models):给定足够的数据,它们可以学习生成任何类别的形状,但它们的输出有伪影并且表示不可编辑。

在本文中,我们朝着实现新颖的3D形状合成的两全其美迈出了一步。首先,我们提出了ShapeAssembly,一种用于3D形状结构的特定领域的“汇编语言”

ShapeAssembly 程序通过声明长方体部件代理并以分层和对称的方式将它们相互附加来构建形状结构。ShapeAssembly 函数使用连续自由变量进行参数化,因此一个程序结构能够捕获一系列相关形状。我们展示了如何从PartNet数据集中的现有形状结构中提取ShapeAssembly程序。然后我们训练一个深度生成模型,一个分层序列VAE,学习编写新颖的ShapeAssembly程序。我们的方法利用了每种表示的优势:程序捕获可解释和可编辑的形状可变性的子集,深度生成模型捕获难以通过程序表达的形状集合之间的可变性和相关性。

我们通过比较我们生成的程序输出的形状与其他最近的形状结构合成模型输出的形状来评估我们的方法。我们发现我们生成的形状比其他方法更合理,在物理上更有效。此外,我们评估了这些模型的潜在空间,发现我们的模型结构更好,并且产生更平滑的插值。作为一个应用程序,我们使用我们的生成模型和可微程序解释器来推断形状程序并将其拟合到非结构化几何体,例如点云。

2、ShapeAssembly DSL

在这里插入图片描述

ShapeAssembly是一种用于形状结构的低级特定领域的“汇编语言”。程序由实例化新几何图形的长方体语句和附加语句组成,这些语句将这些几何图形在其表面上的指定点连接在一起。宏函数(反射、平移、挤压)通过扩展到多个长方体和附加语句来形成复杂的空间关系。

上面,我们说明了 ShapeAssembly 解释器如何通过命令式执行程序命令来增量构造形状。长方体在原点实例化,并通过附着移动。请注意第 6 行中的 reflect 命令如何充当宏函数,创建一个新的长方体和两个新附件。

下面我们展示了这种命令式执行对分层程序的直接扩展:我们通过将选定的非叶长方体视为另一个程序的边界框来表示分层形状。

你可以在此处使用我们的交互式解释器试用ShapeAssembly语言。

在这里插入图片描述

3、几何形状生成

在这里插入图片描述

在中间一行,我们展示了来自ShapeAssembly程序生成模型的样本。在顶行中,我们按倒角距离显示训练集中的最近邻形状。在底行中,我们按程序编辑距离显示训练集中的最近邻形状。我们的方法合成了有趣和高质量的结构,超越了直接的结构或几何记忆。

4、几何形状编辑

在这里插入图片描述

程序通过表示形式,允许对生成的输出进行简单的语义编辑。每列在顶行显示模型的示例。在底行中,我们通过仅编辑程序的连续参数来创建具有相同结构但几何形状不同的变体。

5、几何形状插值

在这里插入图片描述

我们的方法和 StructureNet 对验证集中形状的潜在空间插值的定性比较。我们的方法在程序空间内的插值产生将平滑连续变化与离散结构过渡相结合的序列。

6、从非结构化几何体合成

在这里插入图片描述

上面,我们展示了我们的方法与StructureNet(SN)的点云合成的定性比较。我们的方法能够推断出与非结构化几何形状匹配良好的程序结构。该程序结构的连续参数可以通过优化程序进一步细化,以便在不产生伪影的情况下更好地拟合目标点云。我们在下面的 gif 中显示了此优化的动态版本。
在这里插入图片描述
在这里插入图片描述


原文链接:ShapeAssembly — BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/334333.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HashMap put() 方法源码分析

文章目录一、前置知识红黑树定义二、构造方法HashMap()HashMap(int initialCapacity, float loadFactor)tableSizeFor(int cap):计算hashmap初始容量三、put 方法源码1. put()hash(Object key):计算key的hash值2. putVal()通过 hash 计算数组下标3. resi…

jdk版本切换工具jenv使用指南

1.下载jenv包 下载链接:GitHub - FelixSelter/JEnv-for-Windows: Change your current Java version with one line 下载包的文件:JEnv.zip 然后解压缩,放到一个目录下,我这里放到了目录:D:\tools\JEnv 2.将JENV添…

chatGPT学习

最近看到一个火爆的AI智能聊天工具:ChatGPT。它的功能:文能写文章,武能改BUG,马斯克对它的评价是“Scary Good!”。我非常感兴趣,就试用了一下,感觉还不错,希望大家能喜欢。 ChatGPT&#xff0…

炼石完成近亿元A+轮融资,冲刺1500亿数据安全赛道

近日,炼石宣布完成近亿元A轮融资,本轮融资由重庆科技成果转化基金独家投资,由清科资本担任独家财务顾问,这是继安天科技、安云资本、国科嘉和、腾讯等多轮之后的新一轮投资。随着本轮资金的引入,炼石将更深入研发迭代以…

MASA Stack 1.0 发布会讲稿 —— 产品篇

架构 基于MASA的云原生技术架构 我们基于MASA去做了一个云原生技术架构,左下角的MASA Blazor主要是为我们去集成一个多端的UI能力,具体的使用场景将在实践篇为大家介绍——MASA Blazor如何去做多端的 接着就是集成非业务能力的MASA Framework&#xff…

1.Docker 简介

Docker 简介 什么是 Docker? Docker的英文翻译是“搬运工”的意思,他搬运的东西就是我们常说的集装箱Container,Container 里面装的是任意类型的 App,我们的开发人员可以通过 Docker 将App 变成一种标准化的、可移植的、自管理的…

C语言位运算

所谓位运算,就是对一个比特(Bit)位进行操作。比特(Bit)是一个电子元器件,8个比特构成一个字节(Byte),它已经是粒度最小的可操作单元了。C语言提供了六种位运算符&#xf…

linux系统下centos7 或 openwrt安装 使用 SpeedTest 测速

博主博客 https://blog.uso6.com https://blog.csdn.net/dxk539687357 一、测试本地是否安装 python(已安装可以跳过) 1.在命令行中输入rpm -qa | grep python36 判断是否已经安装 python3。 2.如果没有安装输入 yum install python36 进行安装。 二、测试 CentOS 到 Speed Te…

响应式布局以及提交网站

1.慕客协作平台1. /摹客官网地址: https://www.mockplus.cn/ 注册一个账号2. 下载moke ps插件 3. PS 安装/摹客/蓝湖插件3. 打开PS/摹客/蓝湖插件4. 上传(需要切图,需要先标注切图)5. 查看项目6. 邀请成员进入(分享按钮…

【Java 面试合集】简述下自定义异常的应用场景

简述下自定义异常的应用场景 1. 概述 如上图所示,我们想回答这个问题就要了解异常的基本结构。哪些是我们可以控制的,哪些是我们不能控制的。 也许有人会问了,其实在逻辑中可以多加判断,为什么要需要自定义呢。 其实判断的内容无…

rigol 普源MSO5104数字示波器技术参数

MSO5000系列数字示波器是基于RIGOL UltraVision II代技术的高性能中低端数字示波器,采用9英寸多点电容触摸屏,集7种仪器于一身。具有超高的采样带宽比和存储深度等优异的性能指标,以及精巧便携的外观设计。高集成度的ASIC芯片组和创新性的前端…

大数据技术架构(组件)27——Spark:CacheCheckpoint BroadcastAccumulate

2.1.7、Cache&Checkpoint&Broadcast&Accumulate2.1.7.1、Cache2.1.7.1.1、Cache原理RDD是通过iterator进行计算的。当然该方法是内部调用的,不会暴露给用户使用;1、CacheManager通过BlockManager从Local或者Remote获取数据,然后通…

网站虚拟主机的流量为什么会受限制?

虚拟主机流量限制是指网站所在的虚拟主机提供商对网站流量的限制,网站的流量超出限制的话将会受到一定影响,从而影响网站的正常运行。那么网站虚拟主机流量为什么会受限制?本文将详细介绍。 一、虚拟主机流量限制的主要原因 1、虚拟主机提供商设置的流量…

SpringBoot/SpringCloudAlibaba(ruoyi)中cron表达式(配置每天指定整点执行)读取配置文件

场景 若依微服务版手把手教你本地搭建环境并运行前后端项目: 若依微服务版手把手教你本地搭建环境并运行前后端项目_霸道流氓气质的博客-CSDN博客 在上面的基础上某业务需要配置cron表达式,该表达式需要指定每天的指定的整点执行, 比如每…

如何借力Alluxio推动大数据产品性能提升与成本优化?

内容简介 随着数字化不断发展,各行各业数据呈现海量增长的趋势。存算分离将存储系统和计算框架拆分为独立的模块,Alluxio作为如今主流云数据编排软件之一,为计算型应用(如 Apache Spark、Presto)和存储系统&#xff0…

buu [网鼎杯 2020 青龙组]boom 1

题目描述: 一个应用程序,打开了是一串要运行的代码: 题目分析: 首先,跟着代码走下1去得到: 对密文进行md5解密,得到:输入后继续跟着代码走下去,得到:好家伙&#xff0…

RabbitMQ 部署指南

RabbitMQ 部署指南RabbitMQ部署指南1.单机部署1.1.下载镜像1.2.安装MQ2.安装DelayExchange插件2.1.下载插件2.2.上传插件2.3.安装插件3.集群部署2.1.集群分类2.2.获取cookie2.3.准备集群配置2.4.启动集群2.5.测试2.5.1.数据共享测试2.5.2.可用性测试4.镜像模式4.1.镜像模式的特…

太酷了,用Python实现一个动态条形图!

大家好,我是小F~说起动态条形图,小F之前推荐过两个Python库,比如「Bar Chart Race」、「Pandas_Alive」,都可以实现。今天就给大家再介绍一个新的Python库「pynimate」,一样可以制作动态条形图,…

JVM调优最全面的成长 :参数详解+垃圾算法+示例展示+类文件到源码+面试问题

目录1.优秀的Java开发者1.1 什么是Java?1.2 编程语言1.3 计算机[硬件]能够懂的语言1.3.1 计算机发展史1.3.2 计算机体系结构1.3.3 计算机处理数据过程1.3.4 机器语言1.3.5 不同厂商的CPU1.3.6 操作系统1.3.7 汇编语言1.3.8 高级语言1.3.9 编译型和解释型1.3.9.1 编译…

内网渗透(十三)之内网信息收集-收集域环境中的基本信息

系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内网渗透(五)之基础知识-Active Directory活动目录介绍和使用 内网渗透(六)之基…