Carla dataset tools
Tools for dataset generation based on CARLA simulator. (Data Collector)
> ๐ฆ A comprehensive data collection and labeling toolkit for CARLA Simulator The project is written primarily in Python, distributed under the GNU General Public License v3.0 license, first published in 2021. Key topics include: autonomous-driving, autonomous-vehicles, carla, carla-driving-simulator, carla-simulator.
๐ CARLA Dataset Tools
๐ฆ A comprehensive data collection and labeling toolkit for CARLA Simulator
Data collection and labeling tools for CARLA Simulator. This toolkit provides an efficient pipeline for generating high-quality autonomous driving datasets with support for multiple sensor types and standard dataset formats.
โ ๏ธ Important: All raw data generated by this tool uses a right-hand coordinate system.
๐ This work is part of the CarlaFLCAV project. Feel free to give us a star!
โจ Key Features
- โ Multi-Sensor Support: RGB Camera, Semantic Segmentation, LiDAR, Semantic LiDAR, Radar, IMU, GNSS
- โ
V2X Communication: Vehicle-to-Everything (V2X) sensor support for V2V and V2I scenarios
- V2X CAM sensors (ETSI standard) for automatic message generation
- V2X Custom sensors for manual message broadcasting
- Realistic wireless channel modeling with path loss simulation
- โ
Infrastructure Support: Roadside unit (RSU) simulation for V2X scenarios
- Static infrastructure actors with sensor attachment
- One-way message broadcasting from infrastructure to vehicles
- Support for V2I (Vehicle-to-Infrastructure) communication
- โ Multiple Dataset Formats: KITTI Object, YOLOv5, Argoverse
- โ Flexible Configuration: YAML-based configuration with validation
- โ Route Editor: Interactive tool for creating custom vehicle routes with topology-aware path planning
- โ BEV Map Capture: Tool for generating bird's-eye view maps of entire CARLA maps
- โ Synchronized Recording: Synchronized multi-vehicle and multi-sensor data collection
- โ Visualization Tools: Built-in point cloud and data visualization utilities
- โ Autopilot Integration: Automatic vehicle control using CARLA's traffic manager
๐ 30-Second Quick Start
bash# 1. Clone and install git clone https://github.com/KevinLADLee/carla_dataset_tools.git cd carla_dataset_tools pip3 install -r requirements.txt # 2. Set environment variable export CARLA_ROOT=/path/to/your/carla # 3. Start CARLA cd $CARLA_ROOT && ./CarlaUE4.sh # 4. Record data (in a new terminal) cd carla_dataset_tools python3 data_recorder.py --profile kitti # 5. Generate labels python3 label_tools/kitti_objects_label.py -r record_YYYY_MMDD_HHMM -v vehicle_1st # 6. Visulize output dataset python3 tools/viz_lidar.py --type kitti --source dataset/record_YYYY_MMDD_HHMM/vehicle_1st/kitti_object/training/velodyne
๐ Documentation
For Users
User Guide - Complete installation and usage guide
- Installation and prerequisites
- Recording data with different profiles
- Route Editor - Create custom vehicle routes interactively
- Generating labels (KITTI, YOLOv5, Argoverse)
- Data visualization
- Troubleshooting
ไธญๆ็จๆทๆๅ - ๅฎๆด็ๅฎ่ฃ ๅไฝฟ็จๆๅ
For Developers
Developer Guide - Technical documentation for developers
- Architecture overview
- Configuration system details (maps, weather, sensors)
- API reference
- Extending the toolkit
- Development workflow
ไธญๆๅผๅ่ ๆๅ - ๅผๅ่ ๆๆฏๆๆกฃ
โ๏ธ Configuration Profiles
Pre-configured profiles for different dataset styles:
default- General purpose with multiple vehicles and sensorskitti- KITTI-style (Velodyne HDL-64E, standard cameras)argoverse- Argoverse-style with ring camerassimple- Minimal configuration for testingroute_example- Demonstrates vehicle route following featurev2x_test- V2X communication testing (V2V and V2I scenarios)bev- Bird's-eye view camera configuration for map capture
bash# List available profiles python3 tools/config_list.py # Use a profile python3 data_recorder.py --profile kitti # Create custom vehicle routes python3 tools/editor_route.py --map Town02 --name my_route # Capture BEV map of entire CARLA map python3 tools/capture_map_bev.py --map Town02 --output ./bev_output # Validate a configuration python3 tools/config_validate.py --profile kitti
See Developer Guide for complete configuration reference.
๐ Supported Dataset Formats
- KITTI Object Detection - 3D bounding boxes with calibration
- YOLOv5 - 2D bounding box annotations
- Argoverse - Ring camera setup (experimental)
๐ง Prerequisites
- CARLA Simulator >= 0.9.16
- Python >= 3.8
- Operating System: Linux (recommended) / Windows
Download CARLA: https://github.com/carla-simulator/carla/releases
๐ Project Structure
carla_dataset_tools/
โโโ config/ # Configuration management
โ โโโ config_manager.py # YAML config loader and validator
โ โโโ profiles/ # Pre-configured profiles (default, kitti, argoverse, simple, route_example)
โโโ docs/ # Documentation
โ โโโ USER_GUIDE.md # User guide (English)
โ โโโ USER_GUIDE_CN.md # User guide (Chinese)
โ โโโ DEVELOPER.md # Developer guide (English)
โ โโโ DEVELOPER_CN.md # Developer guide (Chinese)
โโโ label_tools/ # Labeling scripts (KITTI, YOLO, Argoverse)
โโโ recorder/ # Core recording modules
โโโ routes/ # Vehicle route definitions (YAML + PKL)
โโโ core/ # Core shared modules (geometry, transform, logger)
โโโ tools/ # CLI utility scripts
โ โโโ editor_route.py # Route editor
โ โโโ capture_map_bev.py # BEV map capture tool
โ โโโ viz_lidar.py # LiDAR visualization
โ โโโ ... # Other utilities
โโโ data_recorder.py # Main recording script
๐ค Contributing
Contributions are welcome! Areas for contribution:
- Additional dataset format support (nuScenes, Waymo, etc.)
- Enhanced documentation and examples
- Bug fixes and performance improvements
- New sensor types or features
Please submit pull requests to the main repository.
๐ Citation
If you use this tool in your research, please cite:
bibtex@article{wang2022federated, title={Federated deep learning meets autonomous vehicle perception: Design and verification}, author={Wang, Shuai and Li, Chengyang and Ng, Derrick Wing Kwan and Eldar, Yonina C and Poor, H Vincent and Hao, Qi and Xu, Chengzhong}, journal={IEEE network}, volume={37}, number={3}, pages={16--25}, year={2022}, publisher={IEEE} }
๐ Acknowledgements
This project builds upon:
- CARLA Simulator - Open-source autonomous driving simulator
- CARLA ROS Bridge - ROS integration for CARLA
- CARLA_INVS - Infrastructure and vehicle simulation
๐ License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
๐ฎ Contact & Support
- Issues: GitHub Issues
- Project: CarlaFLCAV
- Documentation: User Guide | Developer Guide
<div align="center">
โญ If this project helps your research, please give us a star! โญ
๐ Home โข ๐ User Guide โข ๐ง Developer Guide โข ๐ Report Bug
</div>Contributors
Showing top 2 contributors by commit count.
