前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【PointCNN全面刷新测试记录】山东大学提出通用点云卷积框架

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

作者头像
新智元
发布2018-03-20 14:47:26
1K0
发布2018-03-20 14:47:26
举报
文章被收录于专栏:新智元新智元
来源: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分别来处理点云和图像数据,再将结果合并用于最后的推理也许是一种方法,但或许可以在更早期将这两种数据融合起来处理。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档