{"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/3d-bounding-box-estimation-using-deep","title":"3D Bounding Box Estimation Using Deep Learning and Geometry","arxiv_id":"1612.00496","date":"2016-12-01","proceeding":"CVPR 2017 7","authors":["Arsalan Mousavian","Dragomir Anguelov","John Flynn","Jana Kosecka"],"abstract":"We present a method for 3D object detection and pose estimation from a single\nimage. In contrast to current techniques that only regress the 3D orientation\nof an object, our method first regresses relatively stable 3D object properties\nusing a deep convolutional neural network and then combines these estimates\nwith geometric constraints provided by a 2D object bounding box to produce a\ncomplete 3D bounding box. The first network output estimates the 3D object\norientation using a novel hybrid discrete-continuous loss, which significantly\noutperforms the L2 loss. The second output regresses the 3D object dimensions,\nwhich have relatively little variance compared to alternatives and can often be\npredicted for many object types. These estimates, combined with the geometric\nconstraints on translation imposed by the 2D bounding box, enable us to recover\na stable and accurate 3D object pose. We evaluate our method on the challenging\nKITTI object detection benchmark both on the official metric of 3D orientation\nestimation and also on the accuracy of the obtained 3D bounding boxes. Although\nconceptually simple, our method outperforms more complex and computationally\nexpensive approaches that leverage semantic segmentation, instance level\nsegmentation and flat ground priors and sub-category detection. Our\ndiscrete-continuous loss also produces state of the art results for 3D\nviewpoint estimation on the Pascal 3D+ dataset.","url_abs":"http://arxiv.org/abs/1612.00496v2","url_pdf":"http://arxiv.org/pdf/1612.00496v2.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":"3d-bounding-box-estimation-using-deep","repo_url":"https://github.com/ConnorChristie/image-to-3d-bbox","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"3d-bounding-box-estimation-using-deep","repo_url":"https://github.com/ZhixinLai/3D-detection-with-monocular-RGB-image","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":null},{"paper_slug":"3d-bounding-box-estimation-using-deep","repo_url":"https://github.com/cersar/3D_detection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"3d-bounding-box-estimation-using-deep","repo_url":"https://github.com/fuenwang/3D-BoundingBox","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"3d-bounding-box-estimation-using-deep","repo_url":"https://github.com/m-parchami/3DVehicleDetection","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"3d-bounding-box-estimation-using-deep","repo_url":"https://github.com/ruhyadi/YOLO3D","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"3d-bounding-box-estimation-using-deep","repo_url":"https://github.com/ruhyadi/yolo3d-lightning","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"3d-bounding-box-estimation-using-deep","repo_url":"https://github.com/skhadem/3D-BoundingBox","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"3d-bounding-box-estimation-using-deep","repo_url":"https://github.com/smallcorgi/3D-Deepbox","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"3d-bounding-box-estimation-using-deep","repo_url":"https://github.com/wittmaan/a2d2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"3d-bounding-box-estimation-using-deep","repo_url":"https://github.com/lzccccc/3d-bounding-box-estimation-for-autonomous-driving","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok"}}],"tasks":[{"task_slug":"3d-object-detection","task_name":"3D Object Detection"},{"task_slug":"deep-learning","task_name":"Deep Learning"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"pose-estimation","task_name":"Pose Estimation"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"vehicle-pose-estimation","task_name":"Vehicle Pose Estimation"},{"task_slug":"viewpoint-estimation","task_name":"Viewpoint Estimation"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/vehicle-pose-estimation-on-kitti-cars-hard","task":"Vehicle Pose Estimation","dataset":"KITTI Cars Hard","model":"Deep3DBoX","rank_in_archive_order":9,"of":19,"metrics":{"Average Orientation Similarity":"76.76"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1612.00496","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1612.00496"}},"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/ruhyadi/YOLO3D","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/fuenwang/3D-BoundingBox","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/smallcorgi/3D-Deepbox","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ConnorChristie/image-to-3d-bbox","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ruhyadi/yolo3d-lightning","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ZhixinLai/3D-detection-with-monocular-RGB-image","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/m-parchami/3DVehicleDetection","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/skhadem/3D-BoundingBox","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lzccccc/3d-bounding-box-estimation-for-autonomous-driving","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/wittmaan/a2d2","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cersar/3D_detection","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":1,"ran_fixture":1,"ran_honours":1,"unverified":24},"by_repo_kind":{"listed":{"samples":27,"ran":3,"repositories":6}},"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":5,"samples":[{"code_sha256_prefix":"638326286ec1f55c","entry":"class_to_labels","repo":"ruhyadi/yolo3d-lightning","repo_kind":"listed","path":"inference.py","file_url":"https://github.com/ruhyadi/yolo3d-lightning/blob/HEAD/inference.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"638326286ec1f55c"}},{"code_sha256_prefix":"ddd1724d77acef32","entry":"create_corners","repo":"ZhixinLai/3D-detection-with-monocular-RGB-image","repo_kind":"listed","path":"math_2Dto3D.py","file_url":"https://github.com/ZhixinLai/3D-detection-with-monocular-RGB-image/blob/HEAD/math_2Dto3D.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ddd1724d77acef32"}},{"code_sha256_prefix":"502bf1a47f6d2dbe","entry":"rotation_matrix","repo":"ZhixinLai/3D-detection-with-monocular-RGB-image","repo_kind":"listed","path":"math_2Dto3D.py","file_url":"https://github.com/ZhixinLai/3D-detection-with-monocular-RGB-image/blob/HEAD/math_2Dto3D.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"502bf1a47f6d2dbe"}},{"code_sha256_prefix":"7f0d697208da9e63","entry":"OrientationLoss","repo":"skhadem/3D-BoundingBox","repo_kind":"listed","path":"torch_lib/Model.py","file_url":"https://github.com/skhadem/3D-BoundingBox/blob/HEAD/torch_lib/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":"7f0d697208da9e63"}},{"code_sha256_prefix":"e309a2bcb8e15116","entry":"calc_location","repo":"ZhixinLai/3D-detection-with-monocular-RGB-image","repo_kind":"listed","path":"math_2Dto3D.py","file_url":"https://github.com/ZhixinLai/3D-detection-with-monocular-RGB-image/blob/HEAD/math_2Dto3D.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e309a2bcb8e15116"}},{"code_sha256_prefix":"5925970513dfd261","entry":"calc_location","repo":"skhadem/3D-BoundingBox","repo_kind":"listed","path":"library/Math.py","file_url":"https://github.com/skhadem/3D-BoundingBox/blob/HEAD/library/Math.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":"5925970513dfd261"}},{"code_sha256_prefix":"c9e703aa8a0e2b40","entry":"compute_anchors","repo":"cersar/3D_detection","repo_kind":"listed","path":"util/process_data.py","file_url":"https://github.com/cersar/3D_detection/blob/HEAD/util/process_data.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":"c9e703aa8a0e2b40"}},{"code_sha256_prefix":"e52df4ac16b7de07","entry":"compute_anchors","repo":"smallcorgi/3D-Deepbox","repo_kind":"listed","path":"data_processing.py","file_url":"https://github.com/smallcorgi/3D-Deepbox/blob/HEAD/data_processing.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":"e52df4ac16b7de07"}},{"code_sha256_prefix":"1468fe9f0a353017","entry":"constraint_to_color","repo":"skhadem/3D-BoundingBox","repo_kind":"listed","path":"library/Plotting.py","file_url":"https://github.com/skhadem/3D-BoundingBox/blob/HEAD/library/Plotting.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":"1468fe9f0a353017"}},{"code_sha256_prefix":"cddbf276f3a8bff3","entry":"create_2d_box","repo":"skhadem/3D-BoundingBox","repo_kind":"listed","path":"library/Plotting.py","file_url":"https://github.com/skhadem/3D-BoundingBox/blob/HEAD/library/Plotting.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":"cddbf276f3a8bff3"}},{"code_sha256_prefix":"afc197044eaa3a7b","entry":"create_corners","repo":"skhadem/3D-BoundingBox","repo_kind":"listed","path":"library/Math.py","file_url":"https://github.com/skhadem/3D-BoundingBox/blob/HEAD/library/Math.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":"afc197044eaa3a7b"}},{"code_sha256_prefix":"20544057048f25d1","entry":"generate_bins","repo":"skhadem/3D-BoundingBox","repo_kind":"listed","path":"torch_lib/Dataset.py","file_url":"https://github.com/skhadem/3D-BoundingBox/blob/HEAD/torch_lib/Dataset.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":"20544057048f25d1"}},{"code_sha256_prefix":"b9279bc06f16dd87","entry":"get_P","repo":"skhadem/3D-BoundingBox","repo_kind":"listed","path":"library/File.py","file_url":"https://github.com/skhadem/3D-BoundingBox/blob/HEAD/library/File.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":"b9279bc06f16dd87"}},{"code_sha256_prefix":"1f764e46fb583db6","entry":"get_R0","repo":"skhadem/3D-BoundingBox","repo_kind":"listed","path":"library/File.py","file_url":"https://github.com/skhadem/3D-BoundingBox/blob/HEAD/library/File.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":"1f764e46fb583db6"}},{"code_sha256_prefix":"f22188403e68fcce","entry":"get_calibration_cam_to_image","repo":"skhadem/3D-BoundingBox","repo_kind":"listed","path":"library/File.py","file_url":"https://github.com/skhadem/3D-BoundingBox/blob/HEAD/library/File.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":"f22188403e68fcce"}},{"code_sha256_prefix":"8defc632da790bab","entry":"init_points3D","repo":"cersar/3D_detection","repo_kind":"listed","path":"util/post_processing.py","file_url":"https://github.com/cersar/3D_detection/blob/HEAD/util/post_processing.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":"8defc632da790bab"}},{"code_sha256_prefix":"1041f60d8e5cd0c9","entry":"l2_normalize","repo":"cersar/3D_detection","repo_kind":"listed","path":"net/bbox_3D_net.py","file_url":"https://github.com/cersar/3D_detection/blob/HEAD/net/bbox_3D_net.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":"1041f60d8e5cd0c9"}},{"code_sha256_prefix":"8e973c133d8cddc1","entry":"orientation_loss","repo":"cersar/3D_detection","repo_kind":"listed","path":"layer/loss_func.py","file_url":"https://github.com/cersar/3D_detection/blob/HEAD/layer/loss_func.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":"8e973c133d8cddc1"}},{"code_sha256_prefix":"789803059794c9b6","entry":"parse_annotation","repo":"cersar/3D_detection","repo_kind":"listed","path":"util/process_data.py","file_url":"https://github.com/cersar/3D_detection/blob/HEAD/util/process_data.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":"789803059794c9b6"}},{"code_sha256_prefix":"8dab7bb334c3722a","entry":"parse_annotation","repo":"smallcorgi/3D-Deepbox","repo_kind":"listed","path":"data_processing.py","file_url":"https://github.com/smallcorgi/3D-Deepbox/blob/HEAD/data_processing.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":"8dab7bb334c3722a"}},{"code_sha256_prefix":"b805a0faf6764b6a","entry":"plot3d","repo":"ruhyadi/YOLO3D","repo_kind":"listed","path":"inference.py","file_url":"https://github.com/ruhyadi/YOLO3D/blob/HEAD/inference.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b805a0faf6764b6a"}},{"code_sha256_prefix":"822b9265b3b947b6","entry":"plot_regressed_3d_bbox","repo":"skhadem/3D-BoundingBox","repo_kind":"listed","path":"Run_no_yolo.py","file_url":"https://github.com/skhadem/3D-BoundingBox/blob/HEAD/Run_no_yolo.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":"822b9265b3b947b6"}},{"code_sha256_prefix":"00a376180dca2707","entry":"points3D_to_2D","repo":"cersar/3D_detection","repo_kind":"listed","path":"util/post_processing.py","file_url":"https://github.com/cersar/3D_detection/blob/HEAD/util/post_processing.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":"00a376180dca2707"}},{"code_sha256_prefix":"5e22f1d56f43321b","entry":"prepare_input_and_output","repo":"smallcorgi/3D-Deepbox","repo_kind":"listed","path":"data_processing.py","file_url":"https://github.com/smallcorgi/3D-Deepbox/blob/HEAD/data_processing.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":"5e22f1d56f43321b"}},{"code_sha256_prefix":"300a092657842973","entry":"process_obj_attributes","repo":"cersar/3D_detection","repo_kind":"listed","path":"util/process_data.py","file_url":"https://github.com/cersar/3D_detection/blob/HEAD/util/process_data.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":"300a092657842973"}},{"code_sha256_prefix":"17e03d912e30b64c","entry":"project_3d_pt","repo":"skhadem/3D-BoundingBox","repo_kind":"listed","path":"library/Plotting.py","file_url":"https://github.com/skhadem/3D-BoundingBox/blob/HEAD/library/Plotting.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":"17e03d912e30b64c"}},{"code_sha256_prefix":"c040f043890e7aa5","entry":"solve_least_squre","repo":"cersar/3D_detection","repo_kind":"listed","path":"util/post_processing.py","file_url":"https://github.com/cersar/3D_detection/blob/HEAD/util/post_processing.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":"c040f043890e7aa5"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}