学界 | CVPR2017精彩论文解读:直接处理三维点云的深度学习模型

AI 科技评论按:CVPR 2017已经落下帷幕,但对精彩论文的解读还在继续。下文是Momenta高级研究员陈亮对此次大会收录的 PointNet:Deep Learning on Point Sets for 3D Classification and Segmentation 一文进行的解读。

随着激光雷达,RGBD相机等3D传感器在机器人,无人驾驶领域的广泛应用。针对三维点云数据的研究也逐渐从低层次几何特征提取( PFH, FPFH,VFH等)向高层次语义理解过渡(点云识别,语义分割)。与图像感知领域深度学习几乎一统天下不同,针对无序点云数据的深度学习方法研究则进展缓慢。分析其背后的原因,不外乎三个方面:

1.点云具有无序性。受采集设备以及坐标系影响,同一个物体使用不同的设备或者位置扫描,三维点的排列顺序千差万别,这样的数据很难直接通过End2End的模型处理。

2.点云具有稀疏性。在机器人和自动驾驶的场景中,激光雷达的采样点覆盖相对于场景的尺度来讲,具有很强的稀疏性。在KITTI数据集中,如果把原始的激光雷达点云投影到对应的彩色图像上,大概只有3%的像素才有对应的雷达点。这种极强的稀疏性让基于点云的高层语义感知变得尤其困难。

3.点云信息量有限。点云的数据结构就是一些三维空间的点坐标构成的点集,本质是对三维世界几何形状的低分辨率重采样,因此只能提供片面的几何信息。

面对以上困难,来自斯坦福大学的学者提出了PointNet,给出了自己的的解决方案。PointNet是第一种直接处理无序点云数据的深度神经网络。一般情况下,深度神经网络要求输入信息具有规范化的格式,比如二维的图像,时序性的语音等。而原始的三维点云数据往往是空间中的一些无序点集,假设某一个点云中包含N个三维点,每一个点用(x,y,z)三维坐标表示,即使不考虑遮挡,视角等变化,单就这些点的先后顺序排列组合,就有 N! 种可能。因此,我们需要设计一个函数,使得函数值与输入数据的顺序无关。实际上,在代数组合学中,这类函数被称为对称函数。PointNet 中,作者使用了Max Pooling 层做为主要的对称函数,这种处理虽然简单,但是实验证明效果较好。

上图是PointNet的网络架构,输入是包含n个点的三维点云(nx3) , 原始数据通过一个3D 空间变换矩阵预测网络 T-Net(3),估计出3x3的变换矩阵T(3) 并作用在原始数据上,实现数据的对齐。对齐后的数据会以点为单位,通过一个共享参数的双层感知机模型进行特征提取 。每个点提取出64维的特征,再通过特征空间变换矩阵预测网络 T-Net(64) 预测64x64的变换矩阵,作用到特征上,实现对特征的对齐。然后继续利用三层感知机(64,128,1024)进行以特征点为单位的特征提取,直到把特征的维度变为1024,继而在特征空间的维度上进行Max Pooling,提取出点云的全局特征向量。

在点云分类任务中,可直接利用特征向量训练SVM或者多层感知机来进行分类,而在以点为单位的点云分割或者分块任务中,需要结合每一点的局部特征和全局特征进行特征融合和处理,实现逐点的分类。PointNet中把经过特征对齐之后的64维特征看成是点的局部特征,把最后的1024维特征看成是点的全局特征,因此通过一个简单的拼接,把局部和全局的特征捆绑在一起,利用多层感知机进行融合,最后训练分类器实现逐点的分类。

PointNet是第一个可以直接处理原始三维点云的深度神经网络,这种新颖的网络设计可以直接对原始点云进行处理,进而完成高层次的点云分类和语义分割的任务,而且完全依赖于数据。从实验验证的结果来看,其效果和当前最好的结果具有可比性,在一些方面甚至超过了state-of-the-art,值得进一步挖掘和研究。

论文作者问答:

Q:输入的原始三维点云数据需要做归一化吗?

A:和其他网络的输入一样,输入点云数据需要做零均值的归一化,这样才能保证比较好的实验性能。

Q:深层神经网络处理三维离散点云的难点在哪里?PointNet是如何解决这些难点的?

