Какой метод обнаружения объектов с использованием OpenCV лучше всего подходит для меняющихся сред? - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь определить лучшие методы и реализации OpenCV для идентификации объектов, которые появляются в прямом эфире с камеры. Реализация должна быть устойчивой к изменяющимся условиям освещения и в идеале должна обеспечивать небольшое движение на заднем плане (движение деревьев / облаков), не вызывая слишком много шума.

Опции, которые я пробовал до сих пор, включают:

-Определение абсолютных различий в пикселях между пустой рамкой фона и текущей рамкой (плохо работает при изменении условий освещения или при колебаниях камеры)

- Вычитание фона (хорошо для изменения условий, но приводит к чрезмерному шуму)

- Он также думал об использовании обнаружения краев, на которое не влияют изменения условий освещения, и каким-то образом сравнивал формы объектов, чтобы увидеть, что нового

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

Что бы вы порекомендовали? Я использую OpenCV через Visual Studio 2017 в C ++

1 Ответ

0 голосов
/ 04 апреля 2019

Я делаю курсовой проект по аналогичному проекту. Я использовал несколько методов, таких как порог HSV / RGB, накопленное разностное изображение и MOG из библиотеки OpenCV.

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

Этот метод относительно хорош для вашего случая, поскольку он не чувствителен к достаточно медленным изменениям освещения и движениям камеры. Однако стационарный объект не будет обнаружен.

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

Удачи!

...