opencv - 上半身骨骼检测

标签 opencv emgucv

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

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

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

有没有人想像视频中那样检测尸体?

最佳答案

我认为您应该实现后续步骤:

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

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

关于opencv - 上半身骨骼检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16133225/

相关文章:

c# - 如何在 Emgucv 中设置多 channel 矩阵的值

c# - 视频文件上的人脸检测

c# - 如何检测与背景颜色相同的物体

android - 在 Android 上移动轮廓

python - 如何一次检测一种颜色

c++ - 打开cv 3.0.0 LNK2019报错

python - 使用 openCV 访问笔记本电脑摄像头

python-3.x - 使用python将图像放在另一个图像上

c# - 有哪些 ORB 算法实现可用?

c# - 为什么 EmguCV 高斯模糊可能不会返回与 OpenCV 高斯模糊相同的结果?