文章目录
- 概要
- GFTT 的运作方式
- 为什么“好”功能很重要
概要
GFTT(Good Features to Track)
今天我们就来深入探讨一下GFTT的细节
还有其他好的角点探测器,如 FAST、ORB、Harris。
我们说哈里斯直接是Corner Specific。 FAST 是我们最快的,但仅在直角时效果良好。 FAST 的弱点是方向不变量。这时,ORB来帮助我们了。 ORB 使用 FAST 和 Brief。它可以很好地处理从不同角度拍摄的照片。我为所有这些探测器提供了样本输出。
现在,考虑一下我们是否需要查看图像的角落或重要点的时间变化。我的意思是如果我们想随着时间的推移跟踪一些物体。是的,此时 GFTT 来帮助我们了。正如我们所见,每个都有其优点,选择取决于您的具体需求。
现在,让我们深入研究细节。
GFTT 已经与 Harris 方法类似。它会寻找图像中强度发生变化的点。它计算;
1-图像渐变
2-创建自相关矩阵
3-选择标准
4-非极大值抑制
GFTT 与 Harris 的不同之处在于第三步。选择方法略有不同。
GFTT 的运作方式
当然,与其他检测器一样,GFTT 使用数学方法来识别点。它观察像素周围不同方向的强度变化。如果任何方向上的强度发生相当大的变化,GFTT 会将其标记为潜在的关键点。
这是一个简单的Python代码。
为什么“好”功能很重要
好的特征是必不可少的,因为它们为跟踪提供了稳定的点。当您跟踪视频中的运动或尝试匹配图像时,这些特征就像地标一样。
您可以根据需要指定其参数。
所有参数都会影响输出。请小心这些并根据您的要求进行安排。
灰色:将检测 GFTT 关键点的灰度图像。
maxCorners:返回的最大角数。如果设置为 0,则返回所有检测到的角点。
质量级别:拐角的最低可接受质量。值越低,得分越多。
minDistance:返回角点之间的最小可能欧氏距离。
mask:可选的感兴趣区域。如果提供,它指定将检测角点的区域。
blockSize:用于计算 Harris 角点响应的像素邻域的大小。
useHarrisDetector:指示是使用 Harris 角点检测器(True)还是 Shi-Tomasi 角点检测器(False)的标志。
k:这是Harris探测器的自由参数。
此外,有时 GFTT 和 Shi-Tomasi 角点检测器也会被提及。
是的,我们几乎可以说它们是相同的。因为,这两种方法都使用与 Harris 角点检测相同的算法。此外,他们提供了不同的评分功能,并且比哈里斯效果更好。
GFTT 和 Shi-Tomasi 角点检测器之间的主要区别在于选择部分。
Shi-Tomasi 选择值大于阈值的角点。
GFTT:它不是根据阈值选择角点,而是选择具有最高特征值的前 N 个角点。