【问题标题】:How to write gaussian mixture model in c++ and Opencv如何在 C++ 和 Opencv 中编写高斯混合模型
【发布时间】:2012-05-27 13:12:38
【问题描述】:

我想跟踪视频中的对象。所以我想我可以在 Opencv 和 C++ 中使用“Gaussian Mixture Models”。我想知道如何用 C++ 编写高斯混合模型。有没有比 GMM 更好的算法?

【问题讨论】:

  • 你最好先解释一下你想要跟踪的对象的类型和一些关于应用程序的知识,然后询问哪些类型的方法适合跟踪它。 GMM 在这里可能不合适,因此开始考虑如何实施 GMM 并没有成效。
  • 非常感谢您的回复。我想在路上跟踪路标(bt无需识别此步骤中的标志。由项目的其他功能完成) .通过阅读研究论文,我对 GMM 有了一些了解,我认为更好地识别那种基本形状(矩形、圆形和三角形)有没有比 GMM 更好的算法。

标签: c++ image-processing opencv video-processing


【解决方案1】:

很抱歉没有直接回答这个问题,但是:

阅读研究论文是一件很棒的事情,但老实说,通过在特定数据上尝试自己的想法并更好地理解问题,您将获得更多的知识。

如果您知道形状,最好使用广义霍夫变换或匹配滤波器进行位置估计,并结合卡尔曼滤波器进行跟踪。这些将相对容易实施。或者也许你可以找到现有的实现。

另外,如果你不是一个非常优秀的 C++ 程序员,我会在 Matlab 或 Octave 中而不是 C++ 中对你的想法进行原型设计,因为当问题本身就是你真正的问题时,你最终会在 C++ 中的问题上浪费大部分时间想要专注。

正如我在评论中所说,我暂时不使用 GMM,直到您更好地了解问题以及您将如何使用它们。 (当然,除非您已经很清楚如何使用它们。)

【讨论】:

  • 非常感谢您的回复先生。是的,我可以理解我应该尝试自己的想法来充分了解这个问题,我会尽力做到这一点。所以我做了一些编码,但我不知道这会提供更好的输出。我所做的是首先我从视频中提取图像,这部分现在已经完成。下一部分是识别这些图像的形状。我不知道这会正常工作,因为它比众所周知的 c++ 算法有两个步骤。我希望您对此提出宝贵意见。
  • (另一件事是项目应该根据collage提供的作业使用opencv和c++)
  • 但是没有提到使用 Matlab/easy 语言进行原型设计。实现在 OpenCV 中不起作用的东西是没有意义的,这是在浪费你的时间。我同意 Chris A,不要使用 GMM。至少不是现在。开始使用 Hough 变换。实施它。了解它为什么起作用 - 或者是什么使它停止工作。考虑一些改进。考虑预处理。如果您现在开始使用 GMM,a) 您将使用哪些参数,b) 如果它们不起作用并且您不知道为什么......?
  • 我们可以在视频帧中使用 Hough 变换进行对象检测吗?
猜你喜欢
  • 2012-05-21
  • 2011-09-07
  • 2015-09-12
  • 2021-09-30
  • 2012-09-11
  • 2023-03-24
  • 2014-01-09
  • 2012-05-08
  • 2013-06-11
相关资源
最近更新 更多