{"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/m2det-a-single-shot-object-detector-based-on","title":"M2Det: A Single-Shot Object Detector based on Multi-Level Feature Pyramid Network","arxiv_id":"1811.04533","date":"2018-11-12","proceeding":null,"authors":["Qijie Zhao","Tao Sheng","Yongtao Wang","Zhi Tang","Ying Chen","Ling Cai","Haibin Ling"],"abstract":"Feature pyramids are widely exploited by both the state-of-the-art one-stage\nobject detectors (e.g., DSSD, RetinaNet, RefineDet) and the two-stage object\ndetectors (e.g., Mask R-CNN, DetNet) to alleviate the problem arising from\nscale variation across object instances. Although these object detectors with\nfeature pyramids achieve encouraging results, they have some limitations due to\nthat they only simply construct the feature pyramid according to the inherent\nmulti-scale, pyramidal architecture of the backbones which are actually\ndesigned for object classification task. Newly, in this work, we present a\nmethod called Multi-Level Feature Pyramid Network (MLFPN) to construct more\neffective feature pyramids for detecting objects of different scales. First, we\nfuse multi-level features (i.e. multiple layers) extracted by backbone as the\nbase feature. Second, we feed the base feature into a block of alternating\njoint Thinned U-shape Modules and Feature Fusion Modules and exploit the\ndecoder layers of each u-shape module as the features for detecting objects.\nFinally, we gather up the decoder layers with equivalent scales (sizes) to\ndevelop a feature pyramid for object detection, in which every feature map\nconsists of the layers (features) from multiple levels. To evaluate the\neffectiveness of the proposed MLFPN, we design and train a powerful end-to-end\none-stage object detector we call M2Det by integrating it into the architecture\nof SSD, which gets better detection performance than state-of-the-art one-stage\ndetectors. Specifically, on MS-COCO benchmark, M2Det achieves AP of 41.0 at\nspeed of 11.8 FPS with single-scale inference strategy and AP of 44.2 with\nmulti-scale inference strategy, which is the new state-of-the-art results among\none-stage detectors. The code will be made available on\n\\url{https://github.com/qijiezhao/M2Det.","url_abs":"http://arxiv.org/abs/1811.04533v3","url_pdf":"http://arxiv.org/pdf/1811.04533v3.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":"m2det-a-single-shot-object-detector-based-on","repo_url":"https://github.com/CVUsers/Smart-Retail-By-Efficientdet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"m2det-a-single-shot-object-detector-based-on","repo_url":"https://github.com/LeeDongYeun/keras-m2det","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":null},{"paper_slug":"m2det-a-single-shot-object-detector-based-on","repo_url":"https://github.com/cjpurackal/m2det-tf","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"m2det-a-single-shot-object-detector-based-on","repo_url":"https://github.com/taashi-s/M2Det_keras","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}},{"paper_slug":"m2det-a-single-shot-object-detector-based-on","repo_url":"https://github.com/true-source/m2det-tf","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"tf","reach":{"status":"ok"}},{"paper_slug":"m2det-a-single-shot-object-detector-based-on","repo_url":"https://github.com/2023-MindSpore-1/ms-code-18/tree/main/m2det","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"m2det-a-single-shot-object-detector-based-on","repo_url":"https://github.com/2023-MindSpore-4/Code-5/tree/main/m2det","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"m2det-a-single-shot-object-detector-based-on","repo_url":"https://github.com/Mind23-2/MindCode-101/tree/main/m2det","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"m2det-a-single-shot-object-detector-based-on","repo_url":"https://github.com/Mind23-2/MindCode-3/tree/main/m2det","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"m2det-a-single-shot-object-detector-based-on","repo_url":"https://github.com/code-implementation1/Code5/tree/main/m2det","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null},{"paper_slug":"m2det-a-single-shot-object-detector-based-on","repo_url":"https://github.com/xiuyu0000/new_papers_codes/tree/main/m2det","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":"decoder","task_name":"Decoder"},{"task_slug":"object","task_name":"Object"},{"task_slug":"object-detection","task_name":"Object Detection"},{"task_slug":"object-detection-1","task_name":"object-detection"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"ffmv1","method_name":"FFMv1"},{"method_slug":"ffmv2","method_name":"FFMv2"},{"method_slug":"fpn","method_name":"FPN"},{"method_slug":"focal-loss","method_name":"Focal Loss"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"linear-warmup","method_name":"Linear Warmup"},{"method_slug":"m2det","method_name":"M2Det"},{"method_slug":"mlfpn","method_name":"MLFPN"},{"method_slug":"mask-r-cnn","method_name":"Mask R-CNN"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"non-maximum-suppression","method_name":"Non Maximum Suppression"},{"method_slug":"rpn","method_name":"RPN"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"retinanet","method_name":"RetinaNet"},{"method_slug":"roi-align","method_name":"RoIAlign"},{"method_slug":"sfam","method_name":"SFAM"},{"method_slug":"sgd-with-momentum","method_name":"SGD with Momentum"},{"method_slug":"ssd","method_name":"SSD"},{"method_slug":"sigmoid-activation","method_name":"Sigmoid Activation"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"step-decay","method_name":"Step Decay"},{"method_slug":"tum","method_name":"TUM"},{"method_slug":"weight-decay","method_name":"Weight Decay"}],"datasets_introduced":[],"methods_introduced":[{"slug":"ffmv1","name":"FFMv1","full_name":"Feature Fusion Module v1"},{"slug":"ffmv2","name":"FFMv2","full_name":"Feature Fusion Module v2"},{"slug":"m2det","name":"M2Det","full_name":"M2Det"},{"slug":"mlfpn","name":"MLFPN","full_name":"MLFPN"}],"results":[{"leaderboard":"/sota/object-detection-on-coco-minival","task":"Object Detection","dataset":"COCO minival","model":"M2Det (ResNet-1o1, 320x320)","rank_in_archive_order":209,"of":220,"metrics":{"AP50":"53.7","APL":"49.3","APM":"39.5","APS":"15.9","box AP":"34.1"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-coco-minival","task":"Object Detection","dataset":"COCO minival","model":"M2Det (VGG-16, 320x320)","rank_in_archive_order":211,"of":220,"metrics":{"AP50":"52.2","APL":"49.1","APM":"38.2","APS":"15","box AP":"33.2"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-coco","task":"Object Detection","dataset":"COCO test-dev","model":"M2Det (VGG-16, multi-scale)","rank_in_archive_order":150,"of":225,"metrics":{"AP50":"64.6","AP75":"49.3","APL":"55.1","APM":"47.9","APS":"29.2","Hardware Burden":"34G","box mAP":"44.2"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-coco","task":"Object Detection","dataset":"COCO test-dev","model":"M2Det (ResNet-101, multi-scale)","rank_in_archive_order":152,"of":225,"metrics":{"AP50":"64.4","AP75":"48","APL":"54.3","APM":"49.6","APS":"29.6","Hardware Burden":"27G","box mAP":"43.9"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-coco","task":"Object Detection","dataset":"COCO test-dev","model":"M2Det (VGG-16, single-scale)","rank_in_archive_order":185,"of":225,"metrics":{"AP50":"59.7","AP75":"45","APL":"53.8","APM":"46.5","APS":"22.1","Hardware Burden":"34G","box mAP":"41.0"},"uses_additional_data":false},{"leaderboard":"/sota/object-detection-on-coco","task":"Object Detection","dataset":"COCO test-dev","model":"M2Det (ResNet-101, single-scale)","rank_in_archive_order":210,"of":225,"metrics":{"AP50":"59.4","AP75":"41.7","APL":"53.4","APM":"43.9","APS":"20.5","Hardware Burden":"27G","box mAP":"38.8"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1811.04533","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1811.04533"}},"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/2023-MindSpore-1/ms-code-18/tree/main/m2det","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/taashi-s/M2Det_keras","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Mind23-2/MindCode-3/tree/main/m2det","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/LeeDongYeun/keras-m2det","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xiuyu0000/new_papers_codes/tree/main/m2det","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/code-implementation1/Code5/tree/main/m2det","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/true-source/m2det-tf","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Mind23-2/MindCode-101/tree/main/m2det","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/2023-MindSpore-4/Code-5/tree/main/m2det","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/cjpurackal/m2det-tf","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/CVUsers/Smart-Retail-By-Efficientdet","reach":null}],"summary":{"ran_honours":1},"by_repo_kind":{"listed":{"samples":1,"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":"87e732b8bf7dbe08","entry":"upsample_add_output_shape","repo":"LeeDongYeun/keras-m2det","repo_kind":"listed","path":"keras_m2det/models/m2det.py","file_url":"https://github.com/LeeDongYeun/keras-m2det/blob/HEAD/keras_m2det/models/m2det.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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"87e732b8bf7dbe08"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}