{"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/detrs-beat-yolos-on-real-time-object","title":"DETRs Beat YOLOs on Real-time Object Detection","arxiv_id":"2304.08069","date":"2023-04-17","proceeding":"CVPR 2024 1","authors":["Yian Zhao","Wenyu Lv","Shangliang Xu","Jinman Wei","Guanzhong Wang","Qingqing Dang","Yi Liu","Jie Chen"],"abstract":"The YOLO series has become the most popular framework for real-time object detection due to its reasonable trade-off between speed and accuracy. However, we observe that the speed and accuracy of YOLOs are negatively affected by the NMS. Recently, end-to-end Transformer-based detectors (DETRs) have provided an alternative to eliminating NMS. Nevertheless, the high computational cost limits their practicality and hinders them from fully exploiting the advantage of excluding NMS. In this paper, we propose the Real-Time DEtection TRansformer (RT-DETR), the first real-time end-to-end object detector to our best knowledge that addresses the above dilemma. We build RT-DETR in two steps, drawing on the advanced DETR: first we focus on maintaining accuracy while improving speed, followed by maintaining speed while improving accuracy. Specifically, we design an efficient hybrid encoder to expeditiously process multi-scale features by decoupling intra-scale interaction and cross-scale fusion to improve speed. Then, we propose the uncertainty-minimal query selection to provide high-quality initial queries to the decoder, thereby improving accuracy. In addition, RT-DETR supports flexible speed tuning by adjusting the number of decoder layers to adapt to various scenarios without retraining. Our RT-DETR-R50 / R101 achieves 53.1% / 54.3% AP on COCO and 108 / 74 FPS on T4 GPU, outperforming previously advanced YOLOs in both speed and accuracy. We also develop scaled RT-DETRs that outperform the lighter YOLO detectors (S and M models). Furthermore, RT-DETR-R50 outperforms DINO-R50 by 2.2% AP in accuracy and about 21 times in FPS. After pre-training with Objects365, RT-DETR-R50 / R101 achieves 55.3% / 56.2% AP. The project page: https://zhao-yian.github.io/RTDETR.","url_abs":"https://arxiv.org/abs/2304.08069v3","url_pdf":"https://arxiv.org/pdf/2304.08069v3.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":"detrs-beat-yolos-on-real-time-object","repo_url":"https://github.com/lyuwenyu/RT-DETR","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"paddle","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"detrs-beat-yolos-on-real-time-object","repo_url":"https://github.com/PaddlePaddle/PaddleDetection","is_official":0,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"paddle","reach":null},{"paper_slug":"detrs-beat-yolos-on-real-time-object","repo_url":"https://github.com/ultralytics/ultralytics","is_official":0,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"detrs-beat-yolos-on-real-time-object","repo_url":"https://github.com/open-edge-platform/geti","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"detrs-beat-yolos-on-real-time-object","repo_url":"https://github.com/MS-P3/code7/tree/main/yolos","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"detrs-beat-yolos-on-real-time-object","repo_url":"https://github.com/MindSpore-scientific/code-7/tree/main/YOLOS","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"none","reach":null},{"paper_slug":"detrs-beat-yolos-on-real-time-object","repo_url":"https://github.com/PaddlePaddle/PaddleYOLO","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"paddle","reach":{"status":"ok","spdx":"GPL-3.0"}},{"paper_slug":"detrs-beat-yolos-on-real-time-object","repo_url":"https://github.com/huggingface/transformers","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null},{"paper_slug":"detrs-beat-yolos-on-real-time-object","repo_url":"https://github.com/open-edge-platform/training_extensions","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"2d-object-detection","task_name":"2D Object Detection"},{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":null,"task_name":"GPU"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"real-time-object-detection","task_name":"Real-Time Object Detection"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"detr","method_name":"Detr"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"fpn","method_name":"FPN"},{"method_slug":"feedforward-network","method_name":"Feedforward Network"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"speed","method_name":"SPEED"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/real-time-object-detection-on-coco","task":"Real-Time Object Detection","dataset":"COCO (Common Objects in Context)","model":"RT-DETR-H(640)","rank_in_archive_order":9,"of":82,"metrics":{"FPS (V100, b=1)":"40 (T4)","box AP":"56.3"},"uses_additional_data":false},{"leaderboard":"/sota/real-time-object-detection-on-coco","task":"Real-Time Object Detection","dataset":"COCO (Common Objects in Context)","model":"RT-DETR-X","rank_in_archive_order":18,"of":82,"metrics":{"FPS (V100, b=1)":"74 (T4)","box AP":"54.8"},"uses_additional_data":false},{"leaderboard":"/sota/real-time-object-detection-on-coco","task":"Real-Time Object Detection","dataset":"COCO (Common Objects in Context)","model":"RT-DETR-R101","rank_in_archive_order":24,"of":82,"metrics":{"FPS (V100, b=1)":"74 (T4)","box AP":"54.3"},"uses_additional_data":false},{"leaderboard":"/sota/real-time-object-detection-on-coco","task":"Real-Time Object Detection","dataset":"COCO (Common Objects in Context)","model":"RT-DETR-L","rank_in_archive_order":33,"of":82,"metrics":{"FPS (V100, b=1)":"114 (T4)","box AP":"53.0"},"uses_additional_data":false}],"syntology":{"syntology_url":"https://syntology.ai/paper/2304.08069","atlas_url":"https://app.syntology.ai/?focus=2304.08069","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2304.08069"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/huggingface/transformers","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/PaddlePaddle/PaddleYOLO","reach":{"status":"ok","spdx":"GPL-3.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/ultralytics/ultralytics","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/PaddlePaddle/PaddleDetection","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/lyuwenyu/RT-DETR","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MS-P3/code7/tree/main/yolos","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/open-edge-platform/training_extensions","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/MindSpore-scientific/code-7/tree/main/YOLOS","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/open-edge-platform/geti","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"ran":2,"unverified":2},"by_repo_kind":{"official":{"samples":4,"ran":2,"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":"891281774f8942bd","entry":"dump_value","repo":"lyuwenyu/RT-DETR","repo_kind":"official","path":"rtdetr_paddle/ppdet/core/workspace.py","file_url":"https://github.com/lyuwenyu/RT-DETR/blob/HEAD/rtdetr_paddle/ppdet/core/workspace.py","link_basis":"plan_row","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":"891281774f8942bd"}},{"code_sha256_prefix":"7b71ca54a440c129","entry":"load_config","repo":"lyuwenyu/RT-DETR","repo_kind":"official","path":"rtdetr_paddle/ppdet/core/workspace.py","file_url":"https://github.com/lyuwenyu/RT-DETR/blob/HEAD/rtdetr_paddle/ppdet/core/workspace.py","link_basis":"plan_row","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":"7b71ca54a440c129"}},{"code_sha256_prefix":"553169f24c2e1789","entry":"dict_merge","repo":"lyuwenyu/RT-DETR","repo_kind":"official","path":"rtdetr_paddle/ppdet/core/workspace.py","file_url":"https://github.com/lyuwenyu/RT-DETR/blob/HEAD/rtdetr_paddle/ppdet/core/workspace.py","link_basis":"plan_row","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":"553169f24c2e1789"}},{"code_sha256_prefix":"ec4284e2142c46f9","entry":"mod","repo":"lyuwenyu/RT-DETR","repo_kind":"official","path":"rtdetrv2_pytorch/src/nn/postprocessor/detr_postprocessor.py","file_url":"https://github.com/lyuwenyu/RT-DETR/blob/HEAD/rtdetrv2_pytorch/src/nn/postprocessor/detr_postprocessor.py","link_basis":"plan_row","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":"ec4284e2142c46f9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}