{"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/neighbourhood-consensus-networks","title":"Neighbourhood Consensus Networks","arxiv_id":"1810.10510","date":"2018-10-24","proceeding":"NeurIPS 2018 12","authors":["Ignacio Rocco","Mircea Cimpoi","Relja Arandjelović","Akihiko Torii","Tomas Pajdla","Josef Sivic"],"abstract":"We address the problem of finding reliable dense correspondences between a\npair of images. This is a challenging task due to strong appearance differences\nbetween the corresponding scene elements and ambiguities generated by\nrepetitive patterns. The contributions of this work are threefold. First,\ninspired by the classic idea of disambiguating feature matches using semi-local\nconstraints, we develop an end-to-end trainable convolutional neural network\narchitecture that identifies sets of spatially consistent matches by analyzing\nneighbourhood consensus patterns in the 4D space of all possible\ncorrespondences between a pair of images without the need for a global\ngeometric model. Second, we demonstrate that the model can be trained\neffectively from weak supervision in the form of matching and non-matching\nimage pairs without the need for costly manual annotation of point to point\ncorrespondences. Third, we show the proposed neighbourhood consensus network\ncan be applied to a range of matching tasks including both category- and\ninstance-level matching, obtaining the state-of-the-art results on the PF\nPascal dataset and the InLoc indoor visual localization benchmark.","url_abs":"http://arxiv.org/abs/1810.10510v2","url_pdf":"http://arxiv.org/pdf/1810.10510v2.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":"neighbourhood-consensus-networks","repo_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"neighbourhood-consensus-networks","repo_url":"https://github.com/JiwonCocoder/matching1","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"neighbourhood-consensus-networks","repo_url":"https://github.com/ignacio-rocco/ncnet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"semantic-correspondence","task_name":"Semantic correspondence"},{"task_slug":"visual-localization","task_name":"Visual Localization"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/semantic-correspondence-on-pf-pascal","task":"Semantic correspondence","dataset":"PF-PASCAL","model":"NC-Net","rank_in_archive_order":15,"of":15,"metrics":{"PCK (weak)":"78.9"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1810.10510","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1810.10510"}},"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/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ignacio-rocco/ncnet","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/JiwonCocoder/matching1","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_fixture":1,"ran_draft_wrong":3,"ran_honours":1,"unverified":16},"by_repo_kind":{"listed":{"samples":21,"ran":5,"repositories":2}},"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":"6143bd380b5003fc","entry":"MutualMatching","repo":"JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","repo_kind":"listed","path":"lib/model_train/trash/model_pixelCT_mask_comb_FB_check_and_score.py","file_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching/blob/HEAD/lib/model_train/trash/model_pixelCT_mask_comb_FB_check_and_score.py","link_basis":"harvester_set","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":"6143bd380b5003fc"}},{"code_sha256_prefix":"ea448b10b84d2017","entry":"conv","repo":"JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","repo_kind":"listed","path":"lib/matching_model.py","file_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching/blob/HEAD/lib/matching_model.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ea448b10b84d2017"}},{"code_sha256_prefix":"dc4fb7628379691e","entry":"deconv","repo":"JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","repo_kind":"listed","path":"lib/matching_model.py","file_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching/blob/HEAD/lib/matching_model.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dc4fb7628379691e"}},{"code_sha256_prefix":"cf9656ffec66503c","entry":"featureL2Norm","repo":"JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","repo_kind":"listed","path":"trash/train_pixelCT_mask_comb_FB_check_and_score1.py","file_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching/blob/HEAD/trash/train_pixelCT_mask_comb_FB_check_and_score1.py","link_basis":"harvester_set","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":"cf9656ffec66503c"}},{"code_sha256_prefix":"c3f23a008d953af5","entry":"predict_flow","repo":"JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","repo_kind":"listed","path":"lib/matching_model.py","file_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching/blob/HEAD/lib/matching_model.py","link_basis":"harvester_set","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c3f23a008d953af5"}},{"code_sha256_prefix":"6e0485d118b92e8a","entry":"calc_pixelCT","repo":"JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","repo_kind":"listed","path":"trash/train_pixelCT_mask_comb_FB_check_and_score1.py","file_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching/blob/HEAD/trash/train_pixelCT_mask_comb_FB_check_and_score1.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":"6e0485d118b92e8a"}},{"code_sha256_prefix":"3cb54a654c1f4438","entry":"calc_pixelCT","repo":"JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","repo_kind":"listed","path":"trash/train_pixelCT_mask_comb_FB_check_and_score2.py","file_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching/blob/HEAD/trash/train_pixelCT_mask_comb_FB_check_and_score2.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":"3cb54a654c1f4438"}},{"code_sha256_prefix":"d0ea87cb7d7815ab","entry":"calc_pixelCT_mask","repo":"JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","repo_kind":"listed","path":"trash/train_pixelCT_mask_comb_FB_check_and_score1.py","file_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching/blob/HEAD/trash/train_pixelCT_mask_comb_FB_check_and_score1.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":"d0ea87cb7d7815ab"}},{"code_sha256_prefix":"3d71bd850f3621ba","entry":"calc_pixelCT_mask","repo":"JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","repo_kind":"listed","path":"trash/train_pixelCT_mask_comb_FB_check_and_score2.py","file_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching/blob/HEAD/trash/train_pixelCT_mask_comb_FB_check_and_score2.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":"3d71bd850f3621ba"}},{"code_sha256_prefix":"8407da62949de1ee","entry":"conv4d","repo":"JiwonCocoder/matching1","repo_kind":"listed","path":"lib/conv4d.py","file_url":"https://github.com/JiwonCocoder/matching1/blob/HEAD/lib/conv4d.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":"8407da62949de1ee"}},{"code_sha256_prefix":"33e385b9ba0dd3bf","entry":"corr_to_matches","repo":"JiwonCocoder/matching1","repo_kind":"listed","path":"lib/point_tnf.py","file_url":"https://github.com/JiwonCocoder/matching1/blob/HEAD/lib/point_tnf.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":"33e385b9ba0dd3bf"}},{"code_sha256_prefix":"eb5ca9515b0fe778","entry":"default_collate","repo":"JiwonCocoder/matching1","repo_kind":"listed","path":"lib/dataloader.py","file_url":"https://github.com/JiwonCocoder/matching1/blob/HEAD/lib/dataloader.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":"eb5ca9515b0fe778"}},{"code_sha256_prefix":"60a821474ac782d0","entry":"maxpool4d","repo":"JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","repo_kind":"listed","path":"lib/model_train/trash/model_pixelCT_mask_comb_FB_check_and_score.py","file_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching/blob/HEAD/lib/model_train/trash/model_pixelCT_mask_comb_FB_check_and_score.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":"60a821474ac782d0"}},{"code_sha256_prefix":"2fa12cb30a255583","entry":"normalize_axis","repo":"JiwonCocoder/matching1","repo_kind":"listed","path":"lib/point_tnf.py","file_url":"https://github.com/JiwonCocoder/matching1/blob/HEAD/lib/point_tnf.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":"2fa12cb30a255583"}},{"code_sha256_prefix":"68162679b97bdf55","entry":"normalize_image","repo":"JiwonCocoder/matching1","repo_kind":"listed","path":"lib/normalization.py","file_url":"https://github.com/JiwonCocoder/matching1/blob/HEAD/lib/normalization.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":"68162679b97bdf55"}},{"code_sha256_prefix":"8ea2a77a19d38458","entry":"pck","repo":"JiwonCocoder/matching1","repo_kind":"listed","path":"lib/eval_util.py","file_url":"https://github.com/JiwonCocoder/matching1/blob/HEAD/lib/eval_util.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":"8ea2a77a19d38458"}},{"code_sha256_prefix":"6d8c67dc116f1f8a","entry":"pin_memory_batch","repo":"JiwonCocoder/matching1","repo_kind":"listed","path":"lib/dataloader.py","file_url":"https://github.com/JiwonCocoder/matching1/blob/HEAD/lib/dataloader.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":"6d8c67dc116f1f8a"}},{"code_sha256_prefix":"632470f16cec485c","entry":"plot_image","repo":"JiwonCocoder/matching1","repo_kind":"listed","path":"lib/plot.py","file_url":"https://github.com/JiwonCocoder/matching1/blob/HEAD/lib/plot.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":"632470f16cec485c"}},{"code_sha256_prefix":"d99bb81598e19de0","entry":"unNormMap1D_to_NormMap2D","repo":"JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","repo_kind":"listed","path":"eval_ncnet.py","file_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching/blob/HEAD/eval_ncnet.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":"d99bb81598e19de0"}},{"code_sha256_prefix":"f16fcb4c33dad8ab","entry":"unNormMap1D_to_NormMap2D","repo":"JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching","repo_kind":"listed","path":"eval_ncnet.py","file_url":"https://github.com/JiwonCocoder/-Joint-Learning-of-Feature-Extraction-and-Cost-Aggregation-for-Semantic-Matching/blob/HEAD/eval_ncnet.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":"f16fcb4c33dad8ab"}},{"code_sha256_prefix":"f78be05f4ea43f88","entry":"unnormalize_axis","repo":"JiwonCocoder/matching1","repo_kind":"listed","path":"lib/point_tnf.py","file_url":"https://github.com/JiwonCocoder/matching1/blob/HEAD/lib/point_tnf.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":"f78be05f4ea43f88"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}