11 KiB
АНАЛИЗ ДАТАСЕТА: DenseUAV
Дата анализа: 2026-05-09
Метод: GitHub-репозиторий + статья arXiv + эмпирическая проверка локальных файлов на диске
Путь к данным (локально): /media/servml/SSD_2_2TB/datasets/cvgl_datasets/DenseUAV
Источники:
- Код/описание и структура: Dmmm1997/DenseUAV
- Статья: arXiv:2201.09201
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.txtDense_GPS_train.txtDense_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 (метры) или атрибут высоты точки съёмки/привязки (требует подтверждения по статье; в файле присутствуют значения около 90–95 для приведённых строк).
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 из статьи).