{"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/normalized-object-coordinate-space-for","title":"Normalized Object Coordinate Space for Category-Level 6D Object Pose and Size Estimation","arxiv_id":"1901.02970","date":"2019-01-09","proceeding":"CVPR 2019 6","authors":["He Wang","Srinath Sridhar","Jingwei Huang","Julien Valentin","Shuran Song","Leonidas J. Guibas"],"abstract":"The goal of this paper is to estimate the 6D pose and dimensions of unseen object instances in an RGB-D image. Contrary to \"instance-level\" 6D pose estimation tasks, our problem assumes that no exact object CAD models are available during either training or testing time. To handle different and unseen object instances in a given category, we introduce a Normalized Object Coordinate Space (NOCS)---a shared canonical representation for all possible object instances within a category. Our region-based neural network is then trained to directly infer the correspondence from observed pixels to this shared object representation (NOCS) along with other object information such as class label and instance mask. These predictions can be combined with the depth map to jointly estimate the metric 6D pose and dimensions of multiple objects in a cluttered scene. To train our network, we present a new context-aware technique to generate large amounts of fully annotated mixed reality data. To further improve our model and evaluate its performance on real data, we also provide a fully annotated real-world dataset with large environment and instance variation. Extensive experiments demonstrate that the proposed method is able to robustly estimate the pose and size of unseen object instances in real environments while also achieving state-of-the-art performance on standard 6D pose estimation benchmarks.","url_abs":"https://arxiv.org/abs/1901.02970v2","url_pdf":"https://arxiv.org/pdf/1901.02970v2.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":"normalized-object-coordinate-space-for","repo_url":"https://github.com/hughw19/NOCS_CVPR2019","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"NOASSERTION"}},{"paper_slug":"normalized-object-coordinate-space-for","repo_url":"https://github.com/YuhangMing/Object-Guided-Relocalisation","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"normalized-object-coordinate-space-for","repo_url":"https://github.com/edavalosanaya/FastPoseCNN","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"normalized-object-coordinate-space-for","repo_url":"https://github.com/interactivegl/vision6d","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"GPL-3.0"}},{"paper_slug":"normalized-object-coordinate-space-for","repo_url":"https://github.com/lh641446825/NOCS_2019CVPR","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"normalized-object-coordinate-space-for","repo_url":"https://github.com/pairlab/6pack","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"normalized-object-coordinate-space-for","repo_url":"https://github.com/sahithchada/NOCS_PyTorch","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"normalized-object-coordinate-space-for","repo_url":"https://github.com/ykzzyk/vision6d","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"GPL-3.0"}},{"paper_slug":"normalized-object-coordinate-space-for","repo_url":"https://github.com/wenbowen123/BundleTrack","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"normalized-object-coordinate-space-for","repo_url":"https://github.com/zubair-irshad/CenterSnap","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"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":"mixed-reality","task_name":"Mixed Reality"},{"task_slug":"object","task_name":"Object"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"}],"methods":[],"datasets_introduced":[{"slug":"real275","name":"REAL275","full_name":"NOCS-REAL275"}],"methods_introduced":[],"results":[{"leaderboard":"/sota/6d-pose-estimation-using-rgbd-on-camera25","task":"6D Pose Estimation using RGBD","dataset":"CAMERA25","model":"NOCS (128 bins)","rank_in_archive_order":2,"of":2,"metrics":{"mAP 10, 10cm":"62.2","mAP 10, 5cm":"61.7","mAP 3DIou@25":"91.4","mAP 3DIou@50":"85.3","mAP 5, 5cm":"38.8"},"uses_additional_data":false},{"leaderboard":"/sota/6d-pose-estimation-using-rgbd-on-real275","task":"6D Pose Estimation using RGBD","dataset":"REAL275","model":"NOCS (128 bins)","rank_in_archive_order":9,"of":11,"metrics":{"mAP 10, 10cm":"26.7","mAP 10, 5cm":"26.7","mAP 3DIou@25":"84.9","mAP 3DIou@50":"80.5","mAP 5, 5cm":"9.5"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1901.02970","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1901.02970"}},"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/edavalosanaya/FastPoseCNN","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ykzzyk/vision6d","reach":{"status":"ok","spdx":"GPL-3.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/YuhangMing/Object-Guided-Relocalisation","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sahithchada/NOCS_PyTorch","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/interactivegl/vision6d","reach":{"status":"ok","spdx":"GPL-3.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lh641446825/NOCS_2019CVPR","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/zubair-irshad/CenterSnap","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wenbowen123/BundleTrack","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hughw19/NOCS_CVPR2019","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pairlab/6pack","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":4,"unverified":16},"by_repo_kind":{"listed":{"samples":20,"ran":4,"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":"cdda836085a5b1af","entry":"apply_mask","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"visualize.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/visualize.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":"cdda836085a5b1af"}},{"code_sha256_prefix":"dc05d22f3d39bea6","entry":"draw_box","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"visualize.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/visualize.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":"dc05d22f3d39bea6"}},{"code_sha256_prefix":"d2c9b72e23d9588a","entry":"extract_bboxes","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/utils.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":"d2c9b72e23d9588a"}},{"code_sha256_prefix":"a9d0cf3b71fefa32","entry":"random_colors","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"visualize.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/visualize.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":"a9d0cf3b71fefa32"}},{"code_sha256_prefix":"9155d097d86fdf48","entry":"cartesian_2_homogeneous_coord","repo":"edavalosanaya/FastPoseCNN","repo_kind":"listed","path":"source_code/FastPoseCNN/lib/gpu_tensor_funcs.py","file_url":"https://github.com/edavalosanaya/FastPoseCNN/blob/HEAD/source_code/FastPoseCNN/lib/gpu_tensor_funcs.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":"9155d097d86fdf48"}},{"code_sha256_prefix":"39a6b29e494e3854","entry":"compress_dict","repo":"edavalosanaya/FastPoseCNN","repo_kind":"listed","path":"source_code/FastPoseCNN/lib/pose_regressor.py","file_url":"https://github.com/edavalosanaya/FastPoseCNN/blob/HEAD/source_code/FastPoseCNN/lib/pose_regressor.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":"39a6b29e494e3854"}},{"code_sha256_prefix":"b2aae18de5fa3893","entry":"compute_iou","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/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":"b2aae18de5fa3893"}},{"code_sha256_prefix":"b73499f3de89c7b5","entry":"compute_losses","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"loss.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/loss.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":"b73499f3de89c7b5"}},{"code_sha256_prefix":"a0c70f26b59ee20f","entry":"compute_mrcnn_coord_bins_symmetry_loss","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"loss.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/loss.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":"a0c70f26b59ee20f"}},{"code_sha256_prefix":"698f3241ee39ad75","entry":"compute_overlaps","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"utils.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/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":"698f3241ee39ad75"}},{"code_sha256_prefix":"69c7643b22386435","entry":"crop_and_resize","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"model.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/model.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":"69c7643b22386435"}},{"code_sha256_prefix":"8a8f9ac29ee2f0f9","entry":"dec_empty_check","repo":"edavalosanaya/FastPoseCNN","repo_kind":"listed","path":"source_code/FastPoseCNN/lib/loss.py","file_url":"https://github.com/edavalosanaya/FastPoseCNN/blob/HEAD/source_code/FastPoseCNN/lib/loss.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":"8a8f9ac29ee2f0f9"}},{"code_sha256_prefix":"e8287b383349ddf6","entry":"estimateRestrictedAffineTransform","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"aligning.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/aligning.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":"e8287b383349ddf6"}},{"code_sha256_prefix":"b7f7231e07daadeb","entry":"estimateSimilarityTransform","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"aligning.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/aligning.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":"b7f7231e07daadeb"}},{"code_sha256_prefix":"4f2d0da31c4fd316","entry":"getRANSACInliers","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"aligning.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/aligning.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":"4f2d0da31c4fd316"}},{"code_sha256_prefix":"e7de4517508fd1cc","entry":"get_standard_preds","repo":"edavalosanaya/FastPoseCNN","repo_kind":"listed","path":"source_code/FastPoseCNN/lib/matching.py","file_url":"https://github.com/edavalosanaya/FastPoseCNN/blob/HEAD/source_code/FastPoseCNN/lib/matching.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":"e7de4517508fd1cc"}},{"code_sha256_prefix":"555b5a67f9b65e14","entry":"intersect1d","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"model.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/model.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":"555b5a67f9b65e14"}},{"code_sha256_prefix":"0466b12c0859f1a9","entry":"nocs_map_rotation","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"loss.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/loss.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":"0466b12c0859f1a9"}},{"code_sha256_prefix":"9e55c8fa32330a06","entry":"normalize","repo":"edavalosanaya/FastPoseCNN","repo_kind":"listed","path":"source_code/FastPoseCNN/lib/gpu_tensor_funcs.py","file_url":"https://github.com/edavalosanaya/FastPoseCNN/blob/HEAD/source_code/FastPoseCNN/lib/gpu_tensor_funcs.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":"9e55c8fa32330a06"}},{"code_sha256_prefix":"5866d898668b0ddc","entry":"unique1d","repo":"sahithchada/NOCS_PyTorch","repo_kind":"listed","path":"model.py","file_url":"https://github.com/sahithchada/NOCS_PyTorch/blob/HEAD/model.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":"5866d898668b0ddc"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}