手的实时跟踪

问题描述 投票:1回答:5

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

我的问题是,如果确保haar分类器在特定帧,特定位置检测到手,哪种方法可以进一步可靠地跟踪手?

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

此外,如果我加入了立体视觉,对我有帮助,因为我可以重建3D图像。

opencv image-processing machine-learning computer-vision
5个回答
2
投票

您对Haar功能的结论是正确的-当涉及到非刚性对象时,它们没什么用。

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

  1. Interaction between hands and wearable cameras
  2. Markerless inspection of augmented reality objects

以及本文在首次检测后使用KLT功能跟踪手的方法:

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

我会说,立体摄像机不会对您的事情有多大帮助,因为非刚性物体的3D重建并不简单,需要大量创新和开发。但是,如果您希望进行3D跟踪,则可以在this page的手部姿势估计部分中查看这些论文。

编辑:还请看this recent paper,它似乎获得了很好的效果。


1
投票

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


0
投票

research paper描述了通过使用立体相机设置不使用手套即可跟踪手的方法。


0
投票

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

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

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.