This repo is implementation for PointNet and PointNet++ in pytorch.
2019/11/26:
(1) Fixed some errors in previous codes and added data augmentation tricks. Now classification can achieve 92.4%!
(2) Added testing codes, including classification and segmentation, and semantic segmentation with visualization.
(3) Organized all models into ./models
files for easy using.
Download alignment ModelNet here and save in data/modelnet40_normal_resampled/
.
## Check model in ./models
## E.g. pointnet2_msg
python train_cls.py --model pointnet2_cls_msg --normal --log_dir pointnet2_cls_msg
python test_cls.py --normal --log_dir pointnet2_cls_msg
Model | Accuracy |
---|---|
PointNet (Official) | 89.2 |
PointNet2 (Official) | 91.9 |
PointNet (Pytorch without normal) | 90.6 |
PointNet (Pytorch with normal) | 91.4 |
PointNet2_ssg (Pytorch without normal) | 92.2 |
PointNet2_ssg (Pytorch with normal) | 92.4 |
Download alignment ShapeNet here and save in data/shapenetcore_partanno_segmentation_benchmark_v0_normal/
.
## Check model in ./models
## E.g. pointnet2_msg
python train_partseg.py --model pointnet2_part_seg_msg --normal --log_dir pointnet2_part_seg_msg
python test_partseg.py --normal --log_dir pointnet2_part_seg_msg
Model | Inctance avg | Class avg |
---|---|---|
PointNet (Official) | 83.7 | 80.4 |
PointNet2 (Official) | 85.1 | 81.9 |
PointNet (Pytorch) | 84.1 | 80.7 |
PointNet2_ssg (Pytorch) | - | - |
PointNet2_msg (Pytorch) | - | - |
Download 3D indoor parsing dataset (S3DIS) here and save in data/Stanford3dDataset_v1.2/
.
cd data_utils
python collect_indoor3d_data.py
Processed data will save in data/stanford_indoor3d/
.
## Check model in ./models
## E.g. pointnet2_ssg
python train_semseg.py --model pointnet2_sem_seg --with_rgb --test_area 5 --log_dir pointnet2_sem_seg
python test_semseg.py --with_rgb --log_dir pointnet2_sem_seg --test_area 5 --visual
Visualization results will save in log/sem_seg/pointnet2_sem_seg/visual/
and you can visualize these .obj file by MeshLab.
Model | Mean IOU |
---|---|
PointNet (Official) | 41.1 |
PointNet (Pytorch) | 48.9 |
PointNet2 (Official) | N/A |
PointNet2_ssg (Pytorch) | 53.2 |
## build C++ code for visualization
cd visualizer
bash build.sh
## run one example
python show3d_balls.py
halimacc/pointnet3
fxia22/pointnet.pytorch
charlesq34/PointNet
charlesq34/PointNet++