TRD

November 2, 2025 ยท View on GitHub

PyTorch Implementation of "Tuned Reverse Distillation: Enhancing Multimodal Industrial Anomaly Detection with Crossmodal Tuners". paper


๐Ÿ”ฅ Update (2025)

We have updated the experimental settings and achieved new SOTA performance on the MVTec 3D-AD dataset by introducing surface normal maps as the 3D modality, while keeping all other settings consistent with the original implementation.
image


Anomaly Detection Process:

image

1. Environment

Create a new conda environment firstly.

conda create -n TRD python=3.8
conda activate TRD
pip install -r requirements.txt

2. Prepare Data

MVTec 3D AD Dataset

Download MVTec 3D AD dataset from MVTec 3D AD. Unzip the file to ./data/.

|--data
    |-- mvtec_3d_anomaly_detection
        |-- bagel
            |-- train
            |-- validation
            |-- test
        |-- ...

Eyecandies Dataset

Download Eyecandies dataset from Eyecandies. Unzip the file to ./data/.

|--data
    |-- Eyecandies
        |-- CandyCane
            |-- train
            |-- val
            |-- test_private
            |-- test_public
        |-- ...

And run the preprocessing to maintain consistency with the previous methods

python ./utils/preprocessing.py
|--data
    |-- Eyecandies_preprocessed
        |-- CandyCane
            |-- train
            |-- validation
            |-- test
        |-- ...

3.Train and Test

To get the training and inference results, simply execute the following command.

For MVTec 3D AD Dataset:

python train_MVTec3D_rgbn.py

For Eyecandies Dataset:

python train_Eyecandies.py

Citation

If you think this work is helpful to you, please consider citing our paper.

@article{liu2024multimodal,
  title={Multimodal Industrial Anomaly Detection by Crossmodal Reverse Distillation},
  author={Liu, Xinyue and Wang, Jianyuan and Leng, Biao and Zhang, Shuo},
  journal={arXiv preprint arXiv:2412.08949},
  year={2024}
}