使用深度学习的三维点云分类的介绍

在过去的这些年里,对二维图像已经有了大量深入的研究,并且有着长足的发展。它在分类任务上取得了极好的结果主要得益于一下两个关键因素:

1.卷积神经网络。

2.数据 - 大量图像数据可用。

但是对于3D点云,数据正在迅速增长。大有从2D向3D发展的趋势,比如在opencv中就已经慢慢包含了3D点云的处理的相关模块,在数据方面点云的获取也是有多种渠道, 无论是源于CAD模型还是来自LiDAR传感器或RGBD相机的扫描点云,无处不在。 另外,大多数系统直接获取3D点云而不是拍摄图像并进行处理。因此,在深度学习大火的年代,应该如何应用这些令人惊叹的深度学习工具,在3D点云上的处理上达到对二维图像那样起到很好的作用呢?

3D点云应用深度学习面临的挑战。首先在神经网络上面临的挑战:

(1)非结构化数据(无网格):点云是分布在空间中的XYZ点。 没有结构化的网格来帮助CNN滤波器。
(2)不变性排列:点云本质上是一长串点(nx3矩阵,其中n是点数)。 在几何上,点的顺序不影响它在底层矩阵结构中的表示方式,例如, 相同的点云可以由两个完全不同的矩阵表示。 如下图所示:

(3)点云数量上的变化:在图像中,像素的数量是一个给定的常数,取决于相机。 然而,点云的数量可能会有很大的变化,这取决于各种传感器。

在点云数据方面的挑战:

(1)缺少数据:扫描的模型通常被遮挡,部分数据丢失。
(2)噪音:所有传感器都是嘈杂的。 有几种类型的噪声,包括点云扰动和异常值。 这意味着一个点有一定的概率位于它被采样的地方(扰动)附近的某一半径范围内,或者它可能出现在空间的任意位置(异常值)。
(3)旋转:一辆车向左转,同一辆车向右转,会有不同的点云代表同一辆车

Princeton’s Modelnet40 dataset。 它包含约40个对象类别(如飞机,表格,植物等),用三角形网格表示的12311个CAD模型。 数据分为9843个培训模式和2468个测试模式,如下图

在点云上应用深度学习的直接方法是将数据转换为体积表示。 例如体素网格。 这样我们就可以用没有神经网络问题的3D滤波器来训练一个CNN(网格提供了结构,网格的转换解决了排列问题,体素的数量也是不变的)。 但是,这有一些不利因素。 体积数据可能变得非常大,非常快。 让我们考虑256×256 = 65536像素的典型图像大小,现在让我们添加一个维度256x256x256 = 16777216体素。 这是很大的数据量(尽管GPU一直在发展)。 这也意味着非常缓慢的处理时间。 因此,通常我们需要妥协并采取较低的分辨率(一些方法使用64x64x64),但是它带来了量化误差的代价。所以,所需的解决方案是一个直接的深度学习的方法,将是3D点云应用深度学习的重点。

作者调查了三种最近发表的文章,主要针对对点云进行深度学习的论文。 正如下图所示,展示了3D点云分类准确性出版(准确性,年份和数据类型),它总结了数据集上的最新准确性结果。 以及每种方法正在处理的数据的类型。 可以看到,在2015年,大多数方法都用于多视图数据(这是一种简短的说法 - 让我们拍摄3D模型的几张照片并使用2D方法处理它们),2016年更多的方法使用了体素表示的点云学习和2017年的基于点的方法有了大幅度的增长。

PointNet(CVPR2017)

开拓者! 来自斯坦福大学,他们的工作引起了很多关注。他们做了一些令人惊讶的简单的事情,并证明了为什么它运作良好,他们分别在每个点上训练了一个MLP(在点之间分享权重)。每个点被“投影”到一个1024维空间。然后,他们用点对称函数(max-pool)解决了点云顺序问题。这为每个点云提供了一个1 x 1024的全局特征,这些特征点被送入非线性分类器。利用他们称为T-net的“迷你网络”解决了旋转问题。它学习了点(3 x 3)和中级特征(64 x 64)上的变换矩阵。称之为“迷你”有点让人误解,因为它实际上与主网络的大小有关。另外,由于参数数量的大量增加,引入了一个损失项来约束64×64矩阵接近正交。也使用类似的网络进行零件分割。也做了场景语义分割。做得好!我强烈推荐阅读(或者您也可以观看演示视频)。本文对ModelNet40数据集的准确率高达89.2%。下图是pointNet点云分类的框架

