{"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-find-good-correspondences","title":"Learning to Find Good Correspondences","arxiv_id":"1711.05971","date":"2017-11-16","proceeding":"CVPR 2018 6","authors":["Kwang Moo Yi","Eduard Trulls","Yuki Ono","Vincent Lepetit","Mathieu Salzmann","Pascal Fua"],"abstract":"We develop a deep architecture to learn to find good correspondences for\nwide-baseline stereo. Given a set of putative sparse matches and the camera\nintrinsics, we train our network in an end-to-end fashion to label the\ncorrespondences as inliers or outliers, while simultaneously using them to\nrecover the relative pose, as encoded by the essential matrix. Our architecture\nis based on a multi-layer perceptron operating on pixel coordinates rather than\ndirectly on the image, and is thus simple and small. We introduce a novel\nnormalization technique, called Context Normalization, which allows us to\nprocess each data point separately while imbuing it with global information,\nand also makes the network invariant to the order of the correspondences. Our\nexperiments on multiple challenging datasets demonstrate that our method is\nable to drastically improve the state of the art with little training data.","url_abs":"http://arxiv.org/abs/1711.05971v2","url_pdf":"http://arxiv.org/pdf/1711.05971v2.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-find-good-correspondences","repo_url":"https://github.com/ubc-vision/image-matching-benchmark","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"learning-to-find-good-correspondences","repo_url":"https://github.com/vcg-uvic/image-matching-benchmark","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"learning-to-find-good-correspondences","repo_url":"https://github.com/vcg-uvic/learned-correspondence-release","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1711.05971","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1711.05971"}},"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/vcg-uvic/learned-correspondence-release","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vcg-uvic/image-matching-benchmark","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ubc-vision/image-matching-benchmark","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran_draft_wrong":1,"ran_violates":1,"unverified":3},"by_repo_kind":{"listed":{"samples":4,"ran":1,"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":1,"samples":[{"code_sha256_prefix":"6d80592fd6d47b2d","entry":"add_argument_group","repo":null,"repo_kind":null,"path":null,"file_url":null,"link_basis":"identical_code_first_harvested_elsewhere","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":null,"inline_ok":false,"mcp_get_code":{"code_sha256":"6d80592fd6d47b2d"}},{"code_sha256_prefix":"248284f69adfeaad","entry":"str2bool","repo":"ubc-vision/image-matching-benchmark","repo_kind":"listed","path":"config.py","file_url":"https://github.com/ubc-vision/image-matching-benchmark/blob/HEAD/config.py","link_basis":"plan_row","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"248284f69adfeaad"}},{"code_sha256_prefix":"eeee36aa5159bd22","entry":"get_hash_list","repo":"ubc-vision/image-matching-benchmark","repo_kind":"listed","path":"import_features.py","file_url":"https://github.com/ubc-vision/image-matching-benchmark/blob/HEAD/import_features.py","link_basis":"harvester_set","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":"eeee36aa5159bd22"}},{"code_sha256_prefix":"7d57d64d5a3cb9fe","entry":"get_kp_category","repo":"ubc-vision/image-matching-benchmark","repo_kind":"listed","path":"import_features.py","file_url":"https://github.com/ubc-vision/image-matching-benchmark/blob/HEAD/import_features.py","link_basis":"harvester_set","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":"7d57d64d5a3cb9fe"}},{"code_sha256_prefix":"f923785d42f9cf82","entry":"hash_folder","repo":"ubc-vision/image-matching-benchmark","repo_kind":"listed","path":"import_features.py","file_url":"https://github.com/ubc-vision/image-matching-benchmark/blob/HEAD/import_features.py","link_basis":"harvester_set","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":"f923785d42f9cf82"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}