Learning Coordinate-based Convolutional Kernels for Continuous SE(3) Equivariant and Efficient Point Cloud Analysis [CVPR 2026]
This repository contains the official implementation of Learning Coordinate-based Convolutional Kernels for Continuous SE(3) Equivariant and Efficient Point Cloud Analysis (in press CVPR 2026) and reproducible experiments from the corresponding paper. arXiv
This implementation was tested with Ubuntu 18.04, Python 3.11 with CUDA 12.4. Refer to environment.yml
- PyTorch==2.4.1
- PyTorch3D
- wandb
- ModelNet40: Download modelnet40_normal_resampled.
- ShapeNetPart: Download shapenetpart_hdf5_2048.
- S3DIS: Download s3dis-compressed, which is a preprocessed version provided by Pointcept/Pointcept.
# ECKConv
python train_modelnet_cls.py --cfg se3_conv_arch_3 --lr 1e-4 --use_noisy --use_scheduler --use_smoothing
# ECKConv with SO(3) Augmentation
python train_modelnet_cls.py --cfg se3_conv_arch_3 --lr 1e-4 --use_noisy --use_scheduler --use_smoothing --use_rotate
# ECKConv-mini
python train_modelnet_cls.py --cfg se3_conv_arch_mini --lr 1e-4 --use_noisy --use_scheduler --use_smoothing
# ECKConv-mini with SO(3) Augmentation
python train_modelnet_cls.py --cfg se3_conv_arch_mini --lr 1e-4 --use_noisy --use_scheduler --use_smoothing --use_rotate
# ECKConv-Normal
python train_modelnet_cls.py --cfg se3_conv_arch_3 --lr 1e-4 --use_noisy --use_scheduler --use_smoothing --use_normal
# ECKConv-Normal with SO(3) Augmentation
python train_modelnet_cls.py --cfg se3_conv_arch_3 --lr 1e-4 --use_noisy --use_scheduler --use_smoothing --use_normal --use_rotate# ECKConv + DCP-v2
python train_modelnet_reg.py --cfg se3conv_reg_0 --lr 1e-4 --epochs 50 --use_scheduler# ECKConv
python train_shapenetpart.py --cfg shapenet_deconv_0 --epochs 250 --lr 1e-4 --use_noisy --use_scheduler --use_smoothing
# ECKConv with SO(3) Augmentation
python train_shapenetpart.py --cfg shapenet_deconv_0 --epochs 250 --lr 1e-4 --use_noisy --use_scheduler --use_smoothing --use_rotate# ECKConv-Normal
python train_s3dis.py --cfg s3dis_deconv_no_color_1 --batchsize 8 --epochs 80 --use_noisy --use_labelweight--log_every 600To reproduce the results, download the zipped weight file (Google Drive), unzip it in this repository, and use below commands.
# ECKConv
python test_modelnet_cls.py --weight weight/modelnet/se3_no_normal_align.pth
# ECKConv with SO(3) Augmentation
python test_modelnet_cls.py --weight weight/modelnet/se3_no_normal_so3.pth
# ECKConv-mini
python test_modelnet_cls.py --weight weight/modelnet/se3_mini_align.pth
# ECKConv-mini with SO(3) Augmentation
python test_modelnet_cls.py --weight weight/modelnet/se3_mini_so3.pth
# ECKConv-Normal
python test_modelnet_cls.py --weight weight/modelnet/se3_normal_align.pth
# ECKConv-Normal with SO(3) Augmentation
python test_modelnet_cls.py --weight weight/modelnet/se3_normal_so3.pth# ECKConv + DCP-v2
python test_modelnet_reg.py --weight weight/modelnet_reg/se3_no_normal.pth# ECKConv
python test_shapenetpart.py --weight weight/shapenetpart/se3_no_normal_align.pth
# ECKConv with SO(3) Augmentation
python test_shapenetpart.py --weight weight/shapenetpart/se3_no_normal_so3.pth# ECKConv-Normal
python test_s3dis.py --weight weight/s3dis/se3conv_best.pthThe implementations and dataset preparations in this repository are based on jykim2958/CSEConv, yanx27/Pointnet_Pointnet2_pytorch, WangYueFt/dcp, apple/ml-kpconvx, antao97/PointCloudDatasets, and Pointcept/Pointcept.
@misc{kim2026learning
title={Learning Coordinate-based Convolutional Kernels for Continuous SE(3) Equivariant and Efficient Point Cloud Analysis},
author={Jaein Kim and Hee Bin Yoo and Dong-Sig Han and Byoung-Tak Zhang},
year={2026},
eprint={2603.17538},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2603.17538},
}