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
- pytorch >= 1.0.0
- python >= 3.6.0
- numpy
- opencv-python
-
follow the instruction from Yolo website or find the data from link
-
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 pretrained weights "Dartnet_VOC_Weights" and "Dartnet_VOC_Weights_ini" from Baidu Drive
- Move downloaded both files to weights folder in this project.
- python Test.py --confidence 0.5 --reso 416
- Refer to jupyter notebook Yolo_V3_Inference_Step_by_Step for detailed instruction
- python Train.py --epochs 25 --batch_size 16 --img_size 416
- Refer tp jupyter notebook Yolo_V3_Train_Step_by_Step for detailed instruction
- YOLO:Real-Time Object Detection
- paper
- YOLO tutorial: highly inspired by this post