- •Аннотация
- •Содержание
- •Введение
- •1. Анализ предметной области
- •1.1 Принципы построения систем трехмерного позиционирования на базе двух камер
- •1.2 Обнаружение движущихся объектов
- •1.3 Алгоритмы вычитания фона в OpenCv
- •1.4 Геометрическая модель простой триангуляции в стереосистеме
- •1.5 Особенности получения и синхронизации видеопотоков в ip-сетях
- •1.6 Требования к системе
- •Выводы по первому разделу
- •2. Выбор средств разработки
- •2.1 Выбор языка программирования для серверной части
- •2.2 Библиотеки компьютерного зрения
- •2.3 Протоколы обмена: WebSocket и json
- •Выводы по второму разделу
- •3. Моделирование системы
- •3.1 Архитектура системы
- •3.2 Среда виртуализации стереопары
- •3.3 Модель вычитания фона для стереопары
- •3.4 Архитектура двухканального вычитания фона
- •3.8 Вычисление центра ограничивающего квадрата
- •3.9 Адаптивное управление параметрами
- •3.10 Математическая модель простой триангуляции
- •3.11 Математическая модель простой триангуляции
- •3.12 Модель данных
- •Выводы по третьему разделу
- •4. Разработка приложения
- •4.1 Структура проекта
- •4.2 Реализация модуля захвата видеопотоков
- •4.3 Реализация вычитания фона и детекции объекта
- •4.4 Реализация триангуляции
- •4.5 Реализация клиента визуализации
- •4.6 Тестирование
- •Выводы по четвёртому разделу
- •Заключение
- •Список использованных источников
3.9 Адаптивное управление параметрами
Статическая сцена может меняться во времени по разным причинам: изменение естественного освещения в течение дня, включение или выключение искусственного света, перемещение теней от неподвижных объектов. Для адаптации модели фона к таким изменениям скорость обучения alpha в алгоритме MOG2 не должна быть фиксированной.[8]
Предлагается вычислять долю пикселей переднего плана в маске gamma как отношение количества ненулевых пикселей маски к общему числу пикселей изображения (произведение ширины W на высоту H). В нормальных условиях, когда по сцене движется один объект, gamma составляет несколько процентов.
Если gamma превышает 0,3 (то есть более тридцати процентов площади кадра отнесено к переднему плану) в течение трёх-пяти последовательных кадров, это может свидетельствовать о двух ситуациях. Первая — по сцене движется очень крупный объект (например, автомобиль вблизи камеры). Вторая — произошло резкое изменение освещения (включили верхний свет), в результате которого вся сцена стала выглядеть иначе, и текущая модель фона устарела. Во втором случае модель фона должна обновляться быстрее. Поэтому параметр alpha временно увеличивается в три раза.
Когда gamma возвращается к нормальным значениям (менее 0,1), alpha постепенно уменьшается до базового уровня с заданным шагом. Такой механизм позволяет избежать «залипания» объекта в модели фона при длительной остановке: если объект остановился и gamma длительное время остаётся высокой из-за того, что объект уже стал частью фона, увеличенная скорость обучения помогает модели быстрее встроить неподвижный объект в фон.
Предложенная модель вычитания фона для стереопары имеет ряд ограничений, которые должны учитываться при эксплуатации системы.
Неподвижный объект. Если объект останавливается и не движется в течение длительного времени (несколько секунд или минут), он постепенно интегрируется в модель фона и перестаёт детектироваться. Это фундаментальное ограничение всех методов вычитания фона. Для компенсации в системе предусмотрена возможность периодического сохранения «чистой» модели фона (записанной в момент, когда объект заведомо отсутствовал) и её восстановления по команде оператора.
Динамический фон. Алгоритм MOG2 мультимодален, то есть может описывать несколько состояний фона (например, листва с ветром или мерцающий монитор). Однако при очень сильных флуктуациях — сильный дождь, быстрое перемещение теней от облаков — модель может начать ошибочно классифицировать части фона как передний план. В таких случаях требуются дополнительные фильтры, например, анализ временной связности.
Взаимное затенение. Движущийся объект может отбрасывать тень. Если тень попадает в поле зрения только одной камеры, маски переднего плана становятся асимметричными: в одном кадре объект будет больше за счёт тени, в другом — меньше. Хотя встроенное обнаружение теней в MOG2 минимизирует эту проблему, полностью устранить её не удаётся. Рекомендуется устанавливать камеры и освещение так, чтобы тени падали в направлении, перпендикулярном базовой линии стереопары.
Пересекающиеся объекты. Модель предполагает наличие только одного движущегося объекта в стереозоне. При появлении нескольких объектов алгоритм выбора контура с максимальной площадью будет отслеживать самый крупный объект, игнорируя остальные. Для многоканального отслеживания требуется расширение — например, алгоритм связывания объектов по кадрам (tracking) или использование нейросетевого детектора.
Несмотря на указанные ограничения, предложенная модель является адекватным выбором для задачи трёхмерного позиционирования единичного движущегося объекта в контролируемых условиях производственной линии, складского помещения или лабораторного стенда.
