【PointCNN全面刷新测试记录】山东大学提出通用点云卷积框架

来源:arXiv

编辑:克雷格

【新智元导读】山东大学李扬彦、卜瑞、孙铭超、陈宝权研究团队近日研究提出的PointCNN是简单通用的点云特征学习架构,基于这一方法一组神经网络模型一举刷新了五个点云基准测试的记录。

论文地址:https://arxiv.org/abs/1801.07791

由山东大学提出的PointCNN是一个简单通用的点云特征学习架构。基于这一方法的一组神经网络模型一举刷新了五个点云基准测试的记录。

CNN成功的关键在于其卷积操作能够很好地从基于规则域表示的数据中提取局部信息。然而,由于点云数据的不规则和无序性,使得卷积操作由于输入数据顺序的不稳定很难直接应用到点云数据上。

为了解决这个问题,PointCNN提出了一种称为X-变换的方法。X-变换是从输入点学习到的一组权值X,这组权值可以对各点相关联的特征进行重新加权和排列。 X-变换可以实现“随机应变”,即当输入点的顺序变化时, X能够相应地变化,使加权和排列之后的特征近似不变。输入特征在经过X-变换的处理之后能够变成与输入点顺序无关同时也编码了输入点形状信息的归一化的特征。在经过X-变换之后的特征上进行卷积能够极大提高卷积核的利用率, 从而大大提高卷积操作在无序数据上提取特征的能力。

以下内容是对arxv文章的翻译,原文作者为:李扬彦、卜瑞、孙铭超、陈宝权。

摘要:将针对规则域数据的CNN推广到可以处理点云数据

我们提出了一个简单而通用的点云特征学习框架。 CNN成功的关键是卷积算子,它能够利用网格形式密集表示的数据中的局部相关性(如图像)。 然而,点云是不规则的,无序的,因此点对点的特征与点的直接卷积将导致形状信息丢失,还会因为输入点顺序不一致而产生不同的输出。 为了解决这些问题,我们尝试从输入点学习X-变换,然后使用它来加权与排列输入点的特征。这种操作可以把输入点的形状信息编码到特征中,同时把输入特征的顺序归一化到某种潜在的一致的模式。 这种方法是将典型的针对规则域数据的CNN推广到能够处理点云这种非规则无序数据的一种尝试,因此被称为PointCNN。 实验表明,PointCNN在多种具有挑战性的基准数据集和任务上达到了与最先进方法相当或更好的性能。

背景:认识点云,CNN

点云(PointCloud)

点云是一组点的集合,常用来表示自身维度比背景空间纬度低的数据(比如空间中的曲面等)。由于数据较为稀疏,直接采用密集体素的方式,不仅数据量大,而且数据中包含过多的冗余信息,不利于数据特征的提取。不仅如此,大量的3D传感器也采用点云的方式保存数据,数据来源非常广泛。

卷积神经网络(CNN)

基于CNN的一系列方法在图像识别中已经取得了巨大的成功,其关键原因就是CNN能够很好地捕捉数据的空间局部特征。

数学上来讲,CNN中的卷积操作本质上是将输入进行加权求和,结果依赖输入的顺序,即f(a,b)通常不等于f(b,a)。特别地,对于f(a,b,c,d)来讲,如果a被e替换掉,且e顺序在d之后,则替换后的结果f(b,c,d,e)通常会和f(a,b,c,d)有巨大的差异。因此CNN中的卷积操作是对数据输入的顺序是敏感的,对于无序数据则较难提取到有效的特征。

由于图像表示方式大多为密集阵列式的,像素点之间等距有序地排列在一起,使得基于卷积的一系列操作在图像数据上能够得到统一的输出。最直接的将处理图片的CNN推广到处理三维数据的方式是将三维数据使用三维体素来表达,从而应用三维CNN。然而,三维数据通常较为稀疏,但基于体素的三维CNN难以利用这一特性。点云可以高效表达三维稀疏数据,然而,点云数据中各点之间距离不一, 点的排布也没有顺序(unordered), 无法直接使用CNN进行特征学习。

PointCNN提供了一个能够高效地从点云中提取特征的方法。

