{"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/learning-to-compose-hypercolumns-for-visual","title":"Learning to Compose Hypercolumns for Visual Correspondence","arxiv_id":"2007.10587","date":"2020-07-21","proceeding":"ECCV 2020 8","authors":["Juhong Min","Jongmin Lee","Jean Ponce","Minsu Cho"],"abstract":"Feature representation plays a crucial role in visual correspondence, and recent methods for image matching resort to deeply stacked convolutional layers. These models, however, are both monolithic and static in the sense that they typically use a specific level of features, e.g., the output of the last layer, and adhere to it regardless of the images to match. In this work, we introduce a novel approach to visual correspondence that dynamically composes effective features by leveraging relevant layers conditioned on the images to match. Inspired by both multi-layer feature composition in object detection and adaptive inference architectures in classification, the proposed method, dubbed Dynamic Hyperpixel Flow, learns to compose hypercolumn features on the fly by selecting a small number of relevant layers from a deep convolutional neural network. We demonstrate the effectiveness on the task of semantic correspondence, i.e., establishing correspondences between images depicting different instances of the same object or scene category. Experiments on standard benchmarks show that the proposed method greatly improves matching performance over the state of the art in an adaptive and efficient manner.","url_abs":"https://arxiv.org/abs/2007.10587v1","url_pdf":"https://arxiv.org/pdf/2007.10587v1.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":"learning-to-compose-hypercolumns-for-visual","repo_url":"https://github.com/juhongm999/dhpf","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"semantic-correspondence","task_name":"Semantic correspondence"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/semantic-correspondence-on-caltech-101","task":"Semantic correspondence","dataset":"Caltech-101","model":"DHPF","rank_in_archive_order":2,"of":2,"metrics":{"IoU":"62","IoU (weak)":"61","LT-ACC":"87","LT-ACC (weak)":"86"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-correspondence-on-pf-pascal","task":"Semantic correspondence","dataset":"PF-PASCAL","model":"DHPF","rank_in_archive_order":10,"of":15,"metrics":{"PCK":"90.7","PCK (weak)":"82.1"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-correspondence-on-pf-willow","task":"Semantic correspondence","dataset":"PF-WILLOW","model":"DHPF","rank_in_archive_order":7,"of":8,"metrics":{"PCK":"77.6","PCK (weak)":"80.2"},"uses_additional_data":false},{"leaderboard":"/sota/semantic-correspondence-on-spair-71k","task":"Semantic correspondence","dataset":"SPair-71k","model":"DHPF","rank_in_archive_order":19,"of":22,"metrics":{"PCK":"37.3"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2007.10587","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2007.10587"}},"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/juhongm999/dhpf","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":5},"by_repo_kind":{"official":{"samples":5,"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":"4125faf2a22d146d","entry":"conv1x1","repo":"juhongm999/dhpf","repo_kind":"official","path":"model/base/resnet.py","file_url":"https://github.com/juhongm999/dhpf/blob/HEAD/model/base/resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4125faf2a22d146d"}},{"code_sha256_prefix":"a0747d1b610d85f0","entry":"conv3x3","repo":"juhongm999/dhpf","repo_kind":"official","path":"model/base/resnet.py","file_url":"https://github.com/juhongm999/dhpf/blob/HEAD/model/base/resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a0747d1b610d85f0"}},{"code_sha256_prefix":"25f5aa52cfed5eda","entry":"mean","repo":"juhongm999/dhpf","repo_kind":"official","path":"common/utils.py","file_url":"https://github.com/juhongm999/dhpf/blob/HEAD/common/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"25f5aa52cfed5eda"}},{"code_sha256_prefix":"551a919dbf522607","entry":"resnet50","repo":"juhongm999/dhpf","repo_kind":"official","path":"model/base/resnet.py","file_url":"https://github.com/juhongm999/dhpf/blob/HEAD/model/base/resnet.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"551a919dbf522607"}},{"code_sha256_prefix":"80d6ded0c77a9a43","entry":"where","repo":"juhongm999/dhpf","repo_kind":"official","path":"common/utils.py","file_url":"https://github.com/juhongm999/dhpf/blob/HEAD/common/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"80d6ded0c77a9a43"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}