登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 理工学类 > 自动化 > 正文

基于深度学习的三维点云分割与分类毕业论文

 2020-02-18 11:54:17  

摘 要

点云作为一种表示三维物体的数据形式,其在存储空间的利用效率和对原物体的表示能力上具有非常大的优势,因此被广泛地运用于汽车自动驾驶,机器人导航等领域。随着激光雷达等设备飞速发展,点云数据的获取也变得更加容易,但由于点云数据的不规则性,即使在深度学习已经在图像处理领域取得了一系列成就,如何将深度学习用于点云数据的处理却一直是个难题。本文针对点云数据处理中最典型的分类和分割问题,分别对基于体素化的点云处理方法和卷积网络在点云上的运用进行了研究。

点云的体素化方法可以将分布不规则的点云数据转化为易于处理的体素网格数据,但是在体素化的过程中基于网格占有的体素化方法会损失一定的原始点云信息,并且这类方法通常会面临体素精度和计算量之间的矛盾。2018年Truc Le等人提出的PointGrid中使用了一种基于点量化的体素化方法,该方法在体素精度不高的情况下依然能够保留大部分信息,减小了计算量。但是这种体素化方法在构造体素特征的时候,不能保证特征的排列不变性,也即构造的特征是不稳定的。为解决这个问题,本文将点量化与PointNet[10]结合,通过PointNet来构造体素特征,即保证了体素特征的排列不变性,又保留了点量化计算量小的优点。

除体素化方法之外,直接对点云进行深度学习的方法自PointNet方法提出后受到了极大的关注,但是PointNet不能显式地对点云中邻域点之间的相互关系进行计算,特征提取能力受到了限制。对于这一问题,部分学者提出了通过卷积网络提取局部特征的方法,但是这些算法并不能很好的适应点云数据,依然会和体素化方法一样带来量化误差,也同样存在精度与计算量之间的矛盾。本文在Pointwise CNN等离散卷积核网络的基础上,提出了连续核卷积网络,通过多层感知机生成连续的核函数,进而对空间中分布不均匀的点云进行卷积,避免了离散卷积核的缺点。最后本在Model40等数据集上进行了对比实验,所提出的连续核卷积网络分类正确率达到了90.0%,超过了Pointwise CNN和Spherical CNN等网络,验证了算法的有效性。

关键词:深度学习;点云;分类;分割

Abstract

As a 3D objects representation form, point cloud have the advantage of efficient storage and high resolution, so it is widely used in the field of autonomous vehicles and robot indoor navigation. With the development of Lidar equipment, it also has become easier to collect point cloud data. However, the distribution of point cloud is irregular, and how to apply deep learning in processing point cloud data is still a hard problem even deep learning methods like CNN have achieved great success in image processing. In this paper, the voxel-based point cloud processing method and the application of convolutional network in point cloud processing are studied respectively to solve the classification and segmentation problem.

The point cloud voxelization method can transform irregularly distributed point cloud data into easy-to-handle voxel grid data, but those methods based on grid occupancy will lose information in the process of voxelization, and they often face a conflict between voxel precision and computational complexity. In PointGrid, proposed by Truc Le et al. in 2018, a voxelization method based on point quantization is proposed. The method can retain most of the information and reduce the computational complexity when the voxel accuracy is not high. However, this voxelization method cannot guarantee the permutation invariance of the grid features, which means the features of the voxel are unstable. In order to solve this problem, this paper combines point quantization with PointNet to construct voxel features, which guarantees the permutation invariance of voxel features, and retains the advantage of low computational complexity.

In addition to the voxelization method, the method of directly learning from point cloud has received great attention after the PointNet proposed, but PointNet cannot explicitly calculate the mutual relationship between the neighborhood points, so it’s feature extraction capabilities are limited. To solve this problem, some scholars have proposed methods for extracting local features through convolutional networks, but these algorithms are not well adapted to point cloud data, and still bring quantization errors as well as voxelization methods. Based on the discrete convolution kernel networks such as Pointwise CNN, this paper proposes a continuous kernel convolution network. In the network, we generate a continuous kernel function through multi-layer perceptron, and convolve the irregularly distributed point cloud with the continuous kernel function, avoiding the shortcomings of discrete convolution kernels. Finally, we experiment the network on the dataset such as Model40. The classification accuracy of continuous kernel convolution network reaches 90.0%, which outperforms the network like Pointwise CNN and Spherical CNN and proves the effectiveness of the network.

Key Words: deep learning; point cloud; classification; segmentation

目 录

第1章 绪论 1

