2

我正在开发一个名为 ATCS(自动交通控制器系统)的项目,它将根据交通灯前的车辆数量来修改交通灯持续时间。

我使用openCV和backgroundsubtractorMOG来检测车辆,当车辆移动时它运行成功,但是当红色信号打开时,所有车辆都是不可数的。当然这会使我的软件无法工作。

到目前为止,我知道 backgroundsubtractorMOG 是最好的解决方案,因为该系统可以在天气、光强度等多种变化中工作。它将比较当前帧和前一帧,以便将移动对象检测为前景 (CMIIW)。那么移动并停止的车辆怎么样 - 因为交通灯的红色信号灯亮并且它迫使驾驶员停止他们的车辆?它还会被检测为前景物体吗?

所以我想问最合适的算法来做。如何在移动时计算车辆数量,以及当车辆停止移动时,因为红色信号 - 它仍然检测为车辆。

谢谢你 :)

4

3 回答 3

1

你如何更新你的背景?由于照明条件(云、白天、夜晚、黄昏、天气)的变化,您无法对其进行统计,但是如果您仍然知道背景的外观(即如果车不在那里,道路。如果图像中有汽车没有通过的区域,您可以使用它来了解照明条件是否正在发生变化。

您对车辆的视角是什么?将 Viola Jones 探测器与 KLT 跟踪器相结合,您有可能获得更好、更通用的结果。

于 2013-12-14T05:29:23.953 回答
1

如果背景减法对您有用(如您所说),我会尝试添加另一个背景模型。然后您可以执行两次背景减除,一次用于前一张图像(适用于所有移动物体),一次用于您的图像long term background model,它将检测所有停止的车辆(以及移动的车辆),但对于不同的照明条件可能会有一些缺点。

您可以查看ViBeGaussian-Mixture-Models创建这些背景模型。

另一种方法是引入安东尼奥已经提到的一些跟踪机制。一旦通过背景减法检测到车辆(只有移动的物体会出现在图像中),您就会开始跟踪,即使没有再次检测到它们(因为它们没有移动),您也会知道它们在那里。因此,您需要一种不是“通过检测进行跟踪”而是其他方法的跟踪方法。我会推荐卡尔曼滤波器或粒子滤波,或者可能是均值偏移跟踪。

编辑:一种经常用于车辆检测的方法,类似于背景减法技术是Local Binary Patterns (LBP)

于 2013-12-16T10:25:31.880 回答
0

我建议使用带有“汽车”和“公共汽车”模型的潜在 SVM 检测器来检测车辆,然后对获得的边界框应用简单的跟踪。

潜在 SVM 检测器: http: //docs.opencv.org/modules/objdetect/doc/latent_svm.html

于 2013-12-15T08:48:53.107 回答