write chapter_3

This commit is contained in:
2026-04-01 14:00:38 +03:00
parent 26f2fac07b
commit 2561ba1cbf
21 changed files with 557 additions and 18 deletions

View File

@@ -1,7 +1,51 @@
2.4 Датасет
Для обучения и тестирования моделей глубокого обучения, описанных в разделе 2.3, был создан специализированный датасет `ya_go_maps`, состоящий из пар изображений, полученных из двух различных картографических источников: Яндекс.Карт и Google Maps.
\section{Структура датасета}
Каждый элемент датасета представляет собой пару изображений одной и той же географической локации, полученных с различных картографических сервисов. Изображения в паре имеют одинаковое разрешение и именуются по шаблону: `{id}_google.png` и `{id}_yandex.png`, где `id` — порядковый номер пары. Например, изображения `0063_google.png` и `0063_yandex.png` соответствуют одному и тому же участку местности.
\section{Географические координаты и масштаб}
Сбор данных осуществлялся в пределах следующего географического региона:
\begin{itemize}
\item Широта: от 49.134520 до 49.235065
\item Долгота: от 55.767660 до 55.825204
\end{itemize}
Данный регион соответствует территории города Казань. Снимки выполнялись на уровне приближения (zoom) 18, что обеспечивает детализацию, достаточную для распознавания характерных объектов на местности.
\section{Трансформация перспективы}
При полёте беспилотного летательного аппарата камера направлена приблизивно вниз, что существенно отличается от ракурса, под которым пользователь просматривает карту в веб-браузере. Для корректного обучения модели, которая будет применяться в реальных условиях полёта, к исходным снимкам карт применяется аффинное преобразование перспективы. Данная трансформация выполняется с использованием класса `Simulator` (файл `simulator.py`).
После применения преобразования изображения масштабируются до размера `CHUNK_WIDTH / 2` пикселей. Значение константы `CHUNK_WIDTH` определяется в файле `constants.py` и соответствует размеру кадра, с которым работает система технического зрения автопилота.
\section{Формирование датасета}
Процесс генерации датасета реализован в файле `generate_dataset.py` и включает следующие этапы:
\begin{enumerate}
\item Определение географических координат (широта и долгота) путём случайной выборки или перебора точек в пределах заданного диапазона
\item Загрузка снимков с Яндекс.Карт и Google Maps для выбранной локации
\item Применение аффинного преобразования перспективы к обоим снимкам
\item Масштабирование изображений до целевого разрешения
\item Сохранение пары изображений в директорию `dataset_ya_go_maps/`
\end{enumerate}
\section{Применение датасета}
Датасет `ya_go_maps` используется для обучения сиамских нейронных сетей, предназначенных для решения двух задач:
\begin{itemize}
\item Сопоставление изображений из различных доменов (раздел 2.3.1)
\item Вычисление матрицы гомографии между кадрами (раздел 2.3.2)
\end{itemize}
Наличие парных изображений от разных картографических провайдеров позволяет модели научиться находить соответствия между изображениями, полученными в различных условиях визуализации, что критически важно для системы навигации БПЛА.
\section{Доступность}
Датасет доступен в двух версиях: `ya_go_maps_v1.zip` (около 463 МБ) и `ya_go_maps_v2.zip` (около 197 МБ). Версия v2 содержит оптимизированный набор данных, полученный путём перебора географических точек по сетке 20×20.

View File

@@ -0,0 +1 @@
- [x] Описать из datasets\ya_go_maps, как это сделано. Взяты lat и lon периметром 5 км какой-то области города, и образованы таким образом снимки. Написать эту подглаву