{"id":15028161,"url":"https://github.com/xuannianz/efficientdet","last_synced_at":"2025-05-15T20:05:59.071Z","repository":{"id":37706489,"uuid":"224586081","full_name":"xuannianz/EfficientDet","owner":"xuannianz","description":"EfficientDet (Scalable and Efficient Object Detection)  implementation in Keras and Tensorflow","archived":false,"fork":false,"pushed_at":"2023-10-03T21:35:23.000Z","size":1533,"stargazers_count":1430,"open_issues_count":7,"forks_count":398,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-05-15T20:05:43.147Z","etag":null,"topics":["detection","efficientdet","keras-efficientdet","oriented-object-detection","quadrangle-detection","tf-efficientdet"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xuannianz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-11-28T06:35:58.000Z","updated_at":"2025-05-11T15:41:18.000Z","dependencies_parsed_at":"2022-09-15T22:43:29.214Z","dependency_job_id":"4f1d986c-efcc-4d76-ac78-e650b8438b3d","html_url":"https://github.com/xuannianz/EfficientDet","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xuannianz%2FEfficientDet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xuannianz%2FEfficientDet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xuannianz%2FEfficientDet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xuannianz%2FEfficientDet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xuannianz","download_url":"https://codeload.github.com/xuannianz/EfficientDet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414499,"owners_count":22067272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["detection","efficientdet","keras-efficientdet","oriented-object-detection","quadrangle-detection","tf-efficientdet"],"created_at":"2024-09-24T20:07:43.471Z","updated_at":"2025-05-15T20:05:53.977Z","avatar_url":"https://github.com/xuannianz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EfficientDet\nThis is an implementation of [EfficientDet](https://arxiv.org/pdf/1911.09070.pdf) for object detection on Keras and Tensorflow. \nThe project is based on the official implementation [google/automl](https://github.com/google/automl), [fizyr/keras-retinanet](https://github.com/fizyr/keras-retinanet)\nand the [qubvel/efficientnet](https://github.com/qubvel/efficientnet). \n\n## About pretrained weights\n* The pretrained EfficientNet weights on imagenet are downloaded from [Callidior/keras-applications/releases](https://github.com/Callidior/keras-applications/releases)\n* The pretrained EfficientDet weights on coco are converted from the official release [google/automl](https://github.com/google/automl).\n\nThanks for their hard work.\nThis project is released under the Apache License. Please take their licenses into consideration too when use this project.\n\n**Updates**\n- [03/21/2020] Synchronize with the official implementation. [google/automl](https://github.com/google/automl)\n- [03/05/2020] Anchor free version. The accuracy is a little lower, but it's faster and smaller.For details, please refer to [xuannianz/SAPD](https://github.com/xuannianz/SAPD)\n- [02/20/2020] Support quadrangle detection. For details, please refer to [README_quad](README_quad.md)\n\n## Train\n### build dataset \n1. Pascal VOC \n    * Download VOC2007 and VOC2012, copy all image files from VOC2007 to VOC2012.\n    * Append VOC2007 train.txt to VOC2012 trainval.txt.\n    * Overwrite VOC2012 val.txt by VOC2007 val.txt.\n2. MSCOCO 2017\n    * Download images and annotations of coco 2017\n    * Copy all images into datasets/coco/images, all annotations into datasets/coco/annotations\n3. Other types please refer to [fizyr/keras-retinanet](https://github.com/fizyr/keras-retinanet))\n### train\n* STEP1: `python3 train.py --snapshot imagenet --phi {0, 1, 2, 3, 4, 5, 6} --gpu 0 --random-transform --compute-val-loss --freeze-backbone --batch-size 32 --steps 1000 pascal|coco datasets/VOC2012|datasets/coco` to start training. The init lr is 1e-3.\n* STEP2: `python3 train.py --snapshot xxx.h5 --phi {0, 1, 2, 3, 4, 5, 6} --gpu 0 --random-transform --compute-val-loss --freeze-bn --batch-size 4 --steps 10000 pascal|coco datasets/VOC2012|datasets/coco` to start training when val mAP can not increase during STEP1. The init lr is 1e-4 and decays to 1e-5 when val mAP keeps dropping down.\n## Evaluate\n1. PASCAL VOC\n    * `python3 eval/common.py` to evaluate pascal model by specifying model path there.\n    * The best evaluation results (score_threshold=0.01, mAP\u003csub\u003e50\u003c/sub\u003e) on VOC2007 test are: \n\n    | phi | 0 | 1 |\n    | ---- | ---- | ---- |\n    | w/o weighted |  | [0.8029](https://drive.google.com/open?id=1-QkMq56w4dZOTQUnbitF53NKEiNF9F_Q) |\n    | w/ weighted | [0.7892](https://drive.google.com/open?id=1mrqL9rFoYW-4Jc57MsTipkvOTRy_EGfe) |  |\n2. MSCOCO\n    * `python3 eval/coco.py` to evaluate coco model by specifying model path there.\n    \n    | phi | mAP |\n    | ---- | ---- |\n    | 0 | 0.334 [weights](https://drive.google.com/open?id=1MNB5q6rJ4TK_gen3iriu8-ArG9jB8aR9), [results](https://drive.google.com/open?id=1U4Bdk4C7aNF7l4mvhh2Oi8mFpttEwB8s) |\n    | 1 | 0.393 [weights](https://drive.google.com/open?id=11pQznCTi4MaVXqkJmCMcQhphMXurpx5Z), [results](https://drive.google.com/open?id=1NjGr3yG3_Rk1xVCk4sgVelTZNNz_E2vp) |\n    | 2 | 0.424 [weights](https://drive.google.com/open?id=1_yXrOrY0FDnH-d_FQIPbGy4z2ax4aNh8), [results](https://drive.google.com/open?id=1UQP8kDj7tXHC2bs--Aq8x7w7FkVX4xJD) |\n    | 3 | 0.454 [weights](https://drive.google.com/open?id=1VnxoBpEQmm0Z2uO3gjhYDeu-rNirba6c), [results](https://drive.google.com/open?id=1uruTEMPhl_JvbA_T9kCdutzeOR3gFX4g) |\n    | 4 | 0.483 [weights](https://drive.google.com/open?id=1lQvTpnO_mfkHCRpcP28dxU4CWyK3xUzj), [results](https://drive.google.com/open?id=1s4nmgYaPqjbAgDlRF1AVVz6uWKDz7O_i) |\n    \n## Test\n`python3 inference.py` to test your image by specifying image path and model path there. \n\n![image1](test/demo.jpg) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxuannianz%2Fefficientdet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxuannianz%2Fefficientdet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxuannianz%2Fefficientdet/lists"}