DAP-MAE: Domain-Adaptive Point Cloud Masked Autoencoder for Effective Cross-Domain Learning

July 10, 2025 ยท View on GitHub

DAP-MAE: Domain-Adaptive Point Cloud Masked Autoencoder for Effective Cross-Domain Learning

-The code has been released, but there may be some issues in the code, possibly caused by mismatched parameter names during loading. We will fix them as soon as possible.

  • ๐ŸŽ‰ Jun 2025: [DAP-MAE] is accepted by ICCV 2025 ๐ŸŽ‰.

Abstract

In this work, we propose the Domain-Adaptive Point Cloud Masked Autoencoder (DAP-MAE), an MAE pre-training method, to adaptively integrate the knowledge of cross-domain datasets for general point cloud analysis. In DAP-MAE, we design a heterogeneous domain adapter that utilizes an adaptation mode during the pre-training, enabling the model to comprehensively learn information from point clouds across different domains, while employing a fusion mode in the fine-tuning to enhance point cloud features. Meanwhile, DAP-MAE incorporates a domain feature generator to guide the adaptation of point cloud features to various downstream tasks. With only one pre-training, DAP-MAE achieves excellent performance across four different point cloud analysis tasks, reaching 95.18% in object classification on ScanObjectNN and 88.45% in facial expression recognition on Bosphorus. PDF Image

requirements

cd ./extensions/chamfer_dist && 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

Datasets

We use FRGCv2, Bosphorus, BU3DFE, ShapeNet, ScanObjectNN, ModelNet40, S3DIS and ShapeNetPart in this work. See DATASET.md for details.

Pre-trained model and fine-tuned checkpoints

You can find the pre-trained model and fine-tuned checkpoints for downstream tasks right here: Google drive

PS: We only upload the pre-trained model and the checkpoint on Scanobjectnn OBJ-BG right now because the author is a little bit lazy...

Training and Inference

Pre-training on cross-domain datasets

CUDA_VISIBLE_DEVICES=<GPU> python main.py --config cfgs/pretrain/pretrain.yaml --exp_name <choose your name>

Fine-tuning on Scanobjectnn

CUDA_VISIBLE_DEVICES=<GPU> python main.py --config cfgs/finetune_classification/full/finetune_scan_objbg.yaml --finetune_model --exp_name <choose your name> --ckpts <checkpoints_path>

License

DAP-MAE is released under MIT License. See the LICENSE file for more details. Besides, the licensing information for pointnet2 modules is available here.

Acknowledgements

This codebase is built upon ReCon, Pointnet2_PyTorch, ACT