{"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/estimating-6d-pose-from-localizing-designated","title":"Estimating 6D Pose From Localizing Designated Surface Keypoints","arxiv_id":"1812.01387","date":"2018-12-04","proceeding":null,"authors":["Zelin Zhao","Gao Peng","Haoyu Wang","Hao-Shu Fang","Chengkun Li","Cewu Lu"],"abstract":"In this paper, we present an accurate yet effective solution for 6D pose\nestimation from an RGB image. The core of our approach is that we first\ndesignate a set of surface points on target object model as keypoints and then\ntrain a keypoint detector (KPD) to localize them. Finally a PnP algorithm can\nrecover the 6D pose according to the 2D-3D relationship of keypoints. Different\nfrom recent state-of-the-art CNN-based approaches that rely on a time-consuming\npost-processing procedure, our method can achieve competitive accuracy without\nany refinement after pose prediction. Meanwhile, we obtain a 30% relative\nimprovement in terms of ADD accuracy among methods without using refinement.\nMoreover, we succeed in handling heavy occlusion by selecting the most\nconfident keypoints to recover the 6D pose. For the sake of reproducibility, we\nwill make our code and models publicly available soon.","url_abs":"http://arxiv.org/abs/1812.01387v1","url_pdf":"http://arxiv.org/pdf/1812.01387v1.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":"estimating-6d-pose-from-localizing-designated","repo_url":"https://github.com/sjtuytc/betapose","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"estimating-6d-pose-from-localizing-designated","repo_url":"https://github.com/AP-EPFL/DA-segmentation-driven-pose","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"estimating-6d-pose-from-localizing-designated","repo_url":"https://github.com/hz-ants/betapose","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"estimating-6d-pose-from-localizing-designated","repo_url":"https://github.com/hz-ants/segmentation-driven-pose-train-","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"estimating-6d-pose-from-localizing-designated","repo_url":"https://github.com/sjtuytc/segmentation-driven-pose","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}},{"paper_slug":"estimating-6d-pose-from-localizing-designated","repo_url":"https://github.com/why2011btv/6d_pose_estimation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"6d-pose-estimation-1","task_name":"6D Pose Estimation"},{"task_slug":"6d-pose-estimation","task_name":"6D Pose Estimation using RGB"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"},{"task_slug":"pose-prediction","task_name":"Pose Prediction"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/6d-pose-estimation-on-linemod","task":"6D Pose Estimation using RGB","dataset":"LineMOD","model":"Keypoint Detector Localization","rank_in_archive_order":17,"of":22,"metrics":{"Accuracy":"94.5%","Mean ADD":"72.6"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1812.01387","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1812.01387"}},"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/hz-ants/betapose","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hz-ants/segmentation-driven-pose-train-","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AP-EPFL/DA-segmentation-driven-pose","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sjtuytc/betapose","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/why2011btv/6d_pose_estimation","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sjtuytc/segmentation-driven-pose","reach":{"status":"ok","spdx":"GPL-3.0"}}],"summary":{"unverified":7},"by_repo_kind":{"official":{"samples":6,"ran":0,"repositories":1},"listed":{"samples":1,"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":"8622d93ca4b78830","entry":"filter_result","repo":"sjtuytc/betapose","repo_kind":"official","path":"3_6Dpose_estimator/pPose_nms.py","file_url":"https://github.com/sjtuytc/betapose/blob/HEAD/3_6Dpose_estimator/pPose_nms.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":"8622d93ca4b78830"}},{"code_sha256_prefix":"2b0e5d20a6ff6bf0","entry":"getTime","repo":"sjtuytc/betapose","repo_kind":"official","path":"3_6Dpose_estimator/fn.py","file_url":"https://github.com/sjtuytc/betapose/blob/HEAD/3_6Dpose_estimator/fn.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":"2b0e5d20a6ff6bf0"}},{"code_sha256_prefix":"edbdf03d148b9c19","entry":"icp_refinement","repo":"sjtuytc/betapose","repo_kind":"official","path":"2_keypoint_annotator/utils/detector.py","file_url":"https://github.com/sjtuytc/betapose/blob/HEAD/2_keypoint_annotator/utils/detector.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":"edbdf03d148b9c19"}},{"code_sha256_prefix":"42001485c89d0e7f","entry":"load_yaml","repo":"hz-ants/betapose","repo_kind":"listed","path":"3_6Dpose_estimator/betapose_evaluate.py","file_url":"https://github.com/hz-ants/betapose/blob/HEAD/3_6Dpose_estimator/betapose_evaluate.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":"42001485c89d0e7f"}},{"code_sha256_prefix":"04c002fef331916f","entry":"p_merge","repo":"sjtuytc/betapose","repo_kind":"official","path":"3_6Dpose_estimator/pPose_nms.py","file_url":"https://github.com/sjtuytc/betapose/blob/HEAD/3_6Dpose_estimator/pPose_nms.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":"04c002fef331916f"}},{"code_sha256_prefix":"4587b69d57d6511b","entry":"parse_cfg","repo":"sjtuytc/betapose","repo_kind":"official","path":"3_6Dpose_estimator/yolo/darknet.py","file_url":"https://github.com/sjtuytc/betapose/blob/HEAD/3_6Dpose_estimator/yolo/darknet.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":"4587b69d57d6511b"}},{"code_sha256_prefix":"0b1a6e2926909c9f","entry":"pose_nms","repo":"sjtuytc/betapose","repo_kind":"official","path":"3_6Dpose_estimator/pPose_nms.py","file_url":"https://github.com/sjtuytc/betapose/blob/HEAD/3_6Dpose_estimator/pPose_nms.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":"0b1a6e2926909c9f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}