Files
caption-test/UAV-VisLoc_Dataset_Analysis.md
pikaliov abb3337f8d Rewrite: GatedFusion architecture + UAV-GeoLoc dataset
Architecture v2:
- Query branch: drone + text -> GatedFusion -> proj -> query_emb
- Gallery branch: satellite -> proj -> gallery_emb
- Single InfoNCE loss (asymmetric 0.6/0.4)
- GatedFusion: learnable gated addition (sigma(alpha)*img + (1-sigma(alpha))*text)
- Baseline mode: gate=1.0 (text ignored)

Dataset:
- UAV-GeoLoc loader with template captions from path metadata
- 27 terrain types with predefined features
- Random positive crop sampling per epoch

Configs: balanced (gate=0.7), baseline (no text), text_heavy (gate=0.3)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 17:13:00 +03:00

18 KiB
Raw Blame History

АНАЛИЗ ДАТАСЕТА: UAV-VisLoc

Дата анализа: 2026-04-17 Метод: Эмпирический анализ данных на диске + статья arXiv:2405.11936 + GitHub-репозиторий авторов Путь к данным: /home/servml/Документы/datasets/UAV_VisLoc_dataset/


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

Поле Значение
Полное название UAV-VisLoc: A Large-scale Dataset for UAV Visual Localization
Авторы Wenjia Xu, Yaxuan Yao, Jiaqi Cao, Zhiwei Wei, Chunbo Liu, Jiuniu Wang, Mugen Peng (BUPT + CAS + CityU HK)
Год, Venue 2024, arXiv:2405.11936 [cs.CV]
Код https://github.com/IntelliSensing/UAV-VisLoc (только README + ссылки)
Данные Google Drive / Baidu Net Disk (16.4 GB)
Общий объём на диске ~16.4 GB

2. ОБЩАЯ СТАТИСТИКА

2.1. Сводка

Параметр Значение
Drone-изображений 6 774
Спутниковых карт 11 (+ маршрут 09 разбит на 4 тайла)
Маршрутов (flights) 11
Регионов (Китай) 7 провинций/районов
Типов БПЛА 2 (multi-rotor + fixed-wing)
Сезоны съёмки 2 (лето, осень)
Временной охват 20162023

2.2. Разбиение train / test

Split Изображений Доля
Train 5 080 75.0%
Test 1 694 25.0%
Итого 6 774 100%

Разбиение — случайное по изображениям внутри каждого маршрута (не по маршрутам!):

Маршрут Всего Train Test Train%
01 817 620 197 75.9%
02 1 071 829 242 77.4%
03 768 566 202 73.7%
04 738 543 195 73.6%
05 473 345 128 72.9%
06 344 261 83 75.9%
07 30 20 10 66.7%
08 1 033 796 237 77.1%
09 766 551 215 71.9%
10 144 99 45 68.8%
11 590 450 140 76.3%

3. МАРШРУТЫ (FLIGHTS)

3.1. Детализация по маршрутам

Маршрут Регион Тип БПЛА Drone (px) Высота (м) Heading (Phi) Спутник (px) Дата drone Дата sat
01 Changjiang-20 multi-rotor 3976x2652 ~405 165° 9774x26762 2018-09 2023-11
02 Changjiang-23 multi-rotor 3976x2652 ~405 11482x34291 2018-09 2022-09
03 Taizhou-1 multi-rotor 3976x2652 ~466 -40° 35092x24308 2018-10 2021-04
04 Taizhou-6 multi-rotor 3976x2652 ~542 170° 18093x38408 2018-10 2023-03
05 Yunnan fixed-wing 3000x2000 ~2313 100° 9394x6144 2016-06 2022-03
06 Zhuxi multi-rotor 3976x2652 ~840 8082x9780
07 Donghuayuan fixed-wing 3000x2000 ~688 -1.5° 3000x170 2018-07 2023-06
08 Huzhou-3 multi-rotor 3976x2652 ~551 100° 43421x16294 2019-06 2023-07
09 Huzhou-6 multi-rotor 3976x2652 ~546 -50° 44800x33280* 2019-06 2024-01
10 Huailai fixed-wing 3000x2000 ~772 170° 6593x5077 2018-09 2023-06
11 Shandan multi-rotor 3976x2652 ~2572 90° 29592x16582 2023-10 2021-03

