Lucas Kanade 功能跟踪器请参阅第 6 页 我正在用 C++ 实现 Lucas Kanade 功能跟踪器。
在实现附图中提到的方程23时,有一点不清楚。我认为矩阵G计算应该发生在K循环内部,而不是K循环外部。如果块 B 出现在帧 j 的边界处,此时使用在 K 循环之前计算的完整 G 空间梯度矩阵是没有用的(如论文中提到的)。对于帧 j,矩阵 G 应仅针对显示的补丁 B 部分进行计算。
Patch A Patch B
| |
| |
-----|--- -|-------
| |---| | | | |
| | | | |--| |
| |---| | | | |
| | |--| |
--------- ---------
Frame i Frame j
算法中几乎没有基本假设。
具体针对您的情况:
由于梯度通常是通过有限差分来估计的,因此边界的余量取决于选择的有限差分系数。
最常见的选择是使用图像上的中心一阶。
这意味着补丁距边界的最小边距为 1。