Initial commit: v1.0

This commit is contained in:
Azidaan
2026-04-16 15:26:59 +03:00
commit 5c5404b122
23 changed files with 7564 additions and 0 deletions

View File

@@ -0,0 +1,688 @@
```
АНАЛИЗ ДАТАСЕТА: World-UAV (UAV-GeoLoc)
```
Дата анализа: 2026-04-06
Метод: Полный эмпирический анализ данных на диске + GitHub-репозиторий + проектная
страница авторов
Все пробелы из предыдущего анализа закрыты реальными данными.
1. МЕТАДАННЫЕ
Поле Значение
Полное
название
UAV-GeoLoc: A Large-Vocabulary Dataset and Geometry-Transformed
Method for UAV Geo-Localization
Авторы Rouwan Wu, Jiacheng Deng, Mingyu Mou, Xingyi He, Maojun Zhang, Yu
```
Liu, Shen Yan (NUDT + Zhejiang University)
```
```
Год, Venue 2025, IEEE Robotics and Automation Letters (RA-L), IF ~5.2, Q1 Robotics
```
DOI 10.1109/LRA.2025.3588061
```
Код https://github.com/RingoWRW/GeoLoc-UAV (Python, 17 stars)
```
Данные https://huggingface.co/datasets/RingoWRW97/UAV-GeoLoc
```
Лицензия CC BY-NC 4.0 (модификация и коммерческое использование
```
```
запрещены)
```
Общий
объём на
диске
```
~181 GB (Country: ~84 GB, Terrain: ~95 GB, Rot: ~1.4 GB, Index +
```
```
weights: ~0.3 GB)
```
2. ОБЩАЯ СТАТИСТИКА
2.1. Сводка по подмножествам
Параметр Country Terrain Rot ИТОГО
Категорий верхнего уровня 11 стран 27 типов ландшафта 1 сцена —
Городов / под-категорий 35 27 1 63
```
Сцен (регионов) 171 200 1 372
```
Параметр Country Terrain Rot ИТОГО
```
DB crop-изображений (спутник) 141,045 132,990 648 274,683
```
```
Query-кадров (дрон) 308,352 337,704 6,688 652,744
```
Всего изображений 449,397 470,694 7,336 927,427
Avg positives / frame 1.00 1.00 1.00 1.00
Avg semi-positives / frame 2.87 2.80 — ~2.83
Уникальных размеров crop 6 9 1 11
```
2.2. Разбиение train / val / test (Index-файлы, только Terrain split)
```
Split Сцен Query-изображений DB-изображений Уник. labels
Train 140 206,108 94,709 9,370
Val 40 62,368 26,597 2,757
Test 20 33,472 11,684 1,439
Итого 200 301,948 132,990 13,566
```
Дополнительные splits: *_country (180/60/30 сцен), *_all (319/100/50 сцен
```
```
объединённо).
```
2.3. Распределение positives на query
```
Из train_query.txt (206,108 строк):
```
Positives на query Количество Доля
1 ~2,500 1.2%
2 ~4,800 2.3%
3 ~2,200 1.1%
4 ~194,558 94.4%
5 ~100 <0.1%
6 ~1,950 0.9%
```
Подавляющее большинство query имеют ровно 4 positive DB-патча (1 точный + 3 semi-
```
```
positive соседа из-за 50% overlap нарезки).
```
3. ИЕРАРХИЯ СЦЕН
3.1. Country: 11 стран, 35 городов, 171 сцена
Страна Городов Сцен Примеры городов
USA 6 29 Boston, Chicago, Los Angeles, New York, San Francisco,
Washington
```
Australia 3 20 Adelaide (7), Melbourne (6), Sydney (7)
```
```
English 4 20 Birmingham (5), Edinburgh (5), London (5), Manchester (5)
```
```
German 4 19 Berlin (5), Falakford (5), Hamburg (4), Munich (5)
```
```
Italy 4 19 Milan (5), Rome (5), Turin (5), Venice (4)
```
```
French 3 13 Lyons (5), Marseilles (4), Paris (4)
```
```
Japan 3 13 Kyoto (4), Osaka (4), Tokyo (5)
```
```
Korea 2 10 Busan (5), Seoul (5)
```
```
Poland 2 10 Krakow (5), Warsaw (5)
```
```
Spain 2 10 Barcelona (5), Madrid (5)
```
```
Brazil 2 8 Rio de Janeiro (3), Sao Paulo (5)
```
```
Замечание: 17 сцен (Edinburgh 5, London 5, Manchester 5, Birmingham/JewelleryQuarter
```
```
1, Chicago/__MACOSX 1) не содержат DB-кропов и positive.json — неполные данные
```
или артефакты архивации.
3.2. Terrain: 27 типов ландшафта, 200 сцен
Тип ландшафта Сцен Тип ландшафта Сцен
Hill 18 Finca 11
Mountain 18 Plateau 11
Fall 12 Volcano 11
Plain 12 Island 10
Basin 11 Gorge 9
Delta 11 Wetland 8
Calcification 6 Prairie 5
Desert 6 Terrace 5
Flowers 6 Farm 5
Тип ландшафта Сцен Тип ландшафта Сцен
Oasis 6 Glacier 5
StoneForest 6 Snow 3
Pasture 2 Danxia 1
Hylare 1 Karst 1
3.3. Rot: 1 сцена, 88 вариантов
```
Сцена: SouthernSuburbs (Аделаида, Австралия)
```
4. ГЕОГРАФИЧЕСКИЙ ОХВАТ
Параметр Значение
```
Диапазон долгот от -155° (Гавайи) до +176° (Новая Зеландия)
```
```
Диапазон широт от -50° (Патагония) до +63° (Гамбург)
```
```
Континентов 6 (Европа, Азия, Северная/Южная Америка, Австралия, Африка —
```
```
через Terrain)
```
Климатических
зон
Множественные: тропики, субтропики, умеренная, субарктика
Ключевое преимущество: Первый UAV-to-satellite датасет с мультистрановым
```
покрытием (6+ стран и все континенты кроме Антарктиды).
```
5. МЕТОДОЛОГИЯ СБОРА ДАННЫХ
```
height100: 72 варианта — поворот каждые 5 градусов (0, 5, 10, ..., 355)
```
height125/150: по 8 вариантов — поворот каждые 45 градусов
Итого: 88 вариантов x 76 кадров = 6,688 query-кадров
```
DB: 648 кропов (27x24 сетка, 200x200 px)
```
5.1. Источники изображений
```
Дроновые виды (query):
```
Параметр Значение
```
Платформа Синтетический рендеринг (Google Earth Studio 3D)
```
```
Тип съёмки RGB, top-down (камера вертикально вниз, pitch ~90°)
```
```
Разрешение кадров 512x512 px (подтверждено из JSON и реальных файлов)
```
```
FOV 30° по вертикали (из camera trajectory JSON)
```
Частота кадров 30 fps, 2.5 сек на траекторию
```
Кадров на траекторию 76 (75 кадров анимации + начальный)
```
Формат JPEG
```
Спутниковые виды (gallery / DB):
```
Параметр Значение
```
Платформа Спутник (Google Earth / Google Maps tiles)
```
```
Формат PNG (кропы), GeoTIFF (merge.tif)
```
Разрешение
кропов
```
от 100x100 до 1000x1000 px (11 уникальных размеров, см.
```
```
раздел 6)
```
```
GSD Варьируется по сценам (зависит от zoom level при рендеринге)
```
5.2. Параметры съёмки дронов
Параметр Значение
```
Высоты полёта 100 м, 125 м, 150 м (3 значения)
```
Азимуты камеры
```
(heading)
```
```
0°, 45°, 90°, 135°, 180°, 225°, 270°, 315° (8 направлений, шаг
```
```
45°)
```
Число вариантов на
сцену
```
24 (3 высоты x 8 азимутов) для Country; 8-24 для Terrain
```
```
FOV камеры 30° (вертикальный, подтверждено)
```
5.3. Примеры данных
Пары query-positive:
Влияние высоты на query-изображение:
Влияние поворота камеры:
6. ПРОСТРАНСТВЕННАЯ НАРЕЗКА СПУТНИКОВЫХ
ПАТЧЕЙ
6.1. Обнаруженные параметры нарезки
Эмпирически установлено путём попиксельного сопоставления кропов с merge.tif:
```
Правило: stride = crop_size / 2 (ровно 50% overlap) для ВСЕХ сцен без
```
исключений.
Параметр
нарезки
Значение
Стратегия Sliding window с фиксированным overlap
```
Overlap 50% (stride = crop_size / 2)
```
```
Именование crop_X_Y.png — X по ширине (col), Y по высоте (row)
```
Позиция в
merge.tif
merge[Y*stride : Y*stride+crop_size, X*stride :
X*stride+crop_size]
6.2. Распределение размеров кропов
```
Crop size (px) Stride (px) Сцен Country Сцен Terrain Итого сцен
```
100x100 50 1 0 1
150x150 75 ~20 11 ~31
200x200 100 ~120 111 ~231
250x250 125 ~15 0 ~15
300x300 150 0 10 10
400x400 200 1 3 4
500x500 250 0 1 1
512x512 256 4 43 47
600x600 300 0 8 8
800x800 400 0 8 8
1000x1000 500 0 4 4
```
Наиболее частый размер: 200x200 px (231 сцена, ~64% всех сцен).
```
6.3. Размеры merge.tif
Размеры merge.tif сильно варьируются:
7. АННОТАЦИИ И МЕТАДАННЫЕ
7.1. Файлы аннотаций на сцену
Файл Содержание Формат
positive.json Точное GT-соответствие: frame_idx -
> [crop_name]
JSON, 1 positive на
кадр
Минимум: ~1280x2560 px
```
Типичный (Country): ~2816x2304 — 3072x2560 px
```
```
Типичный (Terrain, 512 crop): ~7680x5120 — 7680x7680 px
```
```
Максимум: ~15360x11520 px (отдельные сцены Terrain)
```
```
USA/Washington: ~10752x9984 px (512x512 кропы)
```
Файл Содержание Формат
semi_positive.json Частичные перекрытия: frame_idx ->
[crop_1, crop_2, ...]
JSON, 1-5 semi-
positives
db_postion.txt GPS-координаты каждого crop filename lon lat
res_x res_y
```
height{H}_rot{R}.json Траектория камеры для каждого
```
query-варианта
JSON с ECEF, lat/lon,
FOV
merge.tif Полный спутниковый снимок
региона
GeoTIFF
```
{RegionName}.txt Границы региона (start/end
```
```
координаты)
```
Text
7.2. Структура camera trajectory JSON
7.3. Типы аннотаций
Тип аннотации Наличие Комментарий
GPS-координаты Да Из Google Earth, точность ~1-3 м
```
Высота дрона (altitude) Да 100, 125, 150 м (дискретно)
```
```
Азимут камеры (heading) Да 8 значений с шагом 45°
```
FOV камеры Да 30° вертикальный
```
Pitch / Roll Да Фиксированный (top-down, ~90°)
```
Positive/Semi-positive pairs Да positive.json + semi_positive.json
Семантические метки Частично 27 категорий terrain type
```
{
```
"name": "height100_rot0",
"width": 512, "height": 512,
"frameRate": 30,
"numFrames": 75,
"durationSeconds": 2.5,
"cameraFrames": [
```
{
```
```
"position": {"x": ..., "y": ..., "z": ...},
```
```
"rotation": {"x": ..., "y": ..., "z": ...},
```
```
"coordinate": {"latitude": ..., "longitude": ..., "altitude": 150},
```
"fovVertical": 30
```
}, ...
```
]
```
}
```
Тип аннотации Наличие Комментарий
Временная метка Нет —
Depth maps Нет —
Segmentation masks Нет —
Bounding boxes Нет —
8. ПРЕДОБУЧЕННЫЕ МОДЕЛИ
```
Три checkpoint'а (~95 MB каждый), идентичная архитектура:
```
Файл Обучение Параметров Описание
weights_terrain.pth Terrain split 24,873,938 Только природные сцены
weights_city.pth Country split 24,873,938 Только городские сцены
```
weights_e6_all.pth All (combined) 24,873,938 Объединённый датасет
```
```
Архитектура модели (221 слой):
```
Архитектуры из GitHub-репозитория:
Вариант Backbone Local Features Aggregation Rotation Inv.
```
Group (основной) DINOv2 ViT-S/14 GroupNet MulConvAP Да (8 углов)
```
Group-DINOv2 DINOv2 ViT-B/14 GroupNet ConvAP Да
Vanilla ResNet50 Global only ConvAP/GeM Нет
```
AnyLoc (baseline) DINOv2 ViT-G/14 Global GeM Нет
```
9. ПРОТОКОЛ ОЦЕНКИ
logit_scale — обучаемый скаляр температуры для contrastive loss
groupnet.extractor — DINOv2 ViT-S/14 с conv projection
groupnet.embedder — embedding head
aggregator.AAP — adaptive average pooling
```
aggregator.channel_pool_{1,3,5} — multi-scale channel pooling (MulConvAP)
```
9.1. Задача
```
Image-to-image retrieval (drone -> satellite). Дроновое изображение (query)
```
```
сопоставляется с гео-привязанными спутниковыми патчами (gallery) через ранжирование
```
по сходству эмбеддингов.
Ключевое отличие от University-1652: One-to-N matching — одному query может
соответствовать несколько positive и semi-positive gallery-патчей.
9.2. Метрики
Метрика Используется Комментарий
Recall@1 Да Стандарт для всех CVGL-работ
Recall@5 Да —
Recall@10 Да —
9.3. Результаты на Rot-подмножестве
```
"Fire" — модели, обученные на World-UAV; "Box" — модели с LPN-методом.
```
10. ПОЛНАЯ СТРУКТУРА ДАННЫХ
UAV-GeoLoc/ # ~181 GB
├── Country/ # ~84 GB, 11 стран, 35 городов, 171
сцена
```
│ └── {Country}/{City}/{Region}/
```
│ ├── DB/
```
│ │ ├── merge.tif # полный спутниковый снимок (GeoTIFF)
```
│ │ ├── db_postion.txt # GPS: filename lon lat res_x res_y
│ │ └── img/
```
│ │ └── crop_X_Y.png # нарезанные патчи (stride =
```
```
crop_size/2)
```
│ ├── query/
```
│ │ └── height{H}_rot{R}/ # 24 варианта (H: 100/125/150, R: 0-315)
```
│ │ ├── footage/
```
│ │ │ └── height{H}_rot{R}_{frame}.jpeg # 76 кадров, 512x512
```
```
│ │ ├── height{H}_rot{R}.json # траектория камеры
```
```
│ │ └── height{H}_rot{R}.esp # Earth Studio project
```
│ ├── positive.json # GT: frame_idx -> [exact crop match]
│ ├── semi_positive.json # frame_idx -> [overlapping crops]
```
│ └── {Region}.txt # координаты региона
```
├── Terrain/ # ~95 GB, 27 типов, 200 сцен
```
│ └── {TerrainType}/{Scene}/ # структура аналогична Country
```
│ ├── DB/
│ ├── query/ # 8-24 варианта
│ ├── positive.json
│ ├── semi_positive.json
```
│ └── visible_gt/ # (опционально) GT видимости
```
├── Rot/ # ~1.4 GB, 1 сцена
```
│ └── SouthernSuburbs/ # 88 вариантов (72 rot@h100 + 8@h125 +
```
```
8@h150)
```
│ ├── DB/ # 648 кропов
│ └── query/
├── Index/ # train/val/test splits
```
│ ├── train.txt / val.txt / test.txt # списки сцен (Terrain)
```
```
│ ├── train_country.txt / val_country.txt / ...# списки сцен (Country)
```
│ ├── train_all.txt / val_all.txt / ... # объединённые
│ ├── train_query.txt # 206K строк: path label pos1
[pos2...]
│ ├── train_db.txt # 95K DB-путей
│ ├── val_query.txt / val_db.txt # 62K / 27K
│ └── test_query.txt / test_db.txt # 33K / 12K
├── weights_terrain.pth # 95 MB, 24.9M params
├── weights_city.pth # 95 MB, 24.9M params
11. СРАВНЕНИЕ С КЛЮЧЕВЫМИ ДАТАСЕТАМИ
Характеристика World-UAV University-1652 SUES-200 VIGOR CVUSA
Год 2025 2020 2023 2021 2019
Venue RA-L ACM MM — CVPR —
Вид пары D<->S D<->S<->G D<->S G<->S G<->S
Число локаций 372 1,652 200 90K+ 44K
Число
изображений
927K 72K+ 4,800 238K 88K
```
Число стран 6+ 1 (Китай) 1 (Китай) 1
```
```
(США)
```
```
1 (США)
```
Число типов
сцен
```
27 ~1 (кампус) ~1
```
```
(кампус)
```
смеш. смеш.
Разрешение
query
512x512 256x256 224x224 varies varies
Видов на
локацию
```
24 (D) 54 (D) 4 (D) 1 1
```
Мульти-
высотность
Да
```
(100/125/150 м)
```
```
Да (3 выс.) Да (4
```
```
выс.)
```
Нет Нет
Мульти-
ракурсность
```
Да (8 азимутов) Да (18 аз.) Нет Нет Нет
```
One-to-N
matching
Да Нет Нет Да Нет
Semi-positives Да Нет Нет Нет Нет
```
Cross-area split Да (по
```
```
странам)
```
Нет Нет Да Нет
Gallery strategy Grid + 50%
overlap
GPS-centered
1:1
GPS-
centered
1:1
Grid,
semi-
pos.
GPS-
centered
1:1
```
Gallery size (DB) 274K 951 200 90K+ 44K
```
Дрон-виды Синтетические
```
(GE)
```
Синтетические
```
(GE)
```
Реальные — —
├── weights_e6_all.pth # 95 MB, 24.9M params
└── README.md
Характеристика World-UAV University-1652 SUES-200 VIGOR CVUSA
```
Публичный Да (CC BY-NC
```
```
4.0)
```
Да Да Да Да
12. ЗАМЕЧАНИЯ ПО КАЧЕСТВУ ДАННЫХ
```
12.1. Неполные сцены (17 из 171 Country)
```
Следующие сцены не содержат DB-кропов, GPS-данных и positive.json:
```
12.2. Ошибки именования папок (6+ сцен)
```
Сцена Ошибка Ожидание
French/Lyons/PartDieu eight150_rot135 height150_rot135
French/Marseilles/LaPlaine 125_rot315 height125_rot315
Spain/Barcelona/SantMarti ght100_rot90 height100_rot90
Japan/Tokyo/Shibuya height150_rot3155 height150_rot315
Italy/Turin/Crocetta height150_rot22 height150_rot225
```
English/Birmingham/Harborne height150_rot0 (1) дубликат
```
12.3. Общие замечания
```
Edinburgh: все 5 (CastleHill, Dalry, Haymarket, NewTown, Stockbride)
```
```
London: все 5 (CamdenTown, CoventGarden, Fitzrovia, Mayfair, SoHo)
```
```
Manchester: все 5 (Ancoats, Castlefield, Deansgate, NorthernQuarter, Piccadilly)
```
```
Birmingham: JewelleryQuarter
```
```
Chicago: __MACOSX (артефакт macOS-архивации)
```
```
Domain gap: дроновые виды синтетические (Google Earth 3D) — не реальные БПЛА
```
Нет сезонной вариативности: Google Earth рендерит одну "замороженную" версию
сцены
Нет погодных / световых вариаций: нет fog, rain, night
Воспроизводимость: Google периодически обновляет 3D-модели, что может
нарушить воспроизводимость
```
Географический bias: нет Африки (кроме Terrain), нет Юго-Восточной Азии, нет
```
арктических регионов в Country
13. КЛЮЧЕВЫЕ ЧИСЛА ДЛЯ ЦИТИРОВАНИЯ
Метрика Значение
Всего сцен 372
Всего изображений 927,427
```
Стран 11 (Country)
```
```
Типов ландшафта 27 (Terrain)
```
Query-кадров 652,744
DB-кропов 274,683
Размер на диске ~181 GB
Разрешение query 512x512 px
FOV камеры 30°
```
Высоты 3 (100, 125, 150 м)
```
```
Азимуты 8 (шаг 45°)
```
```
Overlap нарезки 50% (stride = crop_size / 2)
```
```
Crop sizes 11 уникальных (от 100 до 1000 px)
```
```
Модель (params) 24.9M (GroupNet + DINOv2-ViT-S/14 + MulConvAP)
```