编辑丨CVer

论文链接:https://arxiv.org/abs/2105.03582

代码已开源在github:

https://github.com/tangjiapeng/SA-ConvONet

1. 摘要

从点云进行表面重建(surface reconstruction from point clouds)是计算机视觉和图形学领域的一个基本问题。最近的先进方法通过在测试的阶段独立地优化每个局部隐式场来解决此问题。由于没有显式地考虑局部场之间的几何关系,这些方法需要使用精准的法向来帮助它们避免在局部隐式场相互交叠的区域产生符号翻转的问题。这个严格的需求导致了其真实扫描点云的重建结果并不鲁棒,因为原始扫描的点云是不带法向的。尽管SAL[1]通过无符号的隐式场学习(sign-agnostic learning)突破了这一局限性,未来的工作仍需要探索如何将这一技术应用于局部隐式场学习。为此,华南理工大学、香港理工大学、阿里巴巴达摩院,联合提出了SA-ConvONet: Sign-Agnostic Optimization of Convolutional Occupancy Networks,在同一个框架中实现三个重建目标:可处理大场景,能泛化到未见过形状,对真实扫描的原始点云具有鲁棒性。具体地,他们通过一个简单但有效的设计来实现这一目标,其为在测试阶段通过无符号的交叉熵损失函数(unsigned cross-entropy loss)进一步优化内外隐式场学习网络。内外隐式场的学习是基于3D U-Net学到的卷积特征[6]来实现的。和之前的先进方法在多个物体和场景表面重建数据集上进行的充分的对比表明了该方法的优越性。该论文已收录为ICCV2021 Oral论文。

2. 简介

图1 给一个复杂物体(左)或大规模场景(右)的无法向点云,

我们的方法能重建出精确的表面网格而不需要使用法向。

从点云进行表面重建对于智能系统感知和理解周围的三维环境具有重要的意义,其在许多的现实应用中扮演着重要的角色,比如计算机辅助制造,3D打印,机械臂抓取。近来,廉价可便携式的扫描仪如Kinect的出现使得获得3D点云更加的容易,这使得这一问题得到了广泛的关注。传统的表面重建方法根据预先定义好的几何先验采用数学优化的方式解决这一问题,然后基于深度学习的方法以数据驱动的方式从大规模的数据集中学习几何先验知识。最近,3D隐式场表征十分流行。相比其它的表达方式如体素,八叉树,点云,连续的隐式场理论上可实现无限分辨率的重建且能恢复任意的拓扑。

许多方法从不同的角度来改进隐式场表面重建方法。例如,为了能更好地扩展到大规模室内场景,一些方法选择去学习局部隐式场来表征局部表面的几何,同时将全局形状几何表示为局部隐式场的组合,而不是从一个潜在的向量中学习全局隐式场。为了更好地泛化到未见过的形状,一些工作尝试在测试时进一步优化网络参数搜索出对当前输入更优的解,而不是严格地固定住已经学好的网络参数。最近的先进方法通过在测试时独立地优化每个局部隐式场,可同时达到前面两个重建目标。由于没有显式地考虑局部场之间的几何关系,这些方法需要使用精准的法向来帮助它们避免在局部隐式场相互交叠的区域产生符号翻转的问题。这个严格的需求导致了其重建真实扫描点云的结果并不鲁棒,因为原始扫描的点云是不带法向的。尽管SAL[1]通过无符号的隐式场学习(sign-agnostic learning)突破了这一局限性,未来的工作仍需要探索如何将这一技术应用于局部隐式场学习。也就是说,至今没有一个方法能同时在一个框架里面实现三个重建目标:可处理大场景,能泛化到未见过形状,对真实扫描的原始点云具有鲁棒性。

