{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/improving-unsupervised-defect-segmentation-by","title":"Improving Unsupervised Defect Segmentation by Applying Structural Similarity to Autoencoders","arxiv_id":"1807.02011","date":"2018-07-05","proceeding":null,"authors":["Paul Bergmann","Sindy Löwe","Michael Fauser","David Sattlegger","Carsten Steger"],"abstract":"Convolutional autoencoders have emerged as popular methods for unsupervised\ndefect segmentation on image data. Most commonly, this task is performed by\nthresholding a pixel-wise reconstruction error based on an $\\ell^p$ distance.\nThis procedure, however, leads to large residuals whenever the reconstruction\nencompasses slight localization inaccuracies around edges. It also fails to\nreveal defective regions that have been visually altered when intensity values\nstay roughly consistent. We show that these problems prevent these approaches\nfrom being applied to complex real-world scenarios and that it cannot be easily\navoided by employing more elaborate architectures such as variational or\nfeature matching autoencoders. We propose to use a perceptual loss function\nbased on structural similarity which examines inter-dependencies between local\nimage regions, taking into account luminance, contrast and structural\ninformation, instead of simply comparing single pixel values. It achieves\nsignificant performance gains on a challenging real-world dataset of\nnanofibrous materials and a novel dataset of two woven fabrics over the state\nof the art approaches for unsupervised defect segmentation that use pixel-wise\nreconstruction error metrics.","url_abs":"http://arxiv.org/abs/1807.02011v3","url_pdf":"http://arxiv.org/pdf/1807.02011v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/AdneneBoumessouer/Anomaly-Detection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/AdneneBoumessouer/LEGO-Anomaly-Detection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/AdneneBoumessouer/MVTec-Anomaly-Detection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/Dai7Igarashi/Anomaly-Detection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/MNaseerSubhani/MVTec-Anomaly-Detection-For-Industry","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/TaikiInoue/STAD","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/cheapthrillandwine/Improving_Unsupervised_Defect_Segmentation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/daxiaHuang/Unsupervised_Defect_Segmentation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/meitalB/NN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/miriskalt/AnomalyDetectionAutoencoder","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/2023-MindSpore-4/Code11/tree/main/SSIM-AE","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/2023-MindSpore-4/Code7/tree/main/SSIM-AE","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/MindSpore-paper-code-2/code3/tree/main/SSIM-AE","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":{"status":"ok"}},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/mindspore-ai/models/tree/master/official/cv/ssim-ae","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/plutoyuxie/AutoEncoder-SSIM-for-unsupervised-anomaly-detection-","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"improving-unsupervised-defect-segmentation-by","repo_url":"https://github.com/yangyucheng000/ssim-ae","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":{"status":"ok"}}],"tasks":[{"task_slug":"segmentation","task_name":"Segmentation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1807.02011","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}