资源算法RetinaNet_Tensorflow

RetinaNet_Tensorflow

2020-02-18 | |  46 |   0 |   0

Focal Loss for Dense Object Detection

Abstract

This is a tensorflow re-implementation of Focal Loss for Dense Object Detection, and it is completed by YangXue.

voc_2007.gif

Performance

ModelBackboneTraining dataVal datamAPInf time (fps)Model LinkTrain ScheduleGPUImage/GPUConfiguration File
Faster-RCNNResNet50_v1 600VOC07 trainvalVOC07 test73.09---1X GTX 1080Ti1-
FPNResNet50_v1 600VOC07 trainvalVOC07 test74.26---1X GTX 1080Ti1-
RetinaNetResNet50_v1 600VOC07 trainvalVOC07 test73.16---8X GeForce RTX 2080 Ti1cfgs_res50_voc07_v3.py
RetinaNetResNet50_v1d 600VOC07 trainvalVOC07 test73.26---8X GeForce RTX 2080 Ti1cfgs_res50_voc07_v4.py
RetinaNetResNet50_v1d 600VOC07 trainvalVOC07 test74.0014.6model-4X GeForce RTX 2080 Ti2cfgs_res50_voc07_v5.py
RetinaNetResNet50_v1d 600VOC07+12 trainvalVOC07 test79.66---8X GeForce RTX 2080 Ti1cfgs_res50_voc0712_v1.py
RetinaNetResNet101_v1d 600VOC07+12 trainvalVOC07 test81.69---8X GeForce RTX 2080 Ti1cfgs_res50_voc0712_v4.py
RetinaNetResNet101_v1d 800VOC07+12 trainvalVOC07 test80.69---8X GeForce RTX 2080 Ti1cfgs_res50_voc0712_v3.py
RetinaNetResNet50_v1 600COCO train2017COCO val2017 (coco minival)33.412.2-1x8X GeForce RTX 2080 Ti1cfgs_res50_coco_1x_v4.py
RetinaNetResNet50_v1 600COCO train2017COCO val2017 (coco minival)34.3 (paper: 34.0)12.2model1x4X GeForce RTX 2080 Ti2cfgs_res50_coco_1x_v5.py

My Development Environment

1、python3.5 (anaconda recommend)
2、cuda9.0
3、opencv(cv2)
4、tfplot (optional)
5、tensorflow >= 1.12

Download Model

Pretrain weights

1、Please download resnet50_v1resnet101_v1 pre-trained models on Imagenet, put it to data/pretrained_weights.
2、(Recommend in this repo) Or you can choose to use a better backbone, refer to gluon2TF.

Others

1、COCO dataset related

Compile

cd $PATH_ROOT/libs/box_utils/cython_utils
python setup.py build_ext --inplace

Train

1、If you want to train your own data, please note:

(1) Modify parameters (such as CLASS_NUM, DATASET_NAME, VERSION, etc.) in $PATH_ROOT/libs/configs/cfgs.py
(2) Add category information in $PATH_ROOT/libs/label_name_dict/lable_dict.py     
(3) Add data_name to $PATH_ROOT/data/io/read_tfrecord.py

2、Make tfrecord

cd $PATH_ROOT/data/io/  
python convert_data_to_tfrecord_coco.py --VOC_dir='/PATH/TO/JSON/FILE/' 
                                        --save_name='train' 
                                        --dataset='coco'

3、Multi-gpu train

cd $PATH_ROOT/tools
multi_gpu_train_batch.py

Eval

COCO

cd $PATH_ROOT/tools
python eval_coco.py --eval_data='/PATH/TO/IMAGES/'  
                    --eval_gt='/PATH/TO/TEST/ANNOTATION/'
                    --gpu='0'
cd $PATH_ROOT/tools
python eval_coco_multiprocessing.py --eval_data='/PATH/TO/IMAGES/'  
                                    --eval_gt='/PATH/TO/TEST/ANNOTATION/'
                                    --gpus='0,1,2,3,4,5,6,7'

PASCAL VOC

cd $PATH_ROOT/tools
python eval.py --eval_dir='/PATH/TO/IMAGES/'  
               --annotation_dir='/PATH/TO/TEST/ANNOTATION/'
               --gpu='0'

Tensorboard

cd $PATH_ROOT/output/summary
tensorboard --logdir=.

图片.png

图片.png

Reference

1、https://github.com/endernewton/tf-faster-rcnn
2、https://github.com/zengarden/light_head_rcnn
3、https://github.com/tensorflow/models/tree/master/research/object_detection
4、https://github.com/fizyr/keras-retinanet


上一篇:esri_retinanet

下一篇:Retinanet-Pytorch

用户评价
全部评价

热门资源

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • shih-styletransfer

    shih-styletransfer Code from Style Transfer ...

  • inferno-boilerplate

    This is a very basic boilerplate example for pe...