{"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/omni-frequency-channel-selection","title":"Omni-frequency Channel-selection Representations for Unsupervised Anomaly Detection","arxiv_id":"2203.00259","date":"2022-03-01","proceeding":null,"authors":["Yufei Liang","Jiangning Zhang","Shiwei Zhao","Runze Wu","Yong liu","Shuwen Pan"],"abstract":"Density-based and classification-based methods have ruled unsupervised anomaly detection in recent years, while reconstruction-based methods are rarely mentioned for the poor reconstruction ability and low performance. However, the latter requires no costly extra training samples for the unsupervised training that is more practical, so this paper focuses on improving this kind of method and proposes a novel Omni-frequency Channel-selection Reconstruction (OCR-GAN) network to handle anomaly detection task in a perspective of frequency. Concretely, we propose a Frequency Decoupling (FD) module to decouple the input image into different frequency components and model the reconstruction process as a combination of parallel omni-frequency image restorations, as we observe a significant difference in the frequency distribution of normal and abnormal images. Given the correlation among multiple frequencies, we further propose a Channel Selection (CS) module that performs frequency interaction among different encoders by adaptively selecting different channels. Abundant experiments demonstrate the effectiveness and superiority of our approach over different kinds of methods, e.g., achieving a new state-of-the-art 98.3 detection AUC on the MVTec AD dataset without extra training data that markedly surpasses the reconstruction-based baseline by +38.1 and the current SOTA method by +0.3. Source code is available at https://github.com/zhangzjn/OCR-GAN.","url_abs":"https://arxiv.org/abs/2203.00259v2","url_pdf":"https://arxiv.org/pdf/2203.00259v2.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":"omni-frequency-channel-selection","repo_url":"https://github.com/zhangzjn/ocr-gan","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"anomaly-detection","task_name":"Anomaly Detection"},{"task_slug":"unsupervised-anomaly-detection","task_name":"Unsupervised Anomaly Detection"},{"task_slug":"channel-selection","task_name":"channel selection"}],"methods":[{"method_slug":"concatenated-skip-connection","method_name":"Concatenated Skip Connection"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"u-net","method_name":"U-Net"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/anomaly-detection-on-mvtec-ad","task":"Anomaly Detection","dataset":"MVTec AD","model":"OCR-GAN","rank_in_archive_order":62,"of":148,"metrics":{"Detection AUROC":"98.3"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.00259","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.00259"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zhangzjn/ocr-gan","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":8},"by_repo_kind":{"official":{"samples":8,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"cbd017ec2e291937","entry":"evaluate","repo":"zhangzjn/ocr-gan","repo_kind":"official","path":"lib/evaluate.py","file_url":"https://github.com/zhangzjn/ocr-gan/blob/HEAD/lib/evaluate.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cbd017ec2e291937"}},{"code_sha256_prefix":"8da796d8d2d055b4","entry":"get_norm_layer","repo":"zhangzjn/ocr-gan","repo_kind":"official","path":"lib/models/networks.py","file_url":"https://github.com/zhangzjn/ocr-gan/blob/HEAD/lib/models/networks.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8da796d8d2d055b4"}},{"code_sha256_prefix":"bf9182e2d81230d0","entry":"get_scheduler","repo":"zhangzjn/ocr-gan","repo_kind":"official","path":"lib/models/networks.py","file_url":"https://github.com/zhangzjn/ocr-gan/blob/HEAD/lib/models/networks.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bf9182e2d81230d0"}},{"code_sha256_prefix":"26c1a0c85ed550cc","entry":"init_net","repo":"zhangzjn/ocr-gan","repo_kind":"official","path":"lib/models/networks.py","file_url":"https://github.com/zhangzjn/ocr-gan/blob/HEAD/lib/models/networks.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"26c1a0c85ed550cc"}},{"code_sha256_prefix":"8a2f4a14a4eff7ff","entry":"l1_loss","repo":"zhangzjn/ocr-gan","repo_kind":"official","path":"lib/loss.py","file_url":"https://github.com/zhangzjn/ocr-gan/blob/HEAD/lib/loss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8a2f4a14a4eff7ff"}},{"code_sha256_prefix":"602022135f879cb7","entry":"l2_loss","repo":"zhangzjn/ocr-gan","repo_kind":"official","path":"lib/loss.py","file_url":"https://github.com/zhangzjn/ocr-gan/blob/HEAD/lib/loss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"602022135f879cb7"}},{"code_sha256_prefix":"8b6535fcbe32bca6","entry":"pre_recall","repo":"zhangzjn/ocr-gan","repo_kind":"official","path":"lib/evaluate.py","file_url":"https://github.com/zhangzjn/ocr-gan/blob/HEAD/lib/evaluate.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8b6535fcbe32bca6"}},{"code_sha256_prefix":"33e98a8c363eb23b","entry":"roc","repo":"zhangzjn/ocr-gan","repo_kind":"official","path":"lib/evaluate.py","file_url":"https://github.com/zhangzjn/ocr-gan/blob/HEAD/lib/evaluate.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"33e98a8c363eb23b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}