diff --git a/CLAUDE.md b/CLAUDE.md index 7d64807..53b6845 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -132,8 +132,8 @@ python -m scripts.compare_runs \ ### UAV-VisLoc Prepare - **Путь:** `/home/servml/Документы/code/Yaroslav/UAV-VisLoc-prepare/scripts/prepare_dataset.py` -- **Статус:** код готов, ещё не запускался -- **Задача:** нарезка satellite кропов 512x512, stride 256 для UAV-VisLoc dataset +- **Статус:** выполнен (2026-04-17), данные в `/home/servml/Документы/datasets/UAV_VisLoc_processed/` (25 GB) +- **Задача:** нарезка satellite кропов 512x512, stride 256 + resize drone -> 512x512 - **Подробности:** см. ниже --- @@ -163,20 +163,20 @@ python -m scripts.compare_runs \ ## Скрипт подготовки UAV-VisLoc - **Путь:** `/home/servml/Документы/code/Yaroslav/UAV-VisLoc-prepare/scripts/prepare_dataset.py` -- **Статус:** код готов, ещё не запускался +- **Статус:** выполнен (2026-04-17) ### Запуск ```bash python scripts/prepare_dataset.py \ --src /home/servml/Документы/datasets/UAV_VisLoc_dataset \ --dst /home/servml/Документы/datasets/UAV_VisLoc_processed \ - --crop-size 512 --stride 256 --target-size 256 + --crop-size 512 --stride 256 --target-size 512 ``` ### Pipeline -1. Resize drone -> 256x256 (JPEG, quality=95) +1. Resize drone -> 512x512 (JPEG, quality=95) 2. Stitch satellite tiles для маршрута 09 (4 тайла -> 44800x33280) -3. Нарезка satellite -> кропы 512x512, stride 256, resize -> 256x256 (PNG) +3. Нарезка satellite -> кропы 512x512, stride 256, сохранение без downscale (PNG) 4. GPS для каждого кропа из bbox карты + позиция в grid 5. Match drone->crop через vectorized haversine (positive = ближайший, semi-positive = +/-1 в grid) 6. Metadata: `positive.json`, `semi_positive.json`, `db_postion.txt` (per route) @@ -191,10 +191,13 @@ python scripts/prepare_dataset.py \ | `train_query.txt` | `route/drone/file.JPG 0 route/DB/img/crop1.png ...` | | `train_db.txt` / `test_db.txt` | все кропы всех маршрутов (gallery одинаковая, split по query) | -### Ожидаемые объёмы -- Drone: 6744 (без маршрута 07: 30 images excluded) -- Satellite кропов: ~74,807 -- Память: до ~4.5 GB RAM (маршрут 09 stitched 44800x33280) +### Результаты (target-size 512) +- Drone: 6,744 images 512x512 (без маршрута 07: 30 excluded) +- Satellite кропов: 74,807 (512x512, без downscale) +- Размер на диске: 25 GB +- Median distance drone->crop: 25.9m, P99: 45.7m +- Память при генерации: до ~8.7 GB RAM (маршрут 09 stitched 44800x33280) +- Разрешение 512 для downstream задач (сегментация, depth, normals); resize до 224/256 в dataloader ### Ревью и исправления (2026-04-17) 1. `train_db.txt`/`test_db.txt` содержали только matched кропы -> теперь все ~74K (полная gallery) @@ -205,4 +208,5 @@ python scripts/prepare_dataset.py \ ### Известные ограничения - Нет val split (только train/test, как в оригинальном UAV-VisLoc) -- Большие спутниковые карты загружаются целиком в RAM (до 4.5 GB для route 09) +- 6 drone в маршруте 06 (06_0093-06_0098) за пределами спутниковой карты (distance >1000m) +- Большие спутниковые карты загружаются целиком в RAM при генерации (до 8.7 GB для route 09)