【问题标题】:Multiple moving object detection under changing light conditions.在变化的光照条件下检测多个运动物体。
【发布时间】:2012-10-26 23:08:44
【问题描述】:

我正在尝试提取视频帧中的几个移动对象,并将它们提取为前景。数据来自video frames

目前的问题是:光线在变化,所以有一些阴影,或者比实际背景更亮的部分。这导致OpenCV MoG背景分割方法提取错误的背景/前景。

对此,我还没有得到任何直接的方法,但是有一个这样的想法:如果我可以提取上一帧中那些移动物体的边缘,那么也许我可以使用像SIFT这样的算法来跟踪它们下一帧,看看它们在哪里,并将它们视为前景。

我认为在这种情况下,光线变化不会影响结果。如果我在这一点上是对的,那么我的问题是:

如何使用 OpenCV 有效地对这些移动物体进行边缘检测?如果我需要在 OpenCV 中使用SIFT 算法,它可以免费获得吗?从网上,我看到它是非免费的,对吗?

我的第二个问题是: 有没有人对此有更好的想法?

谢谢。

【问题讨论】:

  • 您可以考虑使用更简单的边缘检测器(Sobel、Laplace 等)。
  • @CookieOfFortune:谢谢你的回答。问题是,如何从背景中确定运动物体的边缘,然后在 SIFT 等中跟踪它们,尤其是在变化的光照条件下。你有什么想法吗?
  • 您对您尝试识别的对象(颜色、形状等)有所了解吗?
  • 我想做人体检测,但是他们衣服的颜色可能不一样。

标签: c++ opencv background edge-detection image-segmentation


【解决方案1】:

如果您想进行人体检测/跟踪,您应该寻找与此相关的研究论文或项目。有很多,您甚至可以在 SOF 上找到有关该主题的一些问题:

How can I detect and track people using OpenCV? (可能已过时)

single person tracking from video sequence

How to do motion tracking of an object using video?

此外,还有几个问题涉及特征检测器/描述符,如 SIFT 及其最近的替代品(SURF、ORB、FREAK - 仅举一些在 OpenCV 中实现的例子):

Are there any fast alternatives to SURF and SIFT for scale-invariant feature extraction?

OpenCV for ANDROID image compare

简单地说,SIFT 不是一种跟踪运动物体的算法,它是检测图像区域,这些区域在某种程度上是独一无二的,并且对多种失真(平移、旋转、缩放......)具有鲁棒性。这意味着,稍后可以在不同的图像条件下检测到相同的特征。您确实可以使用类似 SIFT 的算法来识别对象,但对于人员跟踪,也许有更好的选择。 然后,您可以对这些图像区域应用一些跟踪算法,例如光流 - 但还有更具体的用于人类跟踪的算法。

SIFT 和 SURF 在 OpenCV 中“免费”可用,但其中一部分已获得专利,因此人们避免使用它们,因此他们在未来不会因为这些专利而出现问题 - 这就是他们转向“非免费”的原因" OpenCV 模块。

除了您提到的光线问题之外,您还会遇到的其他问题是对象遮挡和人员进出场景。

【讨论】:

  • 感谢您的回答。我会仔细阅读您提供的那些链接以及在光线变化条件下的对象遮挡。
【解决方案2】:

我建议您将图像标准化以进行照明。一种实用的方法是使用“直方图匹配”。

请查看Histogram matching of two colored images in matlab 了解如何使用直方图匹配。

希望对你有帮助

【讨论】:

    【解决方案3】:

    我知道你已经接受了 Rui 的回答,但是经过一番谷歌搜索后,我找到了另一个解决你问题的方法 - 它是 HOG Descriptor

    不幸的是,我不熟悉这个描述符,所以我无法帮助你实现,但是,经过一番谷歌搜索后,我发现这个描述符是used for pedestrian detection

    看看this人体检测代码。

    【讨论】:

    • 亲爱的 Astor,非常感谢您的回答。我也会看看他们。关于。
    • 我正要提到 HOG,但不确定 :) 这是一个谈论 HOG 的链接:answers.opencv.org/question/711/…
    猜你喜欢
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2015-05-19
    • 2016-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多