Добавил:
У меня есть канал с приколами: t.me/urmipies_garbage Подпишитесь пж-пж!!!! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
02.09.2026
Размер:
400 Кб
Скачать
Министерство цифрового развития, связи и массовых коммуникации Российской Федерации
Ордена Трудового Красного Знамени
федеральное государственное бюджетное образовательное учреждение
высшего образования
«Московский технический университет связи и информатики»
(МТУСИ)
Разрешаю
допустить к защите
КУРСОВАЯ РАБОТА
НА ТЕМУ
Разработка системы позиционирования
объектов на основе стереоскопического компьютерного зрения
Студент Овчинников П.А. ______________
Проверил Гадасин Д.В ______________
Москва 2026
ЗАДАНИЕ
Цель работы:
Разработка клиент-серверного программного решения для определения
положения объекта в пространстве по двум синхронизированным
видеопотокам (стереозрение) с передачей данных по протоколам RTP/
RTCP, обработкой в среде Python и визуализацией трёхмерных координат в
приложении на движке Godot.
Задачи курсовой работы:
1.Спроектировать архитектуру программного решения с учётом
модульной структуры и ролевой модели доступа (администратор
сервера, инженер-калибровщик, оператор визуализации).
2.Реализовать алгоритмы взаимодействия пользователей с системой:
администрирование сервера приёма потоков, калибровка стереопары,
визуализация координат в реальном времени.
3.Разработать пользовательские интерфейсы: консольный интерфейс
администратора и инженера (Python) и трёхмерный интерфейс
оператора (Godot).
4.Описать процесс хранения данных, спроектировать и нормализовать
базу данных для хранения параметров калибровки камер,
конфигураций и логов сессий позиционирования.
5.Провести логическое и физическое моделирование базы данных,
реализовать её структуру в виде таблиц (СУБД SQLite).
Содержание
Введение ............................................................................... 4
1.Предметная область ............................................................... 7
2.Архитектурные основы программного решения .............................. 9
3.Логика работы и процессы взаимодействия ..................... ............. 11
3.1.Алгоритм работы администратора .................................... 11
3.2.Алгоритм работы инженера-калибровщика .. ..... ..... .... ..... .... 12
3.3.Алгоритм работы оператора ............................................ 14
4.Роли пользователей и принципы разграничения доступа .................. 16
5.Технологическая реализация и уровни интеграции ......................... 19
Заключение ........................................................................... 24
Список использованных источников ............ ....................... .......... 26
3

Введение

Системы определения положения объектов в трёхмерном пространстве
на основе методов компьютерного зрения находят широкое применение в
различных областях: от промышленной автоматизации и робототехники до
систем дополненной реальности и спортивной аналитики. Использование
стереопары из двух камер позволяет восстановить глубину сцены и
вычислить метрические координаты наблюдаемого объекта без применения
дорогостоящих лидаров или инфракрасных датчиков.
Основные компоненты системы стереозрения:
–Устройства захвата видео: две синхронизированные IP-камеры,
передающие потоковые данные по сети;
–Транспортный протокол: RTP/RTCP для доставки видеокадров с
временными метками, обеспечивающими корректное сопоставление
изображений;
–Вычислительное ядро: программный модуль на языке Python,
выполняющий калибровку камер, ректификацию, построение карты
диспарантности и триангуляцию координат;
–Подсистема визуализации: клиентское приложение на игровом
движке Godot, отображающее положение объекта в виртуальной
трёхмерной сцене в реальном времени.
При разработке подобных систем возникает ряд технических задач:
обеспечение временной синхронизации кадров с разных камер, минимизация
сквозной задержки от момента захвата изображения до отображения
координат, калибровка стереопары для получения точных метрических
измерений, а также организация эффективного обмена данными между
серверным модулем обработки и клиентом визуализации. Использование
RTCP-меток в сочетании с синхронизацией по NTP позволяет сопоставлять
кадры, полученные в один и тот же момент времени, что критически
4
важно для корректной работы алгоритмов стереозрения. Передача
вычисленных координат через WebSocket-соединение обеспечивает низкую
задержку и возможность подключения нескольких клиентов визуализации
одновременно.
Целью данной работы является разработка программного комплекса
для определения положения объекта в пространстве по двум
синхронизированным видеопотокам с визуализацией результатов в среде
Godot.
Разрабатываемый программный комплекс должен выполнять
следующие функции:
–Приём RTP-потоков с двух IP-камер и извлечение отдельных кадров с
привязкой к RTCP-меткам времени.
–Синхронизация кадров от левой и правой камер по временным меткам
с использованием общего источника точного времени NTP.
–Калибровка стереопары с применением шахматного шаблона, расчёт
и сохранение матриц внутренних параметров, коэффициентов
дисторсии и матриц поворота и переноса.
–Поиск целевого объекта на изображениях
–Триангуляция координат объекта и получение его положения в
метрической системе координат (X, Y, Z).
–Передача вычисленных координат клиенту визуализации в реальном
времени по протоколу WebSocket в формате JSON.
–Отображение трёхмерной сцены в Godot с визуализацией положения
объекта в соответствии с полученными координатами.
–Сохранение траектории движения объекта в файл для последующего
анализа.
Достижением поставленной цели станет создание программного
решения, реализующего полный цикл обработки стереоданных: от захвата
синхронизированных видеопотоков с IP-камер до визуализации трёхмерного
5
положения объекта в игровом движке Godot. Разработанная система может
быть использована в учебных целях для изучения принципов стереозрения,
а также как основа для построения более сложных систем трекинга объектов
в пространстве.
6