1.1 点云分类与分割算法的研究背景及意义 1

1.2 深度学习在三维点云数据处理上的现状及分析 1

第2章 基于体素化的点云处理方法 3

2.1 引言 3

2.2 点云数据体素化的方法 3

2.2.1 基于网格占有的体素化方法 3

2.2.2 基于点量化的体素化方法 4

2.3 基于PointNet的网格特征提取 4

2.3.1体素特征构造中的排列不变性问题 4

2.3.2 PointNet介绍 5

2.3.3 基于PointNet的体素化方法 5

2.4 对体素表示的三维数据分类与分割的方法 6

2.4.1 3D U-Net网络结构 6

2.4.2 损失函数 7

2.4.3 参数优化方法 7

2.5 点云分类与分割实验 8

2.5.1 点云的分类 9

2.5.2 点云的分割 10

2.6 本章小结 11

第3章 直接对点云数据处理的方法 12

3.1 引言 12

3.2 对三维点云的卷积 12

3.2.1 Pointwise CNN 12

3.2.2 Spherical CNN 13

3.3 连续核卷积 14

3.3.1 连续核函数的构造 14

3.3.2 邻域点的选取 16

3.3.3 均匀采样与非均匀采样 17

3.4 连续核卷积网络 19

3.4.1 全卷积网络 19

3.4.2 卷积网络与PointNet 的结合 20

3.5 连续核卷积网络的点云分类与分割实验 21

3.5.1 点云的分类 21

3.5.2 点云的分割 23

3.6 本章小结 25

第4章 结论与展望 26

参考文献 27

致谢 29

第1章 绪论

1.1 点云分类与分割算法的研究背景及意义

点云是用来表示三维物体的一系列点的集合,每个点包含了一个三维坐标,有时候也可以包含颜色或者反射强度等信息。与三维体素或者参数化曲面等其他三维物体的表示方法相比,点云由于其数据量大,精度高的特点被广泛应用于机器人,文物保护等领域[1]

随着激光雷达和深度摄像头的发展,点云数据的获取变得更加简单,对点云数据的处理由于其广泛的应用价值也越来越受关注。例如,对街道点云数据的分割可以用在无人驾驶汽车领域[2],对室内点云数据的分割可以用于机器人导航领域[3],因此设计出有效的点云分割算法具有重要的实际意义。虽然自从深度学习提出以后,其在图像处理和自然语言处理等方面取得了巨大的成功,但是点云数据的特殊性给深度学习方法的应用带来特殊的困难。例如,点的位置空间分布不固定,所以难以直接运用卷积神经网络[4],点的排列具有无序性,导致对点云的处理方法也需要具备排列不变性。因而,如何将深度神经网络运用于三维点云数据上依然是一个难题。

1.2 深度学习在三维点云数据处理上的现状及分析

目前对点云的处理方法主要有三种。第一种是先对三维空间进行体素化的网格划分,然后在网格上进行三维的卷积来提取局部特征,进而构建深度神经网络。这种方法主要有VoxNet[5],虽然实现起来比较简单直观,但是由于受到计算机内存和计算量的限制,网格难以划分得很小来提高精度,所以并不适用于精度要求高或者规模大的点云处理。但是在2017年,Gernot Riegler等人提出了OctNet[6],文中采用了八叉树的方法对空间进行不均匀的分割,在三维对象结构精细的位置用精度高的小网格体素化,从而保留更丰富的信息,而在结构简单的位置用精度低的大网格体素化,减小了计算量。这种不均匀的体素化的方法给体素化提供了新的可能。

第二种方法是将三维的点云数据转换成一系列二维的图像,然后在二维图像使用深度卷积神经网络对图片进行分割或分类,最后根据二维图片上的结果得出三维点云的分类或分割结果,这种方法有MVCNN[7],MHBN[8]等,这类方法的优点在于可以利用已经在二维图像上取得很好效果的卷积网络,也可以用已有的大量二维图片数据集做预训练,因此在Model40[9]等三维数据集上取得了比其他方法更好的结果。但是从三维点云到二维图片的转换过程中会损失点云的信息,特别是当点云对象的结构比较复杂,甚至存在内部结构时,图片会损失更多的信息。

