0

我对如何实现我的目标有一些疑问。我有一个正在记录人物的外部摄像机,我想在每个人身上画一个椭圆。

现在我要做的是从框架中获取人物的特征点(我使用蒙版让他们只有人物的特征点),设置一个 EM 算法并用我的样本训练它(提取的特征点) . 聚类的数量是图像中人数的两倍(我在使用其他方法(例如使用码本进行像素计数)开始 EM 算法之前得到它)。

我的问题是

  • (a) 我是否必须只为第一帧训练它,然后在接下来的帧中使用预测?或者,
  • (b) 在每一帧中使用带有特征点的火车?

现在我正在做选项 b)(我不使用预测),因为我真的不知道如何使用预测。

如果我做了 a),你能帮我解决这个问题,然后如何画椭圆吗?如果我做 b),你能帮我为每个人画一个椭圆吗?因为正确知道我使用 cov、mean 等为同一个人得到了不同的椭圆(例如,一个用于手臂)。

我想要实现的是使用高斯模型的这篇论文:http: //ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=5580105&tag=1&url= http%3A%2F%2Fieeexplore.ieee.org%2Fxpls %2Fabs_all.jsp%3Farnumber%3D5580105%26tag%3D1

4

2 回答 2

1

如果要绘制边界框而不是椭圆,则可以使用函数 groupRectanlges 来合并不同的边界框。

但是,更重要的是 - 对于人员检测,您可以简单地使用 openCV 的人员检测器(基于 HOG)或带有人员模型的潜在 svm 检测器。

于 2013-10-07T21:30:01.060 回答
0

无论如何,您都应该这样做 b),否则您将尝试将关键点与第一帧中的集群(人)进行匹配。几秒钟后,这将无关紧要。

假设从帧到帧的变化不会是压倒性的似乎是合理的,因此重用帧 N-1 上的训练结果是在帧 N 上训练的好种子,可能比从头开始运行 EM 收敛得更快每一帧。

为了绘制椭圆,您可以从 python 绑定中的混合高斯示例中加以利用:

https://github.com/opencv/opencv/blob/master/samples/python/gaussian_mix.py

请注意,如果您使用对角协方差矩阵,您的椭圆将“直线”对齐,它们自己的轴与框架的 X 和 Y 轴对齐,您可以跳过椭圆角度的计算

于 2017-01-05T03:40:42.473 回答