{"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/understanding-deep-image-representations-by","title":"Understanding Deep Image Representations by Inverting Them","arxiv_id":"1412.0035","date":"2014-11-26","proceeding":"CVPR 2015 6","authors":["Aravindh Mahendran","Andrea Vedaldi"],"abstract":"Image representations, from SIFT and Bag of Visual Words to Convolutional\nNeural Networks (CNNs), are a crucial component of almost any image\nunderstanding system. Nevertheless, our understanding of them remains limited.\nIn this paper we conduct a direct analysis of the visual information contained\nin representations by asking the following question: given an encoding of an\nimage, to which extent is it possible to reconstruct the image itself? To\nanswer this question we contribute a general framework to invert\nrepresentations. We show that this method can invert representations such as\nHOG and SIFT more accurately than recent alternatives while being applicable to\nCNNs too. We then use this technique to study the inverse of recent\nstate-of-the-art CNN image representations for the first time. Among our\nfindings, we show that several layers in CNNs retain photographically accurate\ninformation about the image, with different degrees of geometric and\nphotometric invariance.","url_abs":"http://arxiv.org/abs/1412.0035v1","url_pdf":"http://arxiv.org/pdf/1412.0035v1.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":"understanding-deep-image-representations-by","repo_url":"https://github.com/aravindhm/deep-goggle","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"BSD-2-Clause"}},{"paper_slug":"understanding-deep-image-representations-by","repo_url":"https://github.com/AndyDodss/iicnn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"caffe2","reach":null},{"paper_slug":"understanding-deep-image-representations-by","repo_url":"https://github.com/KamitaniLab/icnn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"caffe2","reach":null},{"paper_slug":"understanding-deep-image-representations-by","repo_url":"https://github.com/kencan7749/pytorch_iCNN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"understanding-deep-image-representations-by","repo_url":"https://github.com/mbarabash-gtchs/Senior-Project","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"understanding-deep-image-representations-by","repo_url":"https://github.com/novice03/timm-vis","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"understanding-deep-image-representations-by","repo_url":"https://github.com/saketd403/Understanding-Deep-Image-Representations-by-Inverting-Them","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"understanding-deep-image-representations-by","repo_url":"https://github.com/ukky17/invert_MV_pytorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1412.0035","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1412.0035"}},"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/AndyDodss/iicnn","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/saketd403/Understanding-Deep-Image-Representations-by-Inverting-Them","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/novice03/timm-vis","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/KamitaniLab/icnn","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ukky17/invert_MV_pytorch","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/kencan7749/pytorch_iCNN","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/aravindhm/deep-goggle","reach":{"status":"ok","spdx":"BSD-2-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/mbarabash-gtchs/Senior-Project","reach":{"status":"ok"}}],"summary":{"ran_honours":1,"ran_fixture":2,"unverified":4},"by_repo_kind":{"listed":{"samples":3,"ran":3,"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":4,"samples":[{"code_sha256_prefix":"97f55f370f2dec5f","entry":"deprocess_image","repo":"ukky17/invert_MV_pytorch","repo_kind":"listed","path":"invert_MV.py","file_url":"https://github.com/ukky17/invert_MV_pytorch/blob/HEAD/invert_MV.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"97f55f370f2dec5f"}},{"code_sha256_prefix":"edd6b7a5fe9a5429","entry":"lp_norm","repo":"ukky17/invert_MV_pytorch","repo_kind":"listed","path":"invert_MV.py","file_url":"https://github.com/ukky17/invert_MV_pytorch/blob/HEAD/invert_MV.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"edd6b7a5fe9a5429"}},{"code_sha256_prefix":"4d9bc178328db444","entry":"tv_norm","repo":"ukky17/invert_MV_pytorch","repo_kind":"listed","path":"invert_MV.py","file_url":"https://github.com/ukky17/invert_MV_pytorch/blob/HEAD/invert_MV.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4d9bc178328db444"}},{"code_sha256_prefix":"47070bf01d749355","entry":"obj_fun","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"47070bf01d749355"}},{"code_sha256_prefix":"c72d88d0b8f48578","entry":"obj_fun","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"c72d88d0b8f48578"}},{"code_sha256_prefix":"4ae6f395d3f13127","entry":"test","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"4ae6f395d3f13127"}},{"code_sha256_prefix":"01dc40f3cb8aca84","entry":"train","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"01dc40f3cb8aca84"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}