3D点云数据结合深度学习入门基础(目标篇)

        最近,老师让我们研究深度学习与3D点云数据的研究方向,开始时,确实也不清楚何为3D点云,以及深度学习。

        由于实验室师弟师妹全部是做深度学习识图相关横向研究工作的,所以很快的就掌握了,深度学习识图技术,主要是应用于平面图片的目标检测与分割(分类)工作。而其目标图片为我们日常使用电脑经常见到的各类Png,jpg等图片格式。但是3D点云识别又是个什么格式的东西呢,对于没接触到的朋友,第一感觉就是,我们识别的目标有点屡不清楚,所以在本节主要讲一讲,3D点云这个识别目标是啥,具体有哪些类。(本章大部分内容为引用)

        在最初的时候,我们经常描述图像的3维数据是采用对同一物体进行多角度拍摄,来获取物品360度的影像数据。

  3D点云数据结合深度学习入门基础(目标篇)_第1张图片

        具有代表性的数据集有RGB-D (Kinect) Object Dataset(该数据集就是对同一平面的日常物品多角度平面拍摄获得的)。

随着设备以及激光扫描仪的诞生,最近几年通常是使用深度图像(深度相机拍摄)以及3D点云数据(激光扫描仪)来获得。

3D点云数据结合深度学习入门基础(目标篇)_第2张图片3D点云数据结合深度学习入门基础(目标篇)_第3张图片

        除此之外,体素网格CAD模型也是常用的3维表现形式。

3D点云数据结合深度学习入门基础(目标篇)_第4张图片3D点云数据结合深度学习入门基础(目标篇)_第5张图片

         至此多提一句,最初对于3D物品的深度神经网络检测是由2015年提出的两篇论文解决的。

