7

对于一个教育项目,我们目前正在开发一个基本的运动和手势检测系统。我们的主要目标是在摄像机流中检测人体。使用这些信息,我们想要检测身体的基本骨架,以进一步检测人所做的手势。

我们正在使用 EmguCV / OpenCV 来处理我们的流。我在 Youtube 上找到了这个视频:http ://www.youtube.com/watch?v=fYZtmkfWh5g 。他能够检测到上半身并在其中放置一个基本骨架,但是如何?他没有提到使用的任何算法。

我们已经尝试使用背景减法 (BackgroundSubtractorMOG2) 检测身体轮廓,但相机噪声和闪电条件让我们失败了。

有没有人想像视频中显示的那样检测身体?

4

4 回答 4

1

我认为您应该执行以下步骤:

  1. 检测人脸。
  2. 检测手。
  3. 估计身体形象的比例。
  4. 放置上身运动学模型(骨架),使用头部位置信息并使用检测到的头部大小设置其比例。
  5. 将模型的头部和手部与检测到的人体头部和手部的位置相匹配。
  6. 更新模型的逆运动学以获得人体姿态估计。
  7. 我想,这里应该很好用一些统计滤波器,比如粒子滤波器或卡尔曼滤波器。
  8. 转到步骤 1。

对于运动学模型,您可以使用一些 2D 物理 endine(例如Box2D )。

于 2013-12-01T08:27:32.053 回答
0

将是一个很好的起点,在 C++ 中实现上身检测算法。(http://www.robots.ox.ac.uk/~vgg/software/UpperBody/

于 2015-07-29T16:37:54.213 回答
0

我喜欢这种精简的“ js-opendetect ”解决方案,在带有 LBP 级联的线程 js-objectdetect 中引用

如果您想试用 Matlab-Model 和 VS,这里有一个历史样本 http://groups.inf.ed.ac.uk/calvin/articulated_human_pose_estimation_code/

于 2017-09-10T19:19:03.993 回答
0

更复杂的模型,如 Caffe 的神经网络 .. 可以通过 Websearch -> "Human Pose Estimation" 找到,例如https://github.com/ZheC/Realtime_Multi-Person_Pose_Estimation 在较新的操作系统上似乎不容易安装(较旧的编译器.. .?) 并且有点资源消耗(在我的旧 1 GB-HW 上,它现在无法运行)。

最后可能很有趣,deeplearnjs将如何上升或集成(直到现在它需要 chrome,并且示例显示对象识别但看起来很有希望)。

于 2017-09-10T19:23:41.527 回答