我正在开发一个名为ATCS(自动交通 Controller 系统)的项目,它将根据红绿灯前的车辆数量修改红绿灯持续时间。
我使用openCV和backgroundsubtractorMOG来检测车辆,它在车辆行驶时成功运行,但是当红色信号打开时,所有车辆都无法计数。当然,这会使我的软件无法正常工作。
到目前为止,我知道背景减法器MOG是最好的解决方案,因为该系统可以处理小麦,光照强度等多种变化。它将比较当前帧和前一帧,以便将移动物体检测为前景(CMIIW)。那么,行驶中并已停止的车辆又如何呢–因为交通信号灯的红色信号灯亮起,并且迫使驾驶员停止车辆?仍会被检测为前景物体吗?
因此,我想请教最合适的算法。如何计算行驶时的车辆数量,以及由于红色信号而仍停止行驶的车辆-仍然检测为车辆。
谢谢 :)
最佳答案
您如何更新背景?由于光照条件的变化(多云,白天,夜晚,黄昏,天气),您无法保持其统计信息,但是,如果您仍然知道背景的外观(也就是背景的外观),仍然可以检测到停下来的汽车的存在。如果汽车不在那,那就上路。
如果图像中有不让汽车通过的区域,则可以使用该区域来了解照明条件是否正在改变。
您对车辆的视角是多少?有机会将Viola Jones检测器与KLT跟踪器结合使用,可以获得更好,更通用的结果。
关于opencv - 基于BackgroundSubtractorMOG的车辆计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20579342/