论文题目:Occupancy Networks: Learning 3D Reconstruction in Function Space(占据网络:在函数空间内学习三维重建,简称ONet)

论文作者:Lars Mescheder;Michael Oechsle;Michael Niemeyer;Sebastian Nowozin;Andreas Geiger

论文出处:CVPR 2019

论文摘要:提出了Occupancy Networks——基于学习的三维重建方法的新表示,隐式地把三维表面表示为深度神经网络分类器的连续决策边界。以无限分辨率编码三维输出的描述,不会占用过多内存。

目录

介绍

相关工作

体素表示(简单)

点云表示

网格表示

本文方法

1、Occupancy Networks占据网络:三维几何形状的表示

2、训练:如何学习一个能从多种形式的输入(如点云、单张图像、低分辨率体素)推断该表示的模型

3、推断:在测试时由模型提取高质量三维网格

实现细节

实验

Baselines

数据集

度量

实验一:表示能力

实验二:单视角三维重建

ShapeNet

真实数据(KITTI和Online Products数据集)

实验三:噪声点云补全

实验四:超分辨率体素重建

实验五:无条件网格生成

消融实验(本模型的各组件对单视角三维重建任务的性能影响)

采样策略

网络结构


介绍

现有的表示:①体素表示;②点云表示;③网格表示

(a)体素 (b)点云 (c)网格 (d)一个分类器fθ(例如一个深度神经网络)的连续决策边界作为三维表面,允许任意分辨率的三维网格提取

体素表示的缺点:内存随分辨率呈立方增加,故需要限制在32*32*32或64*64*64。使用例如八叉树的数据自适应表示来降低内存,实现起来又会复杂,现有数据自适应算法依旧局限于相对较小的256*256*256分辨率。

点云表示的缺点:由于缺少底层网格的连接结构,需要额外的后处理来从模型中提取三维几何图形。

网格表示的缺点:现有的网格表示通常基于对一个模板网格的变形,因此不允许任意拓扑。

点云和网格都限制了使用标准前馈网络能可靠预测的点/顶点的数量。

本文贡献:提出了基于对连续三维占据函数进行直接学习的三维重建新方法。利用神经网络实现对任意分辨率的占据函数的预测。训练时大大降低了内存,推理时利用简单的多分辨率等值面提取算法从学习的模型中提取网格。

1、介绍了一种基于学习连续三维映射的对三维几何图形的新表示

2、展示了该表示如何用于从多种输入类型中重建三维几何形状

3、实验证明此方法能生成高质量网格且超越目前最优方法

相关工作

体素表示(简单)

早期工作考虑到使用基于体素网格的三维卷积神经网络由单个图像重建三维几何形状的问题,但由于内存条件限制在较小的32*32*32体素网格——

①C. B. Choy, D. Xu, J. Gwak, K. Chen, and S. Savarese. 3D-R2N2: A unified approach for single and multi-view 3D object reconstruction. In Proc. of the ECCV, 2016.

②S. Tulsiani, T. Zhou, A. A. Efros, and J. Malik. Multi-view supervision for single-view reconstruction via differentiable ray consistency. In Proc. IEEE Conf. on CVPR, 2017.

③Z. Wu, S. Song, A. Khosla, F. Yu, L. Zhang, X. Tang, and J. Xiao. 3D ShapeNets: A deep representation for volumetric shapes. In Proc. IEEE Conf. on CVPR, 2015.

有工作将分辨率提至128*128*128,但仅适用于浅架构和小的batch size,训练缓慢——

①J. Wu, Y. Wang, T. Xue, X. Sun, B. Freeman, and J. Tenenbaum. MarrNet: 3D shape reconstruction via 2.5D sketches. In Advances in NIPS, 2017.

②J. Wu, C. Zhang, X. Zhang, Z. Zhang, W. T. Freeman, and J. B. Tenenbaum. Learning shape priors for single-view 3D completion and reconstruction. In Proc. of the ECCV, 2018.

