{"id":13444111,"url":"https://github.com/yunxiaoshi/pointnet-pytorch","last_synced_at":"2025-03-20T18:30:25.579Z","repository":{"id":217874556,"uuid":"162589304","full_name":"yunxiaoshi/pointnet-pytorch","owner":"yunxiaoshi","description":"PointNet in PyTorch with comprehensive experiments","archived":false,"fork":false,"pushed_at":"2021-06-09T05:50:37.000Z","size":20,"stargazers_count":50,"open_issues_count":5,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-28T07:42:52.221Z","etag":null,"topics":["computer-vision","deep-learning"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yunxiaoshi.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-12-20T14:19:46.000Z","updated_at":"2024-05-23T23:58:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"d68d2d14-2ae9-4cef-8cea-b5700cef34e9","html_url":"https://github.com/yunxiaoshi/pointnet-pytorch","commit_stats":null,"previous_names":["yunxiaoshi/pointnet-pytorch"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yunxiaoshi%2Fpointnet-pytorch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yunxiaoshi%2Fpointnet-pytorch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yunxiaoshi%2Fpointnet-pytorch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yunxiaoshi%2Fpointnet-pytorch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yunxiaoshi","download_url":"https://codeload.github.com/yunxiaoshi/pointnet-pytorch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244669819,"owners_count":20490861,"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":["computer-vision","deep-learning"],"created_at":"2024-07-31T03:02:19.312Z","updated_at":"2025-03-20T18:30:25.569Z","avatar_url":"https://github.com/yunxiaoshi.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"## PointNet-PyTorch\n\n[![Python 3.6+](https://img.shields.io/badge/Python-3.6%2B-blue)](https://www.python.org/)\n[![MIT License](https://img.shields.io/badge/MIT-License-brightgreen)](./LICENSE)\n\nThis is a PyTorch implementation of [PointNet (CVPR 2017)](https://arxiv.org/abs/1612.00593 \"PointNet\"), with comprehensive experiments.\n\n## Installation\n\nIt is recommended to use [conda](https://docs.conda.io/en/latest/) to manage your env. For example do  \n```\nconda create -n pointnet python=3.6\nconda activate pointnet\npip install -r requirements.txt\n```\n\nYou may also need to install [PyMesh](https://github.com/PyMesh/PyMesh \"PyMesh\"). See [here](https://github.com/PyMesh/PyMesh#Build) for instructions to install.\n\n## Usage\n\nThis code implements object classification on ModelNet, shape part segmentation on ShapeNet and indoor scene semantic segmentation on the Stanford 3D dataset.\n\nFor the missing ```s3d_cat2num.txt``` when training on S3DIS, follow [#3](https://github.com/kentsyx/pointnet-pytorch/issues/3#issuecomment-643061963) to generate it once you have the dataset downloaded.\n\n### ModelNet Classification\n\nDownload the ModelNet10 dataset from [here](http://3dvision.princeton.edu/projects/2014/3DShapeNets/ModelNet10.zip) or the ModelNet40 dataset from [here](https://lmb.informatik.uni-freiburg.de/resources/datasets/ORION/modelnet40_manually_aligned.tar). Unzip and run \n```\npython train_cls.py -dset modelnet40 -r modelnet_root_dir -np number_of_points_to_sample\n```\n\n### ShapeNet Part Segmentation\n\nDownload the ShapeNet dataset from [here](https://shapenet.cs.stanford.edu/ericyi/shapenetcore_partanno_segmentation_benchmark_v0.zip). Unzip and run\n```\npython train_seg.py -dset shapenet16 -r shapenet_root_dir -np number_of_points_to_sample\n```\n\n### Indoor Scene Semantic Segmentation\n\nDownload the S3DIS dataset from [here](http://buildingparser.stanford.edu/dataset.html#Download) (you need to submit a request). Unzip and do\n```\ncd Stanford3dDataset_v1.2\nmkdir train test\nmv Area_1 Area_2 Area_3 Area_4 Area_6 train\nmv Area_5 test\n```\nto create train/test split. Then set ```gen_labels=True``` in the class ```S3dDataset``` in datasets.py and do\n```\npython datasets.py\n``` \nto generate labels for the train and test set respectively. __After that always set ```gen_labels=False```__. With labels generated do\n```\npython train_seg.py -dset s3dis -r s3dis_root_dir -np number_of_points_to_sample\n```\nto start training.\n\n## Visualization\n\nFirst do ```sh build.sh```, then use ```show_seg.py``` to visualize segmented object parts. Below are some example results.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://i.ibb.co/rx5KB2x/part.png\")\n\u003c/p\u003e\n\nFor S3DIS, you have to combine scene components along with their labels into one text file (```cat``` and ```paste``` seems to be an easy way to do this) and then pass it to ```show_seg_s3dis.py```. Below are some example results (removed some clutter classes for better visualization).\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://i.ibb.co/0Gcy2KG/s3dis.png\")\n\u003c/p\u003e\n\n## Results\n\nCertain design choices in the original paper are not implemented here for simplicity. There is some performance gap on ModelNet classification, for ShapeNet and S3DIS seems to be on par with the original paper.\n\n\u003ccenter\u003e\n\n| | accuracy | class avg IoU\n| :------: | :------: | :------: |\n| ModelNet10 | 87.2% | - | \n| ModelNet40 | 85.4% | - | \n| ShapeNet | - | 82.9% |\n| S3DIS | 72.1% | 50.6% |\n\n\u003c/center\u003e\n\n## Acknowledgements\n\n[pointnet.pytorch](https://github.com/fxia22/pointnet.pytorch) (many thanks)\n\n[original tensorflow implementation](https://github.com/charlesq34/pointnet)\n\n## LICENSE\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyunxiaoshi%2Fpointnet-pytorch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyunxiaoshi%2Fpointnet-pytorch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyunxiaoshi%2Fpointnet-pytorch/lists"}