{"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/zebrapose-coarse-to-fine-surface-encoding-for","title":"ZebraPose: Coarse to Fine Surface Encoding for 6DoF Object Pose Estimation","arxiv_id":"2203.09418","date":"2022-03-17","proceeding":"CVPR 2022 1","authors":["Yongzhi Su","Mahdi Saleh","Torben Fetzer","Jason Rambach","Nassir Navab","Benjamin Busam","Didier Stricker","Federico Tombari"],"abstract":"Establishing correspondences from image to 3D has been a key task of 6DoF object pose estimation for a long time. To predict pose more accurately, deeply learned dense maps replaced sparse templates. Dense methods also improved pose estimation in the presence of occlusion. More recently researchers have shown improvements by learning object fragments as segmentation. In this work, we present a discrete descriptor, which can represent the object surface densely. By incorporating a hierarchical binary grouping, we can encode the object surface very efficiently. Moreover, we propose a coarse to fine training strategy, which enables fine-grained correspondence prediction. Finally, by matching predicted codes with object surface and using a PnP solver, we estimate the 6DoF pose. Results on the public LM-O and YCB-V datasets show major improvement over the state of the art w.r.t. ADD(-S) metric, even surpassing RGB-D based methods in some cases.","url_abs":"https://arxiv.org/abs/2203.09418v2","url_pdf":"https://arxiv.org/pdf/2203.09418v2.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":"zebrapose-coarse-to-fine-surface-encoding-for","repo_url":"https://github.com/suyz526/zebrapose","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"image-to-3d","task_name":"Image to 3D"},{"task_slug":"object","task_name":"Object"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"}],"methods":[{"method_slug":"pnp","method_name":"PnP"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2203.09418","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2203.09418"}},"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/suyz526/zebrapose","reach":null}],"summary":{"ran":5,"ran_draft_wrong":1,"unverified":9},"by_repo_kind":{"official":{"samples":15,"ran":6,"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":"29c90a28b0276e3a","entry":"ASPP","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"29c90a28b0276e3a"}},{"code_sha256_prefix":"58cc12f094433166","entry":"ASPP_50","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.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":"58cc12f094433166"}},{"code_sha256_prefix":"6e0f010e8f5e64c4","entry":"ASPP_Efficientnet","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6e0f010e8f5e64c4"}},{"code_sha256_prefix":"895507ff51a9893c","entry":"ASPP_Efficientnet_upsampled","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.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":"895507ff51a9893c"}},{"code_sha256_prefix":"89a7e817f74ed365","entry":"BasicBlock","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"89a7e817f74ed365"}},{"code_sha256_prefix":"ca099495da934438","entry":"make_layer","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.py","link_basis":"first_harvest_node","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":"ca099495da934438"}},{"code_sha256_prefix":"368ff86faea05361","entry":"ASPP_non_binary_ablationstudy","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.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":"368ff86faea05361"}},{"code_sha256_prefix":"4b49705eb9d34474","entry":"BinaryCodeNet_Deeplab","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.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":"4b49705eb9d34474"}},{"code_sha256_prefix":"6436737f89ccf2d8","entry":"DeepLabV3","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.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":"6436737f89ccf2d8"}},{"code_sha256_prefix":"a9f866d80372592b","entry":"DeepLabV3_non_binary","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.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":"a9f866d80372592b"}},{"code_sha256_prefix":"eb1f52d9dd669149","entry":"ResNet34_OS8","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.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":"eb1f52d9dd669149"}},{"code_sha256_prefix":"a086bd154a35a711","entry":"ResNet50_OS8","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.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":"a086bd154a35a711"}},{"code_sha256_prefix":"64dd55485e38ecd6","entry":"ResNet_BasicBlock_OS8","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.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":"64dd55485e38ecd6"}},{"code_sha256_prefix":"5b19947af0520c74","entry":"efficientnet_intermediate_out","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.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":"5b19947af0520c74"}},{"code_sha256_prefix":"8ba9809c9bc87504","entry":"efficientnet_upsampled","repo":"suyz526/zebrapose","repo_kind":"official","path":"zebrapose/model/BinaryCodeNet.py","file_url":"https://github.com/suyz526/zebrapose/blob/HEAD/zebrapose/model/BinaryCodeNet.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":"8ba9809c9bc87504"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}