为此,我们提出了一个隐式场表面重建方法:sign-agnostic optimization of convolutional occupancy networks,在同一个框架中达到上述的三个重建目标。我们提出了一个简单但又有效的设计,即在测试时以无符号学习的方式进一步优化内外隐式场(occupancy field)的学习,而内外隐式场的学习是基于3D U-Net学到的卷积特征[6]来实现的。我们的方法启发于两个关键的特点。第一个特点是在内外隐式场解码器(occupancy field)在有真实符号隐式场(ground-truth signed field)的3D数据集上预训练后, 它能为测试阶段的优化(test-time optimization)提供一个符号场作为初始化。该初始化使得我们能进一步使用无符号的损失函数约束内外隐式场预测网络的学习,最大化所想要得到的等值面和观察到的无法向点云之间的一致性。第二个特点是3D U-Net同时聚合了全局和局部形状特征。局部形状特征的使用不仅能帮助我们更好地保持表面细节,而且能支持我们进行大规模室内场景表面的重建。融合的全局形状特征可以在特征层面上约束局部隐式场之间的几何一致性,使得局部隐式场的组合总是一个合理的全局形状,即使我们没有使用法向信息提供全局引导。如图1所示,我们的方法能够直接从点云中很好地恢复出逼真的表面细节,而不使用法向信息。

图2: 算法总览图。

我们方法是基于convolutional occupancy networks(CONet)[6](图的中间部分)设计的,其用PointNet和3D U-Net组成的网络从中提取出体素特征用来预测一个内外隐式场。我们首先将CONet在有ground-truth 的3D数据集上使用标准的二元交叉熵损失函数预训练(图的顶部)。测试时,我们提出的无符号优化阶段利用无符号交叉熵损失函数进一步微调整个网络参数进一步提高的准确性(图的底部)。

3. 方法

3.1 Overview

给一个点集作为输入,我们方法的目标是重建一个表面,其与潜在的真实表面尽可能的像。我们选择通过预测一个隐式场来逼近的隐式场表征,由于隐式场表达具有能实现无限分辨率且任意拓扑的表面重建。图2所示的是我们方法的算法总览图。我们的方法由两个阶段组成,分别是卷积内外隐式场学习网络的预训练(convolutional occupancy networks pre-training)和无符号的测试阶段网络再优化(sign-agnostic, test-time optimization)。前面那个阶段负责学习具有全局一致性约束的局部形状形状先验,为后一阶段提供合理的符号场作为初始化。后一阶段使用无符号的交叉熵损失函数进一步优化整个网络用以提高的准确性。我们将在下面的3.2和3.3节中更多的方法细节。

3.2 Convolutional Occupancy Fields Pre-training

3.2.1 Convolutional Feature Learning

如图2所示,我们先将输入点云通过一个轻量的PointNet网络提取出逐点特征。然后,我们通过聚合一个体素内的局部点云信息,将其转成大小为的体素特征。具体地,我们使用平均池化来聚合落入同一个体素内的点云特征。为了能融合全局和局部形状信息,我们使用了一个3D U-Net来处理进一步得到。由于3D CNN所固有的内存开销限制,我们将体素的大小设为,同时3D U-Net的深度设为4使得感受野和的大小一致。由于卷积神经网络的平移等变性和U-Net融合的丰富的形状特征,我们的方法能支持大规模室内场景的表面重建。

3.2.2 Occupancy Fields Prediciting

基于前面得到的体素特征,我们能预测空间任意一个点被分类为表面内的概率。为此,我们首先根据的位置使用三线性内插取出对应的特征向量,然后将送入由一个轻量的多层感知机网络实现的occupancy decoder 中:

的分类概率是通过将网络输出经过sigmoid激活函数得到的。

3.2.3 Loss Function

在训练时,我们在真实形状的包围盒中随机采一个点集并计算它们对应的内外分类状态作为标签。我通过标准的二元交叉熵损失函数来训练网络:

3.3 Sign-Agnostic Implicit Surface Optimization

在测试阶段,我们可以通过一次前向操作直接输出隐式场得到测试结果。但是如果给定的输入偏离了训练集数据分布,我们很可能不能得到一个满意的输出结果。为了提高对未知形状的泛化能力,我可以选择对预训练得到的形状先验再次优化使其能更好地适应当前的输入。但是我们不能使用上式(2)定义的损失函数去监督测试阶段网络的微调,因为我们没有获知输入点云的法向信息,因此不能得到一个内外场作为ground truth。尽管我们可以选择去估计法向,但是法向估计过程中的累积误差将会加大我们恢复出干净的表面重建结果的难度。

