- Satellite crop generation (512x512, stride 256, resize 256x256) - Route 09 tile stitching (4 tiles -> 44800x33280) - GPS matching drone->crop via vectorized haversine - Index files in UAV-GeoLoc format (train/test query + DB) - positive.json / semi_positive.json / db_postion.txt per route - Route 07 excluded (satellite too narrow) - Fixed: full gallery in DB files, db_postion.txt format, frame_id keys - Fixed: file handle leaks in image processing loops Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.5 KiB
2.5 KiB
UAV-VisLoc Dataset Preparation
Пути
- Исходный датасет:
/home/servml/Документы/datasets/UAV_VisLoc_dataset/ - Обработанный датасет:
/home/servml/Документы/datasets/UAV_VisLoc_processed/ - Скрипт:
scripts/prepare_dataset.py - Статус: выполнен, данные готовы (2026-04-17)
Результаты обработки
- Drone: 6,744 изображений resized 256x256
- Satellite кропов: 74,807 (512x512 -> 256x256)
- Train queries: 5,060 / Test queries: 1,684
- Gallery: 74,807 кропов (одинаковая для train и test)
- Median distance drone->crop: 25.9m, P99: 45.7m
Формат данных
Разделение positive / semi-positive / negative
В формате UAV-GeoLoc нет явного списка negative — negatives определяются неявно:
- Positive (1 на drone): ближайший crop по GPS. Хранится в
positive.jsonи как ПЕРВЫЙ crop в строкеtrain_query.txt - Semi-positive (8 на drone): +-1 соседи positive crop в grid. Хранятся в
semi_positive.jsonи как crops 2-9 в строкеtrain_query.txt - Negative (implicit): ВСЕ остальные кропы в gallery (~74K). Не хранятся отдельно — при contrastive learning in-batch negatives формируются из других пар в batch
Как это используется в train_query.txt
01/drone/01_0001.JPG 0 01/DB/img/crop_5_18.png 01/DB/img/crop_4_17.png 01/DB/img/crop_4_18.png ...
^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
label 1 positive + 8 semi-positives (все считаются positive matches)
Все 9 кропов в строке — positives для данного query. Всё что НЕ в этом списке — negatives.
Известные проблемы
- Маршрут 07 исключён (спутник 3000x170, слишком узкий)
- 6 drone в маршруте 06 (06_0093-06_0098) за пределами спутниковой карты (distance >1000m)
- Нет val split (только train/test как в оригинальном UAV-VisLoc)
GSD спутника
~0.30 м/px (единый zoom level). Вариации GSD по долготе (0.23-0.27 м/px) — косинусный эффект широты, не разная высота съёмки.