🚁 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 содержит:
- координаты точек
- ориентации камер
- параметры съёмки
Description
Languages
Python
100%