Добавил:
У меня есть канал с приколами: t.me/urmipies_garbage Подпишитесь пж-пж!!!! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Я получил 5 за защиту кста.docx
Скачиваний:
0
Добавлен:
02.09.2026
Размер:
352 Кб
Скачать

3.10 Математическая модель простой триангуляции

В основе расчёта трёхмерных координат лежит модель параллельных оптических осей.

Две одинаковые камеры, разнесённые на расстояние базы B, имеют параллельные оптические оси и общее фокусное расстояние f(измеренное в пикселях). Искажениями объективов пренебрегаем или считаем их заранее скомпенсированными. Главные точки изображений совпадают с центрами сенсоров.

Алгоритм вычисления координат

1. Захватывают синхронизированные кадры с левой и правой камер.

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

3. Вычисляют диспарантность

4. Рассчитывают глубину

5. Вычисляют координаты главной точки.

6. Тройка (X, Y, Z)1 с меткой времени передаётся в систему визуализации.

3.11 Математическая модель простой триангуляции

Синхронизация двух видеопотоков критична для корректности стереосопоставления: если левый и правый кадры сняты в разные моменты времени, движущийся объект окажется в разных позициях, что приведет к ложной диспаратности и ошибке позиционирования. Задача синхронизации — выбрать пары кадров, захваченных одновременно (с точностью до допустимого порога Δt).

RTCP Sender Report (SR): протокол RTCP передает периодические отчеты, включающие время (Network Time Protocol, 64 бита: 32 бита — секунды с 1900 года, 32 бита — доли секунды) и соответствующий ему RTP timestamp . Сервер обработки, получив SR от обеих камер, может привести timestamp к единой шкале времени.

Для синхронизации применяется алгоритм

  1. Инициализация: при старте системы каждая камера отправляет RTCP SR; сервер запоминает пары (NTP₁, RTP_ts₁) для левой камеры и (NTP₂, RTP_ts₂) для правой.

  2. Буферизация: кадры помещаются в очереди с метками времени t_left и t_right.

  3. Выбор пар: сервер извлекает кадр из левой очереди с меткой t_left, ищет в правой очереди кадр с меткой t_right, минимизирующей |t_left − t_right|.

  4. Проверка порога: если |t_left − t_right| < Δt_threshold (обычно 5 мс), пара принимается; иначе, если t_left < t_right, левый кадр отбрасывается (слишком старый), извлекается следующий; если t_left > t_right, правый кадр отбрасывается.

3.12 Модель данных

Для обеспечения сохранности параметров калибровки стереопары, логирования событий системы и ведения истории сеансов позиционирования в разрабатываемом программной системе предусмотрена легковесная реляционная база данных. С учётом специфики работы системы (отсутствие высоких требований к горизонтальному масштабированию и сложным запросам в реальном времени) в качестве системы управления базами данных выбрана SQLite 3. Использование SQLite позволяет хранить всю структуру в одном файле (например, tracking.db), что упрощает развёртывание инфраструктуры и не требует выделенного сервера БД.

Модель данных включает три основные сущности: calibration (параметры калибровки камер), sessions (сеансы позиционирования) и logs (системные события). Схема базы данных представлена на рисунке 3.1.

Рисунок 3.1 – Модель базы данных

Выводы по третьему разделу

В третьем разделе выполнено проектирование архитектуры системы трёхмерного позиционирования, а также разработаны математические модели ключевых подсистем, обеспечивающие требуемые функциональные и нефункциональные характеристики.

Спроектирована общая архитектура системы, следующая паттерну «клиент–сервер» с асинхронной обработкой на серверной стороне и событийно-управляемой логикой на клиенте. Серверная часть включает пять основных модулей: захвата видеопотоков (два независимых потока с буферизацией в потокобезопасные очереди), синхронизации и ректификации (выбор пар кадров с временной разницей менее 5 миллисекунд), стереосопоставления (вычисление карты диспаратности), триангуляции и детекции объекта (вычисление трёхмерных координат), а также WebSocket-сервера для передачи данных клиенту. Клиентская часть на Godot 4 обеспечивает визуализацию трёхмерной сцены с маркером объекта, обновляемым в реальном времени.

Разработана архитектура двухканального вычитания фона на основе алгоритма MOG2. Обоснована независимость фоновых моделей для левой и правой камер, обусловленная различной перспективой и некоррелированными источниками шумов. Предложен механизм адаптивного управления скоростью обучения модели: при обнаружении аномально высокой доли пикселей переднего плана (более тридцати процентов площади кадра) параметр скорости обучения увеличивается в три раза для ускоренной адаптации к резким изменениям освещения. В качестве координат объекта выбран центр ограничивающего прямоугольника, что обеспечивает устойчивость к разрывам маски и вычислительную простоту по сравнению с центром масс.

Разработана математическая модель простой триангуляции для ректифицированной стереопары с параллельными оптическими осями. Глубина сцены определяется как отношение произведения фокусного расстояния и базиса к диспаратности — горизонтальному смещению соответствующей точки между левым и правым изображениями. Горизонтальная и вертикальная координаты вычисляются через пропорциональное преобразование с использованием глубины и фокусного расстояния. Введена проверка вертикального рассогласования: если разница вертикальных координат центра объекта на левом и правом кадрах превышает два пикселя, кадр считается непригодным для триангуляции. Данное условие позволяет отбраковывать кадры с плохой синхронизацией или объектами, находящимися вне стереозоны.

Предложена модель синхронизации видеопотоков на основе временных меток RTCP, передаваемых в составе протокола RTP. Разработан алгоритм буферизации кадров обеих камер с последующим выбором пары, минимизирующей разницу временных меток. Установлен порог синхронизации в 5 миллисекунд, обеспечивающий погрешность позиционирования не более 5 миллиметров при скорости движения объекта до одного метра в секунду. При превышении порога более ранний кадр отбрасывается, что предотвращает использование десинхронизированных пар.

Разработана модель данных для обмена информацией между сервером и клиентом на основе протокола JSON-RPC версии 2.0. Определены типы сообщений: update_position для передачи трёхмерных координат с временной меткой, status для информирования о состоянии системы (калибровка, отслеживание, ошибка), command для управляющих команд от клиента (запуск отслеживания, остановка отслеживания, калибровка). Формат сообщений включает обязательные поля, указывающие версию протокола, метод вызова и параметры (координаты X, Y, Z в миллиметрах, временная метка в миллисекундах).

Предложена концепция среды виртуализации стереопары на базе игрового движка Godot 4, позволяющая генерировать синхронизированные пары изображений с точным знанием геометрии сцены. Виртуальный стенд обеспечивает полный контроль над параметрами камер (базис 150 миллиметров, фокусное расстояние около 770 пикселей при разрешении 1920 на 1080 пикселей), идеальную синхронизацию кадров и возможность программного движения тестового объекта по заданной траектории (синусоидальной или линейной). Использование виртуальной среды позволяет верифицировать алгоритмы вычитания фона и триангуляции без физических камер, значительно упрощая отладку и обеспечивая повторяемость экспериментов.

Таким образом, в третьем разделе полностью решены задачи проектирования архитектуры системы, разработки математических моделей триангуляции, синхронизации и вычитания фона, а также модели данных для взаимодействия компонентов системы. Спроектированная архитектура является модульной, масштабируемой и пригодной для реализации на выбранном технологическом стеке, что создаёт основу для последующей разработки и тестирования системы.

Соседние файлы в предмете Дипломная работа (подготовка и защита)