- •Аннотация
- •Содержание
- •Введение
- •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 Тестирование
- •Выводы по четвёртому разделу
- •Заключение
- •Список использованных источников
1.6 Требования к системе
На основе анализа предметной области, изученных принципов построения стереоскопических систем и существующих аналогов были сформулированы требования к разрабатываемому программной системы (таблицы 1.2 - 1.3). Требования разделены на две категории: функциональные (FR), определяющие, какие задачи должна выполнять система, и нефункциональные (NFR), устанавливающие ограничения на качество и условия её работы [10]
Таблица 1.2 – Функциональные требования
Номер |
Описание |
Приоритет |
1 |
Система должна принимать видеопотоки от двух IP-камер по протоколу RTSP/RTP с разрешением 1920×1080 |
Высокий |
2 |
Система должна выполнять калибровку стереопары по шахматному паттерну, сохраняя параметры в файл |
Высокий |
3 |
Система должна определять 3D-координаты объекта методом триангуляции с точностью ±5 мм на расстоянии 1,5 м |
Высокий |
4 |
Система должна передавать координаты клиенту по протоколу WebSocket в формате JSON-RPC 2.0 |
Средний |
5 |
Система должна синхронизировать кадры двух камер с точностью ±5 мс по временным меткам |
Средний |
6 |
Система должна обрабатывать видеопоток непрерывно в течение ≥8 часов без деградации производительности |
Высокий |
7 |
Клиент визуализации должен отображать 3D-сцену с маркером объекта, обновляемым в реальном времени |
Средний |
Таблица 1.3 – Нефункциональные требования
Номер |
Описание |
Приоритет |
1 |
Задержка обработки кадра (от захвата до отправки координат) должна быть ≤100 мс |
Высокий |
2 |
Утилизация CPU сервера при обработке двух потоков 1920×1080, 25 FPS не должна превышать 80 % |
Средний |
3 |
Исходный код должен быть документирован согласно PEP 257 (docstrings для всех публичных функций) |
Высокий |
4 |
истема должна корректно обрабатывать потерю соединения с одной камерой (логирование ошибки, попытка переподключения) |
Средний |
5 |
Передача данных по WebSocket должна использовать шифрование WSS (TLS 1.3) при развертывании вне LAN |
Средний |
Выводы по первому разделу
В первом разделе проведён анализ предметной области, методов и алгоритмов, лежащих в основе систем трёхмерного позиционирования на базе стереоскопического компьютерного зрения.
Установлено, что ключевыми элементами такой системы являются: стереопара калиброванных камер с известным базисом, модуль синхронизации видеопотоков, алгоритм вычитания фона для детекции движущегося объекта, метод стереосопоставления и геометрическая модель триангуляции.
Показано, что синхронизация кадров двух IP-камер является критическим условием для точности позиционирования движущихся объектов: десинхронизация даже на 10 мс при скорости объекта 1 м/с приводит к ошибке в 10 мм. В качестве практически реализуемого подхода предложена программная синхронизация на сервере с использованием временных меток RTCP и буферизацией кадров.
Проведённый анализ методов вычитания фона (MOG2 и KNN) показал, что алгоритм MOG2 как обеспечивает наилучшее сочетание скорости обработки (8–10 мс на кадр), встроенного механизма обнаружения теней и приемлемой точности при работе в контролируемых условиях. Определены ограничения данного метода (нечувствительность к неподвижным объектам, чувствительность к резким изменениям освещения) и предложены способы их компенсации.
Составлена геометрическая модель простой триангуляции для ректифицированной стереопары с параллельными оптическими осями, получены расчетные соотношения.
На основе анализа существующих решений и изученных принципов построения стереосистем сформулированы функциональные и нефункциональные требования к разрабатываемому программной системе. Ключевыми требованиями являются: точность позиционирования ±5 мм на расстоянии 1,5 м, задержка обработки не более 100 мс, синхронизация кадров с точностью ±5 мс, а также непрерывная работа в течение 8 часов без деградации производительности.