1、将点云数据投影到二维平面。此种方式不直接处理三维的点云数据,而是先将点云投影到某些特定视角再处理,如前视视角和鸟瞰视角。同时,也可以融合使用来自相机的图像信息。通过将这些不同视角的数据相结合,来实现点云数据的认知任务。比较典型的算法有MV3D和AVOD。(基于卷积神经网络的三维物体检测方法-上海交大学报 2018也是用的该方法

 

2、将点云数据划分到有空间依赖关系的voxel。此种方式通过分割三维空间,引入空间依赖关系到点云数据中,再使用3D卷积等方式来进行处理。这种方法的精度依赖于三维空间的分割细腻度,而且3D卷积的运算复杂度也较高。(其实也就是类似于平面图片一开始的处理方法,将平面图以正方形的格子去细化,而对于3D点云而言则为体素化,如上面体素化的桌子,通过小立方体将3D图像表达出来,立方体越小,则计算复杂度越高)

 

      接下来详细的讲一下深度图以及点云数据的处理。由于目前深度相机比激光扫描仪的价格低,大部分课题组的实验采集设备还是深度图像。所以很有比较了解一下两者的处理方式。

深度图(Depth Map)

深度图(Depth Map)一般是由深度相机获得的包含与视点的场景对象的表面的距离有关的信息的图像。Depth Map 类似于灰度图像,只是它的每个像素值是传感器距离物体的实际距离。深度图的处理与传统的图像处理有很多相似之处,例如去噪,压缩,分割,提取特征等操作。接下来简单介绍深度图处理的具体需求和典型算法。

深度图去噪

深度图的去噪与传统RGB去噪有相似的要求,尽量保持细节的情况下使平面更光滑,去除传感器(深度相机)带来的噪声。

3D点云数据结合深度学习入门基础(目标篇)_第6张图片 3D点云数据结合深度学习入门基础(目标篇)_第7张图片 3D点云数据结合深度学习入门基础(目标篇)_第8张图片 KinectFusion[2]当中对深度图做的预处理就是通过双边滤波去噪。双边滤波的特点主要为对于边缘(细节)保持较好,计算速度在普通的CPU上都可以达到实时处理。另外还有结合RGB对深度图进行处理的算法,在追求高精度高质量的去噪的时候,可以利用RGB进行引导,先检测RGB边缘等再进行多边滤波,但是这种高精度的处理在实时性方面表现较差。

原始深度图 带噪深度图 3D点云数据结合深度学习入门基础(目标篇)_第9张图片 3D点云数据结合深度学习入门基础(目标篇)_第10张图片 3D点云数据结合深度学习入门基础(目标篇)_第11张图片 双边滤波结果

原始RGB图 带噪RGB图 结合RGB的低秩恢复结果

除去与传统图像相似的去噪处理,通过深度相机获得的深度图还有很多无效值,例如下图中的红圈中圈出来的白色空洞,

3D点云数据结合深度学习入门基础(目标篇)_第12张图片

一般情况下,反光表面和黑色吸光表面会产生较多的空洞,通过利用周围值进行补全(与形态学滤波先膨胀后腐蚀类似)可以实现简单的补空洞,该方法在普通的CPU上就可以达到实时。由于深度图用矩阵表示都是低秩的,所以也可以用矩阵补全[3]的方法进行恢复,该方法相对而言更加精确,另外先低秩表示再恢复也在一定程度上实现了去噪,但是目前矩阵补全的算法在CPU上无法实时处理图片。

深度图压缩

未来的深度信息会像如今视频图像信息一样应用广泛,所以传输成为很关键的一部分,随之压缩也就成为了深度图信息处理的重要一步。

传统的RGB图像压缩主要根据人眼对于高频信息不敏感的特性,利用JPEG压缩方法可以忽略高频信息减少信息含量从而实现压缩,压缩之后仍能够保留符合人眼观察重要信息,同时对于三通道中亮度保留了更多细节。

但是深度图不是给人类直接观察的,而是存储信息,所以不应该以人眼的主观评判方式来进行深度图压缩,深度图仍需要保存高频部分的边缘距离信息,除去峰值信噪比之外最直观的评判依据是转换为点云仍能够正确表现原来物体空间结构。现行的压缩方式有通过将深度图16bit的信息编码为3个8bit的类似于YCbCr的信息,利用JPEG等适用于彩色图像的压缩算法处理数据,然后再解码出16bit深度信息。

3D点云数据结合深度学习入门基础(目标篇)_第13张图片

也有Kinect研究院[4]提出的直接适用于16bit深度图的RVL无损编码压缩算法,压缩率与其他算法对比如下。

3D点云数据结合深度学习入门基础(目标篇)_第14张图片

深度图分割

传统的分割方法可以根据深度图的距离的梯度进行分割,在机器学习、神经网络发展迅速的今天,利用神经网络的语义分割更为精确和有意义。

利用SUNRGB-D网络[5]实现的RGB-D语义分割如下所示。

3D点云数据结合深度学习入门基础(目标篇)_第15张图片

斯坦福大学[6]提出的针对单张深度图给出语义标签并给出完整的3D voxel表示的结果如下所示。

3D点云数据结合深度学习入门基础(目标篇)_第16张图片

点云(Point Cloud)

3D点云数据结合深度学习入门基础(目标篇)_第17张图片 3D点云数据结合深度学习入门基础(目标篇)_第18张图片 3D点云数据结合深度学习入门基础(目标篇)_第19张图片 点云通常通过3D激光扫描得到或者通过深度图转换得到。

SmartToF 3D相机模组 灰度图像 点云结果

针对点云这种形式的三维数据处理主要有点云滤波、分割、分类和重建等方面。

点云滤波

近些年,点云处理方面有著名的Point Cloud Library(PCL)[7]提供各种算法支持。四种常用的点云滤波算法为统计滤波(Statistical Outlier Removal)、半径滤波(Radius Outlier Removal)、直通滤波(Pass Through)、体素滤波(Voxel Grid)。统计滤波和半径滤波在处理点云边缘部分飞散点上效果突出;直通滤波可以去除不合理的和不需要的范围外的点;体素滤波可以很好地对点云进行降采样。

点云分割分类

点云分割与分类的各种算法主要为聚类算法,机器学习和神经网络等,2016年由斯坦福大学提出了Pointnet[8]并且取得的出色的效果之后,针对点云的神经网络结构设计便引起了众多科研人员的关注。Pointnet的具体分割、分类效果如下。

3D点云数据结合深度学习入门基础(目标篇)_第20张图片

针对点云的学习主要有以下几个困难也是二维神经网络不能直接移植应用与三维数据处理的原因:点云的无序性,点云的大小不确定,同一个点云在不同坐标系下表示不同。解决上述几个问题之后,神经网络便能够在三维信息上取得较好的效果。Pointnet++和PointCNN等算法的效果在Pointnet的基础上又有了很大的提升。

点云重建

点云重建也是点云数据处理的重要一部分,通过迭代最近点(Iterative Closest Point, ICP)或者特征点的匹配,将TOF相机从不同角度获得的物体部分点云融合重建为一个完成的点云模型,主要算法有KinectFusion[1] 和PCL开源的Kinfu[9],两者都能得到基本与拍摄物体一致的三维点云模型。

3D点云数据结合深度学习入门基础(目标篇)_第21张图片 3D点云数据结合深度学习入门基础(目标篇)_第22张图片

目前还有部分通过GAN网络[10]或者卷积网络利用单张RGB-D图片预测整个三维模型的算法,只不过该领域尚处于发展初期,所得结果并不完美,所以说还有很大发展空间。

3D点云数据结合深度学习入门基础(目标篇)_第23张图片

总结

相比于传统的2D视觉,TOF相机[11]可以直接感知计算深度信息,对应双目获取距离信息来说,ToF计算复杂度很低,可以降低硬件的需求,提高实时性。相比于3D激光, ToF造价低,适应于当前科研与工业紧密结合的发展趋势

在研究方面:

  • 2D视觉有一定局限性:平面图形无法跃然纸上;不支持与形状相关的测量;物体运动只有X-Y方向;解决识别和分割问题时复杂场景难度较大
  • 3D视觉有明显的优势:更立体的可视化,3D信息能够提供物体的空间点云;更丰富的数据采集,3D信息能辅助测量与形状相关的特征;更多维的运动方向,3D信息将物体的运动空间从X-Y方向扩展到X-Y-Z方向;能利用深度信息将物体从复杂背景分割

后续部分摘自:http://bat.sjtu.edu.cn/zh/jk3d/ 揭开3D大幕的序曲——3D数据处理

 

你可能感兴趣的:(3D识别与语义分割)