* Маршрут 09: спутник разбит на 4 тайла (satellite09_01-01.tif, 01-02, 02-01, 02-02). Суммарный размер: 44800x33280 px.

3.2. Географический охват

Регион Маршруты Провинция Ландшафт
Changjiang 01, 02 Цзянси Города, деревни, фермы, реки (долина Янцзы)
Taizhou 03, 04 Цзянсу Города, фермы, каналы, реки
Yunnan 05 Юньнань Горы, леса, холмы (высокогорье)
Zhuxi 06 Хубэй Горы, леса, река
Donghuayuan 07 Хэбэй Равнина (очень узкий маршрут)
Huzhou 08, 09 Чжэцзян Города, озеро Тайху, фермы
Huailai 10 Хэбэй Равнина, холмы
Shandan 11 Ганьсу Пустыня, степь (коридор Хэси)

Координатный охват:

  • Широта: от 24.65°N (Юньнань) до 40.36°N (Хэбэй) — разброс ~15.7°
  • Долгота: от 101.01°E (Ганьсу) до 120.25°E (Чжэцзян) — разброс ~19.2°
  • Всё в пределах Китая, но с разнообразным ландшафтом

3.3. Типы БПЛА

Тип Маршруты Разрешение Высота полёта Кол-во изображений
Multi-rotor 01, 02, 03, 04, 06, 08, 09, 11 3976x2652 4052572 м 6 127 (90.4%)
Fixed-wing 05, 07, 10 3000x2000 6882313 м 647 (9.6%)

4. ИСТОЧНИКИ ИЗОБРАЖЕНИЙ

4.1. Дроновые виды (query)

Параметр Значение
Платформа Реальные БПЛА (не синтетика!)
Тип съёмки RGB, ground-down view (камера вертикально вниз)
Разрешение кадров 3976x2652 (multi-rotor) / 3000x2000 (fixed-wing)
GSD (drone) 0.10.2 м/пиксель (из README); расчётное: 1597 см/px в зависимости от высоты
Высоты полёта от 405 м до 2572 м
Heading angle Phi1 (высокая уверенность), Phi2 (низкая уверенность)
Pose данные Omega (pitch), Kappa (roll), Phi1/Phi2 (yaw)
Формат JPEG
Параметр Значение
Платформа Google Earth
Формат GeoTIFF (.tif)
GSD (спутник) 0.3 м/пиксель (из статьи)
Размеры карт от 3000x170 до 43421x38408 px
Кропы/патчи Отсутствуют — авторы предоставляют только целые карты

4.3. Временной разрыв drone/satellite

Маршрут Drone Satellite Разрыв
01 2018-09 2023-11 5 лет
03 2018-10 2021-04 2.5 года
08 2019-06 2023-07 4 года
11 2023-10 2021-03 -2.5 года (спутник старше!)

Временной разрыв создаёт дополнительную сложность (изменения застройки, сезонные различия).


5. ПАРАМЕТРЫ СЪЁМКИ ДРОНОВ

5.1. Высоты полёта

Диапазон высот Маршруты Тип Кол-во изображений
400410 м 01, 02 multi-rotor 1 888
460550 м 03, 04, 08, 09 multi-rotor 3 305
688840 м 06, 07, 10 mixed 518
23002575 м 05, 11 mixed 1 063

5.2. Наземное покрытие drone-кадра (оценка, FOV ~84°)

Высота Footprint (multi-rotor 3976x2652) Footprint (fixed-wing 3000x2000)
~405 м ~608 x 405 м
~466 м ~699 x 466 м
~551 м ~826 x 551 м
~688 м ~1031 x 688 м
~840 м ~1260 x 840 м
~2313 м ~3469 x 2313 м
~2572 м ~3858 x 2572 м

5.3. Расстояние между кадрами

Маршрут Avg spacing Высота Overlap (оценка)
01 80.7 м 405 м ~87% (по ширине footprint)
05 62.7 м 2313 м ~98%
07 23.6 м 688 м ~98%
08 99.7 м 551 м ~88%
11 142.9 м 2572 м ~96%

Высокий overlap (8798%) типичен для аэрофотосъёмки.


6. ПРОСТРАНСТВЕННАЯ НАРЕЗКА СПУТНИКОВЫХ ПАТЧЕЙ

