# MMR
**Repository Path**: Straydogs/MMR
## Basic Information
- **Project Name**: MMR
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-12-27
- **Last Updated**: 2025-12-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## Industrial Anomaly Detection with Domain Shift: A Real-world Dataset and Masked Multi-scale Reconstruction
This is an official PyTorch implementation of the paper [Industrial Anomaly Detection with Domain Shift: A Real-world Dataset and Masked Multi-scale Reconstruction](https://arxiv.org/abs/2304.02216).
```
@article{zhang2023industrial,
title={Industrial Anomaly Detection with Domain Shift: A Real-world Dataset and Masked Multi-scale Reconstruction},
author={Zhang, Zilong and Zhao, Zhibin and Zhang, Xingwu and Sun, Chuang and Chen, Xuefeng},
journal={arXiv preprint arXiv:2304.02216},
year={2023}
}
```
### Datasets
We release a real-world Aero-engine Blade Anomaly Detection (AeBAD) dataset, consisting of two sub-datasets: the single-blade dataset (AeBAD-S) and the video anomaly detection dataset of blades (AeBAD-V). Compared to existing datasets, AeBAD has the following two characteristics: 1.) The target samples are not aligned and at different sacles. 2.) There is a domain shift between the distribution of normal samples in the test set and the training set, where the domain shifts are mainly caused by the changes in illumination and view.
**Download dataset at [here](https://drive.google.com/file/d/14wkZAFFeudlg0NMFLsiGwS0E593b-lNo/view?usp=share_link) (Google Drive) or [here](https://cloud.189.cn/web/share?code=nYraE3uMRJn2) (access code: g4pr) (Tian Yi Yun Pan).**
* AeBAD-S
* AeBAD-V
### Visualization for Videos
①: Original Video ②: PatchCore ③: ReverseDistillation ④: DRAEM ⑤: NSA ⑥: MMR
* video 1
* Video 2
* Video 3
### Get Started
#### Pre-trained models
Download the pre-trained model of MAE (ViT-base) at [here](https://dl.fbaipublicfiles.com/mae/visualize/mae_visualize_vit_base.pth).
#### Dataset
**MVTec:**
**Create the MVTec dataset directory**. Download the MVTec-AD dataset from [here](https://www.mvtec.com/company/research/datasets/mvtec-ad). The MVTec dataset directory should be as follows.
```
|-- data
|-- MVTec-AD
|-- mvtec_anomaly_detection
|-- object (bottle, etc.)
|-- train
|-- test
|-- ground_truth
```
**AeBAD:**
Download the AeBAD dataset from the above link. The AeBAD dataset directory should be as follows.
```
|-- AeBAD
|-- AeBAD_S
|-- train
|-- good
|-- background
|-- test
|-- ablation
|-- background
|-- ground_truth
|-- ablation
|-- view
|-- AeBAD_V
|-- test
|-- video1
|-- anomaly
|-- train
|-- good
|-- video1_train
```
**Note that background, view and illumination in the train set is different from test. The background, view and illumination in test is unseen for the training set.**
#### Virtual Environment
Use the following commands:
```
pip install -r requirements.txt
```
#### Train and Test for MVTec, AeBAD
Train the model and evaluate it for each category or different domains. This will output the results (sample-level AUROC, pixel-level AUROC and PRO) for each category. It will generate the visualization in the directory.
run the following code:
```
sh mvtec_run.sh
```
```
sh AeBAD_S_run.sh
```
```
sh AeBAD_V_run.sh
```
TRAIN.MMR.model_chkpt in MMR.yaml is the path of above download model. TRAIN.dataset_path (TEST.dataset_path) is the path of data.
Set Test.save_segmentation_images as True or False to save processed image.
**Note that for AeBAD-V, we only evaluate the sample-level metric. The pixel-level metric is 0.**
## Acknowledgement
We acknowledge the excellent implementation from [MAE](https://github.com/facebookresearch/mae), [ViTDet](https://github.com/facebookresearch/detectron2/tree/main/projects/ViTDet).
## License
The data is released under the CC BY 4.0 license.