对于一个教育项目,我们目前正在开发一个基本的运动和手势检测系统。我们的主要目标是检测摄像机流中的人体。使用此信息,我们想要检测 body 的基本骨架,以进一步检测人的手势。
我们正在使用 EmguCV/OpenCV 来处理我们的流。我在 Youtube 上找到了这个视频:http://www.youtube.com/watch?v=fYZtmkfWh5g .他能够探测到上半身并在其中放置一个基本骨骼,但是怎么做到的?他没有提到使用的任何算法。
我们已经尝试使用背景减法 (BackgroundSubtractorMOG2) 检测 body 轮廓,但相机噪音和闪电条件让我们失败了。
有没有人想像视频中那样检测尸体?
最佳答案
我认为您应该实现后续步骤:
- 检测人脸。
- 检测手。
- 估计 body 形象的规模。
- 使用头部位置放置上半身运动学模型(骨架) 信息并使用检测到的头部大小设置其比例。
- 将模型的头部和手与检测到的人体之前的位置相匹配 头和手。
- 更新模型的逆运动学以获得人体姿态估计。
- 我想,这里应该很好地使用一些统计数据 滤波器,如粒子滤波器或卡尔曼滤波器。
- 转到第 1 步。
对于运动学模型,您可以使用一些 2D 物理引擎(例如 Box2D)。
关于opencv - 上半身骨骼检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16133225/