opencv - 使用网络摄像头(不是 Kinect)确定骨骼关节

标签 opencv webcam tracking gesture-recognition human-interface

我正在尝试使用常规网络摄像头 来确定骨骼关节(或者至少能够跟踪单个手掌)。我在整个网络上都看过了,但似乎找不到这样做的方法。

我发现的每个示例都使用 Kinect。我想使用一个网络摄像头。

我不需要计算关节的深度 - 我只需要能够识别它们在框架中的 X、Y 位置。这就是我使用网络摄像头而不是 Kinect 的原因。

到目前为止我看过:

  • OpenCV(其中的“骨架”功能是简化图形模型的过程,但它不是人体的检测和/或骨架化)。
  • OpenNI(带 NiTE)- 获得关节的唯一方法是使用 Kinect 设备,因此它不适用于网络摄像头。

我正在寻找可以执行以下操作的 C/C++ 库(但此时会查看任何其他语言),最好是开源的(但同样会考虑任何许可证):

  • 给定图像(网络摄像头的帧)计算可见关节的 X、Y 位置
  • [可选] 给定一个视频捕获流回调到我的代码中,其中包含关节位置的事件
  • 不必非常准确,但希望它非常快(每帧处理时间低于 0.1 秒)

如果有人能帮我解决这个问题,我将不胜感激。我已经坚持了几天,没有明确的前进道路。

更新

2 年后找到了解决方案:http://dlib.net/imaging.html#shape_predictor

最佳答案

在没有深度信息的情况下使用单个摄像头跟踪一只手是一项严肃的任务,也是正在进行的科学工作的主题。我可以为您提供一堆关于该主题的有趣和/或被高度引用的科学论文:

  • M。 de La Gorce、D. J. Fleet 和 N. Paragios,“单眼视频中基于模型的 3D 手势估计”,IEEE 模式分析和机器智能交易,卷。 2011 年 2 月 33 日。
  • R。 Wang 和 J. Popović,“使用彩色手套进行实时手部追踪”,ACM 图形交易 (TOG),2009 年。
  • B. Stenger、A. Thayananthan、P. H. S. Torr 和 R. Cipolla,“使用分层贝叶斯过滤器进行基于模型的手部跟踪”,IEEE 交易模式分析和机器智能,卷。 28,没有。 9,第 1372–84 页,2006 年 9 月。
  • J. M. Rehg 和 T. Kanade,“基于模型的自遮挡铰接对象跟踪”,IEEE 计算机视觉国际 session 论文集,1995 年,第 612–617 页。

第2章手部追踪文献调查:

  • T。 de Campos,“铰接式物体和手的 3D 视觉跟踪”,2006 年。

不幸的是,我不知道有什么可以免费使用的手部追踪库。

关于opencv - 使用网络摄像头(不是 Kinect)确定骨骼关节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17124381/

相关文章:

c++ - 如何在opencv2.1中使用opencv2.3头文件

r - 如何对桶形失真图像执行图像变形或从一个坐标系到另一个坐标系的变换?

c++ - cv::Mat 中 cv::Point 的 OpenCV rgb 值

android - 如何让Android应用程序(电视盒)识别或访问USB网络摄像头?

java:网络摄像头应用程序

java捕获网络摄像头图像的macbook

javascript - 跟踪访问者 JS 错误?

php - htaccess 将 wordpress 重定向到 index2.php

javascript - python3 opencv 不保存可读视频

c++ - 如何为 .props 文件中声明的非 native VC 编译器 (GCC) 实现 MSBUILD 文件跟踪功能 (Tracker.exe)?