引用: Charles R. Qi, Hao Su, Kaichun Mo, and Leonidas J. Guibas. Pointnet: Deep learning on point sets for 3d classication and segmentation. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 2017.

The code is available on GitHub: PointNet code

Pointnet ++(NIPS 2017)

在PointNet之后不久,引入了Pointnet ++。它本质上是PointNet的分层版本。每个图层都有三个子阶段:采样,分组和PointNeting。在第一阶段,选择质心,在第二阶段,把他们周围的邻近点(在给定的半径内)创建多个子点云。然后他们将它们给到一个PointNet网络,并获得这些子点云的更高维表示。然后,他们重复这个过程(样本质心,找到他们的邻居和Pointnet的更高阶的表示,以获得更高维表示)。使用这些网络层中的3个。还测试了不同层级的一些不同聚合方法,以克服采样密度的差异(对于大多数传感器来说这是一个大问题,当物体接近时密集样本,远处时稀疏)。他们在原型PointNet上进行了改进,在ModelNet40上的准确率达到了90.7%。下面是Pointnet++ 架构。

引用: Charles R Qi, Li Yi, Hao Su, and Leonidas J Guibas. Pointnet++: Deep hierarchical feature learning on point sets in a metric space. arXiv preprint arXiv:1706.02413, 2017.

Kd-Network(ICCV 2017)

本文使用着名的Kd树在点云中创建一定的顺序结构的点云。一旦点云被结构化,他们就会学习树中每个节点的权重(代表沿特定轴的细分)。每个坐标轴在单个树层级上共享权重如下图中的所有绿色都具有共享权重,因为它们将数据沿x维度细分。测试了随机和确定性的空间细分,并说明了随机版本效果最好。但同时也说出了一些缺点。对旋转(因为它改变树结构)和噪声(如果它改变树结构)敏感。对于每个输入点云数据,都需要上采样,下采样或训练一个新模型。

在Modelnet40上报告了1024点(深度10树)的90.6%准确度数据集和〜32K点(深度15树)的91.8%。做到了部分点云分割,形状检索,并可以在后期工作中尝试其他的树形结构。

引用: Roman Klokov and Victor Lempitsky. Escape from cells: Deep kd-networks for the recognition of 3d point cloud models. arXiv preprint arXiv:1704.01222, 2017.

总结:Pointnet和Pointnet ++使用对称函数来解决顺序问题,而kd-Network使用Kd-tree。 Kd树也解决了结构问题,而在PointNets MLP每个点分别训练。

(0)

