This is a official implementation of X-3D proposed by our paper X-3D: Explicit 3D Structure Modeling for Point Cloud Recognition (CVPR 2024).
- Feb, 2024: X-3D accepted by CVPR 2024.
- Mar, 2024: Code Release.
source install.sh
Please change the version of the relevant package in install.sh
according to your CUDA version.
Please refer to PointNeXt tutorial to download the datasets.
Model | Area-5 mIoU/OA | 6-fold mIoU/OA | Params (M) | FLOPs (G) |
---|---|---|---|---|
PointMetaBase-L | 69.723/90.702 | 75.6/90.6 | 2.7 | 2.0 |
+X-3D | 71.8/91.2 | 76.7/91.1 | 3.8 | 2.2 |
PointMetaBase-XL | 71.597/90.551 | 76.3/91.0 | 15.3 | 9.2 |
+X-3D | 72.1/91.4 | 77.7/91.6 | 18.1 | 9.8 |
CUDA_VISIBLE_DEVICES=0 bash script/main_segmentation.sh cfgs/s3dis/pointmetabase-l-x-3d.yaml wandb.use_wandb=True
CUDA_VISIBLE_DEVICES=0 bash script/main_segmentation.sh cfgs/s3dis/pointmetabase-l-x-3d.yaml wandb.use_wandb=False mode=test --pretrained_path path/to/pretrained/model
CUDA_VISIBLE_DEVICES=0 python examples/profile.py --cfg cfgs/s3dis/pointmetabase-l-x-3d.yaml batch_size=16 num_points=15000 flops=True timing=True
Model | Val mIoU | Test mIoU | Params (M) | FLOPs (G) | TP (ins./sec.) |
---|---|---|---|---|---|
PointMetaBase-L | 71.0 | - | 2.7 | 2.0 | 187 |
+X-3D | 71.8 | 3.8 | 2.2 | ||
PointMetaBase-XL | 71.8 | - | 15.3 | 9.2 | 104 |
+X-3D | 72.8 | 18.1 | 9.8 |
CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python examples/segmentation/main.py --cfg cfgs/scannet/pointmetabase-l-x3d.yaml wandb.use_wandb=True
CUDA_VISIBLE_DEVICES=0 python examples/segmentation/main.py --cfg cfgs/scannet/pointmetabase-l-x3d.yaml mode=test dataset.test.split=val --pretrained_path path/to/pretrained/model
CUDA_VISIBLE_DEVICES=0 python examples/profile.py --cfg cfgs/scannet/pointmetabase-l-x3d.yaml batch_size=16 num_points=15000 flops=True timing=True
This repository is built on reusing codes of OpenPoints, PointNeXt and PointMetaBase