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

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

28 Aug 2020arXiv:2008.12577archive 2025-07-28

Marco Rudolph, Bastian Wandt, Bodo Rosenhahn

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.

PaperPDFCode

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

Code

marco-rudolph/differnet officialmentioned in papermentioned on GitHubpytorch report
MattSkiff/cow_flow mentioned on GitHubpytorch report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

Not run by Syntology. Nothing on this page verifies that the listed code works.

Tasks

Anomaly DetectionDefect DetectionSupervised Defect Detection

Results from the paper archive 2025-07-28

TaskDatasetModelMetricValueRank at snapshotLeaderboardReport
Anomaly Detection InsPLAD DifferNet Detection AUROC 92.46 #2 of 5 Archive leaderboard report
Anomaly Detection MVTec AD DifferNet Detection AUROC 94.9 #95 of 148 Archive leaderboard report
Anomaly Detection MVTec AD DifferNet FPS 2 #95 of 148 Archive leaderboard report
Anomaly Detection Surface Defect Saliency of Magnetic Tile DifferNet (unsupervised) Detection AUROC 97.7 #3 of 4 Archive leaderboard report

Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.

Methods

Introduced by this paper: DifferNet

AdamAffine CouplingBatch NormalizationDifferNetNormalizing FlowsRealNVP

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections