Files
Dense-UAV-prepare/DenseUAV_Dataset_Analysis.md
2026-05-09 12:54:27 +03:00

11 KiB
Raw Permalink Blame History

АНАЛИЗ ДАТАСЕТА: DenseUAV

Дата анализа: 2026-05-09
Метод: GitHub-репозиторий + статья arXiv + эмпирическая проверка локальных файлов на диске
Путь к данным (локально): /media/servml/SSD_2_2TB/datasets/cvgl_datasets/DenseUAV

Источники:


1. МЕТАДАННЫЕ

Поле Значение
Полное название Vision-Based UAV Self-Positioning in Low-Altitude Urban Environments
Название датасета DenseUAV
Авторы Ming Dai, Enhui Zheng, Zhenhua Feng, Jiedong Zhuang, Wankou Yang
Год, Venue arXiv: 2022 (v1), 2023 (v2); IEEE Transactions on Image Processing (TIP), 2024 (по репозиторию)
Задача UAV self-positioning / cross-view geo-localization: retrieval “UAV-view query → satellite-view gallery”
Модальности UAV-view (drone) + Satellite-view (overhead)
Тип данных Реальные городские университетские кампусы (14 кампусов; по описанию из репозитория)
Лицензия В репозитории DenseUAV указан Apache-2.0 для кода; лицензия на данные явно не подтверждена в локальной копии (требует проверки первоисточника)
Объём (локально, эмпирически) ~16 GB (train ~8.8 GB, test ~7.0 GB)

2. ОБЩАЯ СТАТИСТИКА (из репозитория и проверено по локальным файлам)

2.1. Сводка по разбиениям

Subset UAV-view Satellite-view Classes/IDs Кампусы (universities)
Training 6,768 13,536 2,256 10
Query (test) 2,331 4,662 777 4
Gallery (test) 9,099 18,198 3,033 14

Примечания по локальной копии:

  • В train/drone/ и train/satellite/ присутствует 2256 папок-ID, что совпадает с числом training classes.
  • В test/gallery_satellite/ присутствует 3033 папок-ID (gallery classes).
  • В сумме по папкам-ID локальная копия покрывает 3033 уникальных ID (объединение train и test gallery), что согласуется с таблицей “Gallery Classes = 3033”.

2.2. Размеры на диске (локально)

Раздел Объём
DenseUAV (всё) ~16 GB
train/ ~8.8 GB
test/ ~7.0 GB

3. ПОСТАНОВКА ЗАДАЧИ (как используется датасет)

DenseUAV предназначен для самопозиционирования БПЛА по изображению “вид сверху вниз”:

  • Query: UAV-view (дроновое изображение).
  • Gallery: набор satellite-view изображений (обычно несколько высот/вариантов на тот же ID).
  • Цель: найти правильный ID (и/или ближайший satellite-кадр) по embedding similarity.

В статье дополнительно вводятся метрики, оценивающие не только retrieval, но и аспект позиционирования (см. раздел 8).


4. СТРУКТУРА ДАННЫХ (локально)

Эмпирически наблюдаемая структура:

DenseUAV/
├── Dense_GPS_ALL.txt
├── Dense_GPS_train.txt
├── Dense_GPS_test.txt
├── train/
│   ├── drone/
│   │   └── 000001/
│   │       ├── H80.JPG
│   │       ├── H90.JPG
│   │       └── H100.JPG
│   └── satellite/
│       └── 000001/
│           ├── H80.tif
│           ├── H80_old.tif
│           ├── H90.tif
│           ├── H90_old.tif
│           ├── H100.tif
│           └── H100_old.tif
└── test/
    ├── query_drone/
    │   └── 002256/
    │       ├── H80.JPG
    │       ├── H90.JPG
    │       └── H100.JPG
    └── gallery_satellite/
        └── 000001/
            ├── H80.tif
            ├── H80_old.tif
            ├── H90.tif
            ├── H90_old.tif
            ├── H100.tif
            └── H100_old.tif

Наблюдения:

  • Для каждого ID в drone-части лежит 3 изображения: H80.JPG, H90.JPG, H100.JPG (высоты/варианты).
  • Для каждого ID в satellite-части лежит 6 GeoTIFF: текущие H80/H90/H100.tif + версии *_old.tif (по именам файлов — альтернативная/предыдущая спутниковая версия).

5. АННОТАЦИИ И МЕТАДАННЫЕ

5.1. GPS-файлы

В локальной копии присутствуют:

  • Dense_GPS_ALL.txt
  • Dense_GPS_train.txt
  • Dense_GPS_test.txt

Формат строк (эмпирически, по первым строкам):

<relative_path> E<longitude> N<latitude> <height>

Пример:

  • train/satellite/000001/H80.tif E120.38776294444445 N30.32413311111111 94.761

Интерпретация:

  • longitude задан как E...
  • latitude задан как N...
  • последнее поле похоже на высоту/altitude (метры) или атрибут высоты точки съёмки/привязки (требует подтверждения по статье; в файле присутствуют значения около 9095 для приведённых строк).

5.2. Явные пары “query→positive”

В текущей локальной структуре (как она лежит на диске) отсутствуют отдельные файлы вида positive.json/semi_positive.json (как в некоторых patch-based CVGL датасетах). Здесь соответствие задаётся через:

  • общий ID (папка) — как “класс”,
  • и, вероятно, через GPS-метаданные для оценки “позиционирования” (в терминах статьи).

6. ОРИГИНАЛЬНЫЙ SPLIT И КЛАССЫ

По описанию из репозитория:

  • train включает данные с 10 кампусов,
  • test (query) включает 4 кампуса,
  • gallery охватывает 14 кампусов.

Практически это означает:

  • Gallery больше и разнообразнее (3033 классов/ID), чем Query (777 классов/ID).
  • retrieval оценивается как поиск правильного ID в большой галерее (и/или правильного satellite-вида для данного query).

7. ОСОБЕННОСТИ И ПЛЮСЫ/МИНУСЫ (для выбора датасета)

7.1. Сильные стороны

  • Плотная съёмка и ориентирование на задачу self-positioning (в отличие от “объектной” UAV geo-localization).
  • Cross-view (UAV↔satellite) с несколькими вариантами высоты (H80/H90/H100).
  • Наличие GPS в явном виде для спутниковых изображений (и/или для части данных), что помогает считать метрики в метрах/геоошибку.

7.2. Ограничения / вопросы к воспроизводимости

  • Лицензия данных: в репозитории явно указана Apache-2.0 для кода, но лицензионный статус именно датасета нужно подтвердить по первоисточнику/странице распространения.
  • Что означает поле “height” в GPS txt (последнее число) — требует сверки с текстом статьи/документацией.
  • Наличие *_old.tif подразумевает разные версии спутникового вида (может быть полезно как domain shift, но важно понять смысл: “старые тайлы”, другой рендер, другой год и т.п.).

8. ПРОТОКОЛ ОЦЕНКИ (по статье/репозиторию)

Из репозитория:

  • для оценки retrieval используются Recall@K (типично (K \in {1,5,10})).
  • для оценки позиционирования используется метрика SDM@K (введена в статье; отражает “насколько близко по координатам” находятся top-K результаты).

Команды/скрипты (из репозитория) для baseline:

  • обучение: train.py (через train_test_local.sh)
  • тест: test.py
  • Recall: evaluate_gpu.py
  • SDM: evaluateDistance.py

9. КЛЮЧЕВЫЕ ЧИСЛА ДЛЯ ЦИТИРОВАНИЯ

Метрика Значение
Train UAV-view 6,768
Train Satellite-view 13,536
Test Query UAV-view 2,331
Test Gallery Satellite-view 18,198
Classes (train) 2,256
Classes (query) 777
Classes (gallery) 3,033
Кампусы 14 (в сумме, по описанию из репозитория)
Объём на диске (локально) ~16 GB
Варианты высоты (по именам файлов) 3: H80, H90, H100

10. ЧТО НУЖНО ДЛЯ ВАШЕГО PIPELINE (если приводить к “UAV-GeoLoc style”)

Если ваши модели/даталоадеры ожидают формат “query list + db list + positives”, то для DenseUAV минимально можно:

  • трактовать ID как label/class (классификация/metric learning),
  • сформировать train_query.txt как строки вида: train/drone/<ID>/H*.JPG <label> train/satellite/<ID>/H*.tif ...
  • сформировать train_db.txt как список всех satellite изображений (или только “не old” версии, если так решено).

При необходимости добавить “позиционирование”:

  • использовать координаты из Dense_GPS_*.txt и определить расстояние между предсказанным top-K и GT (в логике SDM из статьи).