【问题标题】:Particle filter for OpenCV-2.4.3?OpenCV-2.4.3的粒子过滤器?
【发布时间】:2023-03-21 16:16:01
【问题描述】:

我在 c 中使用 opencv-2.4.3,我被面部跟踪部分卡住了,我想使用粒子过滤器进行跟踪,我在 opencv-2.1 版本中得到了它,但是新的 opencv 版本似乎没有这个过滤器或者可能名称会有所不同,有没有人使用过 opencv-2.4.3,可以告诉我如何在 opencv-2.4.3 中使用粒子(冷凝)过滤器

【问题讨论】:

    标签: opencv particle-filter


    【解决方案1】:

    粒子过滤器是贝叶斯推理方法的一种非常具体的实现。 Condensation 是一种特殊的粒子过滤器,由于它已被用于跟踪视觉对象,因此它变得越来越流行。然而,粒子过滤器应该被视为一个框架,或者是一个可以针对每个问题实例化的架构。

    据我所知,OpenCV 包含压缩算法,但您必须提供似然函数。老实说,我不会使用冷凝来跟踪人脸,因为它可能无法正常工作:人脸的外观变化很大,而且很难定义一个动态模型来跟踪人脸在序列中的潜在变化。

    有许多更先进、更可靠的面部跟踪方法(仅提及一种,在线外观模型,http://www.cs.toronto.edu/~fleet/research/Papers/cvpr-01A.pdf)。但是,如果您想要一些简单的东西,我会开始使用面部检测器,例如由级联 (http://docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html#cascade-classifier) 提供的面部检测器,并将检测与 cv::KalmanFilter::KalmanFilter 链接起来。此外,您将获得与使用 cv::CamShift 进行冷凝的结果大致相同的结果。

    【讨论】:

      【解决方案2】:

      正如 marcos.nieto 所说,粒子过滤器是一种近似工具,可以加快对象的建模(对象的描述)和搜索过程(而不是像分类器那样对搜索窗口的每个像素进行贪婪搜索) .

      另外,建模更新率也不足以掩盖突然的外观变化,如果你增加它,你的跟踪器最终会漂移。

      我建议尝试结合使用VideoSurveillanceCascade Classifier 来构建一个基于对象的跟踪器,该跟踪器具有跨帧响应的数据关联。

      【讨论】:

        【解决方案3】:

        虽然您主要使用 OpenCV,但请查看 Accord.NET Extensions 库中粒子过滤算法(以及 Kalman 算法)的 C# 实现。样品包括在内。 关联: https://github.com/dajuric/accord-net-extensions

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-03
          • 1970-01-01
          • 2013-03-29
          相关资源
          最近更新 更多