实时跟踪手

时间:2013-07-18 11:18:51

标签: opencv image-processing machine-learning computer-vision

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

我的问题是,如果我确定haar分类器检测到某个帧中的手,某个位置,哪种方法会产生更强大的手跟踪?

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

另外,如果我采用立体视觉,它会帮助我,因为我可以用3d重建手。

5 个答案:

答案 0 :(得分:2)

你正确地总结了哈尔的特征 - 当谈到非刚性物体时,它们并没有那么有用。

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

  1. Interaction between hands and wearable cameras
  2. Markerless inspection of augmented reality objects
  3. 本文使用KLT功能在第一次检测后跟踪手:

    Fast 2D hand tracking with flocks of features and multi-cue integration

    我想说立体相机无法帮助你做多少事情,因为非刚性物体的3D重建并不简单,需要大量的创新和开发。但是,如果您想进行3D跟踪,可以查看this page的手部姿势估计部分中的论文。

    编辑:另请查看this recent paper,这似乎可以获得良好的效果。

答案 1 :(得分:1)

Zhang等人的Real-time Compressive Tracking在跟踪某个对象时做了一个合理的工作,一旦它被其他方法检测到,只要该动作不是太快。他们有OpenCV实现(但需要重复工作)。

答案 2 :(得分:0)

research paper描述了一种使用立体相机设置而不使用手套来跟踪手的方法。

答案 3 :(得分:0)

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

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

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

答案 4 :(得分:0)

CamShift算法通常快速准确,如果您想将手跟踪为单个实体。 OpenCV文档包含一个易于理解的易于理解的演示程序。

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