【问题标题】:Human full body detection: contour rather than rectangle人体全身检测:轮廓而非矩形
【发布时间】:2016-12-31 12:04:22
【问题描述】:

我必须使用 opencv 实现整个人体的轮廓检测(从脚到头,在几个姿势,如举手等)。我设法编译并运行了我在这里找到的代码https://gist.github.com/yoggy/1470956,但它只在身体周围绘制了一个矩形,而不是精确的轮廓。谁能帮我识别和显示轮廓本身?

谢谢!!

【问题讨论】:

  • peopledetect opencv 样本也是如此,它只绘制矩形

标签: opencv


【解决方案1】:

恐怕这个问题的答案是:

没有任何算法可以完美地做到这一点。

计算机视觉还没有发展到那种程度。看看最近在 CVPR、PAMI 上的论文,你会发现大多数算法都是“矩形”的,或者更具体地说,是基于边界框的,在人类标记和算法检测方面。

确实可以在边界框内找到轮廓。但是计算机只是不知道哪个轮廓属于指定对象。

我建议您搜索“人体姿势估计”以获取更多信息。

【讨论】:

  • 我同意。不确定我的老板会不会;)无论如何,我必须尽可能合理地做到这一点
  • 和你的老板谈谈。他试图创造下一个世纪。
  • 我的意思是,它不一定是准确的,我确实看到一个旧项目(没有 opencv)粗略地实现了这一点。
  • 你找到解决办法了吗?
【解决方案2】:

一种可行的方法是背景减法:

http://docs.opencv.org/3.1.0/db/d5c/tutorial_py_bg_subtraction.html

这适用于视频,但也可能适用于您处于受控(固定摄像头)环境中的单个图像,在该环境中您拥有姿势图像和背景图像,没有人在场。

【讨论】:

    【解决方案3】:

    您可以在返回的边界框内使用函数 findCountors:

    http://docs.opencv.org/doc/tutorials/imgproc/shapedescriptors/find_contours/find_contours.html

    【讨论】:

    • 非常感谢!看起来像我需要的。我试图把它放在上面的代码中没有成功,你能指导我如何实际看到它吗?假设阈值是恒定的。或者最好进入 peopledetect.cpp opencv 样本。再次感谢
    • 我不确定,因为我对该代码没有太多经验。
    猜你喜欢
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    • 2012-11-09
    • 1970-01-01
    • 2019-11-29
    • 2016-05-28
    相关资源
    最近更新 更多