Возможные методы для отслеживания движущихся транспортных средств с OpenCV

Я делаю проект, в котором я должен быть в состоянии отследить движение автомобилей, въезжающих и покидающих территорию. Я использую библиотеку OpenCV с C ++. После поиска по всем функциям я не уверен, какие методы использовать. Я думал об использовании opticalFlow для движения и настройке двух областей интереса для входа / выхода, но я не уверен, как определить фактическое транспортное средство. Может кто-нибудь более опытный с OpenCV предложить мне некоторое понимание?

любая помощь очень ценится.

2

Решение

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

3

Другие решения

Ответ Гениса вызывающе хороший. Вычитание фона, а затем обнаружение пятен — это, вероятно, лучший подход, если не произойдет больших изменений в условиях освещения и если камера находится под углом, где автомобильные объекты не будут перекрываться.

Лично я бы пошел на прямой оптический поток и сегмент на векторах. Вы можете запустить оптический поток на изображении края Собеля, если время обработки является критическим.

Есть много способов снять шкуру с этой кошки. Возможно, если вы разместите скриншоты сцены, вы получите более конкретные решения.

1

По вопросам рекламы [email protected]