/YOLO_V3

Improve YOLO_V3 with latest paper

Primary LanguagePython

Note

I'm solving scale invariant. If you have a good paper, you can email me by StinkyTofu95@gmail.com. Thanks!

YOLO_v3

YOLO_v3 implemented with tensorflow

  • data augmentation(release)
  • multi-scale training(release)
  • Focal loss(increase 2 mAP, release)
  • Single-Shot Object Detection with Enriched Semantics(incrase 1 mAP, not release)
  • Soft-NMS(drop 0.5 mAP, release)
  • Group Normalization(didn't use it in project, release)
  • Deformable convolutional networks
  • Scale-Aware Trident Networks for Object Detection
  • Understanding the Effective Receptive Field in Deep Convolutional Neural Networks

Usage

  1. clone YOLO_v3 repository
git clone https://github.com/Stinky-Tofu/YOLO_v3.git
  1. Download datasets
    Create a new folder named data in the directory where the YOLO_V3 folder is located, and then create a new folder named VOC in the data/.
    Download VOC 2012_trainvalVOC 2007_trainvalVOC 2007_test, and put datasets into data/VOC, name as 2012_trainval2007_trainval2007_test separately.
  2. Train
    Download pretrained weight file yolo_coco_initial.ckpt
python voc_annotation.py
python train.py
--weights_file, default=yolo_coco_initial.ckpt
--gpu, default=0
--batch_size, default=32
--frozen, default=True
--learn_rate_init, default=0.001
  1. Test
    Download weight file yolo_416_87.78%.ckpt
python test.py
--map_calc, default=False
--weights_file, default=None
--gpu, default=0

mAP on VOC2007(score_threshold=0.01)

If you want to get a higher mAP, you can set the score threshold to 0.01.
If you want to apply it, you can set the score threshold to 0.2.
mAP

Reference:

paper:
YOLOv3: An Incremental Improvement
Foca Loss for Dense Object Detection
Group Normalization
Single-Shot Object Detection with Enriched Semantics
An Analysis of Scale Invariance in Object Detection - SNIP
Deformable convolutional networks
Scale-Aware Trident Networks for Object Detection
Understanding the Effective Receptive Field in Deep Convolutional Neural Networks

mAP calculate: mean Average Precision

Requirements

. Tensorflow
. Opencv
. Python
. Numpy