③X. Zhang, Z. Zhang, C. Zhang, J. B. Tenenbaum, W. T. Freeman, and J. Wu. Learning to reconstruct shapes from unseen classes. In Advances in NIPS, 2018.

由多个输入视图进行重建——

①M. Ji, J. Gall, H. Zheng, Y. Liu, and L. Fang. SurfaceNet: an end-to-end 3D neural network for multiview stereopsis. In Proc. of the IEEE ICCV, 2017.

②A. Kar, C. Hane, and J. Malik. Learning a multi-view stereomachine. In Advances in NIPS, 2017.

①和②以三维体素表示将相机参数和输入图像一同编码并利用三维卷积由多视图重建三维场景

③D. Paschalidou, A. O. Ulusoy, C. Schmitt, L. van Gool, and A. Geiger. Raynet: Learning volumetric 3D reconstruction with ray potentials. In Proc. IEEE Conf. on CVPR, 2018. 介绍了新架构——利用多视图几何形状约束由多个图像预测体素占据

基于VAE

①A. Brock, T. Lim, J. M. Ritchie, and N. Weston. Generative and discriminative voxel modeling with convolutional neural networks. arXiv.org, 1608.04236, 2016.

②D. J. Rezende, S. M. A. Eslami, S. Mohamed, P. Battaglia,M. Jaderberg, and N. Heess. Unsupervised learning of 3D structure from images. In Advances in NIPS, 2016.

基于GAN

J. Wu, C. Zhang, T. Xue, B. Freeman, and J. Tenenbaum. Learning a probabilistic latent space of object shapes via 3D generative-adversarial modeling. In Advances in NIPS, 2016.

由于体素表示的高内存需求,提出以多分辨率方式重建三维物体。但实现复杂,需要多次传递输入来生成最终三维模型,并且限制在较小的256*256*256分辨率——

①C. Hane, S. Tulsiani, and J. Malik. Hierarchical surface prediction for 3D object reconstruction. In Proc. of the International Conf. on 3DV, 2017.

②M. Tatarchenko, A. Dosovitskiy, and T. Brox. Octree generating networks: Efficient convolutional architectures for high-resolution 3D outputs. In Proc. of the IEEE ICCV, 2017.

为达到子体素精度,一些方法来预测截断的带符号的距离场(TSDF),在一个三维网格中的每个点存储着到最近的三维表面上点的截断带符号距离,但由于要在三维空间中推断距离函数,不再是单纯将体素分为占有与否而更难以学习,且仍受分辨率限制

①A. Dai, C. R. Qi, and M. Nießner. Shape completion using 3D-encoder-predictor CNNs and shape synthesis. In Proc.IEEE Conf. on CVPR, 2017.

②L. Ladicky, O. Saurer, S. Jeong, F. Maninchedda, and M. Pollefeys. From point clouds to mesh using regression. In Proc. of the IEEE ICCV, 2017.

③G. Riegler, A. O. Ulusoy, H. Bischof, and A. Geiger. Oct-NetFusion: Learning depth fusion from data. In Proc. of the International Conf. on 3DV, 2017.

点云表示

首创了点云作为判别深度学习任务的表示。通过利用一个全连接神经网络独立地应用于每个点再接着一个全局池化,来实现排列不变性——

①C. R. Qi, H. Su, K. Mo, and L. J. Guibas. PointNet: Deep learning on point sets for 3D classification and segmentation. In Proc. IEEE Conf. on CVPR, 2017.

②C. R. Qi, L. Yi, H. Su, and L. J. Guibas. PointNet++: Deep hierarchical feature learning on point sets in a metric space. In Advances in NIPS, 2017.

点云作为三维重建的输出表示,但需要额外的复杂后处理步骤来生成最终三维网格——

H. Fan, H. Su, and L. J. Guibas. A point set generation network for 3D object reconstruction from a single image. In Proc. IEEE Conf. on CVPR, 2017.

