我们需要在 Kanade-Lucas-Tomasi 跟踪器中计算光流吗?

Do we need to computer optical flow in a Kanade-Lucas-Tomasi tracker?

我想了解 Kanade-Lucas-Tomasi 追踪器。 这是应该如何完成的概述(我从一些讲座中读到):

1. Find harris corners 
2. For each corner compute displacement to next frame
using the Lucas-Kanade method
3. Store displacement of each corner, update corner position
4. (optional) Add more corner points every M frames using 1
5. Repeat 2 to 3 (4)
6. Returns long trajectories for each corner point

我对此的疑问是我们是否需要计算某个点的光流或仅位移矢量就足以执行该算法? 如果不是那么为什么光流处理这个话题?

位移矢量是角位置处(密集)光流的一个样本。顺便说一句,虽然哈里斯角通常是初始化搜索的好位置,但严格来说你需要一个较弱的检测器,参见 Shi & Tomasi 的经典 "good features to track" paper.

Kanade-Lucas-Tomasi 跟踪器与光流有关,因为位移矢量是光流矢量但在稀疏意义上而不是密集的光流场。那是因为跟踪器基于估计位移矢量的 Lucas Kanade 方法。而 Lucas Kanade 方法是基于强度恒定假设,通过一阶泰勒近似求解,这个近似称为光流方程,由 Horn 和 Schunk 发明。 Lucas Kanade 方法被归类为局部光流方法,而现在大多数光流方法都是产生密集运动场的全局方法。

不是对 KLT 最准确或最有帮助的描述。这个比较好:

  1. 查找要跟踪的特征(例如角)
  2. 为每个特征计算到下一帧的位移 使用 Lucas-Kanade 方法
  3. 跟踪特征的存储轨迹
  4. (可选)随着时间的推移添加和删除功能
  5. Returns 每个特征的轨迹

虽然@Tobias senst 的回答在技术上并没有错,但它忽略了一个非常重要的事实:

Lucas-Kanade 方法不限于估算位移。事实上,在 KLT 跟踪器中使用 LK 几乎假设您至少要在位移之上进行旋转和缩放变形。对于许多应用程序,完整的仿射解决方案是有益的。这意味着您求解 6 个参数,而不仅仅是位移 (u,v) 的 2 个参数。