追踪赤裸的双手

时间:2011-07-14 03:58:58

标签: blob computer-vision

我的问题是在视频中跟踪裸手,签名者坐在暴露身体上半部分的均匀背景前。分离全身 从背景很容易,但手与身体的分离给人带来了真正的痛苦。 当我用Google搜索时,我遇到了诸如“基于模型的方法”,“基于外观的方法”,CCMSPF,haar,HOG,光流等主题,我迷路了。

我对此http://thepaintballworld.info/play/W801F97DSfI/hand_detection.html(视频)所取得的成绩印象深刻。

什么是解决我问题的最佳方法?

2 个答案:

答案 0 :(得分:1)

您可以尝试使用OpenCV进行对象检测。查看http://sourceforge.net/projects/opencvlibrary/http://en.wikipedia.org/wiki/OpenCV

答案 1 :(得分:1)

你手边有两个独立的问题(呵呵)。

  1. 首先检测手
  2. 一旦找到它们,就要跟踪它们。
  3. 1两者中的难度更大。起初你不知道手的位置,它们的颜色,它们的位置以及它们的大小。一旦找到它们,就会有各种约束条件可以帮助您在后续帧中找到它们。它们不会在图像周围跳跃,它们将保持大致相同的颜色,它们不会突然变得非常大或非常小等等。根据您的使用情况,这里有一些方法:

    • 在视频开始时,您可以要求手的主人用开放的手掌将它们固定在相机上一段时间,让您根据肤色和形状(五指)检测它们。 / LI>
    • 您可以搜索图片中的肤色部分。这会对您的手主人的衣服施加一些限制,并要求您以某种方式检测头部,或根据位置消除头部。 (这需要更多关于手主人位置的假设)。
    • 基于模型的方法假设手可以移动的方式。手基本上是通过铰链(手腕)附着到棒(腋下)上的某种颜色的斑点。只是组合手腕 - 腋下提供了一种受约束但略微变形的形状,可以跟踪。

    OpenCV是一个高级计算机视觉库,可以帮助您完成上述任何方法所需的许多任务。一旦找到手中的goodFeaturesToTrack手,就可以帮助您跟踪它们。 motion analysis and object tracking section中的一些功能也会对您有所帮助。

    正如我所说,检测手是更难的问题。我对基于模型的方法知之甚少。如果您可以要求手持主人在画面开始时将手举到相机一段时间(并且您可以保证指针在画面的其余部分保留在画面中),您可以使用{{3在template matching function上用手形轮廓图像找到手。

    至于皮肤检测,edge image可能对你有所帮助,但你需要为此创建皮肤/非皮肤直方图。只是googeling this is some sample code也会产生大量有用的链接。

    正如您所看到的,这是一个非常广泛的主题。我希望这有助于你开始。