{"id":13443550,"url":"https://github.com/philip-huang/PIXOR","last_synced_at":"2025-03-20T16:32:06.934Z","repository":{"id":38341832,"uuid":"170756469","full_name":"philip-huang/PIXOR","owner":"philip-huang","description":"PyTorch Implementation of PIXOR","archived":false,"fork":false,"pushed_at":"2019-06-27T02:38:48.000Z","size":8752,"stargazers_count":281,"open_issues_count":21,"forks_count":59,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-08-01T03:44:00.849Z","etag":null,"topics":["deep-learning","lidar","self-driving-car"],"latest_commit_sha":null,"homepage":null,"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/philip-huang.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":"2019-02-14T20:52:19.000Z","updated_at":"2024-07-23T16:52:38.000Z","dependencies_parsed_at":"2022-09-21T03:52:07.166Z","dependency_job_id":null,"html_url":"https://github.com/philip-huang/PIXOR","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/philip-huang%2FPIXOR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philip-huang%2FPIXOR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philip-huang%2FPIXOR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philip-huang%2FPIXOR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/philip-huang","download_url":"https://codeload.github.com/philip-huang/PIXOR/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221780056,"owners_count":16879040,"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":["deep-learning","lidar","self-driving-car"],"created_at":"2024-07-31T03:02:03.531Z","updated_at":"2024-10-28T04:31:20.532Z","avatar_url":"https://github.com/philip-huang.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# PIXOR: Real-time 3D Object Detection from Point Clouds\n\nThis is a custom implementation of the paper from Uber ATG using PyTorch 1.0. It represents the driving scene using lidar data in the Birds' Eye View (BEV) and uses a single stage object detector to predict the poses of road objects with respect to the car\n\n[PIXOR: Real-time 3D Object Detection from Point Clouds](http://openaccess.thecvf.com/content_cvpr_2018/papers/Yang_PIXOR_Real-Time_3D_CVPR_2018_paper.pdf)\n\n![alt text](imgs/sample.png)\n\n## Highlights\n- **PyTorch 1.0** Reproduced and trained from scratch using the **KITTI** dataset\n- **Fast** Custom LiDAR preprocessing using C++ \n- **Multi-GPU** Training and Pytorch *MultiProcessing* package to speed up non-maximum suppression during evaluation\n- **Tensorboard** Visualize trainig progress using Tensorboard\n- **KITTI and ROSBAG Demo** Scripts that supports running inferences directly on raw KITTI data or custom rosbags.\n\n\n## Install\nDependencies: \n- Python 3.5(3.6)\n- Pytorch (Follow Official Installation Guideline)\n- Tensorflow (see their website)\n- Numpy, MatplotLib, OpenCV3\n- PyKitti (for running on KITTI raw dataset)\n- gcc\n\n```\npip install shapely numpy matplotlib\ngit clone https://github.com/philip-huang/PIXOR\ncd PIXOR/srcs/preprocess\nmake\n```\n\n(Optional) If you want to run this project on a custom rosbag containing Velodyne HDL64 scans the system must be Linux with ROS kinetic installed.\nYou also need to install the [velodyne driver](https://github.com/ros-drivers/velodyne) into the velodyne_ws folder.\n\nSet up the velodyne workspace by running ./velodyne_setup.bash and press Ctrl-C as necessary.\n\n## Demo\nA helper class is provided in run_kitti.py to simplify writing inference pipelines using pre-trained models. Here is how we would do it. Run this from the src folder (suppose I have already downloaded my KITTI raw data and extracted to somewhere)\n```\nfrom run_kitti import *\n\ndef make_kitti_video():\n     \n    basedir = '/mnt/ssd2/od/KITTI/raw'\n    date = '2011_09_26'\n    drive = '0035'\n    dataset = pykitti.raw(basedir, date, drive)\n   \n    videoname = \"detection_{}_{}.avi\".format(date, drive)\n    save_path = os.path.join(basedir, date, \"{}_drive_{}_sync\".format(date, drive), videoname)    \n    run(dataset, save_path)\n\nmake_kitti_video()\n``` \n\n## Training and Evaluation\nOur Training Result (as of Dec 2018)\n![alt text](imgs/result.png)\n\nAll configuration (hyperparameters, GPUs, etc) should be put in a **config.json** file and save to the directory *srcs/experiments/$exp_name$*\nTo train\n```\npython srcs/main.py train (--name=$exp_name$)\n```\nTo evaluate an experiment\n```\npython srcs/main.py val (--name=$exp_name$)\n```\nTo display a sample result\n```\npython srcs/main.py test --name=$exp_name$\n```\nTo view tensorboard\n```\ntensorboard --logdir=srcs/logs/$exp_name$\n```\n\n## TODO\n* [ ] Improve training accuracy on KITTI dataset\n* [ ] Data augmentation\n* [ ] Generalization gap on custom driving sequences\n* [ ] Data Collection\n* [ ] Improve model (possible idea: use map as a prior)\n\n## Credits\nProject Contributors\n* Philip Huang\n* Allan Liu \n\nPaper Citation below\n```\n\n\n@inproceedings{yang2018pixor,\n  title={PIXOR: Real-Time 3D Object Detection From Point Clouds},\n  author={Yang, Bin and Luo, Wenjie and Urtasun, Raquel}\n}\n```\n\nWe would like to thank [aUToronto](https://www.autodrive.utoronto.ca/) for genersouly sponsoring GPUs for this project\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilip-huang%2FPIXOR","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilip-huang%2FPIXOR","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilip-huang%2FPIXOR/lists"}