但是,我们通过对基于U-Net的内外场学习网络进行无符号的优化来避免使用法向。根据SAL[1],我们知道通过合理地初始化网络参数,隐式场解码器能表征一个单位球的符号距离场,这可帮助我们通过无符号的损失函数训练获得符号场。类似地,预训练之后的内外场解码器也能提供一个符号隐式场作为测试时优化的初始化。这样,我们就可以直接使用无符号交叉熵损失函数来进一步约束内外场和输入点云之间的一致性,而不需要使用法向信息。此外,在优化时,我们能始终保持局部隐式场之间的几何一致性,因为我们使用了全局形状特征。因此,即使我们没有法向信息的引导,也能得到合理一致的全局形状。特别地,无符号损失函数被定义为:

 是从真实表面上采出的一个点集,是从非表面区采出的一个点集。因为未知。因此我们考虑使用观察到的表面点云作为其的一个近似逼近,然后将在3D空间随机采的点当作非表面点。更具体地,我们强迫观测到的表面和内外场的0.5等值面相接近,约束空间中点的内外分类概率要么是接近0或者接近1。

经过隐式场学习的无符号优化后,我们采用多分辨率等值面提取(Multi-resolution IsoSurface Extraction)和marching cubes算法来提取表面网格作为最终的重建结果。

4. 实 验

对比方法:我们和现有的四类表面重建的方法进行对比,包括(1)传统的基于优化的方法,如Screened Posisson Surface Reconstruction(SPSR)[4]; (2)基于深度学习的优化方法,如Sign-Agnostic Learning(SAL)[1]和Implicit Geometric Regularization (IGR)[2];(3)利用数据驱动学习形状先验,如Occupancy Networks(ONet)[5]和Convolutional Occupancy Networks(CONet)[6];(4)优化数据驱动学习到的形状先验,如LIG[3]。我们将不同方法的特点进行了总结对比,呈现在表1中。对于那些需要法向的方法,我们利用[7]的方法先估计无方向的法向,然后再进行朝向纠正。

表1 不同方法的工作条件总结。

由于我们的方法是对局部几何进行建模,且在测试时不需要使用法向信息也能对网络参数进行优化,因此我们方法是第一个同时实现以下三个重建目标的方法:可处理大场景,能泛化到未见过形状,对真实扫描的原始点云具有鲁棒性。

