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

相关文章

使用python生成固定格式序号的方法详解

《使用python生成固定格式序号的方法详解》这篇文章主要为大家详细介绍了如何使用python生成固定格式序号,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录生成结果验证完整生成代码扩展说明1. 保存到文本文件2. 转换为jsON格式3. 处理特殊序号格式(如带圈数字)4

Java使用Swing生成一个最大公约数计算器

《Java使用Swing生成一个最大公约数计算器》这篇文章主要为大家详细介绍了Java使用Swing生成一个最大公约数计算器的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下... 目录第一步:利用欧几里得算法计算最大公约数欧几里得算法的证明情形 1:b=0情形 2:b>0完成相关代码第二步:加

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

MySQL8.0临时表空间的使用及解读

《MySQL8.0临时表空间的使用及解读》MySQL8.0+引入会话级(temp_N.ibt)和全局(ibtmp1)InnoDB临时表空间,用于存储临时数据及事务日志,自动创建与回收,重启释放,管理高... 目录一、核心概念:为什么需要“临时表空间”?二、InnoDB 临时表空间的两种类型1. 会话级临时表

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可