{"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/aslfeat-learning-local-features-of-accurate","title":"ASLFeat: Learning Local Features of Accurate Shape and Localization","arxiv_id":"2003.10071","date":"2020-03-23","proceeding":"CVPR 2020 6","authors":["Zixin Luo","Lei Zhou","Xuyang Bai","Hongkai Chen","Jiahui Zhang","Yao Yao","Shiwei Li","Tian Fang","Long Quan"],"abstract":"This work focuses on mitigating two limitations in the joint learning of local feature detectors and descriptors. First, the ability to estimate the local shape (scale, orientation, etc.) of feature points is often neglected during dense feature extraction, while the shape-awareness is crucial to acquire stronger geometric invariance. Second, the localization accuracy of detected keypoints is not sufficient to reliably recover camera geometry, which has become the bottleneck in tasks such as 3D reconstruction. In this paper, we present ASLFeat, with three light-weight yet effective modifications to mitigate above issues. First, we resort to deformable convolutional networks to densely estimate and apply local transformation. Second, we take advantage of the inherent feature hierarchy to restore spatial resolution and low-level details for accurate keypoint localization. Finally, we use a peakiness measurement to relate feature responses and derive more indicative detection scores. The effect of each modification is thoroughly studied, and the evaluation is extensively conducted across a variety of practical scenarios. State-of-the-art results are reported that demonstrate the superiority of our methods.","url_abs":"https://arxiv.org/abs/2003.10071v2","url_pdf":"https://arxiv.org/pdf/2003.10071v2.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":"aslfeat-learning-local-features-of-accurate","repo_url":"https://github.com/lzx551402/ASLFeat","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"aslfeat-learning-local-features-of-accurate","repo_url":"https://github.com/YanLiqi/HAF","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"aslfeat-learning-local-features-of-accurate","repo_url":"https://github.com/chrischoy/open-ucn","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"aslfeat-learning-local-features-of-accurate","repo_url":"https://github.com/goodproj13/DenserNet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"3d-reconstruction","task_name":"3D Reconstruction"},{"task_slug":"keypoint-detection-and-image-matching","task_name":"Keypoint detection and image matching"}],"methods":[{"method_slug":"aslfeat","method_name":"ASLFeat"}],"datasets_introduced":[],"methods_introduced":[{"slug":"aslfeat","name":"ASLFeat","full_name":"ASLFeat"}],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2003.10071","atlas_url":"https://app.syntology.ai/?focus=2003.10071","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2003.10071"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/goodproj13/DenserNet","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chrischoy/open-ucn","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/YanLiqi/HAF","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lzx551402/ASLFeat","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"unverified":11},"by_repo_kind":{"official":{"samples":3,"ran":2,"repositories":1},"listed":{"samples":13,"ran":3,"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":"d7e25625fc8bf01b","entry":"get_pairwise_distance","repo":"goodproj13/DenserNet","repo_kind":"listed","path":"DN/evaluators.py","file_url":"https://github.com/goodproj13/DenserNet/blob/HEAD/DN/evaluators.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d7e25625fc8bf01b"}},{"code_sha256_prefix":"82dfc189380fb5bd","entry":"interpolate","repo":"lzx551402/ASLFeat","repo_kind":"official","path":"models/cnn_wrapper/aslfeat.py","file_url":"https://github.com/lzx551402/ASLFeat/blob/HEAD/models/cnn_wrapper/aslfeat.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"82dfc189380fb5bd"}},{"code_sha256_prefix":"8fe7b3b94d2d69d2","entry":"load_imgs","repo":"lzx551402/ASLFeat","repo_kind":"official","path":"image_matching.py","file_url":"https://github.com/lzx551402/ASLFeat/blob/HEAD/image_matching.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8fe7b3b94d2d69d2"}},{"code_sha256_prefix":"a8f824c0c17375f8","entry":"re_ranking","repo":"YanLiqi/HAF","repo_kind":"listed","path":"haf/utils/rerank.py","file_url":"https://github.com/YanLiqi/HAF/blob/HEAD/haf/utils/rerank.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a8f824c0c17375f8"}},{"code_sha256_prefix":"247a6c84cda8cf07","entry":"spatial_nms","repo":"goodproj13/DenserNet","repo_kind":"listed","path":"DN/evaluators.py","file_url":"https://github.com/goodproj13/DenserNet/blob/HEAD/DN/evaluators.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"247a6c84cda8cf07"}},{"code_sha256_prefix":"358ad44f91386dcc","entry":"batch_gd","repo":"goodproj13/DenserNet","repo_kind":"listed","path":"Feature_branch.py","file_url":"https://github.com/goodproj13/DenserNet/blob/HEAD/Feature_branch.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":"358ad44f91386dcc"}},{"code_sha256_prefix":"a6ca6088ad6fd123","entry":"dict_update","repo":"lzx551402/ASLFeat","repo_kind":"official","path":"models/base_model.py","file_url":"https://github.com/lzx551402/ASLFeat/blob/HEAD/models/base_model.py","link_basis":"first_harvest_node","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":"a6ca6088ad6fd123"}},{"code_sha256_prefix":"3be405dcdbc9cbf3","entry":"extract_cnn_feature","repo":"YanLiqi/HAF","repo_kind":"listed","path":"haf/evaluators.py","file_url":"https://github.com/YanLiqi/HAF/blob/HEAD/haf/evaluators.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":"3be405dcdbc9cbf3"}},{"code_sha256_prefix":"cff5e5721c260016","entry":"extract_features","repo":"YanLiqi/HAF","repo_kind":"listed","path":"haf/evaluators.py","file_url":"https://github.com/YanLiqi/HAF/blob/HEAD/haf/evaluators.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":"cff5e5721c260016"}},{"code_sha256_prefix":"30ff7d86a16ec5a8","entry":"feature_extraction","repo":"goodproj13/DenserNet","repo_kind":"listed","path":"DN/evaluators.py","file_url":"https://github.com/goodproj13/DenserNet/blob/HEAD/DN/evaluators.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":"30ff7d86a16ec5a8"}},{"code_sha256_prefix":"652d7c5f5b80490e","entry":"get_dbStruct","repo":"goodproj13/DenserNet","repo_kind":"listed","path":"DN/datasets/pitts.py","file_url":"https://github.com/goodproj13/DenserNet/blob/HEAD/DN/datasets/pitts.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":"652d7c5f5b80490e"}},{"code_sha256_prefix":"38fa36efe8ffa615","entry":"get_dbStruct","repo":"goodproj13/DenserNet","repo_kind":"listed","path":"DN/datasets/tokyo.py","file_url":"https://github.com/goodproj13/DenserNet/blob/HEAD/DN/datasets/tokyo.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":"38fa36efe8ffa615"}},{"code_sha256_prefix":"317b792ea6d8b64d","entry":"pairwise_distance","repo":"YanLiqi/HAF","repo_kind":"listed","path":"haf/evaluators.py","file_url":"https://github.com/YanLiqi/HAF/blob/HEAD/haf/evaluators.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":"317b792ea6d8b64d"}},{"code_sha256_prefix":"b2e3b38428408a01","entry":"parse_dbStruct","repo":"YanLiqi/HAF","repo_kind":"listed","path":"haf/datasets/pitts.py","file_url":"https://github.com/YanLiqi/HAF/blob/HEAD/haf/datasets/pitts.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":"b2e3b38428408a01"}},{"code_sha256_prefix":"84b7415514e92005","entry":"parse_dbStruct","repo":"YanLiqi/HAF","repo_kind":"listed","path":"haf/datasets/tokyo.py","file_url":"https://github.com/YanLiqi/HAF/blob/HEAD/haf/datasets/tokyo.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":"84b7415514e92005"}},{"code_sha256_prefix":"f4c65c4339ed7ceb","entry":"simple_group_split","repo":"YanLiqi/HAF","repo_kind":"listed","path":"haf/utils/dist_utils.py","file_url":"https://github.com/YanLiqi/HAF/blob/HEAD/haf/utils/dist_utils.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":"f4c65c4339ed7ceb"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}