Tutorial链接:CVPR2017 Tutorial: An Introduction to 3D Deep Learning
视频链接:Tutorial: 3D Deep Learning

Overview of 3D Deep Learning

Background

3D数据的广泛应用:

  • Robotics
  • Augmented Reality
  • Autonomous Driving
  • Medical Image Processing

1.png

在过去,3D数据的缺乏是3D视觉研究的主要瓶颈。

2.png

如今,通过网络可以获取数以百万计的3D模型。因此,数据驱动的3D视觉迎来了机遇。

3.png

2015年开始,随着大规模3D数据集的出现(ShapeNet、ModelNet等),3D deep learning开始兴起。由于工业界的浓厚兴趣,3D deep learning领域的研究非常活跃。

4.png

3D Deep Learning Tasks

graph LR A(3D deep learning tasks)-->B(3D geometry analysis) A-->C(3D synthesis) A-->D(3D-assisted image analysis) B-->B1(Classification) B-->B2(Parsing) B-->B3(Correspondence) C-->C1(Monocular 3D reconstruction) C-->C2(Shape completion) C-->C3(Shape modeling) D-->D1(Cross-view image retrieval) D-->D2(Intrinsic decomposition)

3D geometry analysis

5.png

3D synthesis

6.png

3D-assisted image analysis

7.png

3D Deep Learning Algorithms

3D Representations

2D图像的唯一表示:使用矩阵表示的规范数据结构。

8.png

3D形状具有多种表示方式:

graph LR A(3D representations)-->B("Rasterized form (regular grids)") A-->C("Geometric form (irregular)") B-->B1("multi-view RGB(D) images") B-->B2(volumetric) C-->C1(polygonal mesh) C-->C2(point cloud) C-->C3(primitive-based CAD models)

Multi-view RGB(D) images

9.png

Volumetric

10.png

Polygonal mesh

11.png

Point cloud

12.png

Primitive-based CAD models

13.png

Deep Learning on Different 3D Representations

3D deep learning algorithms (by representations)

14.png

如何研究3D deep learning?"task"和"representation"的笛卡尔乘积。

3D deep learning的基本挑战:能否直接在3D数据上应用CNN?

  • 对于栅格化的表示(tasterized form),可以直接应用CNN,但又有许多其他的挑战;
  • 对于几何学的表示(geometric form),不能直接应用CNN。

Deep Learning on Regular Structures

Multi-view representation

一般思路:

  • 将不规则的3D形状规则化(图片)
  • 规避所有几何表示

15.png

  • 使用预训练的基于图片的CNN
  • 与人类相似,分析能看到什么:将来自多个视角的表面信息结合到一起
Classification

传统方法:特征+线性分类器

16.png

论文:Multi-view Convolutional Neural Networks for 3D Shape Recognition (ICCV 2015)

方法:

  • 首先将3D shape产生的多视角图像输入到 $\text{CNN}_1$ 中提取特征

17.png

  • 使用view pooling将所有图像的特征结合

18.png

  • 然后通过 $\text{CNN}_2$生成最终的预测结果

19.png

Segmentation

论文:3D Shape Segmentation with Projective Convolutional Networks (CVPR 2017)

20.png

论文:Learning Local Shape Descriptors from Part Correspondences with Multiview Convolutional Networks (ACM TOG)

21.png

Reconstruction

论文:3D Shape Reconstruction from Sketches via Multi-view Convolutional Networks (3D Vision 2017)

22.png

multi-view representation的关键挑战:

  • 融合多视角信息没有被纳入到网络中;
  • 不能透过表面看到内部;
  • 不同视角看到的表面可能不一致。

Volumetric representation

3D卷积使用4D卷积核:

23.png

3D转置卷积使用4D卷积核:

24.png

早期使用3D CNN进行shape classification的工作:

25.png

Volumetric GAN: Learning a Probabilistic Latent Space of Object Shapes via 3D Generative-Adversarial Modeling (NIPS 2016)

26.png

Single-view 3D reconstruction:

  • Depth based methods
  • Model based methods

论文:3D-R2N2: A Unified Approach for Single and Multi-view 3D Object Reconstruction (ECCV 2016)

27.png

使用ground truth 3D volumes的有监督学习:

  • Voxel-wise交叉熵损失

$$ L(\mathcal{X}, y)=\sum_{i, j, k} y_{(i, j, k)} \log \left(p_{(i, j, k)}\right)+\left(1-y_{(i, j, k)}\right) \log \left(1-p_{(i, j, k)}\right) $$

  • ShapeNet

Multi-view volumetric reconstruction:Perspective Transformer Nets: Learning Single-View 3D Object Reconstruction without 3D Supervision(NIPS 2016)

28.png

Volumetric data具有稀疏性:

29.png