PointCNN:能够高效地从点云中提取特征

PointCNN

PointCNN提出了一个称为X-变换的方法来解决在点云上卷积难以有效实现卷积的问题。

由于卷积操作本身的有序性,对于上图中ii,iii,iv三组点,如果把它们以i的方式进行卷积操作,会得到以下三个输出。

对于ii和iii,由于四个点的空间位置不一样,我们希望进行卷积后产生的输出也会不一样。但实际上,直接进行卷积操作时ii和iii都被映射到了同样的位置,因此产生的输出也完全一样,这是不合理的。另一方面,对于iii和iv,其数据完全一致,但由于顺序不一样,进行卷积后结果也通常会不一样,这也不是我们所期望的。因此,直接对无序的点云数据进行卷积并不高效。

由于点云的无序性特点,PointCNN期望能够得到一种变换,使得

中,ii和iii不同,且iii和iv相同。

PointCNN采用了学习权重的方式,这里Xs是一个4x4的矩阵,由a,b,c,d四个点的坐标经过MLP得到,即Xs=MLP(a,b,c,d)。MLP由网络学习得到。

通过学习,我们期望得到的矩阵能够满足

,且

,其中

是和(a,b,c,d)与(c,a,b,d)对应的列变换矩阵,即,使得

事实上,在实验中,学习到的MLP并不能完全满足上面理想情况下的要求。尽管如此,PointCNN还是得到了良好的效果。

细节上,PointCNN采用KNN选取临近点进行卷积;将点的坐标信息进行处理添加到特征中作为其一部分;通过随机采样等方式降低数据空间分辨率。

实验结果

  1. classification accuracy on ModelNet 40 (91.7%)
  2. classification accuracy on ScanNet (77.9%)
  3. segmentation part averaged IoU on ShapeNet Parts (86.13%)
  4. segmentation mean IoU on S3DIS (62.74%)
  5. per voxel labelling accuracy on ScanNet (85.1%)

特别值得一提的是,在ModelNet40的分类任务上,在只使用32个点作为输入的极端压力测试下,PointCNN仍然能够取得84.4%的准确率,这一结果大幅领先目前已知的其他方法。在这种极端压力测试下,PointCNN的计算量非常小,能够在GTX 1080 GPU上以每帧0.3毫秒的速度进行点云识别。自动驾驶中获取的点云往往非常稀疏,同时对实时性要求极高。该压力测试显示PointCNN有应用于自动驾驶的巨大潜力。

未来与未来工作展望

X-变换的进一步理解

虽然X-Conv是被设计用来进行在三维点云上进行卷积,并且它在实验中展示了最新水准的结果,但是我们对它背后的理论方法仍然知之甚少,尤其是当它被用于深层神经网络上时,我们的理解还十分的有限。

PointCNN采取了最简单也是最直接的方式来学习X-Conv——用MLP学习变换矩阵。虽然一般的矩阵可以用来实现权值和顺序变换,但是这种方法是否是实现目标的最简形式仍然是不得而知的。实际上,相比于此前的其他方法,PointCNN的参数更少,但还是在部分小规模的数据上表现出了过拟合的问题。X-Conv在带来强大的表征能力的同时,也可能携带了大量额外的自由度,能否找到一种比一般的矩阵更加精炼的可以学习的表达形式,或许是X-Conv发展的方向。

PointCNN对形状分析的应用

文章中说明了PointCNN对分类和图像分割问题的特征学习的有效性。我们认为PointCNN学习的特征可以在多种形状分析任务中超过手工设计的特征,例如关键点匹配,形状检索等任务。

全卷积的PointCNN

在原本的CNN中运用了全卷积的思想来处理不同大小的图像,PointCNN也应该实现全卷积的方法来处理不同尺度的点云。这篇论文使用了对全卷积方法的几乎最暴力的近似方法,在之后的扩展中,需要更有效的点云索引和内存管理来实现全卷积的X-Conv操作。

PointCNN还是CNN?

