Files
UAV-VisLoc-prepare/CLAUDE.md
pikaliov fd014a3155 Dataset preparation script with documentation
- 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>
2026-04-17 17:12:43 +03:00

41 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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) — косинусный эффект широты, не разная высота съёмки.