您当前的位置:首页 > IT编程 > gnn
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch |

自学教程:3D点云形状分类简介

51自学网 2021-01-10 19:20:57
  gnn
这篇教程3D点云形状分类简介写得很实用,希望能帮到您。

3D点云形状分类简介

3D形状分类主要有三种方法:基于多视图的(multi-view),基于体积的(volumetric-based),基于点的(point-based)。
基于多视图的方法将非结构化的点云投影为2D图像,而基于体积的方法将点云转换为3D体积表示。然后利用2D或3D卷积网络来实现形状分类。相反,基于点的方法直接在原点云图像上运行,不会造成信息丢失,正在逐渐成为主流。

基于多视图的点云分类算法

基于多视图的方法首先将3D形状投影到多个视图中,然后提取视图的特征,融合这些特征以进行准确的形状分类。所以关键在于如何融合这些特征。该方法开创性的工作是15年提出的MVCNN1,如图所示,其中所有分支的CNN1共享权重,它将多视图特征maxpool化为全局描述符。 但是,最大池化只能保留特定视图中的最大元素,从而导致信息丢失。
MVCNN
之后, Yang等人2提出对多视图的关系进行建模,提出了一种关系网络,用两个模块分别提取不同视图间的region关系以及整个示图之间的关系,最终生成3D描述符,如图所示:
relation network
Wei等人3提出使用图卷积网络建模多个视图之间的关系,每个视图作为一个图节点,然后将由局部图卷积,non-local消息传递和选择性视图采样组成的核心层应用于构建的图。关于该文章的详细介绍可以参考一篇知乎的讲解4

基于体积的方法

通过体素网格进行学习可以解决多视图表示的主要缺点。体素网格缩小了二维和三维之间的差距,它们是最接近图像的三维表示形式,这使得二维深度学习的概念(比如卷积操作)能够容易地应用于三维情景。

在 2015 年提出的 VoxNet5,是最早在给定体素网格输入的情况下在物体分类任务上取得优异表现的深度学习方法。VoxNet 使用的是概率占用网格,其中的每个体素都包含了该体素在空间中被占用的概率。这样做的一个好处就是,它允许网络区分已知是自由的体素。整个流程如下:
在这里插入图片描述

由于体素网格与图像十分相似,它们实际上使用的带步长的卷积和池化运算都是从二维像素的工作方式进行调整迁移到三维体素上来的。卷积算子使用的是 d×d×d×c 的卷积核而不是二维卷积神经网络中使用的 d×d×c,池化运算考虑的是不重叠的三维体素块而不是二维像素块。图中Conv(f,d,s) f表示卷积算子个数,d为卷积核尺寸,以及步长s。

体素的缺点是:需要很高的分辨率才能模拟出一个物体的精准结构。而高分辨率往往意味着大量的内存和计算量。这类方法难以处理密集的3D数据,因为计算量随着分辨率三次方增长。

为了解决这个问题,OctNet6提出,在点云等表示方法中的3D数据本身是稀疏的(空间中有一些地方没没有物体存在),这就导致了在使用3D卷积时的计算资源浪费。所以OCNet使用一组不平衡的八叉树来对空间进行分层划分,更具体地说,以递归方式拆分在其域中包含数据点的八叉树节点,并在树的最佳分辨率停止。也就是说OCNet根据3D结构动态的分布计算和存储,这样可以在高分辨率的时候节省计算和存储。
在这里插入图片描述
如图所示,第二行是普通的3D ConvNet,可以看到如果使用高分辨率计算,那么全图都是密集的网格点,代表该处的卷积计算位置,而第三行的OCNet可以根据输入物体的形状,动态调节每个位置的分辨率(通过八叉树实现,关于八叉树可参考:八叉树),从而在使用同等分辨率的时候降低计算量和内存占用。

但是体素网格仍然具有一些缺点。首先,与点云相比,它们丢失了分辨率。因为如果代表复杂结构的不同点距离很近,它们会被被绑定在同一个体素中。与此同时,与稀疏环境中的点云相比,体素网格可能导致不必要的高内存使用率。这是因为它们主动消耗内存来表示自由和未知的空间,而点云只包含已知点。

基于点云的算法

Pointwise MLP

该类方法通过几个MLP建模点与点之间的关系可,然后汇聚成全局特征。先驱代表工作是PointNet7
未完待续…


  1. H. Su, S. Maji, E. Kalogerakis, and E. Learned-Miller, “Multiview convolutional neural networks for 3D shape recognition,” in ICCV, 2015. ↩︎

  2. Z. Yang and L. Wang, “Learning relationships for multi-view 3D object recognition,” in ICCV, 2019 ↩︎

  3. X. Wei, R. Yu, and J. Sun, “View-gcn: View-based graph convolutional network for 3D shape analysis,” in CVPR, 2020. ↩︎

  4. https://zhuanlan.zhihu.com/p/159380196 ↩︎

  5. D. Maturana and S. Scherer, “VoxNet: A 3D convolutional neural network for real-time object recognition,” in IROS, 2015. ↩︎

  6. G. Riegler, A. Osman Ulusoy, and A. Geiger, “OctNet: Learning deep 3D representations at high resolutions,” in CVPR, 2017. ↩︎

  7. C. R. Qi, H. Su, K. Mo, and L. J. Guibas, “PointNet: Deep learning on point sets for 3D classification and segmentation,” in CVPR, 2017. ↩︎


返回列表
cuda8.0安装包及安装方法
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1