1

Я работаю над проектом под названием ATCS (Automatic Traffic Controller System), он будет изменять продолжительность светофора на основе количества транспортного средства перед светофором.Подсчет транспортных средств на основе BackgroundSubtractorMOG

Я использовал openCV и backgroundsubtractorMOG для обнаружения автомобиля, он успешно работает, когда движутся транспортные средства, но когда красный сигнал включен, все транспортные средства бесчисленны. Конечно, это сделает мое программное обеспечение не работает.

До сих пор я знаю, что backgroundsubtractorMOG - лучшее решение, потому что эта система работает во множестве вариаций, интенсивности света и т. Д. Он будет сравнивать текущий кадр и предыдущий кадр, чтобы движущийся объект был обнаружен как передний план (CMIIW). так как насчет транспортного средства, которое двигалось и остановилось - потому что красный сигнал светофора включен, и это заставляет водителя останавливать свое транспортное средство? Будет ли он по-прежнему детектироваться как объект переднего плана?

Поэтому я хочу спросить наиболее подходящий алгоритм для этого. Как подсчитать количество транспортных средств при его движении, также когда транспортное средство останавливается, потому что красный сигнал - он все еще определяется как транспортное средство.

спасибо :)

ответ

1

Как вы обновляете свой фон? Из-за изменений в состоянии освещения (облака, день, ночь, сумерки, погода) вы не можете сохранять статистику, однако присутствие остановленного автомобиля можно обнаружить, если вы все еще знаете внешний вид фона, то есть появление дорога, если машины там нет. Если у вас есть область изображения, на которой автомобиль не проходит, вы можете использовать это, чтобы понять, изменяются ли условия освещения.

Каков ваш угол обзора для транспортных средств? Существует вероятность того, что в сочетании с детектором Виола Джонс с трекером KLT вы получите лучшие и более общие результаты.

+0

Да, конечно, фон всегда меняется в зависимости от погодных условий, поэтому я использую статистический метод, я не обнаружил купируются транспортное средство (припаркованное), но транспортное средство, которое было перемещено и остановлено, точно так же, как когда вы едете, и красный сигнал, если загорается светофор, вы остановите свой автомобиль. –

+0

Я поставил камеру на светофоре, так что поймаю переднюю часть автомобиля. –

0

Я бы предложил использовать скрытый детектор SVM с моделью «автомобиль» и «шина» для обнаружения транспортных средств, а затем применить простое отслеживание на ограничивающих коробках, которые вы получаете.

Скрытое детектор SVM: http://docs.opencv.org/modules/objdetect/doc/latent_svm.html

1

Если вычитание фона работает для вас (как вы сказали), я хотел бы попробовать добавить еще одну модель фона. Затем вы можете выполнить вычитание фона два раза, один раз для предыдущего изображения (работает для всех движущихся объектов) и один раз для вашего long term background model, который будет обнаруживать все остановленные транспортные средства (и движущиеся), но может иметь некоторые недостатки при различных условиях освещения.

Вы можете посмотреть ViBe или Gaussian-Mixture-Models для создания этих фоновых моделей.

Другим способом было бы введение некоторого механизма слежения, как уже упоминал Антонио. Когда транспортное средство обнаруживается путем вычитания фона (на изображении будут отображаться только движущиеся объекты), вы начинаете отслеживание, и вы будете знать, что они там, даже если они не были обнаружены снова (потому что они не перемещаются). Таким образом, вам нужен метод отслеживания, который не является «отслеживанием по обнаружению», а некоторым другим методом. Я бы порекомендовал фильтр Калмана или фильтрацию частиц, или, может быть, отслеживание с замедленным сдвигом.

EDIT: один метод часто используется для обнаружения автомобиля, который похож на фоне методов вычитания являются Local Binary Patterns (LBP)

Смежные вопросы