A:深度神经网络处理三维离散点云数据的难点主要在于点云的无序性和输入维度变化。在本篇文章中,我使用了深度神经网络中的常用对称函数 :Max Pooling 来解决无序性问题,使用共享网络参数的方式来处理输入维度的变化,取得了比较好的效果。

Q:是否可以使用RNN/LSTM来处理三维点云数据?

A:RNN/LSTM可以处理序列数据,可以是时间序列也可以是空间序列。因此从输入输出的角度来讲,他们可以用来处理三维点云数据。但是点云数据是无序的,这种点和点之间的先后输入顺序并没有规律,因此直接使用RNN/LSTM效果不会太好。

Q:T-Net在网络结构中起的本质作用是什么?需要预训练吗?

A:T-Net 是一个预测特征空间变换矩阵的子网络,它从输入数据中学习出与特征空间维度一致的变换矩阵,然后用这个变换矩阵与原始数据向乘,实现对输入特征空间的变换操作,使得后续的每一个点都与输入数据中的每一个点都有关系。通过这样的数据融合,实现对原始点云数据包含特征的逐级抽象。

Q:PointNet 与 MVCNN 的实验结果比较中,有些指标稍差,背后的原因是什么?

A:PointNet提取的是每一个独立的点的特征描述以及全局点云特征的描述,并没有考虑到点的局部特征和结构约束,因此与MVCNN相比,在局部特征描述方面能力稍弱。面对这样的问题,我们基于PointNet已经做了一些改进和提升,新的网络命名为 PointNet++,已经上传到Arxiv,欢迎大家阅读并讨论交流。

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

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-08-12

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

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

隐马尔科夫模型 和动态贝叶斯网络

(一):定义及简介: 介绍(introduction) 通常我们总是对寻找某一段时间上的模式感兴趣,这些模式可能出现在很多领域:一个人在使用电脑的时候使用的命...

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

规则化和模型选择(Regularization and model selection)

1 问题 模型选择问题:对于一个学习问题,可以有多种模型选择。比如要拟合一组样本点,可以使用线性回归 ? ,也可以用多项式回归 ? 。那么使用哪种模型...

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

规则化和模型选择(Regularization and model selection)

1 问题 模型选择问题:对于一个学习问题,可以有多种模型选择。比如要拟合一组样本点,可以使用线性回归 ? ,也可以用多项式回归 ? 。那么使用哪种模型...

3664
来自专栏IT派

入门 | 一文了解什么是语义分割及常用的语义分割方法有哪些

人类是如何描述场景的?我们可能会说「窗户下有一张桌子」,或者「沙发右边有一盏灯」。图像理解的关键在于将一个整体场景分解成几个单独的实体,这也有助于我们推理目标的...

802
来自专栏人工智能LeadAI

Kaggle—So Easy!百行代码实现排名Top 5%的图像分类比赛

前言 根据我个人的经验,学好AI,有五个必修:数学、数据结构、Python数据分析、ML、DL,必修之外,有五个选修可供选择:NLP、CV、DM、量化、Spa...

4709
来自专栏机器之心

学界 | 机遇与挑战:用强化学习自动搜索优化算法

选自 BAIR 机器之心编译 参与:路雪、李泽南、蒋思源 自从去年 UC Berkeley 论文《Learning to Optimize》发表以来,有关优化器...

4649
来自专栏机器学习算法与Python学习

收藏!机器学习与深度学习面试问题总结.....

2427
来自专栏用户2442861的专栏

GoogleNet论文笔记/小结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

1583
来自专栏AI科技大本营的专栏

解析深度神经网络背后的数学原理!

【导读】为了更好地理解神经网络的运作,今天只为大家解读神经网络背后的数学原理。而作者写这篇文章的目的一个是为了整理自己学到的知识;第二个目的也是为了分享给大家,...

1123
来自专栏人工智能LeadAI

BAT机器学习面试1000题系列(第150~279题)

长文~可先收藏再看哟~ 150、在感知机中(Perceptron)的任务顺序是什么?深度学习 DL基础 易 1 随机初始化感知机的权重 2 去到数据集的下一批(...

2.7K9

扫码关注云+社区