The diffrence between this repo and the original YOLOv3:
- Using Resnet50 as detection backbone instead of Darknet53.
- Switch the individual binary classifier with softmax cross-entropy loss
- Full pytorch and numpy implementation of YOLOv3 training and detection
- Pytorch 0.4 codes
- Multi-Scale Training mentioned in the paper -> so far as I noticed, this one is not implemented by a lot of posts about yolo out there.
- lots of data augmentation,thanks to imgaug:
- training in coco2017 dataset
First, clone this repo by input:
git clone https://github.com/TreB1eN/Yolov3-in-Pytorch.git
-
Secondly, download the trained model from cloud drive into data/model folder
-
Google Drive:
-
Baidu Netdisk:
-
-
For detection in single image, please run
python detect_on_image.py -f input_image_path -o output_image_path -l detection_level
- For detection in video, please run
python detect_on_video.py -f input_video_path -o output_video_path -l detection_level
- For detection in camera, please run
python detect_on_camera.py -l detection_level
- download train2017.zip, val2017.zip and annotations_trainval2017.zip from coco website to data/coco2017
-
unzip data/coco2017/train2017.zip unzip data/coco2017/val2017.zip unzip data/coco2017/annotations_trainval2017.zip
- run
Details and parameters are in the codes
python train.py
Demo1 Youtube: , Youku: Demo2 Youtube: , Youku:
Todo List:
- Hyperparameters Tuning
- Multi-GPU Support
- trained with original Darknet53
- try Binary Classifier instead of Softmax as discussed in the paper
I dont't have much computing resource, PRs are welcomed !
This repo is also inspired by marvis/pytorch-yolo2: and qqwweee/keras-yolo3: