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

About the developer

137 Stars 39 Forks Apache License 2.0 18 Commits 0 Opened issues


CenterNet (Objects as Points) implementation in Keras and Tensorflow

Services available


Need anything else?

Contributors list

# 50,327
18 commits


This is an implementation of CenterNet for object detection on keras and Tensorflow. The project is based on fizyr/keras-retinanet and the official implementation xingyizhou/CenterNet. Thanks for their hard work.

The network is anchor-free. It is quite simple, fast and accurate.


  1. I trained on Pascal VOC2012 trainval.txt + Pascal VOC2007 train.txt, and validated on Pascal VOC2007 val.txt. There are 14041 images for training and 2510 images for validation.
  2. The best evaluation results (scorethreshold=0.01, fliptest=True, nms=True) on VOC2007 test are:

| backbone | mAP50 | | ---- | ---- | | resnet50 | 0.7290 |

  1. The weights of resnet backbones can be downloaded from fizyr/keras-models.
    Pretrained centernet model is here. baidu netdisk extract code: pti9 google driver
  2. python3
    to test your image by specifying image path and model path there.

image1 image2 image3


build dataset (Pascal VOC, other types please refer to fizyr/keras-retinanet)

  • 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. ### train
  • STEP1:
    python3 --freeze-backbone --gpu 0 --random-transform --compute-val-loss --batch-size 32 --steps 1000 pascal datasets/VOC2012
    to start training. The init lr is 1e-3 and decays to 1e-4 when loss stops dropping down.
  • STEP2:
    python3 --snapshot xxx.h5 --gpu 0 --random-transform --compute-val-loss --batch-size 32 --steps 1000 pascal datasets/VOC2012
    to start training when val mAP can not increase during STEP1. The init lr is 1e-4 and decays to 1e-5 when loss stops dropping down. ## Evaluate
  • python3 eval/
    to evaluate by specifying model path there.


This project is released under the Apache License. Some parts are borrowed from fizyr/keras-retinanet and xingyizhou/CenterNet. Please take their licenses into consideration too when use this project.

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.