Analytic Marching:一种基于解析的三维物体网格生成方法

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

Analytic Marching:一种基于解析的三维物体网格生成方法

作者:Karbo

链接:https://arxiv.org/abs/2002.06597

来源:https://zhuanlan.zhihu.com/p/107658473

作者已授权,未经许可请勿二次转载。

摘要

1.探讨的问题:如何从三维物体的隐函数(implicit functions)表示,来尽可能精确地恢复出该物体的三维网格(mesh)?

2.传统方法:最常见的网格化方法是Marching Cubes(MC),但是它需要事先从三维空间中采样很多样本,即具有离散化的性质。并且只有当采样的分辨率很高时(例如 Analytic Marching:一种基于解析的三维物体网格生成方法 的采样数量),才有可能较为精确地恢复出隐函数所表示的三维物体网格。

3.本文做了什么:基于ReLU based MLP所具有的内在特殊性质,我们引入了analytic cells、analytic faces的概念,并给出了在何种条件下analytic faces会形成封闭的、分块线性的表面。并提出Analytic Marching(AM)算法,它可以绝对准确地恢复出被MLP学习得到的物体表面。

基本概念

1. 三维物体表示法:

  • 显式:明确地表示三维物体的表面,例如mesh,它使用共面的顶点来显式地定义物体的一块表面。或者使用分块的参数曲面,曲面的性质就描述了物体的表面。

  • 隐式:使用隐函数来描述物体的表面,例如隐函数:Analytic Marching:一种基于解析的三维物体网格生成方法 ,其 Analytic Marching:一种基于解析的三维物体网格生成方法 就定义了一个球体的表面,并且 Analytic Marching:一种基于解析的三维物体网格生成方法 定义了物体的外部, Analytic Marching:一种基于解析的三维物体网格生成方法 定义了物体的内部。最常用的隐函数是Signed Distance Field(SDF),其数值是该点到物体表面的符号距离。

2. SDF在Deep Learning中的使用

  • 目前主流的三维物体网格重建的流程如下:将物体图片输入到CNN,而CNN输出描述物体形状的shape feature;将3D coordinate(点P)与shape feature输入到MLP,而MLP输出物体在该点P处的SDF值。重建时,从MLP采样 Analytic Marching:一种基于解析的三维物体网格生成方法 个点,并使用等值面提取算法(例如MC)得到三维物体的网格表面。

  • 但是这样就使得重建的精度与所选择的分辨率有关了。分辨率低了则精度低,分辨率高了则速度慢。并且MC得到的surface往往会丢失局部的尖锐细节。

方法

在此仅十分简单地介绍Analytic Marching的基本原理,此处的介绍十分不严谨,但是便于理解。形式化的数学描述和定理的证明请参见原文
为了讨论简单起见,现考虑一个3层的MLP:其各层的结构为3-20-20-1,其中**函数使用ReLU,而输出层不使用任何非线性函数,暂不考虑bias。
记输入为 
Analytic Marching:一种基于解析的三维物体网格生成方法 ,第一个隐藏层的输出为 Analytic Marching:一种基于解析的三维物体网格生成方法 ,第二个隐藏层的输出为 Analytic Marching:一种基于解析的三维物体网格生成方法 ,则预测的sdf为 Analytic Marching:一种基于解析的三维物体网格生成方法 
不难发现,其中 Analytic Marching:一种基于解析的三维物体网格生成方法 可以替换成对角矩阵的形式,即  与 Analytic Marching:一种基于解析的三维物体网格生成方法 ,这里的 Analytic Marching:一种基于解析的三维物体网格生成方法 与 Analytic Marching:一种基于解析的三维物体网格生成方法 是描述第一层和第二层神经元**状态的向量,例如 Analytic Marching:一种基于解析的三维物体网格生成方法 。简记 Analytic Marching:一种基于解析的三维物体网格生成方法 为描述整个MLP**状态的向量。
那么给定 
Analytic Marching:一种基于解析的三维物体网格生成方法 ,MLP则退化成一个线性的模型。其各层的输出均可以线性地计算:

