Подсчет транспортных средств на основе BackgroundSubtractorMOG

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

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

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

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

Спасибо :)


person David Aditya    schedule 14.12.2013    source источник


Ответы (3)


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

Какой у вас угол обзора для транспортных средств? Есть шанс, что, объединив детектор Viola Jones с трекером KLT, вы получите лучшие и более общие результаты.

person Antonio    schedule 14.12.2013
comment
Да, конечно, фон всегда меняется в зависимости от погоды, поэтому я использую статистический метод, я не буду обнаруживать остановившееся транспортное средство (припаркованное), но транспортное средство, которое было перемещено и остановилось, точно так же, как когда вы едете и красный сигнал, если движение свет горит, тогда вы остановите свою машину. - person David Aditya; 14.12.2013
comment
Я ставлю камеру на светофор, чтобы она ловила переднюю часть машины. - person David Aditya; 14.12.2013

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

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

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

РЕДАКТИРОВАТЬ: один метод, часто используемый для обнаружения транспортных средств, который похож на методы вычитания фона: Local Binary Patterns (LBP)

person Micka    schedule 16.12.2013

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

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

person GilLevi    schedule 15.12.2013