深度学习在3D点云处理中的探索【笔记】

bilibili上刘永成博士的分享课的笔记记录。

Introduction

  1. multi-view images + 2D CNN
    2D CNN对多视角图像进行学习和信息综合,恢复3D shape
    缺点:拍摄自遮挡,3D信息损失
  2. volumetric data + 3D CNN
    CAD model进行3D Grid的划分
    缺点:grid划分太粗,形状信息损失;划分太精细,复杂度非常高
  3. mesh data(网格数据) + DL(GNN)? ——刚起步的阶段,需要探究
  4. 深度图 + CNN
  5. point cloud + DL(GNN & CNN)?

point cloud
raw sensor data 直接可以得到 (激光雷达)
simple representation(N*(x, y, z, color, normal))
better 3D shape capturing

应用领域:自动驾驶、AR&VR、机器人、遥感图像、3D人脸&医学、3D游戏动画的形状设计、e.g.

目前需要思考的问题:
如何更有效、更快速地处理点云?
不规则点云怎么做深度学习/神经网络(进行研究)

datasets:

简单的model:

  1. Princeton ModelNet: 1k个点
  2. ShapeNet Part: 2k个点
  3. PartNet models: (CVPR 2019)(数据集刚提出来,考虑精度提高)
    层次化语义分割标注,coarse -> fine-grained

面向使用的复杂的model:

  1. Stanford 3D indoor scene: 8k个点
  2. Semantic 3D: 4 billion in total
  3. ScanNet(室内场景): seg + det检测
  4. 自动驾驶类:KITTI, nuScenes: det检测

挑战和难点:

  1. 不规则,无序。输入顺序不同,卷积结果会发生变化。需要建立置换排列不变性
  2. 刚性变换的鲁棒性(robustness to rigid transformations):naive的toy点云
  3. 对于点云的corruption, outlier noise的鲁棒性; partial data局部数据;large-scale data保持高效

Brief review

pointnet家族

共享多层感知机(Shared MLP) + max pool(内部数据发生置换,结果不会发生改变)
逐级映射到高层表示
刚体变换(包括平移、旋转、反转): 增加T-net(transform net), 将输入的三维点云进行变形,得到规范的数据,能够映射到高维
卷积神经网络:由局部到全局的学习范式
PointNet++ 捕捉局部模式
显式地模仿CNN
输入点云采样一些点,以这些点作为中心,寻找局部邻域

规整化处理

  1. 分成3D grid,对每个grid做PointNet + 3D CNN(VoxelNet, CVPR 2018)
  2. lattice映射到晶格网络+bilateral convolution双边卷积+hash index
    (SPLATNet, CVPR 2018)
  3. 原始点云映射到体积空间,没有任何离散或者近似(PCNN, SIGGRAPH 2018)
  4. 直接学习,卡方矩阵学习变换(PointCNN, NIPS 2018)
    加权和置换,simultaneously weight and permute the input features
  5. 方向编码+尺度敏感(PointSIFT, CVPR 2018)
    对每一个领域,找邻居点,建立坐标系八个象限,进行方向卷积(orientation-encoding)
    参考深度学习的思想,concat多层特征,端到端找到最合适的尺度(scale-aware)
  6. (Self-Organizing Map)自组织映射+MLP( SO-Net, CVPR 2018)
    在空间里用Self-organizing点,拟合了geometry structure,学习后能够capture到映射,用了Kd-Tree
  7. Pointwise CNN(CVPR 2018)
    简单暴力,直接用3x3的网格,求和+归一化,当作一个特征去卷积
  8. (一篇比较早的文章,影响比较大,比较独树一帜) Kd-Net, ICCV 2017
    用Kd-Tree对原始点云做划分,通过变换的学习到达根节点。将数据结构用到点云分割里。
  9. FCPN, ECCV 2018
    模仿2D空间的FCN,用3D grid, 用pointnet学习每个grid的low-level特征,再用3D CNN做分割
    可以一次性处理200k个点

graph-based modeling

  1. DGCNN, TOG 2019
    提出边缘卷积EdgeConv,不卷积点,卷积点与点之间的边
    用邻居点和特征差进行权重学习,得到卷积结果
  2. Regularized GCNN. MM 2018
    图卷积 用拉普拉斯矩阵 正则化,
    kNN思想
  3. GAN for Point Cloud. ICLR 2019
    用point cloud的格式做gan
    需要学习图结构
  4. Spectral Graph Convolution. ECCV 2018
    在谱域进行学习
    spectral graph conv谱聚类 + recursive spectral cluster pooling
  5. Superpoint Graph, CVPR 2018
    minimal partition(最优化的解决方案) + GCN(边缘条件卷积)
    用邻边建立superpoint graph
    作者在CVPR 2019提出了Oversegmentation做superpoint graph
  6. Deep GCNs. ICCV 2019
    探究能不能把graph的网络做深
    残差结构、膨胀卷积是否有用

convolution kernel 卷积有效性

  1. KC-Net. CVPR 2018
    用点云配准的学习思想增加kernel correlation(核相关)
  2. KPConv. arXiv 2019
    用了一个带权重的点集kernel points类比2D kernel,输入点云和kernel points里面的每一个点的权重矩阵相乘,然后通过一个相关系数加权求和。
  3. MCCNN. TOG 2018
    蒙特卡洛卷积。使用蒙特卡洛公式离散化(引进密度)
  4. PointConv. CVPR 2019
  5. Geo-CNN. CVPR 2019
    引入角度,更好地学习局部几何

本文总阅读量

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×