网格表示

网格作为三维重建的输出表示,但容易生成自相交网格

①T. Groueix, M. Fisher, V. G. Kim, B. Russell, and M. Aubry. AtlasNet: A papier-mache approach to learning 3d surface generation. In Proc. IEEE Conf. on CVPR, 2018.不能保证表面闭合

②A. Kanazawa, M. J. Black, D. W. Jacobs, and J. Malik. End-to-end recovery of human shape and pose. In Proc. IEEE Conf. on CVPR, 2018.

③C. Kong, C.-H. Lin, and S. Lucey. Using locally corresponding CAD models for dense 3D reconstructions from a single image. In Proc. IEEE Conf. on CVPR, 2017.

②和③需要来自与对象同类的参考模板

④N. Wang, Y. Zhang, Z. Li, Y. Fu, W. Liu, and Y.-G. Jiang. Pixel2Mesh: Generating 3D mesh models from single RGB images. In Proc. of the ECCV, 2018. 只能生成拓扑结构简单的网格

⑤Y. Liao, S. Donne, and A. Geiger. Deep marching cubes: Learning explicit surface representations. In Proc. IEEE Conf. on CVPR, 2018. Marching Cubes算法(行进立方体算法,MC算法)的端到端的可学习版本,但同样受内存限制在32*32*32分辨率。

本文方法能得到高分辨率闭合表面,无自相交也无需有来自相同物体类别的模板网格作为输入。

本文方法

1、Occupancy Networks占据网络:三维几何形状的表示

不仅要考虑固定的离散三维位置(如体素表示)的占据率,而要考虑每个可能的三维点的占据率,三维物体的occupancy function(占据函数)——关键在于利用神经网络给每一个位置p分配0~1之间的占据概率,该网络相当于用于二元分类的神经网络,只不过我们关注于隐式表示物体表面的决策边界。物体的观察作为输入,p映射到实数的函数作为输出,即表示为一个函数,神经网络将其一对作为输入,输出一个代表占据概率的实数。即为Occupancy Network——

2、训练:如何学习一个能从多种形式的输入(如点云、单张图像、低分辨率体素)推断该表示的模型

在一个训练batch的第i次取样,取K个点,再在这些位置求mini-batch损失,其中是batch B的第i次观察,表示在点的真值占据率,是交叉熵分类损失。本文方法的性能取决于采样方法,在物体边界框中加上额外的小填充进行均匀采样的结果最好。

该三维表示也可被用来学习概率潜在变量模型:

编码器网络的输入:位置和占据率;输出:在高斯分布的均值和标准差;优化生成模型的负对数似然的下界:

,其中KL代表KL散度(相对熵),是在隐藏变量的先验分布(通常为高斯分布),根据采样。

3、推断:在测试时由模型提取高质量三维网格

多分辨率等值面提取(MISE)——为了从训练好的网络提取与新观测对应的等值面的一种层次化等值面提取算法。通过构造八叉树,MISE能从占据网络提取高分辨率网格,无需密集评估高维占据网格的所有点。

多分辨率等值面提取(MISE):①以初始分辨率离散化体积空间,给网格中的所有p用网络来评估占据。将大于或等于某阈值的所有网格点p标记为占据(红色圆形),非占据(青色菱形)。阈值是超参数,决定提取的三维表面的厚度。确定所有既含占据又含非占据顶角的体素并标记为动态(红色),如果在当前分辨率应用MC算法,这些是会使网格自相交的体素,将每个动态体素细分成8个子体素;②评估所有由这样细分而引入到占据网格的新的网格点(空心圈)。重复①②直到达到最终目标分辨率。在最终分辨率,利用MC算法提取网格,利用一阶和二阶梯度信息简化和细化输出网格。

在最终分辨率,应用MC算法来提取近似等值面。当占据网格在初始分辨率包含网格内部和外部每个连接组件的点时算法才能正确收敛,因此需要足够高的初始分辨率,实际中发现32*32*32即可。