相关推荐

  • FatNet:一个用于三维点云处理的特征关注网络

    点击上方"深度学习爱好者",选择加"星标"或"置顶" 重磅干货,第一时间送达 小黑导读 论文是学术研究的精华和未来发展的明灯.小黑决心每天为 ...

  • 人工智能与信息安全:新的革命与挑战

    人工智能,是一种借鉴生物感知系统和神经系统来开发相应模拟算法的计算机技术,其主要特点是可从数据中学习特征并进行自我迭代训练. 通常,人工智能算法往往需要大量的数据以及庞大的计算资源作为支撑.随着计算机 ...

  • 3D深度学习简介

    重磅干货,第一时间送达 在过去的几年里,像微软Kinect或Asus Xtion传感器这样,既能提供彩色图像又能提供密集深度图像的新型相机系统变得唾手可得.人们对此类系统的期望很高,它们将推动机器人技 ...

  • 深度学习的几何基础

    几何深度学习是从对称性和不变性的角度对广泛的ML问题进行几何统一的尝试. 这些原理不仅是卷积神经网络的突破性性能和图神经网络的近期成功的基础,而且还为构造新型的特定于问题的归纳偏差提供了一种有原则的方 ...

  • 【AI不惑境】AutoML在深度学习模型设计和优化中有哪些用处?

    大家好,这是专栏<AI不惑境>的第十二篇文章,讲述AutoML在深度学习模型设计和优化相关的内容. 进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考.如果说学习是一个从模 ...

  • 大盘点 | 2020年5篇图像分割算法最佳综述

    作者丨cynthia yawain 编辑丨极市平台 本文为极市平台原创整理. 极市导读 本文为我们对2020年全部计算机视觉综述论文分方向梳理第二篇,图像分割方向.内容包含2014-2020年图像分割 ...

  • 大盘点 | 2020年5篇目标检测算法最佳综述

    作者丨Cynthia Yawain 编辑丨极市平台 本文为极市平台原创整理. 引言 在过去的一年中,计算机视觉领域出现了许多优秀的工作,并推动了相关领域的技术发展与进步.去年上半年,极市曾盘点过计算机 ...

  • 虚拟在左,真实在右:德国学者用AI合成一亿像素逼真3D图像,可任意旋转

    近日,来自德国埃尔兰根-纽伦堡大学的学者提出了一种新颖的神经网络方法,用于3D图像的场景细化和新视图合成. 只需要输入点云和相机参数的初始估计,就可以输出由任意相机角度合成的图像,360度旋转都不是问 ...

  • 【深度学习篇】阿里云天池机器学习赛题解析

    以下为本书简介: 人工智能在近几年多次的大型医疗健康事件中的作用突显,以阿里巴巴为例,在新冠肺炎疫情期间,阿里巴巴第一时间利用技术投入抗疫进程中,如大家熟知的"出行健康码"以及智能 ...

  • PointNet:三维点云分割与分类的深度学习

    本文是关于PointNet点云深度学习的翻译与理解,PointNet是一种直接处理点云的新型神经网络,它很好地体现了输入点云的序列不变性. 相关工作 点云特征 点云的大多数现有特征都是针对特定任务人工 ...

  • PointNet:三维点云分割与分类的深度学习—概述

    本文是关于PointNet点云深度学习的翻译与理解,PointNet是一种直接处理点云的新型神经网络,它很好地体现了输入点云的序列不变性. 摘要 点云是一种重要的几何数据结构类型.由于其数据格式不规则 ...

  • 深度学习--分类,回归

    一.回归: 什么是回归?如果有一个数据集x,它所对应的真实值y1,回归就是通过将这些数据集拟合出一个函数关系,使得y2=g(x),当然拟合不可能那么完美,所以就会有误差,这个误差就是y2-y1,即拟合 ...

  • GEE Pytorch | 利用深度学习实现土地利用分类(上)

    " 大伙们,我又回来了,经历过一段时间的停更之后,不知道大伙们有没有想我 ." 上次说的监督学习之后就是深度学习,其实说的就是这篇文章,由于篇幅过长,咱们分为上下两篇,本篇为上篇. ...

  • 【系列文章】面向自动驾驶的三维点云处理与学习(2)

    标题:3D Point Cloud Processing and Learning for Autonomous Driving 作者:Siheng Chen, Baoan Liu, Chen Fen ...

  • 【阿里云课程】深度学习模型设计:卷积核的设计与优化

    大家好,继续更新有三AI与阿里天池联合推出的深度学习系列课程,本次更新内容为第10课中的一节,介绍如下: 卷积核与卷积方式的设计 本次课程是阿里天池联合有三AI推出的深度学习系列课程第10期,深度学习 ...

  • 自动驾驶中图像与点云融合的深度学习研究进展综述

    文章:Deep Learning for Image and Point Cloud Fusion in Autonomous Driving: A Review 作者:Yaodong Cui, IE ...

  • 【论文速读】点云深度学习论文综述

    文章:Deep Learning for 3D Point Clouds: A Survey 作者:Yulan Guo , Hanyun Wang , Qingyong Hu 翻译:particle ...