Our new X account is live! Follow @wizwand_team for updates
WorkDL logo mark

Same Same But DifferNet: Semi-Supervised Defect Detection with Normalizing Flows

About

The detection of manufacturing errors is crucial in fabrication processes to ensure product quality and safety standards. Since many defects occur very rarely and their characteristics are mostly unknown a priori, their detection is still an open research question. To this end, we propose DifferNet: It leverages the descriptiveness of features extracted by convolutional neural networks to estimate their density using normalizing flows. Normalizing flows are well-suited to deal with low dimensional data distributions. However, they struggle with the high dimensionality of images. Therefore, we employ a multi-scale feature extractor which enables the normalizing flow to assign meaningful likelihoods to the images. Based on these likelihoods we develop a scoring function that indicates defects. Moreover, propagating the score back to the image enables pixel-wise localization. To achieve a high robustness and performance we exploit multiple transformations in training and evaluation. In contrast to most other methods, ours does not require a large number of training samples and performs well with as low as 16 images. We demonstrate the superior performance over existing approaches on the challenging and newly proposed MVTec AD and Magnetic Tile Defects datasets.

Marco Rudolph, Bastian Wandt, Bodo Rosenhahn• 2020

Related benchmarks

TaskDatasetResultRank
Anomaly DetectionMVTec-AD (test)
I-AUROC94.9
226
Anomaly DetectionMVTec 3D-AD 1.0 (test)
Mean Score0.696
107
Anomaly DetectionMVTec AD
Overall AUROC94.9
83
Image-level Anomaly DetectionMVTec-AD (test)
Overall AUROC94.7
68
Anomaly DetectionMVTec AD 1.0 (test)--
57
Anomaly DetectionMVTecAD (test)
Bottle Score99
55
Anomaly DetectionMVTec AD
Carpet AUROC92.9
40
Anomaly DetectionMVTec AD
AUROC0.949
33
Defect DetectionMVTec AD
AUROC89.31
28
Anomaly DetectionMTD
AUROC0.977
15
Showing 10 of 22 rows

Other info

Code

Follow for update