{"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/beyond-cartesian-representations-for-local","title":"Beyond Cartesian Representations for Local Descriptors","arxiv_id":"1908.05547","date":"2019-08-15","proceeding":"ICCV 2019 10","authors":["Patrick Ebel","Anastasiia Mishchuk","Kwang Moo Yi","Pascal Fua","Eduard Trulls"],"abstract":"The dominant approach for learning local patch descriptors relies on small image regions whose scale must be properly estimated a priori by a keypoint detector. In other words, if two patches are not in correspondence, their descriptors will not match. A strategy often used to alleviate this problem is to \"pool\" the pixel-wise features over log-polar regions, rather than regularly spaced ones. By contrast, we propose to extract the \"support region\" directly with a log-polar sampling scheme. We show that this provides us with a better representation by simultaneously oversampling the immediate neighbourhood of the point and undersampling regions far away from it. We demonstrate that this representation is particularly amenable to learning descriptors with deep networks. Our models can match descriptors across a much wider range of scales than was possible before, and also leverage much larger support regions without suffering from occlusions. We report state-of-the-art results on three different datasets.","url_abs":"https://arxiv.org/abs/1908.05547v1","url_pdf":"https://arxiv.org/pdf/1908.05547v1.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":"beyond-cartesian-representations-for-local","repo_url":"https://github.com/cvlab-epfl/log-polar-descriptors","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1908.05547","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1908.05547"}},"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/cvlab-epfl/log-polar-descriptors","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":11},"by_repo_kind":{"official":{"samples":11,"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":"d5f2c58e85e22857","entry":"ErrorRateAt95Recall","repo":"cvlab-epfl/log-polar-descriptors","repo_kind":"official","path":"modules/hardnet/eval_metrics.py","file_url":"https://github.com/cvlab-epfl/log-polar-descriptors/blob/HEAD/modules/hardnet/eval_metrics.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":"d5f2c58e85e22857"}},{"code_sha256_prefix":"0bad1b3406498856","entry":"batch_feed","repo":"cvlab-epfl/log-polar-descriptors","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/cvlab-epfl/log-polar-descriptors/blob/HEAD/utils/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":"0bad1b3406498856"}},{"code_sha256_prefix":"af942949113ac97f","entry":"distance_matrix_vector","repo":"cvlab-epfl/log-polar-descriptors","repo_kind":"official","path":"modules/hardnet/losses.py","file_url":"https://github.com/cvlab-epfl/log-polar-descriptors/blob/HEAD/modules/hardnet/losses.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":"af942949113ac97f"}},{"code_sha256_prefix":"ad7f74d1717ab5c5","entry":"distance_vectors_pairwise","repo":"cvlab-epfl/log-polar-descriptors","repo_kind":"official","path":"modules/hardnet/losses.py","file_url":"https://github.com/cvlab-epfl/log-polar-descriptors/blob/HEAD/modules/hardnet/losses.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":"ad7f74d1717ab5c5"}},{"code_sha256_prefix":"493ee778ced3888d","entry":"extract_deep_features_directly","repo":"cvlab-epfl/log-polar-descriptors","repo_kind":"official","path":"baselines/geodesc/image_matching_utils.py","file_url":"https://github.com/cvlab-epfl/log-polar-descriptors/blob/HEAD/baselines/geodesc/image_matching_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":"493ee778ced3888d"}},{"code_sha256_prefix":"d20d4ac66c6e73d6","entry":"loss_random_sampling","repo":"cvlab-epfl/log-polar-descriptors","repo_kind":"official","path":"modules/hardnet/losses.py","file_url":"https://github.com/cvlab-epfl/log-polar-descriptors/blob/HEAD/modules/hardnet/losses.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":"d20d4ac66c6e73d6"}},{"code_sha256_prefix":"efe5a9906bb5c441","entry":"main","repo":"cvlab-epfl/log-polar-descriptors","repo_kind":"official","path":"baselines/geodesc/image_matching_utils.py","file_url":"https://github.com/cvlab-epfl/log-polar-descriptors/blob/HEAD/baselines/geodesc/image_matching_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":"efe5a9906bb5c441"}},{"code_sha256_prefix":"7d1754d2b2a5f57d","entry":"rotationMatrixToEulerAngles","repo":"cvlab-epfl/log-polar-descriptors","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/cvlab-epfl/log-polar-descriptors/blob/HEAD/utils/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":"7d1754d2b2a5f57d"}},{"code_sha256_prefix":"a32b0764cba8d52c","entry":"show_images","repo":"cvlab-epfl/log-polar-descriptors","repo_kind":"official","path":"modules/hardnet/utils.py","file_url":"https://github.com/cvlab-epfl/log-polar-descriptors/blob/HEAD/modules/hardnet/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":"a32b0764cba8d52c"}},{"code_sha256_prefix":"668ad7b5ada2426e","entry":"splitTrainValTest","repo":"cvlab-epfl/log-polar-descriptors","repo_kind":"official","path":"utils/utils.py","file_url":"https://github.com/cvlab-epfl/log-polar-descriptors/blob/HEAD/utils/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":"668ad7b5ada2426e"}},{"code_sha256_prefix":"d1b2a3e236cfd907","entry":"str2bool","repo":"cvlab-epfl/log-polar-descriptors","repo_kind":"official","path":"modules/hardnet/utils.py","file_url":"https://github.com/cvlab-epfl/log-polar-descriptors/blob/HEAD/modules/hardnet/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":"d1b2a3e236cfd907"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}