Octree结构:只存储occupied grids

  • 递归地分割空间,每个内部结点有8个子结点

30.png

  • 跳过空结点的计算

31.png

论文:OctNet: Learning Deep 3D Representations at High Resolutions (CVPR 2017)

论文:O-CNN: Octree-based Convolutional Neural Network for Understanding 3D Shapes (SIGGRAPH 2017)

更高的空间分辨率:Octree generating networks: Efficient convolutional architectures for high-resolution 3d outputs (ICCV 2017)

32.png

Deep Learning on Point Cloud and Parametric Models

Point cloud analysis

主要基于以下两篇论文:

PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation (CVPR 2017)

PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space (NIPS 2017)

点云表示的优越性:

  • 与来自传感器的生数据相近
  • 简洁
  • 与其他表示方式易于转化

点云分析的应用:

  • 机器人感知(Robot Perception):激光扫描场景中的物体是什么?在哪里?

33.png

  • 分子生物学(Molecular Biology):我们能否从酶的点云结构推断出其类别?

34.png

PointNet

点云分析的多任务通用框架:PointNet

35.png

点云:N个无序点,每个点由D维坐标表示

36.png

理想中点云处理神经网络应具有的性质:

  • 排列不变性(permutation invariance)
  • 变换不变性(transformation invariance)

排列不变性:对称函数(symmetric function)

$$ f\left(x_{1}, x_{2}, \ldots, x_{n}\right) \equiv f\left(x_{\pi_{1}}, x_{\pi_{2}}, \ldots, x_{\pi_{n}}\right), \quad x_{i} \in \mathbb{R}^{D} $$

我们观察到,如果函数 $g$ 是对称的,则函数 $f\left(x_{1}, x_{2}, \ldots, x_{n}\right)=\gamma \circ g\left(h\left(x_{1}\right), \ldots, h\left(x_{n}\right)\right)$ 也是对称的,可以基于此构建对称函数族。

37.png

PointNet构建对称函数的能力:PointNet能近似表示任意豪斯多夫(Hausdorff)连续对称函数 $f : 2^{\chi} \rightarrow \mathbb{R}$。

38.png

PointNet结构:

39.png

PointNet的缺陷:与3D CNN的分层特征提取相比,PointNet在全局尺度上提取特征,缺少局部context信息。

40.png

PointNet++

基本思想:“分层特征学习”。以一种递归的方式使用PointNet,在局部使用PointNet提取特征,并再次使用PointNet将局部特征聚合到一起。

关注于局部会带来采样密度不均匀的问题:点的分布是不均匀的,因此有的局部含有点的数量多,有的局部含有点的数量少。

解决方案:

  • Sampling: Farthest Point Sampling (FPS)
  • Grouping: Radius-based Ball Query

PointNet++结构($N$ 表示点的个数,$d$ 表示坐标维度,$C$ 表示特征维度):

42.png

PointNet++与3D CNN都采用了分层特征提取的思想,PointNet Layer与Convolution Layer的比较如下:

43.png

PointNet++用于Classification:

44.png

PointNet++用于Segmentation:

45.png

Point cloud synthesis

任务:使用单张图片进行3D重建。

自然界中的双目视觉与单目视觉:

46.png

数据驱动的解决方案:几何先验学习(Geometric prior learning)

47.png

指导信息从哪里来?

48.png

基于点云表示的3D重建:A Point Set Generation Network for 3D Object Reconstruction From a Single Image (CVPR 2017)

49.png

与直接进行3D volumetric upconvolution的比较:

50.png

Question:如何度量两个点集合之间的差异?

该问题的关键是点之间的对应问题。

  • Earth Mover’s distance (EMD)

$$ d_{E M D}\left(S_{1}, S_{2}\right)=\min _{\phi : S_{1} \rightarrow S_{2}} \sum_{x \in S_{1}}\|x-\phi(x)\|_{2} \quad \text { where } \phi : S_{1} \rightarrow S_{2} \text { is a bijection. } $$

51.png

  • Chamfer distance (CD)

$$ d_{C D}\left(S_{1}, S_{2}\right)=\sum_{x \in S_{1}} \min _{y \in S_{2}}\|x-y\|_{2}^{2}+\sum_{y \in S_{2}} \min _{x \in S_{1}}\|x-y\|_{2}^{2} $$

52.png

Primitive-based shapes

Primitive-based assembly:学习如何预测出由基础图形组成的对应形状。

53.png

方法:Learning Shape Abstractions by Assembling Volumetric Primitives (CVPR 2017)

54.png

Intrinsic Deep Learning on Manifolds

这一部分看着头大 =_=,先跳过吧。。。

Last modification:August 11th, 2019 at 11:08 pm
如果觉得我的文章对你有用,请随意赞赏