Need help with EfficientDet?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

xuannianz
1.1K Stars 345 Forks Apache License 2.0 60 Commits 4 Opened issues

Description

EfficientDet (Scalable and Efficient Object Detection) implementation in Keras and Tensorflow

Services available

!
?

Need anything else?

Contributors list

# 49,428
C++
Shell
Python
efficie...
41 commits
# 170,163
Jupyter...
MATLAB
C
shuffle...
4 commits
# 165,693
efficie...
React
CSS
HTML
1 commit
# 13,926
efficie...
Keras
efficie...
ecmascr...
1 commit

EfficientDet

This is an implementation of EfficientDet for object detection on Keras and Tensorflow. The project is based on the official implementation google/automl, fizyr/keras-retinanet and the qubvel/efficientnet.

About pretrained weights

Thanks for their hard work. This project is released under the Apache License. Please take their licenses into consideration too when use this project.

Updates - [03/21/2020] Synchronize with the official implementation. google/automl - [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 - [02/20/2020] Support quadrangle detection. For details, please refer to README_quad

Train

build dataset

  1. Pascal VOC
    • Download VOC2007 and VOC2012, copy all image files from VOC2007 to VOC2012.
    • Append VOC2007 train.txt to VOC2012 trainval.txt.
    • Overwrite VOC2012 val.txt by VOC2007 val.txt.
  2. MSCOCO 2017
    • Download images and annotations of coco 2017
    • Copy all images into datasets/coco/images, all annotations into datasets/coco/annotations
  3. Other types please refer to fizyr/keras-retinanet) ### train
  4. 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.
  5. 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. ## Evaluate
  6. PASCAL VOC

    • python3 eval/common.py
      to evaluate pascal model by specifying model path there.
    • The best evaluation results (score_threshold=0.01, mAP50) on VOC2007 test are:

    | phi | 0 | 1 | | ---- | ---- | ---- | | w/o weighted | | 0.8029 | | w/ weighted | 0.7892 | |

  7. MSCOCO

    • python3 eval/coco.py
      to evaluate coco model by specifying model path there.

    | phi | mAP | | ---- | ---- | | 0 | 0.334 weights, results | | 1 | 0.393 weights, results | | 2 | 0.424 weights, results | | 3 | 0.454 weights, results | | 4 | 0.483 weights, results |

Test

python3 inference.py
to test your image by specifying image path and model path there.

image1

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.