1

我正在尝试使用 opencv 实时检测和跟踪手。我认为 haar 级联分类器会产生一个公平的结果。分别用 10k 和 20k 的正负图像进行训练后,我得到了一个分类器 xml 文件。不幸的是,它仅在某些位置检测手,证明它仅适用于刚性物体。所以我现在正在考虑采用另一种可以跟踪手的算法,一旦通过 haar 分类器检测到。

我的问题是,如果我确保 haar 分类器在某个帧、某个位置检测到手,那么哪种方法会进一步产生对手的稳健跟踪?

我在网上搜索了一下,了解到我可以去检测手的光流,或者卡尔曼滤波器或粒子滤波器,但也遇到了自己的缺点。

另外,如果我加入立体视觉,它会对我有帮助吗,因为我可以在 3d 中重建手。

4

5 回答 5

2

您对 Haar 特征的结论是正确的——当涉及到非刚性对象时,它们并没有那么有用。

看看以下使用肤色检测手的论文。

  1. 手和可穿戴相机之间的交互
  2. 增强现实对象的无标记检查

而这篇使用 KLT 特征在第一次检测后跟踪手部的论文:

具有大量功能和多线索集成的快速 2D 手部跟踪

我想说立体相机对你的事业没有多大帮助,因为非刚性物体的 3D 重建并不简单,需要大量的创新和开发。但是,如果您希望进行 3D 跟踪,可以查看本页手部姿势估计部分的论文。

编辑:也看看最近的这篇论文,它似乎得到了很好的结果。

于 2013-07-18T12:53:37.357 回答
1

Zhang 等人的Real-time Compressive Tracking可以合理地跟踪一个对象,一旦它被其他方法检测到,只要运动不是太快。他们有一个 OpenCV 实现(但需要一些工作才能重用)。

于 2013-07-18T13:08:17.693 回答
0

关于堆栈溢出也有类似的问题......

看看我和其他人的答案:https ://stackoverflow.com/a/17375647/1463143

通过避免对可变形实体进行 haar 训练和检测,您肯定可以获得更好的结果。

于 2013-07-18T22:14:06.607 回答
0

这篇研究论文描述了一种通过立体摄像头设置在不使用手套的情况下追踪手部的方法。

于 2013-07-18T11:50:59.853 回答
0

如果您想将手作为单个实体进行跟踪,CamShift 算法通常快速且准确。OpenCV 文档包含一个很好的、易于理解的演示程序,您可以轻松地对其进行修改。

但是,如果您需要跟踪手指等,则需要进一步建模。

于 2013-07-19T02:54:14.250 回答