zhanghanduo / yolo3_pytorch

Yolo3 Implementation in Pytorch using COCO and BDD100K dataset. Forked from https://github.com/BobLiu20/YOLOv3_PyTorch.git. For my own fun, so the introduction is not accurate.
104 stars 21 forks source link

YOLO version3 in Pytorch

Full implementation of YOLO version3 in PyTorch, including training, evaluation, simple deployment(developing).

Overview

YOLOv3: An Incremental Improvement

[Paper]
[Original Implementation]

Motivation

Implement YOLOv3 and darknet53 without original darknet cfg parser.
It is easy to custom your backbone network. Such as resnet, densenet...

Also decide to develop custom structure (like grayscale pretrained model)

Installation

Environment

Training

Download pretrained weights
  1. See weights readme for detail.
  2. Download pretrained yolo3 full wegiths from Google Drive or Baidu Drive
  3. Move downloaded file official_yolov3_weights_pytorch.pth to weights folder in this project.
    Modify training parameters
  4. Review config file training/params.py
  5. Replace YOUR_WORKING_DIR to your working directory. Use for save model and tmp file.
  6. Adjust your GPU device. See parallels.
  7. Adjust other parameters.
    Start training
    cd training
    python training.py params.py
    Option: Visualizing training
    #  please install tensorboard in first
    python -m tensorboard.main --logdir=YOUR_WORKING_DIR   

Evaluate

Download pretrained weights
  1. See weights readme for detail.
  2. Download pretrained yolo3 full wegiths from Google Drive or Baidu Drive
  3. Move downloaded file yolov3_weights_pytorch.pth to wegihts folder in this project.
    Start evaluate
    cd evaluate
    python eval.py params.py
    python eval_coco.py params.py

Roadmap

Credit

@article{yolov3,
    title={YOLOv3: An Incremental Improvement},
    author={Redmon, Joseph and Farhadi, Ali},
    journal = {arXiv},
    year={2018}
}

Reference