你能多谈谈你的要求吗?即,您期望哪种类型的外观变化/您对环境的控制程度。在速度/功率/资源占用方面,您有哪些类型的限制?
如果没有这些,我只能对您所说的 3 条路径进行一些一般性的评估。
1. Haar 会运行良好且快速,尤其是在实例识别方面。
请注意,除非您使用各种模板进行训练以涵盖各种视角,否则 Haar 不能很好地用于 3D。Haar cascades 的典型应用是 Viola Jones 的人脸检测系统,该系统主要面向正面(当然可以针对许多其他事情进行训练)
有关使用 OpenCV 进行 Haar 训练的教程,请参见此处。
2. 尝试 NCC 或更好的模板,Lucas Kanade 跟踪(cvCalcOpticalFlowPyrLK,它是一个金字塔,就像从粗到细的 LK - 一个 4 级金字塔通常效果很好)。通常可以在不更改模板的情况下进行高达 10% 的缩放或 10 度旋转。除此之外,您还可以拥有随时间推移而自动演变的模板。
有关快速光流/跟踪教程,请参阅此。
3. SIFT/SURF 确实会很好用。我建议一些额外的几何验证步骤来消除虚假匹配。
我会有点担心所涉及的计算时间。如果没有明显的照明/比例/平面内旋转,那么 SIFT 可能是矫枉过正。如果您真的需要它,请查看 Changchang Wu 出色的 SIFTGPU实施。注意:第 3 方,不是 OpenCV。