6.1. Текущее состояние

В оригинальном датасете кропы/патчи НЕ предоставлены. Авторы дают только целые спутниковые карты. Задача определена как "найти координаты на большой карте", а не как retrieval по патчам.

6.2. Планируемая нарезка (по аналогии с UAV-GeoLoc)

Для совместимости с pipeline на основе UAV-GeoLoc, планируется нарезка спутниковых карт на патчи.

Параметры нарезки:

Параметр Значение Обоснование
Размер кропа 512x512 px ~154x154 м на земле (при GSD 0.3 м/px)
Stride 256 px 50% overlap (как в UAV-GeoLoc)
Именование crop_X_Y.png X по ширине (col), Y по высоте (row)
Позиция в карте sat[Y*stride : Y*stride+crop, X*stride : X*stride+crop]
Финальный размер (модель) 256x256 px Resize для входа в модель

6.3. Ожидаемое количество кропов

Маршрут Размер карты Кропов (cols x rows) Итого Примечание
01 9774x26762 37 x 103 3 811 OK
02 11482x34291 43 x 132 5 676 OK
03 35092x24308 136 x 93 12 648 OK
04 18093x38408 69 x 149 10 281 OK
05 9394x6144 35 x 23 805 OK
06 8082x9780 30 x 37 1 110 OK
07 3000x170 Исключён (высота 170 px < 512)
08 43421x16294 168 x 62 10 416 OK
09 44800x33280 174 x 129 22 446 Нужна сшивка 4 тайлов
10 6593x5077 24 x 18 432 OK
11 29592x16582 114 x 63 7 182 OK
Итого ~74 807 Без маршрута 07

6.4. Наземное покрытие одного кропа

При GSD спутника = 0.3 м/px:

  • Кроп 512x512 px покрывает ~154 x 154 м на земле
  • Это вписывается в footprint drone-кадра на любой высоте (405+ м)
  • Stride 256 px = 76.8 м на земле

6.5. Проблемные маршруты

Маршрут Проблема Решение
07 Спутник 3000x170 px — слишком узкий Исключить или кропы 170x170
09 Спутник разбит на 4 тайла Сшить в одну карту перед нарезкой

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

7.1. Файлы аннотаций

Файл Содержание Формат
XX.csv GPS + pose каждого drone-кадра CSV: num, filename, date, lat, lon, height, Omega, Kappa, Phi1, Phi2
satellite_ coordinates_range.csv GPS-bbox каждой спутниковой карты CSV: mapname, LT_lat, LT_lon, RB_lat, RB_lon, region
visloc_train.csv Train split TSV: filename, height, Omega, Kappa, Phi1, Phi2
visloc_test.csv Test split TSV: filename, height, Omega, Kappa, Phi1, Phi2

7.2. Типы аннотаций

Тип аннотации Наличие Комментарий
GPS-координаты (drone) Да Из бортового GNSS, точность ~1-3 м
GPS-bbox (satellite) Да Углы спутниковой карты
Высота полёта Да В метрах
Heading angle (yaw) Да Phi1 (надёжный) и Phi2 (менее надёжный)
Pitch / Roll Да Omega (pitch), Kappa (roll)
Дата съёмки Да Для drone-кадров
Positive/Semi-positive pairs Нет Отсутствуют — нужно генерировать
Кропы спутника (DB) Нет Отсутствуют — нужно нарезать
Depth maps Нет
Segmentation masks Нет
Bounding boxes Нет
Семантические метки Нет Только implicit через регион

8. СРАВНЕНИЕ С UAV-GeoLoc

Параметр UAV-VisLoc UAV-GeoLoc
Drone-изображения Реальные БПЛА Синтетика (Google Earth Studio 3D)
Кол-во drone 6 774 652 744
Кол-во спутниковых кропов 0 (нужно генерировать) 274 683
Размер drone 3976x2652 / 3000x2000 512x512
GSD drone 0.10.97 м/px (зависит от высоты) ~0.5 м/px (синтетика)
GSD satellite 0.3 м/px (Google Earth) Варьируется
Высоты полёта 4052572 м (реальные) 100, 125, 150 м (синтетика)
Heading angles Произвольные (реальный полёт) Дискретные: 8 x 45°
Регионы 7 провинций Китая 11 стран, 6 континентов
Сцен 11 маршрутов 372 сцены
Train/test split По изображениям (~75/25) По сценам (140/40/20)
Positive pairs Нет (нужно по GPS) Есть (positive.json)
Semi-positive pairs Нет Есть (semi_positive.json)
Temporal gap 25 лет Нет (одновременно)
Лицензия Не указана CC BY-NC 4.0

