Skip to content
YOLO: You only look once real-time object detector
Branch: master
Clone or download
Latest commit 711daac Oct 23, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config fix python3 Jan 30, 2018
data/demo initial Apr 28, 2017
dataset update mxnet and python compatiblility Jan 24, 2018
detect bug fix Sep 14, 2017
evaluate fix python3 Jan 30, 2018
model initial Apr 28, 2017
mxnet @ f377e54 fix darknet19 Feb 14, 2018
symbol Update symbol_darknet19_yolo.py Feb 16, 2018
tools fix Aug 17, 2017
train fix python3 Jan 30, 2018
.gitignore update parameters Aug 3, 2017
.gitmodules initial Apr 28, 2017
LICENSE initial Apr 28, 2017
README.md Update README.md Oct 22, 2018
__init__.py initial Apr 28, 2017
benchmark.py add video_deomo file and benchmark.py Sep 14, 2017
demo.py replace stack_neighbor with reshape + transpose Sep 21, 2017
deploy.py initial Apr 28, 2017
evaluate.py fix python3 Jan 30, 2018
train.py fix lr-factor to float Sep 21, 2017
video_demo.py add video_deomo file and benchmark.py Sep 14, 2017

README.md

YOLO-v2: Real-Time Object Detection

Still under development. 71 mAP(darknet) and 74mAP(resnet50) on VOC2007 achieved so far.

This is a pre-released version.

What's new

This repo is now deprecated, I am migrating to the latest Gluon-CV which is more user friendly and has a lot more algorithms in development.

  • Pretrained YOLOv3 models which achiveve 81%+ mAP on VOC and near 37% mAP on COCO: Model Zoo.

  • Object Detection model tutorials.

This repo will not receive active development, however, you can continue use it with the mxnet 1.1.0(probably 1.2.0).

Disclaimer

This is a re-implementation of original yolo v2 which is based on darknet. The arXiv paper is available here.

Demo

demo1

Getting started

  • Build from source, this is required because this example is not merged, some custom operators are not presented in official MXNet. Instructions
  • Install required packages: cv2, matplotlib

Try the demo

  • Download the pretrained model(darknet as backbone), or this model(resnet50 as backbone) and extract to model/ directory.
  • Run
# cd /path/to/mxnet-yolo
python demo.py --cpu
# available options
python demo.py -h

Train the model

cd /path/to/where_you_store_datasets/
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
# Extract the data.
tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar
ln -s /path/to/VOCdevkit /path/to/mxnet-yolo/data/VOCdevkit
  • Create packed binary file for faster training
# cd /path/to/mxnet-ssd
bash tools/prepare_pascal.sh
# or if you are using windows
python tools/prepare_dataset.py --dataset pascal --year 2007,2012 --set trainval --target ./data/train.lst
python tools/prepare_dataset.py --dataset pascal --year 2007 --set test --target ./data/val.lst --shuffle False
  • Start training
python train.py --gpus 0,1,2,3 --epoch 0
# choose different networks, such as resnet50_yolo
python train.py --gpus 0,1,2,3 --network resnet50_yolo --data-shape 416 --pretrained model/resnet-50 --epoch 0
# see advanced arguments for training
python train.py -h
You can’t perform that action at this time.