由于X-Conv是卷积的一种推广,因此,对于相同的数据(但是表达形式不同),PointCNN应该至少不比CNN要差,甚至要更好。为了证明这一点,论文中将PointCNN运用到了MNIST和CIFAR10的点云形式上。在MNIST数据集上,PointCNN达到了所有比较的方法中的最好的效果,而对于没有太多形状信息的CIFAR10数据集上,PointCNN从RGB特征的空间局部相关性中提取特征并且达到了还算不错的效果,但它和基于图片的CNN差距还很大。

从CIFAR10实验来看。在一般的图像上, CNN仍然是比PointCNN更好的选择。而PointCNN的优势在数据越稀疏的时候越能展现出来。目前并没有一个科学的准则判断是应该将数据表达为规则形式进而应用CNN,还是应该将数据表达为点云形式进而应用PointCNN。有意思的是,部分密集的数据也许可以被稀疏的表达,例如视频通常被表现为密集的三维数据,但是通常在视频帧里面只有少量的像素是逐帧变化的。 PointCNN加上稀疏但不规则表达的视频数据也是一个有趣的方向。

PointCNN和CNN的结合

由于三维获取技术的高速发展,越来越多的采集的数据同时具有三维点云和图像,在这种情况下独立运用PointCNN和CNN分别来处理点云和图像数据,再将结果合并用于最后的推理也许是一种方法,但或许可以在更早期将这两种数据融合起来处理。

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2018-02-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器之心

深度 | OpenAI发布「块稀疏」GPU内核:实现文本情感分析与图像生成建模当前最优水平

选自 OpenAI 作者:Durk Kingma、Scott Gray、Alec Radford 机器之心编译 参与:黄小天、刘晓坤 近日,OpenAI 在其一...

3226
来自专栏CSDN技术头条

逻辑回归、决策树和支持向量机(I)

分类问题是我们在各个行业的商业业务中遇到的主要问题之一。在本文中,我们将从众多技术中挑选出三种主要技术展开讨论,逻辑回归(Logistic Regression...

2296
来自专栏机器之心

学界 | 稳!DeepMind提出多任务强化学习新方法Distral

选自arXiv 机器之心编译 参与:蒋思源、黄小天 深度强化学习因为复杂的环境而很难进行有效的训练,通常我们会简化环境或使用共享神经网络参数的方法进行多任务学习...

3105
来自专栏云时之间

《机器学习》西瓜书读书笔记2

2.1:经验误差与过拟合 通常我们把分类错误的样本数占样本总数的比例称为“错误率”,相应的。精度即“1-错误率”。更一般的,我们把学习器的实际预测输出和样本的真...

4056
来自专栏企鹅号快讯

行人再识别中的迁移学习

最近,在网上搜索关于“行人重识别”及“行人再识别”等关键词,发现几乎都是关于行人检测的内容。对于“行人重(再)识别”技术能找到的资料很少,这可能是因为“行人重(...

4317
来自专栏机器之心

被Geoffrey Hinton抛弃,反向传播为何饱受质疑?(附BP推导)

机器之心整理 机器之心编辑部 现在的深度学习发展似乎已经陷入了大型化、深度化的怪圈,我们设计的模型容易被对抗样本欺骗,同时又需要大量的训练数据——在无监督学习...

42512
来自专栏AI科技评论

干货 | 三分钟重新学习交叉验证

AI 科技评论按:文章的作者 Georgios Drakos 是一名数据科学家,通过本文作者向我们介绍了交叉验证的基本概念、作用以及如何使用。AI 科技评论根据...

771
来自专栏大数据挖掘DT机器学习

逻辑回归、决策树和支持向量机

作者:赵屹华,计算广告工程师@搜狗, http://www.csdn.net/article/2015-11-26/2826332 这篇文章,我们将讨论如何在逻...

2934
来自专栏机器之心

FAIR何恺明等人提出组归一化:替代批归一化,不受批量大小限制

选自arXiv 作者:吴育昕、何恺明 机器之心编译 自 Facebook 在 2017 年 6 月发布 1 小时训练 ImageNet 论文以来,很多研究者都在...

3736
来自专栏机器之心

学界 | 李飞飞等人提出MentorNet:让深度神经网络克服大数据中的噪声

5444

扫码关注云+社区

领取腾讯云代金券