100 lines
3.3 KiB
Markdown
100 lines
3.3 KiB
Markdown
# 🚁 CARLA Road-Following Map Collector
|
||
|
||
Скрипт для сбора мультимодального датасета вдоль дорожной сети в симуляторе CARLA.
|
||
Проект автоматически проходит по дорогам карты и сохраняет данные с разных точек зрения, что удобно для задач:
|
||
|
||
Visual Localization (VisLoc), Multimodal Learning, Scene Understanding, Drone / Autonomous Navigation
|
||
|
||
## **📦 Что собирается**
|
||
|
||
На каждой точке маршрута генерируются 3 типа наблюдений:
|
||
|
||
### 🛰 Satellite (Top-down)
|
||
- Камера строго сверху (pitch = -90°)
|
||
- Полезно как глобальное представление сцены
|
||
|
||
### 🚁 Drone (Orbital view)
|
||
- Камера под углом (облет точки)
|
||
- Несколько yaw-углов (например: 0°, 90°, 180°, 270°)
|
||
|
||
### 🚶 Street (Ground-level)
|
||
-Камера на высоте ~1.7 м
|
||
|
||
### Направления:
|
||
- forward
|
||
- left
|
||
- right
|
||
- backward
|
||
|
||
## **🗂 Структура датасета**
|
||
```
|
||
carla_road_dataset/
|
||
└── Town10HD/
|
||
├── wp000000_r5_l-1/
|
||
│ ├── satellite/
|
||
│ │ ├── rgb.png
|
||
│ │ ├── semantic_label.png
|
||
│ │ ├── semantic_color.png
|
||
│ │ ├── depth_uint16.png
|
||
│ │ └── depth_color.png
|
||
│ │
|
||
│ ├── drone/
|
||
│ │ ├── yaw000_rgb.png
|
||
│ │ ├── yaw000_semantic_label.png
|
||
│ │ ├── yaw000_depth_uint16.png
|
||
│ │ └── yaw090_...
|
||
│ │
|
||
│ └── street/
|
||
│ ├── forward_rgb.png
|
||
│ ├── left_rgb.png
|
||
│ ├── right_rgb.png
|
||
│ └── backward_rgb.png
|
||
│
|
||
├── wp000001_r5_l-1/
|
||
└── metadata.json
|
||
```
|
||
|
||
## **🧠 Типы данных**
|
||
|
||
### Для каждой камеры сохраняются:
|
||
|
||
- rgb.png — обычное изображение
|
||
- semantic_label.png — классы (ID)
|
||
- semantic_color.png — цветовая сегментация
|
||
- depth_uint16.png — глубина (raw)
|
||
- depth_color.png — визуализация глубины
|
||
|
||
## **⚙️ Установка**
|
||
pip install carla numpy opencv-python tqdm
|
||
|
||
## **⚠️ Убедиться, что запущен сервер CARLA:**
|
||
|
||
./CarlaUE4.sh -RenderOffScreen -quality-level=Low -carla-rpc-port=2000
|
||
./CarlaUE4.sh -RenderOffScreen -quality-level=Epic -carla-rpc-port=2000
|
||
|
||
## **🚀 Использование**
|
||
python carla_road_collector.py \
|
||
--host localhost \
|
||
--port 2000 \
|
||
--output ./dataset \
|
||
--route dense \
|
||
--step 20
|
||
|
||
## **🧭 Как это работает**
|
||
|
||
- Получается карта CARLA
|
||
- Строится маршрут по дорогам (waypoints)
|
||
- В каждой точке:
|
||
- создаются камеры
|
||
- делаются снимки с разных ракурсов
|
||
- Всё сохраняется в структурированном виде
|
||
|
||
## **📊 Metadata**
|
||
|
||
### Файл metadata.json содержит:
|
||
|
||
- координаты точек
|
||
- ориентации камер
|
||
- параметры съёмки
|
||
|