🌟 各位同学顺手点个右上角的 Star 支持下呀~ | Hey folks, please star this repo (top-right corner) if you find it useful!
毕竟用了代码,点个星就是对开发者最简单的鼓励啦,别光下载不点亮呀~ | After all, a star is the easiest way to support the developer if you're using the code – don't just download and leave it unstarred!
The code has been tested on NVIDIA GeForce RTX3090 GPU with Ubantu20.04 , Python 3.7.9, PyTorch 1.11.0, CUDA 11.3
pip install -r requirements.txt
python setup.py install --user
# PointNet++
pip install "git+https://github.com/erikwijmans/Pointnet2_PyTorch.git#egg=pointnet2_ops&subdirectory=pointnet2_ops_lib"
# GPU kNN
pip install --upgrade https://github.com/unlimblue/KNN_CUDA/releases/download/0.2/KNN_CUDA-0.2-py3-none-any.whl
The network architecture of SSMP is shown below:
the training time for the warm up stage is 40 seconds, and the training time for the teacher guidance stage is 40 minutes
We have provided training logs to validate the effectiveness of the model. log is here
Our prepared shapenet dataset is available here and pix3d dataset is available here
The pretrained models on Pix3D are available here
You should modify the dataset path in the config.py file.
DATASETS.SHAPENET.RENDERING_PATH = 'path/to/shapenet/%s/%s/rendering/%02d.png'
DATASETS.SHAPENET.POINT_PATH= 'path/to/shapenet_point/%s/%s'+'.npy''
DATASETS.SHAPENET.TAXONOMY_FILE_PATH =“path/to/datasets/ShapeNet_20.json”
python runner.py
python runner.py --finetune --weights=xxx.pth
python runner.py --test --weights=xxx.pth
| CD | Airplane | Bench | Cabinet | Chair | Video | Lamp | Speaker | Rifle | Sofa | Table | Phone | Vessel | Avg |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| This repo | 3.08 | 5.30 | 7.67 | 6.40 | 6.37 | 7.29 | 9.07 | 2.90 | 5.83 | 6.85 | 4.83 | 4.96 | 5.91 |
.obj file can be loaded into MeshLab for visualization.
The visualization result:
You should modify the dataset path in the config.py file.
DATASETS.PIX3D.RENDERING_PATH = 'path/to/pix3d/img/%s/%s.%s'
DATASETS.PIX3D.POINT_PATH = 'path/to/pix3d/model/%s/%s/%s'
DATASETS.PIX3D.TAXONOMY_FILE_PATH =“path/to/datasets/Pix3D_10.json”
python runner.py --datatype="Pix3D"
python runner.py --finetune --weights=xxx.pth --datatype="Pix3D"
python runner.py --test --weights=xxx.pth --datatype="Pix3D"
| CD | Bed | Bookcase | Desk | Misc | sofa | table | tool | wardrobe | Avg |
|---|---|---|---|---|---|---|---|---|---|
| This repo | 6.73 | 6.48 | 7.11 | 13.44 | 4.60 | 8.07 | 11.66 | 3.42 | 6.53 |
.obj file can be loaded into MeshLab for visualization.
The visualization result:


