{"id":13442648,"url":"https://github.com/OpenDriveLab/PPGeo","last_synced_at":"2025-03-20T15:30:28.267Z","repository":{"id":65547513,"uuid":"578900476","full_name":"OpenDriveLab/PPGeo","owner":"OpenDriveLab","description":"[ICLR 2023] Pytorch implementation of PPGeo, a fully self-supervised driving policy pre-training framework to learn from unlabeled driving videos.","archived":false,"fork":false,"pushed_at":"2023-12-06T13:12:11.000Z","size":8464,"stargazers_count":126,"open_issues_count":4,"forks_count":7,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-19T19:08:13.947Z","etag":null,"topics":["end-to-end-autonomous-driving","policy-learning","self-supervised-learning"],"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},"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":"2022-12-16T06:38:02.000Z","updated_at":"2025-02-25T09:29:04.000Z","dependencies_parsed_at":"2023-12-06T14:40:32.166Z","dependency_job_id":null,"html_url":"https://github.com/OpenDriveLab/PPGeo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDriveLab%2FPPGeo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDriveLab%2FPPGeo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDriveLab%2FPPGeo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenDriveLab%2FPPGeo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenDriveLab","download_url":"https://codeload.github.com/OpenDriveLab/PPGeo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244639830,"owners_count":20485937,"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":["end-to-end-autonomous-driving","policy-learning","self-supervised-learning"],"created_at":"2024-07-31T03:01:48.605Z","updated_at":"2025-03-20T15:30:28.261Z","avatar_url":"https://github.com/OpenDriveLab.png","language":"Python","funding_links":["https://github.com/sponsors/OpenDriveLab"],"categories":["Python"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e   \n  \n# PPGeo: Policy Pre-training for Autonomous Driving via Self-supervised Geometric Modeling\n\u003c/div\u003e\n\n![teaser](assets/teaser.png)\n\n\u003e Policy Pre-training for Autonomous Driving via Self-supervised Geometric Modeling \n\u003e\n\u003e - [Penghao Wu](https://scholar.google.com/citations?user=9mssd5EAAAAJ\u0026hl=en), [Li Chen](https://scholar.google.com/citations?user=ulZxvY0AAAAJ\u0026hl=en\u0026authuser=1), [Hongyang Li](https://lihongyang.info/), [Xiaosong Jia](https://jiaxiaosong1002.github.io/), [Junchi Yan](https://thinklab.sjtu.edu.cn/), [Yu Qiao](http://mmlab.siat.ac.cn/yuqiao/)\n\u003e - [arXiv Paper](https://arxiv.org/abs/2301.01006) | [openreview](https://openreview.net/forum?id=X5SUR7g2vVw), ICLR 2023\n\u003e - video | [blog](https://zhuanlan.zhihu.com/p/601456429)\n\nThis repository contains the pytorch implementation for PPGeo in the paper [Policy Pre-training for Autonomous Driving via Self-supervised Geometric Modeling](https://arxiv.org/abs/2301.01006). PPGeo is a fully self-supervised driving policy pre-training framework to learn from unlabeled driving videos.\n\n## Pre-trained Models\n\n\u003c!---\n| [Visual Encoder (ResNet-34)](https://drive.google.com/file/d/1GAeLgT3Bd_koN9bRPDU1ksMpMlWfGXbE/view?usp=sharing) | [DepthNet](https://drive.google.com/file/d/1bzRVs97KbPtfXE-1Iwe60bUD4i0JXxhh/view?usp=sharing) | [PoseNet](https://drive.google.com/file/d/1sDeuJIvfC01NFyuLFyPI3-yihQRsmLY_/view?usp=sharing) |\n|:--------------:|:--------:|:-------:|\n---\u003e\n\n| Model | Google Drive Link | BaiduYun Link |\n|:--------------:|:--------:|:--------:|\n| Visual Encoder (ResNet-34) | [ckpt](https://drive.google.com/file/d/1GAeLgT3Bd_koN9bRPDU1ksMpMlWfGXbE/view?usp=sharing) |  [ckpt](https://pan.baidu.com/s/1Fk4czTk68d4nXFcwoqTvqg) (code: itqi) | \n| DepthNet | [ckpt](https://drive.google.com/file/d/1bzRVs97KbPtfXE-1Iwe60bUD4i0JXxhh/view?usp=sharing) | [ckpt](https://pan.baidu.com/s/17bWzWhYb9Iofr_4vX6MByw) (code: xvof)\n| PoseNet | [ckpt](https://drive.google.com/file/d/1sDeuJIvfC01NFyuLFyPI3-yihQRsmLY_/view?usp=sharing) | [ckpt](https://pan.baidu.com/s/1R2JBweG-PwX5fJ55WGvLBg) (code: fp2n) |\n\n\n## Get Started\n\n- Clone the repo and build the environment.\n\n```\ngit clone https://github.com/OpenDriveLab/PPGeo.git\ncd PPGeo\nconda env create -f environment.yml --name PPGeo\nconda activate PPGeo\n```\n\n- Download the driving video dataset based on the instructions in [ACO](https://github.com/metadriverse/ACO).\n\n- Make a symlink to the dataset root.\n\n```\nln -s DATA_ROOT data\n```\n\n- Preprocess the data.\n\n```\npython ytb_data_preprocess.py\n```\n\n## Training\n\n- First stage training.\n\n```\npython train.py --id ppgeo_stage1_log --stage 1 --epochs 30\n```\n\n- Second stage training.\n\n```\npython train.py --id ppgeo_stage2_log --stage 2 --epochs 20 --ckpt PATH_TO_STAGE1_CKPT\n```\n\n## Downstream Tasks\n\n### Nuscenes Planning\n- Please download the [nuScenes](https://www.nuscenes.org/) dataset first\n- Make a symlink to the nuScenes dataset root.\n```\ncd nuscenes_planning\ncd data\nln -s nuScenes_data_root nuscenes\ncd ..\n```\n- Training the planning model\n```\npython train_planning.py --pretrained_ckpt PATH_TO_STAGE2_CKPT\n```\n### Navigation \u0026 Navigation Dynamic \u0026 Reinforcement Learning\nWe use the [DI-drive](https://github.com/opendilab/DI-drive) engine for IL data collection, IL training, IL evaluation, and PPO training following [ACO](https://github.com/metadriverse/ACO) with carla version 0.9.9.4. Some additional details can be found [here](https://github.com/metadriverse/ACO/issues/1#issuecomment-1210088428).\n### \n\n### Leaderboard Town05-long\nWe use the [TCP](https://github.com/OpenPerceptionX/TCP) codebase for training and evaluation with default setting. \n\n## Citation\n\nIf you find our repo or our paper useful, please use the following citation:\n\n```bibtex\n  @inproceedings{wu2023PPGeo,\n    title={Policy Pre-training for Autonomous Driving via Self-supervised Geometric Modeling},\n    author={Penghao Wu and Li Chen and Hongyang Li and Xiaosong Jia and Junchi Yan and Yu Qiao},\n    booktitle={International Conference on Learning Representations},\n    year={2023}\n  }\n```\n\n## License\nAll code within this repository is under [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).\n\n## Acknowlegement\nOur code is based on [monodepth2](https://github.com/nianticlabs/monodepth2).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenDriveLab%2FPPGeo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOpenDriveLab%2FPPGeo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOpenDriveLab%2FPPGeo/lists"}