由MC算法提取的初始网格可被再细化。①利用Fast-Quadric-Mesh-Simplification算法(快速二次曲面网格简化算法,减面算法)来简化网格;②利用一阶二阶梯度信息来细化输出网格。为此,从输出网格的每个面随机提取点并最小化损失,其中表示在点的网格的法向量,实际中,利用双反向传播可有效实现用二阶梯度信息来最小化第二项。最后一步消除了MC近似的离散伪像,这是直接基于体素表示所不能做到的。本文方法也能通过网络的简单反向传播来高效提取输出网格的所有顶点的法线。每个网格总共需要3秒的推断时间。

实现细节

占据网络采用全连接神经网络,含5个残差块,用条件批归一化限制输入。

单视图三维重建,采用ResNet18架构(K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In Proc. IEEE Conf. on CVPR, 2016.)

点云输入,采用PointNet编码器(C. R. Qi, H. Su, K. Mo, and L. J. Guibas. PointNet: Deep learning on point sets for 3D classification and segmentation. In Proc. IEEE Conf. on CVPR, 2017.)

体素输入,采用三维卷积神经网络(D. Maturana and S. Scherer. Voxnet: A 3D convolutional neural network for real-time object recognition. In Proc.IEEE International Conf. on IROS, 2015.)

非条件网格生成,将PointNet作为编码器网络

实验

Baselines

单视图输入任务:基于体素的3D-R2N2(C. B. Choy, D. Xu, J. Gwak, K. Chen, and S. Savarese. 3D-R2N2: A unified approach for single and multi-view 3D object reconstruction. In Proc. of the ECCV, 2016.);基于点云的PSGN(H. Fan, H. Su, and L. J. Guibas. A point set generation network for 3D object reconstruction from a single image. In Proc. IEEE Conf. on CVPR, 2017.);基于网格的Pixel2Mesh(N. Wang, Y. Zhang, Z. Li, Y. Fu, W. Liu, and Y.-G. Jiang. Pixel2Mesh: Generating 3D mesh models from single RGB images. In Proc. of the ECCV, 2018.)和AtlasNet(T. Groueix, M. Fisher, V. G. Kim, B. Russell, and M. Aubry. AtlasNet: A papier-mache approach to learning 3d surface generation. In Proc. IEEE Conf. on CVPR, 2018.)

点云输入:通过改变编码器调整了3D-R2N2和PSGN。基于网格的baseline采用深度行进立方体(DMC)(Y. Liao, S. Donne, and A. Geiger. Deep marching cubes: Learning explicit surface representations. In Proc. IEEE Conf. on CVPR,2018.)

超分辨率体素任务:评估关于输入的改进

数据集

3D-R2N2所用的ShapeNet子集、同样的体素化、图像渲染和训练/测试集划分方式。我们再将训练集分成训练和验证集(跟踪本文方法和baselines的损失来决定何时停止训练)。为生成水密网格并确定点是否在网格内部(比如为了测量交并比),使用D. Stutz and A. Geiger. Learning 3D shape completion fromlaser scan data with weak supervision. In Proc. IEEE Conf. on CVPR, 2018.提供的代码。从水密网格表面采样。

度量

1、体积交并比(越大越好)——从包围体积中随机采样100,000个点确定这些点位于真值/预测网格之外

2、Chamfer-L1距离(越小越好)——准确度和完整度的均值。准确度:输出网格上的点到其在真值网格上的最近距离的均值。完整度:真值网格上的点到其在输出网格上的最近距离的均值。从输出网格和真值网格上各随机采样100,000个点并用KD-tree来计算对应的距离。使用当前物体的包围框的最大边长的1/10作为单位1。

3、法线一致性分数——评估该方法捕捉高阶信息的能力。一网格的法线和在另一网格其对应的最近邻处的法线的绝对点积的均值

实验一:表示能力

