split into chapters

This commit is contained in:
2026-04-01 13:36:34 +03:00
parent 2b137dfccc
commit 26f2fac07b
32 changed files with 369 additions and 294 deletions

View File

@@ -0,0 +1,51 @@
2.3.1 Применение архитектуры сиамских близнецов для сопоставления кадров из различных доменов
Абстрактно, сиамские близнецы представляют собой следующую архитектуру (рисунок 1):
На вход подаются два или более объекта с одинаковой сигнатурой.
Каждая входная информация проходит одинаковый пайплайн обработки (получение признаков при помощи CNN).
Полученные наборы признаков объединяются в вектор (1\times M).
Голова модели представляет собой полносвязную нейронную сеть.
Рисунок 1 Абстрактная архитектура сиамских близнецов
В качестве входной информации выступят два кадра: текущий снимок видеокамеры и эталонный снимок, для которого точно известна позиция. Выходная информация будет представлять собой вещественное число от 0 до 1 степень схожести двух картинок (Рисунок 2).
Рисунок 2 Интерфейс алгоритма (входные и выходные данные)
На базе такой архитектуры реализована модель «SiaN-Similarity» с использованием фреймворка PyTorch и включает общий скелет на базе предобученной модели «ResNet18» и голову сравнения (рисунок 3). На вход подаются два изображения размером \left(B,3,256,256\right), где B размер пакета данных (batch). Эти изображения представляют собой текущий кадр («Image 1») и кандидат-эталон «Image 2». Извлеченные при помощи «ResNet18» признаки f_1 и f_2 объединяются в вектор [f_1,f_2,f1f2,f1*f2] размером \left(B,2048\right), так как каждый из векторов f_1 и f_2 имеет размер (B,\ 256). Все это проходит через многослойный перцептрон (MLP), где выход вероятность схожести картинок (рисунок 3).
Обучение модели проводилось на собственном датасете «ya_go_maps» - собственный набор, состоящий из 327 пар изображений разных доменов (261 тренировочных и 66 валидационных) с бинарными метками (одинаковы или разный домен). Датасет сформирован на основе снимков из различных онлайн-карт («Яндекс.Карты» и «Google Maps»). Для обучения использовалась функция потерь Binary Cross Entropy Loss (BCELoss), которая идеально подходит для бинарной классификации схожести изображений:
l_n=-\left(y_nlog\left(x_n\right)+\left(1-y_n\right)log\left(1-x_n\right)\right),
где x_n предсказанная вероятность, y_n истинная метка (1 для одинаковых пар снимков, 0 для разных). Средняя потеря по батчу вычисляется как
\frac{1}{N}\sum_{n}l_n
BCELoss выбрана из-за совместимости с сигмоидным выходом и способности эффективно различать градиенты для вероятностей, что отлично подходит для задач сопоставления изображений с доменным сдвигом.
Рисунок 3 Архитектура модели «SiaN-Similarity»
Платформа обучения «Kaggle» с видеокартой «Tesla P100». Весь процесс обучения занял 24 минуты и остановился на 56 эпохе (ранняя остановка). Train Loss снизилась до 0.27 и монотонно убывала на протяжении всех эпох (за небольшими исключениями. После ~30 эпохи модель начала переобучаться и сработала ранняя остановка (early stopping). Лучшая Val Loss 0.2929 (эпоха 36) при Val Accuracy 0.90. Однако лучшая точность достигнута на последней эпохе 0.9630, правда функция потерь в том случае слишком высокая и слишком низкий recall, что критично для дальних полетов, ведь высок риск еще большего накопления ошибок.
Рисунок 4 Графики обучения «SiaN-Similiarity»
Модель демонстрирует консервативный характер: высокий recall минимизирует пропуски истинных совпадений эталонных кадров (false negatives), что критично для коррекции траектории БПЛА. Низкая объясняется доменным сдвигом и малым размером датасета модель склонна классифицировать неоднозначные пары как одинаковые. Это приемлемо для навигации, где false positives приводят лишь к проверке дополнительных кандидатов, а false negatives могут вызвать потерю позиции (рисунок 5).
Рисунок 5 Матрица ошибок «SiaN-Similarity»
На рисунке 6 и 7 показаны примеры верных предсказании модели и неверных соответственно.
Рисунок 6 Верно угаданные сэмплы «SiaN-Similarity»
Рисунок 7 Неверно угаданные сэмплы «SiaN-Similiarity»

View File

@@ -0,0 +1,2 @@
2.3.2 Применение архитектуры сиамских близнецов для вычисления матрицы гомографии между двумя кадрами

View File

@@ -0,0 +1,3 @@
2.3.3 Применение архитектуры сиамских близнецов для вычисления матрицы гомографии между двумя кадрами

View File

@@ -0,0 +1,5 @@
2.3 Методы глубого обучения
Основным минусом базового решения является то, что любая его реализация предполагает накопление погрешности. В таком случае корректировка позиции может стать хорошим дополнением для снижения дрейфа.
Одной из проблем такого подхода является поиск необходимого эталонного снимка. Снимки могут совершаться в разное время суток, в разных годах, при неодинаковых условиях (ветер, туман, погода, сезон года), но иметь какие-то общие схожие паттерны. Классические способы решения сопоставления таких кадров работают крайне плохо, однако модели на основе нейронных сетей справляются с этой задачей куда лучше.

View File

@@ -0,0 +1,8 @@
# 2.3 Эталонные снимки
## Содержание раздела
| Подраздел | Название | Файл |
|-----------|----------|------|
| 2.3.1 | Применение архитектуры сиамских близнецов для сопоставления кадров из различных доменов | 2.3.1_siamese_match.md |
| 2.3.2 | Применение архитектуры сиамских близнецов для вычисления матрицы гомографии | 2.3.2_siamese_homography.md |