CMDS-AD checkpoints
This repository contains the CMDS-AD few-shot anomaly-detection checkpoints and the final LoRA weights used by the CMDS-AD pipeline. It provides both the paper-submission weights and an independently retrained checkpoint set.
CMDS-AD uses cross-modal feature mapping between RGB and 3D representations. The released checkpoint package contains models trained for both mapping directions:
2d_to_3d: RGB/image features to 3D features.3d_to_2d: 3D features to RGB/image features.
For each dataset, category, and shot setting, both directions are available. The packages include the 1-shot, 2-shot, and 4-shot checkpoints. The 4shot_mlp training variant is not included in this public package.
Repository layout
checkpoints/
├── submission/
│ ├── mvtec3dad/<category>/<shot>/
│ │ ├── 2d_to_3d/
│ │ │ ├── model_est_final.pth
│ │ │ └── model_real_final.pth
│ │ └── 3d_to_2d/
│ │ ├── model_est_final.pth
│ │ └── model_real_final.pth
│ └── eyecandies/<category>/<shot>/
│ ├── 2d_to_3d/
│ └── 3d_to_2d/
└── retrained/
├── mvtec3dad/<category>/<shot>/
│ ├── 2d_to_3d/
│ └── 3d_to_2d/
└── eyecandies/<category>/<shot>/
├── 2d_to_3d/
└── 3d_to_2d/
weights/lora/
├── mvtec3dad/<category>/final_lora.safetensors
└── eyecandies/<category>/final_lora.safetensors
The checkpoints/submission/ files are the paper-submission weights trained
and evaluated on NVIDIA RTX 5090 GPUs. The checkpoints/retrained/ files are
the independently retrained weights trained and evaluated on NVIDIA RTX 4090
GPUs with a batch size of 1 for the 24 GB memory limit. Both versions use the
same datasets, normal maps, foreground masks, shot settings, directions, and
inference protocol, and their validation performance is comparable.
For each dataset, category, and shot setting, both directions are available:
2d_to_3d: RGB/image features to 3D features.3d_to_2d: 3D features to RGB/image features.
The packages include the 1-shot, 2-shot, and 4-shot checkpoints. The
4shot_mlp training variant is not included in this public package.
Downloading a checkpoint
The files can be downloaded with huggingface_hub:
from huggingface_hub import hf_hub_download
repo_id = "Junhaocai27/CMDS-AD"
path_submission = hf_hub_download(
repo_id=repo_id,
filename="checkpoints/submission/mvtec3dad/bagel/1shot/2d_to_3d/model_est_final.pth",
)
path_retrained = hf_hub_download(
repo_id=repo_id,
filename="checkpoints/retrained/mvtec3dad/bagel/1shot/2d_to_3d/model_est_final.pth",
)
The exact category and shot components can be changed without changing the download method. The CMDS-AD source repository contains the corresponding inference scripts and configuration details.
Downloading a LoRA weight
from huggingface_hub import hf_hub_download
lora_path = hf_hub_download(
repo_id="Junhaocai27/CMDS-AD",
filename="weights/lora/mvtec3dad/bagel/final_lora.safetensors",
)
The LoRA files are provided for the RGB generation stage. Stable Diffusion, Marigold, DINO, PointMAE, and the datasets are not duplicated in this repository; please obtain those dependencies from their official sources as described in the CMDS-AD documentation.
Intended use
These weights are intended for research and reproducibility of the CMDS-AD method on the MVTec 3D-AD and Eyecandies benchmarks. They are not intended for safety-critical inspection decisions without additional validation on the target production domain.
The checkpoints are released for inference and evaluation. Users who need to reproduce the complete training pipeline should follow the data preprocessing, normal estimation, LoRA training, feature extraction, mapping training, and inference instructions in the source repository.
Citation
If you use CMDS-AD, please cite the accompanying paper:
@article{cai2026cmdsad,
title = {CMDS-AD},
author = {Cai, Junhao and others},
journal = {arXiv preprint arXiv:2606.20300},
year = {2026}
}
Paper: https://arxiv.org/abs/2606.20300
Project page: https://cmds-ad.github.io/
Source code: https://github.com/Junhaocai27/CMDS-AD
License and third-party components
The CMDS-AD source code and released weights are provided under the license stated in the source repository. Third-party components and pretrained foundation models remain subject to their original licenses and terms of use.