{"id":18573559,"url":"https://github.com/prs-eth/pcaccumulation","last_synced_at":"2026-03-05T19:05:22.121Z","repository":{"id":41568942,"uuid":"509982168","full_name":"prs-eth/PCAccumulation","owner":"prs-eth","description":"[ECCV 2022] Dynamic 3D Scene Analysis by Point Cloud Accumulation","archived":false,"fork":false,"pushed_at":"2025-02-20T10:40:46.000Z","size":3762,"stargazers_count":129,"open_issues_count":2,"forks_count":10,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-02T04:07:30.401Z","etag":null,"topics":["autonomous-driving","eccv2022","pointcloud","sceneflow"],"latest_commit_sha":null,"homepage":"https://shengyuh.github.io/pcaccumulation/index.html","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prs-eth.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-03T09:49:42.000Z","updated_at":"2025-03-21T20:07:19.000Z","dependencies_parsed_at":"2023-02-16T01:15:55.136Z","dependency_job_id":null,"html_url":"https://github.com/prs-eth/PCAccumulation","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/prs-eth%2FPCAccumulation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prs-eth%2FPCAccumulation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prs-eth%2FPCAccumulation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prs-eth%2FPCAccumulation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prs-eth","download_url":"https://codeload.github.com/prs-eth/PCAccumulation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247987285,"owners_count":21028895,"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":["autonomous-driving","eccv2022","pointcloud","sceneflow"],"created_at":"2024-11-06T23:10:51.682Z","updated_at":"2026-03-05T19:05:17.090Z","avatar_url":"https://github.com/prs-eth.png","language":"Python","readme":"## \nThis repository represents the official implementation of the ECCV2022 paper:\n\n### [Dynamic 3D Scene Analysis by Point Cloud Accumulation](http://arxiv.org/abs/2207.12394)\n\n[Shengyu Huang](https://shengyuh.github.io), [Zan Gojcic](https://zgojcic.github.io/), [Jiahui Huang](https://cg.cs.tsinghua.edu.cn/people/~huangjh/), [Andreas Wieser](https://gseg.igp.ethz.ch/people/group-head/prof-dr--andreas-wieser.html), [Konrad Schindler](https://prs.igp.ethz.ch/group/people/person-detail.schindler.html)\\\n| [ETH Zurich](https://igp.ethz.ch/) | [NVIDIA Toronto AI Lab](https://nv-tlabs.github.io) | [BRCist](https://www.bnrist.tsinghua.edu.cn/) |\n\n\u003cimage src=\"assets/teaser.jpg\"/\u003e\n\n### Contact\nIf you have any questions, please let me know: \n- Shengyu Huang {shengyu.huang@geod.baug.ethz.ch}\n\n\n### Instructions\nThis code has been tested on:\n- Python 3.10.4, PyTorch 1.12.0+cu116, CUDA 11.6, gcc 11.2.0, GeForce RTX 3090\n- Python 3.8.3, PyTorch 1.10.2+cu111, CUDA 11.1, gcc 9.4.0, GeForce RTX 3090\n\n#### Requirements\nPlease adjust according to your cuda version, then run the following to create a virtual environment:\n```shell\nvirtualenv venv_pcaccumulation\nsource venv_pcaccumulation/bin/activate\npip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116\npip install --upgrade git+https://github.com/mit-han-lab/torchsparse.git@v1.4.0\npip install torch-scatter -f https://data.pyg.org/whl/torch-1.12.0+cu116.html\npip install pyfilter nestargs\n```\n\nThen clone our repository by running:\n```shell\ngit clone https://github.com/prs-eth/PCAccumulation.git\ncd PCAccumulation\n```\n\n#### Datasets and pretrained models\nWe provide preprocessed Waymo and nuScenes datasets. The preprocessed dataset and checkpoint can be downloaded by running:\n```shell\nwget --no-check-certificate --show-progress https://share.phys.ethz.ch/~gseg/PCAccumulation/data.zip\nunzip data.zip\nwget --no-check-certificate --show-progress https://share.phys.ethz.ch/~gseg/PCAccumulation/checkpoints.zip\nunzip checkpoints.zip\n```\n****\n### Evaluation\n#### Val\nTo quickly run a sanity check of the data, code, and checkpoints on validation split, please run\n```shell\npython main.py configs/waymo/waymo.yaml 10 1 --misc.mode=val --misc.pretrain=checkpoints/waymo.pth --path.dataset_base_local=$YOUR_DATASET_FOLDER\n```\nor \n```shell\npython main.py configs/nuscene/nuscene.yaml 10 1 --misc.mode=val --misc.pretrain=checkpoints/nuscene.pth --path.dataset_base_local=$YOUR_DATASET_FOLDER\n```\nYou will see the evaluation metrics like the following:\n```shell\nSuccessfully load pretrained model from checkpoints/nuscene.pth at epoch 77!\nCurrent best loss 1.3937173217204215\nCurrent best metric 0.8779626780515821\nval Epoch: 0\tmos_iou: 0.880\tmos_recall: 0.942\tmos_precision: 0.930\tfb_iou: 0.856\tfb_recall: 0.918\tfb_precision: 0.918\tego_l1_loss: 0.161\tego_l2_loss: 0.119\tego_rot_error: 0.227\tego_trans_error: 0.100\tperm_loss: 0.010\tfb_loss: 0.341\tmos_loss: 0.401\toffset_loss: 0.329\toffset_l1_loss: 0.531\toffset_dir_loss: 0.127\toffset_l2_error: 0.436\tobj_loss: 0.139\tinst_l2_error: 0.214\tdynamic_inst_l2_error: 0.268\tloss: 1.378\t\nstatic:  IoU: 0.929,  Recall: 0.954,  Precision: 0.972 \ndynamic:  IoU: 0.832,  Recall: 0.93,  Precision: 0.887 \nbackground:  IoU: 0.974,  Recall: 0.987,  Precision: 0.987 \nforeground:  IoU: 0.737,  Recall: 0.849,  Precision: 0.849 \n```\nin ```snapshot/nuscene/log```\n\n#### Test\nTo evaluate on the held-out test set, please run\n```shell\npython main.py configs/waymo/waymo.yaml 1 1 --misc.mode=test --misc.pretrain=checkpoints/waymo.pth --path.dataset_base_local=$YOUR_DATASET_FOLDER\n```\nThis will save per-scene flow estimation/errors to ```results/waymo```. Next, please run the following script to get final evaluation:\n```shell\npython toolbox/evaluation.py results/waymo waymo\n```\n\n\n### Citation\nIf you find this code useful for your work or use it in your project, please consider citing:\n\n```shell\n@inproceedings{huang2022accumulation,\n  title={Dynamic 3D Scene Analysis by Point Cloud Accumulation},\n  author={Shengyu Huang and Zan Gojcic and Jiahui Huang and Andreas Wieser, Konrad Schindler},\n  booktitle={European Conference on Computer Vision, ECCV},\n  year={2022}\n}\n```\n\n### Acknowledgements\nIn this project we use (parts of) the following repositories:\n- [ConvolutionalOccupancyNetwork](https://github.com/autonomousvision/convolutional_occupancy_networks) and [MotionNet](https://github.com/pxiangwu/MotionNet) for our backbone.\n- [TorchSparse](https://github.com/mit-han-lab/torchsparse) and [pytorch_scatter](https://github.com/rusty1s/pytorch_scatter) for efficient voxelisation and scatter operations\n- [AB3DMOT](https://github.com/xinshuoweng/AB3DMOT) for tracking baseline\n- [ChamferDistance](https://github.com/chrdiller/pyTorchChamferDistance)\n\nWe thank the respective developers for open sourcing and maintenance. We would also like to thank reviewers 1 \u0026 2 for their valuable inputs.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprs-eth%2Fpcaccumulation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprs-eth%2Fpcaccumulation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprs-eth%2Fpcaccumulation/lists"}