鄢立宝

V1

2022/03/15阅读:82主题:默认主题

ORB_SLAM灰度质心法学习笔记

1. 灰度质心法原理

  1. 选择某个图像块 ,然后将图像块 的矩 定义为:

其中 表示像素坐标, 表示此像素坐标的灰度值。

  1. 图像块 的质心 可以通过公式 中的矩找到:
  1. 方向向量 可以通过将图像块 的几何中心 和它的质心 连接在一起得到,所以可以定义特征点的方向 为:

2. 灰度质心法程序实现思路

以如下 的图像块 为例,讲解程序实现过程。 为像素值, 为像素在图像块 上的局部坐标。关键点在图像块的中心, 为关键点的灰度值。

图1:图像块B像素示意图
图1:图像块B像素示意图

可以表示为:

也可以表示为:

可以表示为:

也可以表示为:

注意在此处我们为了方便讲解,选取的是一个矩形块,而实际在编程中则是选取一个圆形块。因为只有选取圆形块,才能够保证此关键点的旋转不变性。我们可以想象一下,一个矩形块绕几何中心旋转任意角度,不能保证所有角度下,旋转前后两个矩形块完全重合。而圆形块绕圆心无论怎样旋转,前后圆形块一定完全重合。这样就保证了同一个关键点在图片发生旋转后,参与计算方向角的像素点和旋转前完全一样。

ok,了解了上述内容后,我们开始讲解编程实现的思路。

用公式 求解 ,用公式 求解 ,使用双重 循环。

  1. 求解 ,外层循环遍历 ,内层循环遍历
for (int x = -2; x < 3; x++)
{
    for (int y = -2; y < 3; y++)
    {
        m10 += x*I(x, y); //求解m10
        m01 += y*I(x, y); //求解m01
    }
}

这样,我们就得到了 ,再使用公式 便可计算出关键点的方向角

注意,上面所述的 为图像块的像素坐标,与行列正好相反。

图2:坐标与行列关系示意图
图2:坐标与行列关系示意图

分类:

人工智能

标签:

人工智能

作者介绍

鄢立宝
V1