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.

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