将每个训练样本嵌入一个512维的隐藏空间,从该嵌入中训练网络。应用在ShapeNet数据集的椅子这一类别的训练集(高度多样化、多细节)

本文的ONet和体素表示在不同分辨率下的定量结果:ONet能以平均0.89的高交并比来表示整个数据集;低分辨率体素并不能准确表示网格。ONet能以6M参数量对总计4746个训练样本编码,不随分辨率而增大;体素的内存需求则随分辨率呈立方增加

定性结果:ONet能表示出低分辨率体素所丢失的几何细节

实验二:单视角三维重建

ShapeNet

使用在ImageNet上预训练的ResNet-18编码器,为3D-R2N2和PSGN也使用同样的编码器。PSGN使用每层含512个隐藏单元的四层的全连接解码器,最后一层映射成3072维的向量重构成1024个三维点。目标指标:3D-R2N2和本文方法采用交并比;PSGN和Pixel2Mesh采用Chamfer距离。为提取最终网格,3D-R2N2采用阈值0.4,实验发现0.2阈值的ONet能在准确度和完整度上达到平衡。

其它Baselines和本文方法的定性结果:所有方法均可捕捉三维几何形状,但3D-R2N2非常粗略缺少细节;PSGN能高保真但缺少连接性,而且需要额外有损后处理;Pixel2Mesh结果较好但在非常普遍的复杂拓扑中经常忽略洞状;AtlasNet能很好捕捉几何体但产生了自相交和重叠补丁的伪像;本文方法能捕捉复杂拓扑结构、生成闭合网格、保留细节

定量结果:本文方法的交并比最高,法线一致于真值网格,即便没有像PSGN,Pixel2Mesh,AtlasNet训练过Chamfer距离,本文方法也取得了很好结果

真实数据(KITTI和Online Products数据集)

实验三:噪声点云补全

从每个ShapeNet模型表面再采样300个点,给点云应用均值为0标准差为0.05的高斯噪声。

定量结果:本文方法的交并比最高、Chamfer-L1最低、法线一致性最高。所有数值都显著优于单视角重建任务,说明本任务对于识别模型而言更容易,有更少的不确定性而模型只需要填补空缺

实验四:超分辨率体素重建

从粗略的32*32*32体素来重建高分辨率网格。

本文方法相较输入的低分辨率体素大幅提升

实验五:无条件网格生成

在ShapeNet数据集的四个类别上分别进行无监督训练,评估三维模型隐藏空间的表示能力。

在ShapeNet数据集的车、飞机、沙发、椅子四个类别上训练出的无监督模型的随机样本,能捕捉三维物体的分布并生成较好的新样本

消融实验(本模型的各组件对单视角三维重建任务的性能影响)

采样策略

①uniform sampling在真值网格包围体积内采样2048个点

②equal sampling在网格以内采样1024个点,网格以外采样1024个点

③surface sampling均匀采样1024个点,在网格表面外加标准差0.1的高斯噪声采样1024个点

最简单的uniform采样方法取得最佳效果。因为其它采样策略引入了偏差:例如在网格内外各采样等量点时便隐含告诉了模型每个物体有0.5的体积,因此该方法模型输出有了加厚伪像。由2048降至64个采样点也达到了很好的表现

网络结构

①将条件批归一化(CBN)替换为在网络一开始将输入编码映射成所需隐藏维度的线性层

②将解码器中的所有残差块替换为线性块

可见条件批归一化和残差块都有助于提升性能