1.Предметная область

Предметной областью данной работы является процесс определения
положения объекта в трёхмерном пространстве с использованием
стереоскопической системы из двух синхронизированных камер и
последующей визуализацией полученных координат в среде игрового движка
Godot. Под определением положения объекта понимается вычисление его
метрических координат (X, Y, Z) в реальном времени на основе анализа
видеопотоков, поступающих с левой и правой камер.
В рамках предметной области рассматриваются следующие основные
процессы:
–приём и декодирование видеопотоков с IP-камер по протоколам RTP/
RTCP;
–синхронизация кадров от двух камер по временным меткам;
–калибровка стереопары с использованием калибровочного шаблона;
–триангуляция координат и получение положения объекта в
метрической системе;
–передача вычисленных координат клиентскому приложению через
WebSocket-соединение;
–визуализация положения объекта в трёхмерной сцене Godot;
–сохранение траектории движения объекта для последующего анализа.
Особенностью предметной области является необходимость обработки
разнородных данных: потокового видео в реальном времени, числовых
матриц калибровки, трёхмерных координат и временных меток. Серверное
приложение на языке Python выступает в роли вычислительного ядра,
обеспечивающего приём, синхронизацию и обработку видеоданных, а
клиентское приложение на Godot предоставляет наглядное представление
результатов в виде трёхмерной визуализации.
7
Внутренняя логика системы должна обеспечивать точность
позиционирования, минимальную задержку передачи данных, целостность
калибровочных параметров и возможность масштабирования при увеличении
числа камер или подключаемых клиентов.
8

2.Архитектурные основы программного решения

Разрабатываемая система определения положения объекта в
пространстве по двум камерам реализуется на основе клиент-серверной
архитектуры. В предлагаемой архитектуре сервер является ключевым
вычислительным компонентом и выполняет функции приёма видеопотоков,
обработки данных стереозрения и координации взаимодействия с клиентами.
Он принимает RTP-потоки с двух IP-камер, извлекает кадры, синхронизирует
их по RTCP-меткам времени, выполняет ректификацию изображений,
вычисляет карту диспарантности и определяет трёхмерные координаты
наблюдаемого объекта методом триангуляции. Клиенты взаимодействуют
с сервером посредством обмена данными через WebSocket-соединение,
получая готовые координаты в формате JSON. Роль клиентов в системе
выполняется двумя независимыми приложениями: консольный интерфейс
для администратора и инженера-калибровщика, а также приложение
визуализации для оператора. Приложение администратора функционирует
как тонкий клиент, который позволяет управлять параметрами сервера,
просматривать логи и контролировать состояние подключённых камер. Все
данные о конфигурации и результатах калибровки хранятся в локальной базе
данных SQLite. Приложение оператора разработано на игровом движке Godot
и также является тонким клиентом, поскольку все ресурсоёмкие вычисления
выполняются на серверной стороне, а клиент лишь получает поток координат
и отображает положение объекта в трёхмерной сцене. Важной особенностью
разрабатываемой системы является модульная структура, поэтому каждый
функциональный блок (приём видеопотоков, стереообработка, брокер
сообщений, визуализация) реализован отдельным, независимым модулем.
Для обеспечения мониторинга состояния системы и хранения
параметров калибровки предусмотрена база данных, выполняющая роль
прокси-компонента между модулями обработки и администрирования.
9
Она хранит матрицы внутренних и внешних параметров камер,
коэффициенты дисторсии, историю сессий позиционирования и логи
ошибок синхронизации. Приложение администратора позволяет отслеживать
состояние подключённых камер, проверять актуальность калибровочных
данных и анализировать логи работы системы. Администратором базы
данных является инженер, ответственный за настройку системы, и только он
имеет право обновлять параметры калибровки и очищать устаревшие записи.
Таким образом, по итогам рассмотренного выше материала была
выбрана клиент-серверная архитектура с модульной структурой системы,
представленная на рисунке 2.1
Рисунок2.1 — Архитектура системы
10
Соседние файлы в папке лаба (можете лабу за прошлый курс гадаса обрезать и сдать ему это лол)