本系列笔记是对深蓝学院所开设的课程:《三维点云处理》的笔记 课程每周更新,我也会努力将每周的知识点进行总结,并且整理成笔记发上来,欢迎各位多多交流&批评指正!!
本文主要为课程第七章的笔记! 由于第六章继续进行深度学习领域知识讲解,因此不仅知识量陡增,课程量也加大,因此本章将分为上下两篇笔记进行记录。 本节课主要讲3D特征感知,介绍
课程链接:
三维点云处理——深蓝学院
本节课大纲: ############################################################
先从图像特征点开始讲,然后拓展到三维特征点。
而后分别用传统的方法和深度学习方法将特征点的处理 检测 与表述
正式内容: ####################################################
特征点的应用:找到特征点之后,可以以他周围的信息生成的向量去描述该特征点
在图像当中,特征点的一个非常典型且重要的应用:SLAM
如feature based SLAM 是利用特征点的坐标与位置进行构图的。
点云特征点: 点云当中也有一些特征点(关键点)比较具有代表性
很经典的一个理论是,每个角点都是特征点,如何找到这些特征点成为了任务所在
三维特征提取的方法:
有从图像当中借鉴到三维的,如 Harris、SUSAN、SIFT ;
也有直接基于三维坐标下的 如ISS
还有基于深度学习的 但是不多 (因为对于特征点的理解不一样,缺乏相应的数据集,自然无法使用深度学习)
核心思想就是从左图中找方块,然后从右图中找跟他特征最匹配的方块
如果一个框内有多个能跟他进行匹配的地方,我们则认为他不够具有代表性,自然也不能被视为特征点
如此的话,像是这些角点、边界点自然是比较独特的,也因此能够被匹配为关键点,从而被提取出来
如何判别: 沿着某个方向进行微小移动
如果移动前后没有变化,认为这个是很普通没有特征的
如果异动前后某个方向上有变化,某个方向上没变化,则认为他是“边”
如果任意方向移动得到的都不一样,则认为他是个角点,是有特征的点
数学表达如下:
比如上面的例子,经过公式计算出来以后就是边界上有比较明显的区别,就是比较好的
如何选择u,v 应该是移动的越小越好,这样的话就可以近似理解成在像素上移动的导数。
可以以一个矩阵的形式来表达移动前后的变化
通过该方法 可以提取出来他的图像特征点(如图三提取到边界点为特征点
转移到点云的困难:
1.点云是离散的,不是连续的,而且排列没有规律
2. 如何定义一个patch
3. 如何移动一个patch
物理意义是一个点沿某个方向(xyz)移动一段距离后,判断点离特征平面的距离,越远说明越显著
空间上,可以从3D拓展拿到6D
在这里应该选λ4,选3太松选5太紧
Harris方法总结:
一种直接对三维点云进行出力,不是借鉴图像的方法
原理非常简单:特征点的周围点分布的变化情况很大
使用PCA方法,对特征值构造
是一种特征提取的方法,和pointnet++不一样的方法主要有两个:
文章主要的贡献是给出了一种切割点云的方法
kmeans聚类是没有中心的,SO-Map 是有排列顺序的,有渐进的过渡
对于pointnet++来说,有的点会连多次,有的点会漏掉,无法保证感知域
sonet 可以较好的解决这个问题