BSP-Net: Generating Compact Meshes via Binary Space Partitioning 详解

markdown

motivation

理解从图像上提取平面。这个是最新的图片的平面提取。及其应用。

论文序列

BSP-Net: Generating Compact Meshes via Binary Space Partitioning

目的

研究者提出了 BSP-Net。该网络学习一个隐式场:给定 n 个点的坐标和一个形状特征向量作为输入,网络输出一些能够指示这些点是在形状内部还是外部的值。其中形状特征向量指的是啥? 论文中是一个表达生成网络,它能生成polygon 形状的网格。和传统的三维网格不一样。
如下:
在这里插入图片描述
生成的网络具有sharp结构。
论文的工作的原理是:通过BSP(Binary Space Partitioning),将空间层次化细分为多个convex 集合。这个网络可以学习一个用convex 集合表示3D 形状。它分为两步骤:
1:通过一组组平面生成一组convex
2:通过一组convex生成一个3D形状
其中因为convex很容易获取polygon的网络。因此整体步骤就是上面两个。

论文贡献

它是第一个用网络直接生成polygonal网格的。且这些网格能很好的被参数化(高质量的网格)。同时它的表达具有新意,用图像生成的平面和它对应的点云作为输入特征,这种表达方式非常新颖。

为什么能够生成polygon网格

从方法的步骤来看,从图像生成plane,之前我关注的论文都具有这个功能,不再讲诉。最主要是的怎么通过平面生成一组convex。再从convex生成shape。这两个步骤的原理打通了,其实就可以了,后续将分两个步骤介绍他们的原理,以及可行性。
它的整体架构如下:
在这里插入图片描述
它明显表示了两个步骤。

Planes到Convex

这是从平面到Convex的映射。
在这里插入图片描述
从图片可以看出,它将不同的planes group在一起。
细分论文中这块从平面到convex的网络的架构,可以看到,它是每个顶点的操作,这个顶点的表达是通过它与各个平面的关系总和得到。用公式表达如下:
其中 D = x P T D=xP^T D=xPT是顶点signed distances,其中( P T P^T PT)就是平面参数(a,b,c,d)组成的向量,就是顶点和各个平面法向量相乘。然后通过 p p p个平面的那一层。得到为 D i D_i Di。从这些平面中映射到 c c c个convex的一个。表示点云流向某个convex。这个单元表示流向一个最大的一个值的convex。对点云的每个一顶点进行同样的操作,得到点云convex到多个convex的映射。意思就是通过平面对点云中的顶点来表达表示它是否属于convex。对于每个点云它通过的网络单元如下:
其中第一层的每一个顶点表示一个平面,它映射到每一个convex。在我感觉是顶点属于哪些convex?
在这里插入图片描述
从plane到convex的loss函数设计为:
在这里插入图片描述
为什么要去max,从 p p p个平面中映射到一个平面,用的是max这个操作,这样为什么能够映射为正确的convex。
在这里插入图片描述
因为max不好求gradient,所以用了sum的操作。但是获取的结果是一样的。

Convex到Shape

因为多个Convex生成后,它需要将Convex合并,生成各个Shape,达到poly形状。它的网络架构如下:
在这里插入图片描述
将多个Convex合并称为一个shape。通过pooling 操作。它的操作单元如下:
在这里插入图片描述
它的操作如下将某个convex保存下来。
在这里插入图片描述
这就是groups convexes的操作。为什么用min的操作就是获取正确的shape?论文的意思是获取non-convex的可能性。
理解上述的两个操作就能知道为什么能够正确的获取polygonal 网格。

总结如下:
1)点云的表达是点云和每一个平面相乘得到的信息,它的表达。这样表述非常耗内存。是否可以点云只和部分平面进行相乘?

2)平面的表达是ax+by+cy+d=0,是否可以改成(θ,ϕ,r),这三个参数表示,而不是4个。

3)这篇论文从点云生成mesh,用点云的约束,点云的表达。我的想法是可以不可以图像中的平面信息,可以先补点云的(没有的平面,如玻璃等等)全平面,怎么补全?要探讨一下。在按照网络的约束。用带点云到各个平面的距离。

4)上面的操作都是合并等等对网络不友好的操作,等等。

猜你喜欢

转载自blog.csdn.net/weixin_43851636/article/details/113522849
今日推荐