gpt4 book ai didi

python-2.7 - Homography 和 Lucas Kanade 有什么区别?

转载 作者:行者123 更新时间:2023-12-02 03:59:56 25 4
gpt4 key购买 nike

我正在使用光流来跟踪一些功能,我是初学者,必须遵循这些步骤

  1. 匹配良好的特征进行跟踪
  2. 对它们进行 Lucas-Kanade 算法
  3. 查找第一帧和当前帧之间的单应性
  4. 进行相机校准
  5. 分解单应图

现在我不明白的是单应性部分,因为你找到特征并使用 Lucas-Kanade 跟踪它们,现在单应性用于计算相机运动(两个图像之间的旋转和平移)。但这不是 Lucas-Kanade 所做的吗?或者 Lucas-Kanade 只是跟踪它们并且单应性进行计算?我很难理解它们之间的区别,提前致谢。

最佳答案

光流:检测从一帧到下一帧的运动。这要么是稀疏的(跟踪很少的感兴趣的位置,例如在 LKDemo.cpp 示例中),要么是密集的(每个位置一个运动针对许多位置(例如所有像素),例如 openCV 中的 Farneback 演示)。

无论流是密集流还是稀疏流,光流方法都可能尝试估计不同类型的变换。最常见的变换是平移。这只是帧与帧之间的位置偏移。这可以可视化为每帧的向量,或者当流量密集且高分辨率时可视化为颜色。

不仅仅限于估计每个位置的翻译。例如,您还可以估计旋转(一个点如何从帧到帧旋转),或者它如何倾斜。在仿射光流中,您可以估计每个位置的完整仿射变换(更改平移、旋转、倾斜和缩放)。仿射流是一种经典而强大的技术,但被很多人误解,并且可能使用得远远少于应有的程度。

仿射变换由 2x3 矩阵给出最经济:与常规 2 d.o.f 相比,有 6 个自由度。常规平移光流。

离开光流主题,一个更通用的变换系列称为“同应矩阵”或“投影变换”。它们需要 3x3 变换,并且有 8 个自由度。当你用投影畸变观察平面时,仿射族不足以描述平面所经历的变形。

单应性通常是根据帧之间的许多匹配点来估计的。从这个意义上说,它使用常规平移光流的输出(但通常在幕后使用仿射方法来改进结果)。

所有这些都只是触及表面......

关于python-2.7 - Homography 和 Lucas Kanade 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42350006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com