- •Аннотация
- •Содержание
- •Введение
- •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 Тестирование
- •Выводы по четвёртому разделу
- •Заключение
- •Список использованных источников
Заключение
Выпускная квалификационная работа посвящена теме «Разработка инфраструктуры для автоматизации процессов развертывания и мониторинга приложения» (на примере системы трёхмерного позиционирования объектов на основе стереоскопического компьютерного зрения). В ходе выполнения работы была спроектирована, разработана и протестирована программная система для позиционирования движущихся объектов в реальном времени.
Проведен анализ предметной области.
Изучены принципы построения систем трехмерного позиционирования на базе стереопар, методы синхронизации видеопотоков в IP-сетях (RTSP/RTP, RTCP) и геометрические модели триангуляции. Выявлено, что ключевым фактором точности является синхронизация кадров с погрешностью не более 5 мс, иначе ошибка позиционирования может достигать 10 мм и более. Выполнен сравнительный анализ алгоритмов вычитания фона (MOG2, KNN), на основе которого для реализации выбран MOG2, обеспечивающий оптимальное соотношение скорости (8–10 мс/кадр) и качества обнаружения теней. Сформулированы функциональные и нефункциональные требования к разрабатываемой системе, включая точность позиционирования ±5 мм на дистанции 1,5 м и задержку обработки не более 100 мс.
Выбран и обоснован технологический стек.
Языком серверной части определен Python 3.11, обеспечивающий высокую скорость прототипирования и богатую экосистему библиотек. Библиотекой компьютерного зрения выбран OpenCV 4.8 как стандарт де-факто с открытой лицензией. Для передачи данных в реальном времени обосновано использование протокола WebSocket в связке с форматом JSON и семантикой JSON-RPC 2.0, что обеспечивает низкую задержку и полнодуплексную связь. Средой визуализации и виртуализации стереопары выбран игровой движок Godot 4, позволяющий создавать трехмерные сцены и имитировать работу камер без физического оборудования.
Разработаны архитектура и математические модели.
Спроектирована модульная архитектура «клиент-сервер», включающая модули захвата потоков, синхронизации и ректификации, вычитания фона (MOG2), стереосопоставления (StereoBM) и триангуляции. Разработана математическая модель триангуляции для ректифицированной стереопары с проверкой вертикального рассогласования. Предложена модель синхронизации на основе временных меток RTCP и буферизации кадров, а также модель данных JSON-RPC 2.0 для обмена координатами и командами. Разработана концепция виртуального стенда на Godot 4 для верификации алгоритмов.
Выполнена практическая реализация и тестирование.
Разработанная программная система включает многопоточный модуль захвата RTSP-потоков с автоматическим переподключением, реализацию вычитания фона MOG2 с морфологической постобработкой, модуль триангуляции и WebSocket-сервер. Создан клиент визуализации на Godot 4 с трехмерной сценой и поддержкой JSON-RPC. Функциональное тестирование подтвердило предъявленные требования
Практическая значимость работы заключается в создании открытого, масштабируемого и готового к внедрению программного комплекса, который может быть использован на российских промышленных предприятиях, в логистических центрах и робототехнических системах для трёхмерного позиционирования движущихся объектов.
Таким образом, все поставленные в работе задачи решены в полном объёме, цель работы достигнута.