Ключевые отличия:

  1. Реальные vs синтетические — UAV-VisLoc содержит реальные фотографии, что даёт реалистичные артефакты (освещение, шум, blur), но меньше контроля
  2. Масштаб — UAV-GeoLoc на 2 порядка больше по количеству изображений
  3. Пары не предоставлены — для UAV-VisLoc нужно самостоятельно сопоставить drone GPS с координатами кропов
  4. Вариативность высот — гораздо шире (4002600 м vs 100150 м)
  5. Temporal gap — drone и satellite сняты в разные годы, что усложняет matching

9. ПЛАН ГЕНЕРАЦИИ КРОПОВ И ПАР

9.1. Pipeline

satellite.tif + satellite_coordinates_range.csv
        │
        ▼
  [1] Нарезка кропов (512x512, stride 256)
        │
        ▼
  [2] Вычисление GPS центра каждого кропа
        │        (из bbox карты + позиция кропа в grid)
        ▼
  [3] Для каждого drone-кадра:
        │   — Найти кроп с минимальным GPS-расстоянием → positive
        │   — Найти кропы в радиусе R → semi-positives
        ▼
  [4] Генерация positive.json, semi_positive.json, db_postion.txt
        │
        ▼
  [5] Генерация Index файлов (train_query.txt, train_db.txt, ...)
        │
        ▼
  [6] Resize drone → 256x256, кропов → 256x256

9.2. Matching drone → crop

GPS центр кропа crop_X_Y.png вычисляется как:

crop_center_lon = LT_lon + (X * stride + crop_size/2) * (RB_lon - LT_lon) / sat_width
crop_center_lat = LT_lat + (Y * stride + crop_size/2) * (RB_lat - LT_lat) / sat_height

Positive match: кроп с минимальным евклидовым расстоянием до GPS drone-кадра. Semi-positive: все кропы в радиусе 1 stride (256 px = ~77 м) от positive.


10. ПОЛНАЯ СТРУКТУРА ДАННЫХ

UAV_VisLoc_dataset/                          # ~16.4 GB
├── satellite_ coordinates_range.csv         # GPS-bbox всех 11 карт
├── visloc_train.csv                         # 5080 train drone images (TSV)
├── visloc_test.csv                          # 1694 test drone images (TSV)
├── README_dataset.txt                       # Описание датасета
│
├── 01/                                      # Changjiang-20, multi-rotor, 817 imgs
│   ├── drone/
│   │   ├── 01_0001.JPG                      # 3976x2652
│   │   ├── 01_0002.JPG
│   │   └── ...
│   ├── satellite01.tif                      # 9774x26762
│   └── 01.csv                               # num,filename,date,lat,lon,height,...
│
├── 02/ ... 06/                              # Аналогичная структура
│
├── 07/                                      # Donghuayuan, fixed-wing, 30 imgs
│   ├── drone/
│   │   └── 07_XXXX.JPG                      # 3000x2000
│   ├── satellite07.tif                      # 3000x170 (!)
│   └── 07.csv
│
├── 08/                                      # Huzhou-3, multi-rotor, 1033 imgs
│
├── 09/                                      # Huzhou-6, multi-rotor, 766 imgs
│   ├── drone/
│   ├── satellite09_01-01.tif                # 25600x25600 ─┐
│   ├── satellite09_01-02.tif                # 19200x25600  │ Суммарно:
│   ├── satellite09_02-01.tif                # 25600x7680   │ 44800x33280
│   ├── satellite09_02-02.tif                # 19200x7680  ─┘
│   └── 09.csv
│
├── 10/                                      # Huailai, fixed-wing, 144 imgs
│
└── 11/                                      # Shandan, multi-rotor, 590 imgs
    ├── drone/
    │   └── 11_XXXX.JPG                      # 3976x2652
    ├── satellite11.tif                      # 29592x16582
    └── 11.csv