BSP-Net:通过二进制空间划分生成紧凑网格

2024-04-16 17:08

本文主要是介绍BSP-Net:通过二进制空间划分生成紧凑网格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们介绍了BSP-Net,它是一种通过二进制空间划分生成紧凑网格的网络。我们生成的网格是低多边形的,并保证是紧密的。边缘可以重现清晰的细节,但仍可以近似弯曲的边界。

视频链接:https://youtu.be/9-ixexpjN-8?t=2

 

我们的BSP-Net生成紧凑的低多边形网格。
输出可以再现锐利的边缘和近似平滑的几何形状。
诸如IM-NET之类的隐式模型需要等值
曲面, 从而导致网格过于网格化,而网格只能近似具有平滑表面的清晰细节。

我们的关键思想源自二进制空间分区树(BSP)。如左图所示,给定一组定向平面以及将它们分组的连接,我们可以计算每个组内的交点以获得凸形,然后将它们的并集构造为最终输出。整个过程基于CSG操作,因此,输出形状为多边形网格。我们以这样的方式设计网络,即每个组件代表BSP树的一部分。
请查看视频或论文以获取详细信息。

2D重建与分解

图片

在我们的2D实验中,网络的任务是将每个图像重建为凸部的组合。
由于所有形状共享一组相同的凸面和树连接,因此 我们在凸面水平上发现了形状分割和对应关系。在下面,我们显示了第一个形状的一些凸面,以及构造它们的平面。

图片

可以在我们的视频中找到培训过程的可视化内容。
快照如下所示。

图片

3D重建与分解

我们将我们的方法与其他通过重构执行形状分解的方法进行了比较,包括体积基元,SuperQuadrics和BAE-NET,我们的方法不仅获得了更好的重构质量,而且具有更好的分割效果。与2D情况类似,我们可以发现凸面之间的自然对应关系。
下面,我们将凸面手动分组为语义部分,并使用不同的颜色可视化对应关系。

单视图重建

图片

由于我们的BSP-Net是可微分的3D解码器,因此我们可以轻松地将其与图像编码器配对以实现单视图重建。我们比较了几种最先进的方法,包括AtlasNet,Occupancy网络和IM- NET,以显示我们网络的表示能力和输出的精确性。

图片

最近有一项工作CvxNet也执行凸分解。我们的方法与他们的方法不同,因为我们的目标是低多边形重建,而且我们的网络具有针对不同形状的动态凸数。

扫描二维码

获取更多精彩

机器之眼

图片

这篇关于BSP-Net:通过二进制空间划分生成紧凑网格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/909397

相关文章

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

如何将二进制文件流转化为MockMultipartFile文件

《如何将二进制文件流转化为MockMultipartFile文件》文章主要介绍了如何使用Spring框架中的MockMultipartFile类来模拟文件上传,并处理上传逻辑,包括获取二进制文件流、创... 目录一、名词解释及业务解释1.具体业务流程2.转换对象解释1. MockMultipartFile2

Java使用POI-TL和JFreeChart动态生成Word报告

《Java使用POI-TL和JFreeChart动态生成Word报告》本文介绍了使用POI-TL和JFreeChart生成包含动态数据和图表的Word报告的方法,并分享了实际开发中的踩坑经验,通过代码... 目录前言一、需求背景二、方案分析三、 POI-TL + JFreeChart 实现3.1 Maven

Linux环境变量&&进程地址空间详解

《Linux环境变量&&进程地址空间详解》本文介绍了Linux环境变量、命令行参数、进程地址空间以及Linux内核进程调度队列的相关知识,环境变量是系统运行环境的参数,命令行参数用于传递给程序的参数,... 目录一、初步认识环境变量1.1常见的环境变量1.2环境变量的基本概念二、命令行参数2.1通过命令编程

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

Python使用qrcode库实现生成二维码的操作指南

《Python使用qrcode库实现生成二维码的操作指南》二维码是一种广泛使用的二维条码,因其高效的数据存储能力和易于扫描的特点,广泛应用于支付、身份验证、营销推广等领域,Pythonqrcode库是... 目录一、安装 python qrcode 库二、基本使用方法1. 生成简单二维码2. 生成带 Log

Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南

《Python使用Pandas库将Excel数据叠加生成新DataFrame的操作指南》在日常数据处理工作中,我们经常需要将不同Excel文档中的数据整合到一个新的DataFrame中,以便进行进一步... 目录一、准备工作二、读取Excel文件三、数据叠加四、处理重复数据(可选)五、保存新DataFram

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

详解Java中如何使用JFreeChart生成甘特图

《详解Java中如何使用JFreeChart生成甘特图》甘特图是一种流行的项目管理工具,用于显示项目的进度和任务分配,在Java开发中,JFreeChart是一个强大的开源图表库,能够生成各种类型的图... 目录引言一、JFreeChart简介二、准备工作三、创建甘特图1. 定义数据集2. 创建甘特图3.