5.4 KiB
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.