{"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/ffb6d-a-full-flow-bidirectional-fusion","title":"FFB6D: A Full Flow Bidirectional Fusion Network for 6D Pose Estimation","arxiv_id":"2103.02242","date":"2021-03-03","proceeding":"CVPR 2021 1","authors":["Yisheng He","Haibin Huang","Haoqiang Fan","Qifeng Chen","Jian Sun"],"abstract":"In this work, we present FFB6D, a Full Flow Bidirectional fusion network designed for 6D pose estimation from a single RGBD image. Our key insight is that appearance information in the RGB image and geometry information from the depth image are two complementary data sources, and it still remains unknown how to fully leverage them. Towards this end, we propose FFB6D, which learns to combine appearance and geometry information for representation learning as well as output representation selection. Specifically, at the representation learning stage, we build bidirectional fusion modules in the full flow of the two networks, where fusion is applied to each encoding and decoding layer. In this way, the two networks can leverage local and global complementary information from the other one to obtain better representations. Moreover, at the output representation stage, we designed a simple but effective 3D keypoints selection algorithm considering the texture and geometry information of objects, which simplifies keypoint localization for precise pose estimation. Experimental results show that our method outperforms the state-of-the-art by large margins on several benchmarks. Code and video are available at \\url{https://github.com/ethnhe/FFB6D.git}.","url_abs":"https://arxiv.org/abs/2103.02242v1","url_pdf":"https://arxiv.org/pdf/2103.02242v1.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":"ffb6d-a-full-flow-bidirectional-fusion","repo_url":"https://github.com/ethnhe/FFB6D","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}},{"paper_slug":"ffb6d-a-full-flow-bidirectional-fusion","repo_url":"https://github.com/ethnhe/PVN3D","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"ffb6d-a-full-flow-bidirectional-fusion","repo_url":"https://github.com/hz-ants/FFB6D","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"unanswered"}}],"tasks":[{"task_slug":"6d-pose-estimation-1","task_name":"6D Pose Estimation"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"},{"task_slug":"representation-learning","task_name":"Representation Learning"}],"methods":[{"method_slug":"ffb6d","method_name":"FFB6D"}],"datasets_introduced":[],"methods_introduced":[{"slug":"ffb6d","name":"FFB6D","full_name":"FFB6D"}],"results":[{"leaderboard":"/sota/6d-pose-estimation-on-linemod-2","task":"6D Pose Estimation","dataset":"LineMOD","model":"FFB6D","rank_in_archive_order":1,"of":5,"metrics":{"Accuracy (ADD)":"99.7"},"uses_additional_data":false},{"leaderboard":"/sota/6d-pose-estimation-on-ycb-video-2","task":"6D Pose Estimation","dataset":"YCB-Video","model":"FFB6D","rank_in_archive_order":2,"of":10,"metrics":{"ADDS AUC":"96.6"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2103.02242","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2103.02242"}},"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/FFB6D","reach":{"status":"unanswered"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ethnhe/PVN3D","reach":null},{"provenance":"deterministic:regex_extraction","url":"https://github.com/ethnhe/FFB6D","reach":{"status":"unanswered"}}],"summary":{"ran":1,"unverified":7},"by_repo_kind":{"listed":{"samples":8,"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":0,"samples":[{"code_sha256_prefix":"957a2ee4964c01ed","entry":"DenseFusion","repo":"ethnhe/PVN3D","repo_kind":"listed","path":"pvn3d/lib/pvn3d.py","file_url":"https://github.com/ethnhe/PVN3D/blob/HEAD/pvn3d/lib/pvn3d.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":"957a2ee4964c01ed"}},{"code_sha256_prefix":"9a082f752f16d8f1","entry":"ModifiedResnet","repo":"ethnhe/PVN3D","repo_kind":"listed","path":"pvn3d/lib/pvn3d.py","file_url":"https://github.com/ethnhe/PVN3D/blob/HEAD/pvn3d/lib/pvn3d.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":"9a082f752f16d8f1"}},{"code_sha256_prefix":"81c043aa81be7f81","entry":"Modified_PSPNet","repo":"ethnhe/PVN3D","repo_kind":"listed","path":"pvn3d/lib/pvn3d.py","file_url":"https://github.com/ethnhe/PVN3D/blob/HEAD/pvn3d/lib/pvn3d.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":"81c043aa81be7f81"}},{"code_sha256_prefix":"00f385eabffd4fcf","entry":"PVN3D","repo":"ethnhe/PVN3D","repo_kind":"listed","path":"pvn3d/lib/pvn3d.py","file_url":"https://github.com/ethnhe/PVN3D/blob/HEAD/pvn3d/lib/pvn3d.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":"00f385eabffd4fcf"}},{"code_sha256_prefix":"9d49e2ac7f804eff","entry":"Pointnet2MSG","repo":"ethnhe/PVN3D","repo_kind":"listed","path":"pvn3d/lib/pvn3d.py","file_url":"https://github.com/ethnhe/PVN3D/blob/HEAD/pvn3d/lib/pvn3d.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":"9d49e2ac7f804eff"}},{"code_sha256_prefix":"2ce442ec443b4c7d","entry":"PointnetFPModule","repo":"ethnhe/PVN3D","repo_kind":"listed","path":"pvn3d/lib/pvn3d.py","file_url":"https://github.com/ethnhe/PVN3D/blob/HEAD/pvn3d/lib/pvn3d.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":"2ce442ec443b4c7d"}},{"code_sha256_prefix":"86a12407c21929a5","entry":"PointnetSAModuleMSG","repo":"ethnhe/PVN3D","repo_kind":"listed","path":"pvn3d/lib/pvn3d.py","file_url":"https://github.com/ethnhe/PVN3D/blob/HEAD/pvn3d/lib/pvn3d.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":"86a12407c21929a5"}},{"code_sha256_prefix":"01b40719ce9b7148","entry":"_PointnetSAModuleBase","repo":"ethnhe/PVN3D","repo_kind":"listed","path":"pvn3d/lib/pvn3d.py","file_url":"https://github.com/ethnhe/PVN3D/blob/HEAD/pvn3d/lib/pvn3d.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":"01b40719ce9b7148"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}