/YOLO-V3-in-Pytorch-A-Tutorial-on-Implementation-of-YOLO-V3-Algorithm

This repo is projected to offer a tutorial on how to implement YOLO V3 from scratch. Hopefully, developers can build and train their own YOLO network using custom datasets for various object detection tasks

Primary LanguageJupyter Notebook

Tutorial on Implementation of YOLO V3 in Pytorch

Overview

Reading codes with little comments could be a hugh headache especially for most new-entry machine learning reserach engineers. This repo is intended to offer a tutorial on how to implement YOLO V3, one of the state of art deep learning algorithms for object detection.

In this work, the YOLO_V3 algorithm is trained from stratch using Pascal VOC dataset for demonstration purpose. Hopefully, after reading this tutorial, developers can build and train their own YOLO network using other datasets for various object detection tasks

Example

Requirement

Environment

  • pytorch >= 1.0.0
  • python >= 3.6.0
  • numpy
  • opencv-python

download Pascal VOC Data

  1. follow the instruction from Yolo website or find the data from link

  2. download the voc_label.py script to genetrate label files

    wget https://pjreddie.com/media/files/voc_label.py

    python voc_label.py

download the weights

  1. download the pretrained weights "Dartnet_VOC_Weights" and "Dartnet_VOC_Weights_ini" from Baidu Drive
  2. Move downloaded both files to weights folder in this project.

Inference

Training

  • python Train.py --epochs 25 --batch_size 16 --img_size 416
  • Refer tp jupyter notebook Yolo_V3_Train_Step_by_Step for detailed instruction

Reference