{"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/fcos3d-fully-convolutional-one-stage","title":"FCOS3D: Fully Convolutional One-Stage Monocular 3D Object Detection","arxiv_id":"2104.10956","date":"2021-04-22","proceeding":null,"authors":["Tai Wang","Xinge Zhu","Jiangmiao Pang","Dahua Lin"],"abstract":"Monocular 3D object detection is an important task for autonomous driving considering its advantage of low cost. It is much more challenging than conventional 2D cases due to its inherent ill-posed property, which is mainly reflected in the lack of depth information. Recent progress on 2D detection offers opportunities to better solving this problem. However, it is non-trivial to make a general adapted 2D detector work in this 3D task. In this paper, we study this problem with a practice built on a fully convolutional single-stage detector and propose a general framework FCOS3D. Specifically, we first transform the commonly defined 7-DoF 3D targets to the image domain and decouple them as 2D and 3D attributes. Then the objects are distributed to different feature levels with consideration of their 2D scales and assigned only according to the projected 3D-center for the training procedure. Furthermore, the center-ness is redefined with a 2D Gaussian distribution based on the 3D-center to fit the 3D target formulation. All of these make this framework simple yet effective, getting rid of any 2D detection or 2D-3D correspondence priors. Our solution achieves 1st place out of all the vision-only methods in the nuScenes 3D detection challenge of NeurIPS 2020. Code and models are released at https://github.com/open-mmlab/mmdetection3d.","url_abs":"https://arxiv.org/abs/2104.10956v3","url_pdf":"https://arxiv.org/pdf/2104.10956v3.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":"fcos3d-fully-convolutional-one-stage","repo_url":"https://github.com/open-mmlab/mmdetection3d","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"fcos3d-fully-convolutional-one-stage","repo_url":"https://github.com/AllenPeng0209/deeproute_competition","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"fcos3d-fully-convolutional-one-stage","repo_url":"https://github.com/Discover304/MMDetection3D-Eloss","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"fcos3d-fully-convolutional-one-stage","repo_url":"https://github.com/bosszhe/vimi","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"fcos3d-fully-convolutional-one-stage","repo_url":"https://github.com/jhkim-spa/FVNet_v2","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"fcos3d-fully-convolutional-one-stage","repo_url":"https://github.com/konyul/mmdet3d","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"fcos3d-fully-convolutional-one-stage","repo_url":"https://github.com/vision-agh/pointpillars-backbone","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"fcos3d-fully-convolutional-one-stage","repo_url":"https://github.com/vision-agh/pointpillars_backbone","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"fcos3d-fully-convolutional-one-stage","repo_url":"https://github.com/yhbcode000/MMDetection3D-Eloss","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"3d-object-detection","task_name":"3D Object Detection"},{"task_slug":"autonomous-driving","task_name":"Autonomous Driving"},{"task_slug":"monocular-3d-object-detection","task_name":"Monocular 3D Object Detection"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/3d-object-detection-on-nuscenes","task":"3D Object Detection","dataset":"nuScenes","model":"FCOS3D","rank_in_archive_order":327,"of":372,"metrics":{"NDS":"0.428","mAAE":"0.124","mAOE":"0.452","mAP":"0.358","mASE":"0.249","mATE":"0.690","mAVE":"1.434"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2104.10956","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2104.10956"}},"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/bosszhe/vimi","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jhkim-spa/FVNet_v2","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/open-mmlab/mmdetection3d","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/yhbcode000/MMDetection3D-Eloss","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vision-agh/pointpillars-backbone","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/konyul/mmdet3d","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/AllenPeng0209/deeproute_competition","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Discover304/MMDetection3D-Eloss","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/vision-agh/pointpillars_backbone","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":7,"unverified":15},"by_repo_kind":{"listed":{"samples":22,"ran":7,"repositories":4}},"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":"8d35a41368d8dd47","entry":"average_precision","repo":"konyul/mmdet3d","repo_kind":"listed","path":"mmdet3d/core/evaluation/indoor_eval.py","file_url":"https://github.com/konyul/mmdet3d/blob/HEAD/mmdet3d/core/evaluation/indoor_eval.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"8d35a41368d8dd47"}},{"code_sha256_prefix":"20fbfa2279e1ce4b","entry":"div_up","repo":"AllenPeng0209/deeproute_competition","repo_kind":"listed","path":"mmdet3d/core/evaluation/deeproute_utils/rotate_iou.py","file_url":"https://github.com/AllenPeng0209/deeproute_competition/blob/HEAD/mmdet3d/core/evaluation/deeproute_utils/rotate_iou.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"20fbfa2279e1ce4b"}},{"code_sha256_prefix":"2283234eb1863906","entry":"eval_det_cls","repo":"konyul/mmdet3d","repo_kind":"listed","path":"mmdet3d/core/evaluation/indoor_eval.py","file_url":"https://github.com/konyul/mmdet3d/blob/HEAD/mmdet3d/core/evaluation/indoor_eval.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2283234eb1863906"}},{"code_sha256_prefix":"7f5f5b45cabc7d55","entry":"fast_hist","repo":"konyul/mmdet3d","repo_kind":"listed","path":"mmdet3d/core/evaluation/seg_eval.py","file_url":"https://github.com/konyul/mmdet3d/blob/HEAD/mmdet3d/core/evaluation/seg_eval.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7f5f5b45cabc7d55"}},{"code_sha256_prefix":"fcd32f0316ac7cac","entry":"get_acc","repo":"konyul/mmdet3d","repo_kind":"listed","path":"mmdet3d/core/evaluation/seg_eval.py","file_url":"https://github.com/konyul/mmdet3d/blob/HEAD/mmdet3d/core/evaluation/seg_eval.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"fcd32f0316ac7cac"}},{"code_sha256_prefix":"4018d47e1ea5a2ce","entry":"per_class_iou","repo":"konyul/mmdet3d","repo_kind":"listed","path":"mmdet3d/core/evaluation/seg_eval.py","file_url":"https://github.com/konyul/mmdet3d/blob/HEAD/mmdet3d/core/evaluation/seg_eval.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4018d47e1ea5a2ce"}},{"code_sha256_prefix":"e76a491553cf9fcf","entry":"process_checkpoint","repo":"AllenPeng0209/deeproute_competition","repo_kind":"listed","path":".dev_scripts/gather_models.py","file_url":"https://github.com/AllenPeng0209/deeproute_competition/blob/HEAD/.dev_scripts/gather_models.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e76a491553cf9fcf"}},{"code_sha256_prefix":"049f10575d6acf59","entry":"bbox3d2result","repo":"konyul/mmdet3d","repo_kind":"listed","path":"mmdet3d/core/bbox/transforms.py","file_url":"https://github.com/konyul/mmdet3d/blob/HEAD/mmdet3d/core/bbox/transforms.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"049f10575d6acf59"}},{"code_sha256_prefix":"071c297bbb04127e","entry":"bbox3d2roi","repo":"konyul/mmdet3d","repo_kind":"listed","path":"mmdet3d/core/bbox/transforms.py","file_url":"https://github.com/konyul/mmdet3d/blob/HEAD/mmdet3d/core/bbox/transforms.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"071c297bbb04127e"}},{"code_sha256_prefix":"cd7847cc58eb29bd","entry":"bbox3d_mapping_back","repo":"konyul/mmdet3d","repo_kind":"listed","path":"mmdet3d/core/bbox/transforms.py","file_url":"https://github.com/konyul/mmdet3d/blob/HEAD/mmdet3d/core/bbox/transforms.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cd7847cc58eb29bd"}},{"code_sha256_prefix":"96c8084488bd023b","entry":"box_camera_to_lidar","repo":"konyul/mmdet3d","repo_kind":"listed","path":"mmdet3d/core/bbox/box_np_ops.py","file_url":"https://github.com/konyul/mmdet3d/blob/HEAD/mmdet3d/core/bbox/box_np_ops.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"96c8084488bd023b"}},{"code_sha256_prefix":"356e77e178d28771","entry":"calculate_entropy","repo":"Discover304/MMDetection3D-Eloss","repo_kind":"listed","path":"mmdet3d/models/losses/eloss.py","file_url":"https://github.com/Discover304/MMDetection3D-Eloss/blob/HEAD/mmdet3d/models/losses/eloss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"356e77e178d28771"}},{"code_sha256_prefix":"9e22984820c39868","entry":"camera_to_lidar","repo":"konyul/mmdet3d","repo_kind":"listed","path":"mmdet3d/core/bbox/box_np_ops.py","file_url":"https://github.com/konyul/mmdet3d/blob/HEAD/mmdet3d/core/bbox/box_np_ops.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9e22984820c39868"}},{"code_sha256_prefix":"853d5d97b4442543","entry":"clean_data","repo":"AllenPeng0209/deeproute_competition","repo_kind":"listed","path":"mmdet3d/core/evaluation/deeproute_utils/deeproute_eval.py","file_url":"https://github.com/AllenPeng0209/deeproute_competition/blob/HEAD/mmdet3d/core/evaluation/deeproute_utils/deeproute_eval.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"853d5d97b4442543"}},{"code_sha256_prefix":"5b1dacd1f125c08f","entry":"corners_nd","repo":"konyul/mmdet3d","repo_kind":"listed","path":"mmdet3d/core/bbox/box_np_ops.py","file_url":"https://github.com/konyul/mmdet3d/blob/HEAD/mmdet3d/core/bbox/box_np_ops.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5b1dacd1f125c08f"}},{"code_sha256_prefix":"3e68c67f05177852","entry":"eval_map_recall","repo":"konyul/mmdet3d","repo_kind":"listed","path":"mmdet3d/core/evaluation/indoor_eval.py","file_url":"https://github.com/konyul/mmdet3d/blob/HEAD/mmdet3d/core/evaluation/indoor_eval.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3e68c67f05177852"}},{"code_sha256_prefix":"90f6ae7209cde36f","entry":"get_final_epoch","repo":"AllenPeng0209/deeproute_competition","repo_kind":"listed","path":".dev_scripts/gather_models.py","file_url":"https://github.com/AllenPeng0209/deeproute_competition/blob/HEAD/.dev_scripts/gather_models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"90f6ae7209cde36f"}},{"code_sha256_prefix":"6434c4b76548f533","entry":"get_final_epoch","repo":"jhkim-spa/FVNet_v2","repo_kind":"listed","path":".dev_scripts/gather_models.py","file_url":"https://github.com/jhkim-spa/FVNet_v2/blob/HEAD/.dev_scripts/gather_models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6434c4b76548f533"}},{"code_sha256_prefix":"da059252c88ecf40","entry":"get_model_dataset","repo":"AllenPeng0209/deeproute_competition","repo_kind":"listed","path":".dev_scripts/gather_models.py","file_url":"https://github.com/AllenPeng0209/deeproute_competition/blob/HEAD/.dev_scripts/gather_models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"da059252c88ecf40"}},{"code_sha256_prefix":"89ab5b12e60b6dc2","entry":"get_thresholds","repo":"AllenPeng0209/deeproute_competition","repo_kind":"listed","path":"mmdet3d/core/evaluation/deeproute_utils/deeproute_eval.py","file_url":"https://github.com/AllenPeng0209/deeproute_competition/blob/HEAD/mmdet3d/core/evaluation/deeproute_utils/deeproute_eval.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"89ab5b12e60b6dc2"}},{"code_sha256_prefix":"7131430b63714f53","entry":"image_box_overlap","repo":"AllenPeng0209/deeproute_competition","repo_kind":"listed","path":"mmdet3d/core/evaluation/deeproute_utils/deeproute_eval.py","file_url":"https://github.com/AllenPeng0209/deeproute_competition/blob/HEAD/mmdet3d/core/evaluation/deeproute_utils/deeproute_eval.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7131430b63714f53"}},{"code_sha256_prefix":"3b15102fec2dd1c2","entry":"pairwise_euclidean_distance","repo":"Discover304/MMDetection3D-Eloss","repo_kind":"listed","path":"mmdet3d/models/losses/eloss.py","file_url":"https://github.com/Discover304/MMDetection3D-Eloss/blob/HEAD/mmdet3d/models/losses/eloss.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3b15102fec2dd1c2"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}