SLAM14讲第7.1讲总结
作者:互联网
在第5.1章双目相机中,我们知道,如果已知视差的情况下,可以得出深度信息。但是其中涉及一个问题。怎么可以得到视差?我们分析可知,我们需要得到相匹配的像素点,才可以得到视差。于是在这一节,引出概念:特征点匹配。 这个事情也是运动状态估计的前提。
在SIFT算法中,特征点分为两块:关键点和描述子。提取关键点和计算描述子
关键点是指该特征点在图像里的位置,有些特征点还具有朝向、大小等信息。描述子通常是一个向量,按照某种人为设计的方式,描述了该关键点周围像素的信息。
关键点(特征点的提取)
选取什么样的点作为关键点?什么样的点才是有代表性的点?
代表性指出,我们希望特征点在相机运动之后保持稳定,即在同一选取特征点的方式下,他仍然是一个特征点。然而单一像素的点作为特征点显然是不够的,我们需要提取出更具有代表性的“点”来作为我们的特征点。以下是三种经典的选择方式,slam14讲主要讲解的就是角点的选取,这样的选取方法可以获得更具有代表性的特征。
但角点也有其缺陷,是早已存在于其选择方法中的,我们后文来提及这一点{1}。
具体问题具体分析,slam的作者又给出了三种”更好“的特征选择法:
- SIFT D. G. Lowe, “Distinctive image features from scale-invariant keypoints,” International Journal of Computer Vision, vol. 60, no. 2, pp. 91–110, 2004.
- SURF D. G. Lowe, “Distinctive image features from scale-invariant keypoints,” International Journal of Computer Vision, vol. 60, no. 2, pp. 91–110, 2004.
- ORB ORB: An efficient alternative to SIFT or SURF
我们还是主要来看角点,注意,接下来我们都围绕ORB算法来说
角点(关键点)
这里注意上图中白色的带编号的框。角点的选取步骤是:
- 在图像中选取像素 p,假设它的亮度为 Ip。
- 设置一个阈值 T (比如 Ip 的 20%)。
- 以像素 p 为中心, 选取半径为 3 的圆上的 16 个像素点。
- 假如选取的圆上,有连续的 N 个点的亮度大于 Ip + T 或小于 Ip − T,那么像素 p可以被认为是特征点 (N 通常取 12,即为 FAST-12。其它常用的 N 取值为 9 和 11,他们分别被称为 FAST-9, FAST-11)。
- 循环以上四步,对每一个像素执行相同的操作。
当然在这样的选取中依然存在问题,所以选择完后,我们还会做一些优化,比如:非极大值抑制(避免角点扎堆,保留效果最好的点)。就像下图一样
描述子(ORB 使用改进的BRIEF 特征描述)
有没有印象,我们之前说,在角点的选择方法上就注定了它的缺陷{1}.再次看到7-3图,试想,如果相机靠近了视角中的某个点,由于相机分辨率不变的前提,同一个点随着离相机的距离越近,像素点会不会越多?答案是肯定的。这就意味着:远处看见的角点,走进了,可能这个点就不再是了。这就是不具有尺度不变性。
为了克服这个缺点,ORB 添加了尺度和旋转的描述。slam作者书中介绍了构建图像金字塔法和灰度质心法来解决这个问题。
图像金字塔: 我们说了相机的移动会导致同一点像素的变化,那么这个原理其实就等同于放大和缩小图片所带来的变化。即对图像进行不同层次的降采样,以获得不同分辨率的图像。这就是图像金字塔方法,利用这一方法,我们可以有效的选取出更有价值的关键点。
灰度质心法: 质心是指以图像块灰度值作为权重所得的中心。具体可参考论文链接,和slam14书中缩略:
- 在一个小的图像块 B 中,定义图像块的矩为:
- 通过矩可以找到图像块的质心:
- 连接图像块的几何中心 O 与质心 C,得到一个方向向量 OC,于是特征点的方向可以定义为:
标签:总结,特征,角点,SLAM14,选取,7.1,图像,像素,关键点 来源: https://blog.csdn.net/qq_40574123/article/details/121980594