【论文阅读】Occupancy Networks: Learning 3D Reconstruction in Function Space相关推荐

  1. [读论文]CVPR2019: Occupancy Networks: Learning 3D Reconstruction in Function Space

    目录 核心思想 涉及到的底层模块 网络结构 训练 mesh提取 实验 概述 三方面实验 baseline方法: Dataset: ShapeNet 评价指标(Metrics): 具体实验 表达能力实验 ...

  2. Occupancy Networks: Learning 3D Reconstruction in Function Space论文笔记

    Contribution Occupancy networks implicitly represent the 3D surface as the continuous decision bound ...

  3. 论文阅读 [CVPR-2022] BatchFormer: Learning to Explore Sample Relationships for Robust Representation Lea

    论文阅读 [CVPR-2022] BatchFormer: Learning to Explore Sample Relationships for Robust Representation Lea ...

  4. 论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey

    论文阅读:Deep Learning in Mobile and Wireless Networking:A Survey 从背景介绍到未来挑战,一文综述移动和无线网络深度学习研究 近来移动通信和 5 ...

  5. 论文阅读 [TPAMI-2022] On Learning Disentangled Representations for Gait Recognition

    论文阅读 [TPAMI-2022] On Learning Disentangled Representations for Gait Recognition 论文搜索(studyai.com) 搜索 ...

  6. 《论文阅读》Multi-Task Learning of Generation and Classification for Emotion-Aware Dialogue Response Gener

    <论文阅读>Multi-Task Learning of Generation and Classification for Emotion-Aware Dialogue Response ...

  7. 行为识别论文阅读(2)——3D Human Sensing, Action and Emotion Recognition in Robot Assisted Therapy of Children

    行为识别论文阅读(2)--3D Human Sensing, Action and Emotion Recognition in Robot Assisted Therapy of Children ...

  8. 【论文阅读】Cross-X Learning for Fine-Grained Visual Categorization

    [论文阅读]Cross-X Learning for Fine-Grained Visual Categorization 摘要 具体实现 OSME模块 跨类别跨语义正则化(C3SC^{3} SC3S ...

  9. 【论文阅读】Can Spatiotemporal 3D CNNs Retrace the History of 2D CNNs and ImageNet?

    [论文阅读]Can Spatiotemporal 3D CNNs Retrace the History of 2D CNNs and ImageNet? 之前提出的3D卷积网络的深度都很浅,因为当时 ...

最新文章

  1. 《101 Windows Phone 7 Apps》读书笔记-Silly Eye
  2. 学习使用 Manifest
  3. 将Reporting Service 2005 SP2集成部署到WSS3或MOSS2007服务器场心得
  4. jdk 1.8 字符串+_JDK 9/10/11:Java字符串上+ =的副作用
  5. 使用JNA的透明JFrame
  6. linux+tar怎样解压,如何在Linux上使用tar命令解压和压缩文件
  7. 计算机可用内存分配失败,你们都被忽悠了! 其实可用内存大才有用
  8. 【wpf】在win10系统上弹出toast和notification
  9. c语言追加字符串_Redis源码解析二--简单动态字符串
  10. 利用python进行数据分析—五、pandas入门
  11. 如何判断真假“中台”?
  12. Android创建txt文件并写入
  13. 实战第二步:如何做一份有针对性的竞品分析
  14. nginx网页支持WebP图片
  15. C++之个人银行账户管理程序(二)
  16. 前端切图仔,常用的21个字符串方法
  17. Android 电源键事件流程分析
  18. 新浪与Google(谷歌)结成战略合作伙伴关系
  19. 新编计算机英语复习(东华理工专业外语)
  20. VAS价值存托公链体系创世录 第一章

热门文章

  1. intel(R)wireless-ac 9462感叹号,WLAN消失,电脑连不上网解决办法
  2. android荣耀不弹出获取权限提醒,荣耀手机怎么设置锁屏消息提示?附不提示的解决方法...
  3. Vue绘制折线图并渲染数据
  4. REVA世界巡回交流会——亚太峰会 澳门站拉开序幕
  5. 使用Python,几行代码实现OCR图片识别,附测试图片和识别效果
  6. 冷战与战后东亚国际秩序:影响及后果
  7. Linux--问题1--从用户态进入内核态
  8. 如何设计空白页面,体验更好!
  9. 基于小波分解与LSTM的城市轨道短时客流预测
  10. @开发者:个推小程序消息推送解决方案来了