{"id":20731467,"url":"https://github.com/opendrivelab/driveadapter","last_synced_at":"2025-04-10T01:12:38.612Z","repository":{"id":185507703,"uuid":"672328535","full_name":"OpenDriveLab/DriveAdapter","owner":"OpenDriveLab","description":"[ICCV 2023 Oral] A New Paradigm for End-to-end Autonomous Driving to Alleviate Causal Confusion","archived":false,"fork":false,"pushed_at":"2024-01-11T05:57:13.000Z","size":12969,"stargazers_count":221,"open_issues_count":3,"forks_count":18,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-10T01:12:32.925Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenDriveLab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"github":["OpenDriveLab"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2023-07-29T17:41:09.000Z","updated_at":"2025-04-02T00:39:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"7c836de7-6ac9-48eb-937e-849abcdfbf80","html_url":"https://github.com/OpenDriveLab/DriveAdapter","commit_stats":null,"previous_names":["opendrivelab/driveadapter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDriveLab%2FDriveAdapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDriveLab%2FDriveAdapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDriveLab%2FDriveAdapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDriveLab%2FDriveAdapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenDriveLab","download_url":"https://codeload.github.com/OpenDriveLab/DriveAdapter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137890,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T05:14:57.487Z","updated_at":"2025-04-10T01:12:38.594Z","avatar_url":"https://github.com/OpenDriveLab.png","language":"Python","funding_links":["https://github.com/sponsors/OpenDriveLab"],"categories":[],"sub_categories":[],"readme":"# DriveAdapter: New Paradigm for End-to-End Autonomous Driving to Alleviate Causal Confusion\n\n\u003e **DriveAdapter: Breaking the Coupling Barrier of Perception and Planning in End-to-End Autonomous Driving**\n\u003e - [arXiv Paper](https://arxiv.org/abs/2308.00398), accepted at ICCV 2023 (**Oral**)\n\u003e \n\u003cp align=\"center\"\u003e\u003cimg src=\"./src/pipeline.PNG\" width=\"800\"/\u003e\u003c/p\u003e\n\n## Getting Started\n\n- [Installation](docs/INSTALL.md)\n- [Closed-Loop Evaluation in Carla](docs/EVAL.md)\n- [Prepare Dataset](docs/DATA_PREP.md)\n- [Train Your Own Model](docs/TRAIN.md)\n- [Calibrations for Different Camera Settings](camera_calibration/README.md) (Optional)\n\n## Quick Run in Carla\n\n- Install the environment as stated in [Installation](docs/INSTALL.md)\n- Download the checkpoint\n  - `189K frames Training Set`: [GoogleDrive](https://drive.google.com/file/d/1ezaOmsz0lwuWckiJtBIDkhviOS35oEhZ/view?usp=sharing) or [BaiduYun](https://pan.baidu.com/s/1mxImkL5TiPgdoegbwCDglg?pwd=9xou)(提取码 9xou)\n  - `2M frames Training Set`: [GoogleDrive](https://drive.google.com/file/d/1IFyRftYFg72AxoSePrW2oTg-cH4l3MFV/view?usp=sharing) or [BaiduYun](https://pan.baidu.com/s/1EcYuftXpbLTnm-FMCq1Umg?pwd=g6ki)(提取码 g6ki)\n- Put it into **open_loop_training/ckpt**, and run:\n\n```shell\n## In the DriveAdapter/ directory\nCUDA_VISIBLE_DEVICES=0 nohup bash ./leaderboard/scripts/evaluation_town05long.sh 22023 22033 driveadapter_agent  False True open_loop_training/ckpt/driveadapter_2m.pth+open_loop_training/configs/driveadapter.py all_towns_traffic_scenarios_no256 driveadapter_town05long 2\u003e\u00261 \u003e driveadapter_town05long.log \u0026\n```\n\nCheck [closed_loop_eval_log/eval_log](closed_loop_eval_log/eval_log) to see how our model drives in Carla! :oncoming_automobile:\n\n\u003e In case you have a screen to see the interface of Carla simulator, you could remove *`DISPLAY=`* in [leaderboard/leaderboard/leaderboard_evaluator.py](leaderboard/leaderboard/leaderboard_evaluator.py) and then you could watch with Carla straight ahead. \n\n\n## Code Structure\n\nWe give the structure of our code. Note that we only introduce those folders/files are commonly used and modified.\n\n    DriveAdapter/\n    ├── agents                  # From Carla official\n    ├── camera_calibration      # When you want to use cameras with different FOV\n    ├── closed_loop_eval_log    # Save eval logs\n    ├── collect_data_json       # Save data collection logs\n    ├── dataset                 # Data and metadata for training\n    ├── leaderboard             # Code for Closed-Loop Evaluation\n    │   ├── data                    # Save routes and scenarios\n    │   ├── scripts                 # Run with Carla\n    │   ├── team_code               # Your\n    |   |   ├── roach_ap_agent_data_collection.py # Data collection\n    │   |   └── driveadapter_agent.py      # Interface for closed-loop evaluation of our model\n    │   ├── leaderboard             # From Carla official\n    |   |   └── leaderboard_evaluator.py # Entrance of closed-loop evaluation\n    ├── roach                   # Roach for data collection\n    ├── scenario_runner         # From Carla official\n    ├── open_loop_training      # Training and Neural Network\n    |    ├── ckpt                    # Checkpoints\n    |    ├── work_dirs               # Training Log\n    |    ├── code                    # Preprocessing, DataLoader, Model\n    |    │   ├── apis                    # Training pipeline for mmdet3D\n    |    │   ├── core                    # The hooks for mmdet3D\n    |    │   ├── datasets                # Preprocessing and DataLoader\n    |    |   |   ├── pipelines                # Functions of Preprocessing and DataLoader\n    |    │   |   ├── samplers                 # For DDP\n    |    │   |   └── carla_dataset.py         # Framework of Preprocessing and DataLoading\n    |    │   ├── model_code                   # Neural Network\n    |    |   |   ├── backbones                # Module of Encoder\n    |    |   |   └── dense_heads              # Module of Decoder and Loss Functions\n    |    │   └── encoder_decoder_framework.py # Entrance of Neural Network\n    |    └── train.py                # Entrance of Training\n\n## License\n\nAll assets and code are under the [Apache 2.0 license](./LICENSE) unless specified otherwise.\n\n## Bibtex\nIf this work is helpful for your research, please consider citing the following BibTeX entry.\n\n```\n@inproceedings{jia2023driveadapter,\n  title={DriveAdapter: Breaking the Coupling Barrier of Perception and Planning in End-to-End Autonomous Driving},\n  author={Jia, Xiaosong and Gao, Yulu and Chen, Li and Yan, Junchi and Liu, Patrick Langechuan and Li, Hongyang},\n  booktitle={ICCV},\n  year={2023}\n}\n```\n\nDriveAdapter is developed based on our prior work [ThinkTwice](https://github.com/OpenDriveLab/ThinkTwice), \nhave a look if you are interested and please consider citing if you find it helpful:\n```\n@inproceedings{jia2023thinktwice,\n  title={Think Twice before Driving: Towards Scalable Decoders for End-to-End Autonomous Driving},\n  author={Jia, Xiaosong and Wu, Penghao and Chen, Li and Xie, Jiangwei and He, Conghui and Yan, Junchi and Li, Hongyang},\n  booktitle={CVPR},\n  year={2023}\n} \n```\n\n## One More Thing: End-to-End Autonomous Driving \n### From an OpenDriveLab Perspective\n![e2e](src/opendrivelab_e2e_update.png) \n\n\nCheck out the latest [End-to-end Autonomous Driving Survey](https://github.com/OpenDriveLab/End-to-end-Autonomous-Driving) \nfor more information!\n\n\n\n## Related Resources\nMany thanks to the open-source community!\n\n[![Awesome](https://awesome.re/badge.svg)](https://awesome.re)\n- [ThinkTwice](https://github.com/OpenDriveLab/ThinkTwice) (:rocket:Ours!)\n- [End-to-end Autonomous Driving Survey](https://github.com/OpenDriveLab/End-to-end-Autonomous-Driving) (:rocket:Ours!)\n- [TCP](https://github.com/OpenDriveLab/TCP) (:rocket:Ours!)\n- [PPGeo](https://github.com/OpenDriveLab/PPGeo) (:rocket:Ours!)\n- [BEVFormer](https://github.com/fundamentalvision/BEVFormer) (:rocket:Ours!)\n- [UniAD](https://github.com/OpenDriveLab/UniAD) (:rocket:Ours!)\n- [ST-P3](https://github.com/OpenDriveLab/ST-P3) (:rocket:Ours!)\n- [Carla](https://github.com/carla-simulator/carla)\n- [Roach](https://github.com/zhejz/carla-roach)\n- [BEVFusion](https://github.com/mit-han-lab/bevfusion)\n- [Mask2Former](https://github.com/facebookresearch/Mask2Former)\n- [BEVDepth](https://github.com/Megvii-BaseDetection/BEVDepth)\n- [Transfuser](https://github.com/autonomousvision/transfuser)\n- [CARLA_GARGE](https://github.com/autonomousvision/carla_garage)\n- [LAV](https://github.com/dotchen/LAV)\n- [IBISCape](https://github.com/AbanobSoliman/IBISCape)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopendrivelab%2Fdriveadapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopendrivelab%2Fdriveadapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopendrivelab%2Fdriveadapter/lists"}