Files
autopilot/dissertation/chapter_2/2.4_dataset/2.4_dataset.md
2026-04-01 14:00:38 +03:00

5.4 KiB
Raw Blame History

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.