评估方式 我们使用Chamfer Distance(CD), Normal Consistency(NC,以及F-score作为主要的评估方式。我们报告两个阈值下测得的F-score结果()。我们通过在预测和真实的表面网格上随机采10,000个点来计算数值评估结果。对于CD而言,数值越低,重建结果越精确。对于NC和F-score,数值越高,重建结果越精确。

物体表面重建 我们首先在物体表面重建这个任务上进行实验对比。为了模拟真实扫描点云中的噪声,我们对输入的30,000个点用高斯噪声(均值为0,标准差为0.05)进行扰动。

图3 在ShapeNet-chair进行表面重建实验得到的可视化对比结果

表2 在ShapeNet-chair进行表面重建实验得到的数值对比结果

由图3展示的视觉效果可见,我们的方法对复杂物体的重建有一定的优势。和只使用全局形状特征的方法(例如ONet,SAL,IGR)相比,我们的方法更能刻画复杂的表面细节,这是因为我们利用了更丰富的形状特征(同时使用全局和局部特征)。此外,而不是像CONet一样在测试时严格地固定住所学到的形状先验,我们方法在测试时适当地对预训练得到的先验进行微调,这使得我们的方法能保持更加逼真的表面细节(如细长的杆和小洞)。此外,不准确的法向信息导致SPSR,IGR,和LIG容易产生有瑕疵的表面网格结果。然而,这并不会对我们的方法有负面影响,因为我们在测试阶段优化的过程中没有使用法向信息。表2的数值对比结果再次验证了我们方法的优越性。     

图4在synthetic indoor scene dataset上进行表面重建实验得到的数值对比结果

表3 在synthetic indoor scene dataset上进行表面重建实验得到的数值对比结果

室内场景的表面重建 我们还在室内场景重建的数据集上,和其他方法进行对比。如图4所示的视觉对比结果,我们可以看到我们的方法能重建一些椅子细长的腿,然而其他方法并不能。这表明我们的方法仍能被扩展用于大规模的室内场景,因为我们选择对局部几何进行建模,而不是像SAL和IGR一样对全局几何建模。和CONet相比,我们方法能重建更细粒度的表面几何,这表明我们的方法更容易泛化到那些未见过的场景,这是由于我们设计的测试阶段优化策略能有效地约束想要得到的隐式曲面和观察到的点云相接近。还有,避免法向估计使我们的方法能实现更加鲁棒的场景表面重建。表3中呈现的数值对比结果再次展现了我们方法的优越性。

表4 在真实场景数据集ScanNet上进行表面重建实验得到的数值对比结果

真实场景泛化测试 为了对比在真实扫描场景的泛化能力,我们还在真实场景数据集上(ScanNet和Matterport3D)评估不同方法的泛化能力。所有的方法仅在synthetic indoor room dataset上进行预训练,然后再直接进行测试。

ScanNet-V2: 图5和表4分别呈现了在ScanNet数据集上测试的可视化和数值对比结果。我们可以看到我们的结果有更好的数值评估分数和恢复更加细致的表面几何。这有效地表面了我们的方法具有对真实扫描的点云更好的泛化能力。

Matterport3D:为了验证我们方法是否可扩展用于包含多个房间的超大场景,我们还在Matterport3D上进行实验。我们采用滑动窗口的策略,分别对每个切割出来的小房间实施测试阶段再优化策略。图5(d)所示的是可视化对比结果。值得注意的是,Matterport3D中的场景和预训练网络时用到的synthetic indoor room十分不一样,但是我们方法仍能恢复每个房间的细致几何,并且保持场景的摆放。

这表明了我们的方法可更好地应用于超大场景,且对不同扫描设备中存在的噪声具有更好的鲁棒性。

图5 在ScanNet和Matterport3D数据集上进行表面重建实验得到的可视化对比结果。(a)(b)(c)是在ScanNet上测试得到的,(d)是在Matterport3D上的测试结果。

5. 总结

针对从无法向点云进行表面重建这一任务,我们提出了一个简单但有效的隐式曲面重建方法,sign-agnostic optimization of convolutional occupancy networks,在同一个框架中实现可处理大场景,能泛化到未见过形状,对真实扫描的原始点云具有鲁棒性这三个重建目标。从U-Net学到的卷积特征中学习隐式场的方法特性使得我们能够在测试阶段不需要法向信息也能对网络参数进行再次优化。在物体和场景数据集上进行的大量实验表明了我们方法能在数值和可视化对比中超越现有方法。我们方法的一个不足之处在于缓慢的测试速度,这也是测试阶段优化方法通用的缺陷之处,我们将其当作我们的未来工作展望。

Reference

[1] Matan Atzmon and Yaron Lipman. Sal: Sign agnostic learning of shapes from raw data. In CVPR, 2020

[2] Amos Gropp, et al. Implicit geometric regularization for learning shapes. ICML, 2020.

[3] Chiyu Jiang, et al. Local implicit grid representations for 3d scenes. In CVPR, 2020.

[4] Michael Kazhdan and Hugues Hoppe. Screened poisson surface reconstruction. ACM ToG, 2013

[5] Lars Mescheder, et al. Occupancy networks: Learning 3d reconstruction in function space. In CVPR, 2019.

[6] Songyou Peng, et al. Convolutional occupancy networks. In ECCV, 2020.

[7] Hugues Hoppe, et al. Surface reconstruction from unorganized points. In SIGGRAPH, 1992.

本文仅做学术分享,如有侵权,请联系删文。

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

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

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

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

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

觉得有用,麻烦给个赞和在看~  

ICCV 2021 Oral | 无需法向的大场景点云表面重建相关推荐

  1. ICCV 2021 oral 重构+预测,双管齐下提升视频异常检测性能

    关注公众号,发现CV技术之美 本文分享 ICCV 2021 oral 论文『A Hybrid Video Anomaly Detection Framework via Memory-Augmente ...

  2. ICCV 2021 Oral | CoaT: Co-Scale Conv-Attentional Image Transformers

    ICCV 2021 Oral | CoaT: Co-Scale Conv-Attentional Image Transformers 论文:https://arxiv.org/abs/2104.06 ...

  3. 【计算机视觉】简述对RandLA-Net(大场景点云)的理解

    之前讲述的都是基于逐点MLP和点卷积的文章,对于逐点MLP的文章来说(PointNet和PointNet++)都是采用了对称函数(maxpooling)的做法,这样做的目的是为了解决点云的无序性,但是 ...

  4. ICCV 2021 Oral | Paint Transformer - 基于笔触预测的快速油画渲染算法

    这篇专栏主要介绍我们团队(百度视觉技术部视频理解与编辑组)发表于ICCV 2021上的Oral工作:"Paint Transformer: Feed Forward Neural Paint ...

  5. ICCV 2021 Oral | NerfingMVS:引导优化神经辐射场实现室内多视角三维重建

    作者丨韦祎@知乎 来源丨https://zhuanlan.zhihu.com/p/407123751 编辑丨CVer 本文是对我们ICCV 2021被接收的文章NerfingMVS: Guided O ...

  6. ICCV 2021 Oral | AdaFocus:利用空间冗余性实现高效视频识别

    ©原创 · 作者 | 王语霖 单位 | 清华大学自动化系 研究方向 | 机器学习.计算机视觉 本文主要介绍我们被 ICCV 2021 会议录用为 Oral Presentation 的一篇文章:Ada ...

  7. ICCV 2021 Oral | 基于点云的类级别刚体与带关节物体位姿追踪

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 导  读 本文是计算机视觉领域顶级会议 ICCV入选论文<基于点云的类级别刚体与带关节物体位姿追 ...

  8. ICCV 2021 Oral | PoinTr:几何敏感的多样点云补全Transformer

    来源丨AI科技评论 作者丨于旭敏.王晔 我们提出了一种几何敏感的点云补全Transformer,通过将点云表示成为一组无序的点代理,并采用Transformer的Encoder-Decoder结构进行 ...

  9. ICCV 2021 Oral | 清华提出PoinTr:几何敏感的点云补全Transformer

    本文转载自:AI科技评论 作者 | 于旭敏    编辑 | 王晔 我们提出了一种几何敏感的点云补全Transformer,通过将点云表示成为一组无序的点代理,并采用Transformer的Encode ...

最新文章

  1. linux网络编程之socket(十一):套接字I/O超时设置方法和用select实现超时
  2. Linux JDK升级
  3. Android之PullToRefresh(ListView 、GridView 、WebView)使用详解和总结
  4. c 命令导出数据到mysql_MySQL命令行导出数据库
  5. 织梦CMS AJAX分页,可自定义typeid,调取任意内容
  6. html整合vue elementui,vue2.0结合Element-ui实战案例
  7. win8服务器无法安装win7系统安装,win8怎么安装win7 win8改win7教程详解【图文】
  8. Spring Spring MVC Hibernate 整合备忘
  9. php中NULL、false、0、 有何区别?
  10. 几组图片轮回html,HTML 5 Canvas
  11. 终于,我们的新产品Fotor Slideshow Maker上线了!!
  12. CSS 中的层叠,层级关系
  13. 华为商店的软件可以鸿蒙,鸿蒙到底想要什么?是维护渠道的霸权还是万物互联?...
  14. SpringCache报错解决
  15. Job-shop和Flow-shop区别
  16. 长沙连续召开全市企业上市工作座谈会和经济运行调度会:越是“吃劲”越向前
  17. 使用DM数据迁移工具将Excel数据导入到达梦数据库
  18. cronolog 安装配置 Centos 7
  19. 「无人」之竞 :滴滴自动驾驶的成长之路
  20. SMT贴片机种类和速度

热门文章

  1. python 发送邮件实例
  2. 禁止ScrollView在子控件的布局改变时自动滚动的的方法
  3. bash shell命令(2)
  4. Tomcat自定义Http错误信息
  5. 正则表达式模式修正符
  6. 10分钟掌握RocketMQ的核心知识
  7. 开发者测试:可测试性是设计出来的
  8. 快手上市!员工暴富!人均1300万港元!
  9. 项目总监批评程序员穿大裤衩上班情商低!程序员一气之下要离职!项目已到一半了,总监着急发帖求助!...
  10. 因用了Insert into select语句,同事被开除了!