第三种方法是直接通过深度神经网络处理点云,其代表方法为Charles R. Qi等人提出的PointNet[10]。这类方法通过构造具有排列不变性的网络来直接对点云提取特征,实现了端到端的可训练网络,并且取得了与以上两种方法相媲美的分类和分割正确率。为更好地利用PointNet提取特征的能力,一部分工作在PointNet的基础上对点云先进行了预分割,然后对分割后的小区域点云提取特征,从而实现多层次的特征提取。例如Jiaxin Li等人提出的SO-Net[11]利用了自组织网格对点云预分割,而Qiangui Huang等人提出的RSNet[12]则使用了按坐标分割点云。虽然PointNet的实验结果表明了其具有在点云上提取特征的能力,但是由于PointNet不能显式地考虑邻域关系,特征提取能力受到了一定的限制,因此还有一部分工作聚焦于寻找更有效的特征提取方法。例如Binh-Son Hua等人提出的Pointwise CNN[13]和Huan Lei等人提出的Spherical CNN[14]网络将图片中的卷积网络迁移到点云的处理中,用卷积来提取更加丰富的点云特征,但是实验结果表明这类卷积的方法的分类分割效果略差于PointNet,所以对将卷积网络运用于点云上的特征提取依然有待进一步研究。

由于直接通过深度神经网络处理点云的方法近年来才被提出,目前国内的研究仍然较少,但也有一些重要贡献。例如上海交通大学的卢策吾团队提出的PointSIFT网络[15],将图片领域广泛应用的尺度不变特征变换算法(SIFT)运用到了三维的点云处理中,设计了方向编码单元,有效的增强了网络特征提取的能力,并且向量编码单元还可以嵌入到其他点云处理的网络中,起到替代PointNet来提取特征的功能。还有山东大学的李扬彦等人提出的PointCNN[16]网络,网络中设计了一种具有排列不变性的卷积x-Conv,即先通过一个多层感知机网络学习到局部点云的排列方式,将点云变换到相同的排列下实现排列不变性,再对邻域点卷积,这给在点云上的卷积提供了新的思路。

第2章 基于体素化的点云处理方法

2.1 引言

与一般的图片数据不同,点云数据在空间中的分布是不规则的,即点的坐标可能是空间中任意的一点,而并非像图像一样中每个像素的位置是固定。因此若要将已经发展成熟的二维图像数据处理的方法运用到三维领域,最简单的方法就是首先将空间体素化,使不规则的点云分布表示变成规则的体素网格表示。

本章首先介绍基于网格占有和基于点量化两种将点云体素化的方法,然后在基于点量化的体素化方法上,针对其不具备排列不变性的缺点进行了改进,使得体素化后的网格特征具备了对网格内点的排列不变性,也使得在通过深度学习方法处理体素网格时,网络的训练变得更加容易。最后,通过在公开数据集上的实验验证了算法的有效性。

2.2 点云数据体素化的方法

在2017年PointNet(点网络)提出之前,通过深度学习对三维点云数据的处理方法首先需要将点云数据转化为其他便于神经网络处理的数据形式,例如体素网格,和多视角的二维图像等。其中基于多视角的二维图像虽然能够直接利用已经发展成熟的图像处理方法,并且在一些公开的三维数据集上已经取得了很好的结果。但是在处理结构复杂,甚至存在内部结构的对象时,难以通过多视角图像保留全部的结构信息,因此,对更加贴近真实对象结构的体素网格处理具有更加长远的研究意义。

2.2.1 基于网格占有的体素化方法

将点云数据转化为体素网格表示的三维数据的一般方法是,首先按照一定的体素大小将空间分割为离散的体素网格,再根据分割后的每个体素内是否含有点云中的点来对体素进行标记,过程如图2.1所示。

图2.1 基于网格占有的体素化方法的二维示意图

这种体素化的方法虽然可以将点云数据转化为规则分布的体素网格,但是若要保留原点云数据中的精细结构时,所需要的网格数量会大大增加。而要通过三维的卷积神经网络对体素网格处理时,模型占用的内存和计算量也会快速增加。因此这种体素化方法只能适用于精度要求较低的三维数据处理中。

2.2.2 基于点量化的体素化方法

2018年由Truc Le等人提出了一种点量化[17]的体素化方法,该方法在按照一定的网格大小将空间离散化后,首先将每个网格中的点采样到一个固定的数量,例如数量为4,当网格内点多于4个时随机采样其中的4个点,当网格内点少于4个时则重复已有的点使网格内点的个数到达4个,这个过程称作点量化。点量化之后,将网格内点的坐标拼接起来,构成体素网格的特征向量。如图2.2所示。

图2.2 基于点量化的体素化方法二维示意图

以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。

相关图片展示:

您需要先支付 50元 才能查看全部内容!立即支付

微信号:bysjorg

Copyright © 2010-2022 毕业论文网 站点地图