Initial commit: add docs, requirements, and prep package

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
pikaliov
2026-05-09 12:54:27 +03:00
commit 51085addf9
13 changed files with 777 additions and 0 deletions

60
README.md Normal file
View File

@@ -0,0 +1,60 @@
# UAVDense (DenseUAV) prepare
Утилита для сканирования локальной копии **DenseUAV** и генерации индекс‑файлов для retrieval/metric learning пайплайна.
## Что генерируется
В выходной директории создаются:
- `index/train_db.txt` — список всех satellite изображений (DB / gallery для обучения)
- `index/train_query.txt` — строки вида: `path label pos1 pos2 ...`
- `index/test_db.txt` — список всех `test/gallery_satellite` изображений
- `index/test_query.txt` — строки вида: `path label pos1 pos2 ...`
- `stats/stats.json` — сводная статистика и проверки целостности
- `gps/gps_{split}.csv` — распарсенные `Dense_GPS_*.txt`
## Установка
```bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
```
## Запуск (для вашего пути)
```bash
python3 -m uavdense_prepare \
--root "/media/servml/SSD_2_2TB/datasets/cvgl_datasets/DenseUAV" \
--out "./out_uavdense" \
--exclude-old
```
Опция `--exclude-old` исключает `*_old.tif` из DB и positive list.
## Режим как в UAV-VisLoc-prepare (создать новую папку с ресайзом)
Если хотите получить **новую папку датасета** с ресайзнутыми изображениями (и конвертацией спутника `tif -> png`), используйте `--dst`:
```bash
python3 -m uavdense_prepare \
--root "/media/servml/SSD_2_2TB/datasets/cvgl_datasets/DenseUAV" \
--dst "/media/servml/SSD_2_2TB/datasets/cvgl_datasets/DenseUAV_processed_256" \
--target-size 256 \
--out "./out_uavdense_processed_256" \
--exclude-old
```
В этом режиме индексы будут указывать на файлы в `--dst`.
Для быстрой проверки можно ограничить обработку:
```bash
python3 -m uavdense_prepare \
--root "/media/servml/SSD_2_2TB/datasets/cvgl_datasets/DenseUAV" \
--dst "./DenseUAV_processed_debug" \
--target-size 256 \
--limit-ids 5 \
--out "./out_uavdense_debug" \
--exclude-old
```