{"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/a-closer-look-at-fourier-spectrum","title":"A Closer Look at Fourier Spectrum Discrepancies for CNN-generated Images Detection","arxiv_id":"2103.17195","date":"2021-03-31","proceeding":"CVPR 2021 1","authors":["Keshigeyan Chandrasegaran","Ngoc-Trung Tran","Ngai-Man Cheung"],"abstract":"CNN-based generative modelling has evolved to produce synthetic images indistinguishable from real images in the RGB pixel space. Recent works have observed that CNN-generated images share a systematic shortcoming in replicating high frequency Fourier spectrum decay attributes. Furthermore, these works have successfully exploited this systematic shortcoming to detect CNN-generated images reporting up to 99% accuracy across multiple state-of-the-art GAN models. In this work, we investigate the validity of assertions claiming that CNN-generated images are unable to achieve high frequency spectral decay consistency. We meticulously construct a counterexample space of high frequency spectral decay consistent CNN-generated images emerging from our handcrafted experiments using DCGAN, LSGAN, WGAN-GP and StarGAN, where we empirically show that this frequency discrepancy can be avoided by a minor architecture change in the last upsampling operation. We subsequently use images from this counterexample space to successfully bypass the recently proposed forensics detector which leverages on high frequency Fourier spectrum decay attributes for CNN-generated image detection. Through this study, we show that high frequency Fourier spectrum decay discrepancies are not inherent characteristics for existing CNN-based generative models--contrary to the belief of some existing work--, and such features are not robust to perform synthetic image detection. Our results prompt re-thinking of using high frequency Fourier spectrum decay attributes for CNN-generated image detection. Code and models are available at https://keshik6.github.io/Fourier-Discrepancies-CNN-Detection/","url_abs":"https://arxiv.org/abs/2103.17195v1","url_pdf":"https://arxiv.org/pdf/2103.17195v1.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":"a-closer-look-at-fourier-spectrum","repo_url":"https://github.com/sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"synthetic-image-detection","task_name":"Synthetic Image Detection"}],"methods":[{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dcgan","method_name":"DCGAN"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"gan-least-squares-loss","method_name":"GAN Least Squares Loss"},{"method_slug":"lsgan","method_name":"LSGAN"},{"method_slug":"relu","method_name":"ReLU"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2103.17195","atlas_url":"https://app.syntology.ai/?focus=2103.17195","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2103.17195"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":4,"unverified":4},"by_repo_kind":{"official":{"samples":8,"ran":4,"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":"a21cbed769d5a919","entry":"crop_celeba_image_coords","repo":"sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection","repo_kind":"official","path":"src/gans/dataset_tool.py","file_url":"https://github.com/sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection/blob/HEAD/src/gans/dataset_tool.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a21cbed769d5a919"}},{"code_sha256_prefix":"305522bea5504b26","entry":"crop_lsun_image_coords","repo":"sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection","repo_kind":"official","path":"src/gans/dataset_tool.py","file_url":"https://github.com/sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection/blob/HEAD/src/gans/dataset_tool.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"305522bea5504b26"}},{"code_sha256_prefix":"e9717dca89fe2a5d","entry":"gradient_penalty","repo":"sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection","repo_kind":"official","path":"src/gans/gp.py","file_url":"https://github.com/sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection/blob/HEAD/src/gans/gp.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e9717dca89fe2a5d"}},{"code_sha256_prefix":"11904da58eadcee1","entry":"load_mat_testing_data","repo":"sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection","repo_kind":"official","path":"src/classifiers/knn_classifier.py","file_url":"https://github.com/sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection/blob/HEAD/src/classifiers/knn_classifier.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"11904da58eadcee1"}},{"code_sha256_prefix":"921afe1e7169d881","entry":"get_adversarial_losses_fn","repo":"sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection","repo_kind":"official","path":"src/gans/gan_loss.py","file_url":"https://github.com/sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection/blob/HEAD/src/gans/gan_loss.py","link_basis":"first_harvest_node","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":"921afe1e7169d881"}},{"code_sha256_prefix":"fb0768087746d652","entry":"load_mat_training_data","repo":"sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection","repo_kind":"official","path":"src/classifiers/knn_classifier.py","file_url":"https://github.com/sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection/blob/HEAD/src/classifiers/knn_classifier.py","link_basis":"first_harvest_node","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":"fb0768087746d652"}},{"code_sha256_prefix":"70efd344be6ec025","entry":"train_one_knn_and_test","repo":"sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection","repo_kind":"official","path":"src/classifiers/knn_classifier.py","file_url":"https://github.com/sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection/blob/HEAD/src/classifiers/knn_classifier.py","link_basis":"first_harvest_node","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":"70efd344be6ec025"}},{"code_sha256_prefix":"16a56d098d14cba5","entry":"train_one_mlp_and_test","repo":"sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection","repo_kind":"official","path":"src/classifiers/mlp_classifier.py","file_url":"https://github.com/sutd-visual-computing-group/Fourier-Discrepancies-CNN-Detection/blob/HEAD/src/classifiers/mlp_classifier.py","link_basis":"first_harvest_node","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":"16a56d098d14cba5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}