Analytic Marching:一种基于解析的三维物体网格生成方法 、Analytic Marching:一种基于解析的三维物体网格生成方法 以及 Analytic Marching:一种基于解析的三维物体网格生成方法 。
而MLP退化必须要满足一些条件约束,即 
Analytic Marching:一种基于解析的三维物体网格生成方法 必须给定不变,换言之,隐藏层神经元的**状态要与 Analytic Marching:一种基于解析的三维物体网格生成方法 相符合:Analytic Marching:一种基于解析的三维物体网格生成方法 且Analytic Marching:一种基于解析的三维物体网格生成方法 ,也就是需要满足40个(2层隐藏层,每层20个神经元)不等式,我们简记为 Analytic Marching:一种基于解析的三维物体网格生成方法

Analytic Marching:一种基于解析的三维物体网格生成方法

实际上,一般情况下,不等式组 Analytic Marching:一种基于解析的三维物体网格生成方法 定义了一个在3D空间中的凸多面体,我们称之为analytic cell;注意到 Analytic Marching:一种基于解析的三维物体网格生成方法 实质上可能是analytic cell内部的零值面,所以 Analytic Marching:一种基于解析的三维物体网格生成方法 定义了analytic face所以接下来的问题就是依据analytic face的定义式,求解出plane Analytic Marching:一种基于解析的三维物体网格生成方法 与多面体 Analytic Marching:一种基于解析的三维物体网格生成方法 相交的顶点。所得的顶点实质上就是mesh的顶点。

根据求解出的顶点,我们其实可以推理出与该analytic face相邻的analytic cell的 Analytic Marching:一种基于解析的三维物体网格生成方法 值,举例说明如下:如果当前 Analytic Marching:一种基于解析的三维物体网格生成方法 ,并且当前的analytic face上的某条边,实际上是由第1个不等式约束所在平面 Analytic Marching:一种基于解析的三维物体网格生成方法 与等式约束平面 Analytic Marching:一种基于解析的三维物体网格生成方法 相交所得的,那么与其相邻的analytic cell的 Analytic Marching:一种基于解析的三维物体网格生成方法 (仅改变第一位,因为是“第1个”不等式约束)。

既然已知另一个新的 Analytic Marching:一种基于解析的三维物体网格生成方法 ,那么便可以循环求解,直到没有新的 Analytic Marching:一种基于解析的三维物体网格生成方法 出现并且所有的 Analytic Marching:一种基于解析的三维物体网格生成方法 都已经求解完毕,就算求解完成了。

结果

Analytic Marching:一种基于解析的三维物体网格生成方法

如上是定性的效果图,与之相对比的方法GM为GreedyMeshing、MC为MarchingCubes、MT为MarchingTetrahedra,DC为DualContouring。它们都依赖于采样的分辨率。而我们的Analytic Marching是绝对精确的,不依赖于参数设定。(更多的结果请参见原文

我们的方法具有精度高、能恢复出尖锐细节、速度快等优点,具备一定的理论和实用价值。

推荐阅读

吐血整理|3D视觉系统化学习路线

那些精贵的3D视觉系统学习资源总结(附书籍、网址与****)

超全的3D视觉数据集汇总

大盘点|6D姿态估计算法汇总(上)

大盘点|6D姿态估计算法汇总(下)

机器人抓取汇总|涉及目标检测、分割、姿态识别、抓取点检测、路径规划

汇总|3D点云目标检测算法

汇总|3D人脸重建算法

那些年,我们一起刷过的计算机视觉比赛

总结|深度学习实现缺陷检测

深度学习在3-D环境重建中的应用

汇总|医学图像分析领域论文

大盘点|OCR算法汇总

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

扫码添加小助手微信,可申请加入3D视觉工坊-论文写作与投稿 微信交流群,目前已满2000+人,旨在交流顶会(ICRA/IROS/ROBIO/CVPR/ICCV/ECCV等)、顶刊(IJCV/TPAMI/TIP等)、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

Analytic Marching:一种基于解析的三维物体网格生成方法

▲长按加微信群或投稿

Analytic Marching:一种基于解析的三维物体网格生成方法

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近1000+星球成员为创造更好的AI世界共同进步,知识星球入口:

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

Analytic Marching:一种基于解析的三维物体网格生成方法

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