Skip to content
This project shows how to run tiny yolo v2 with movidius stick.
Branch: master
Clone or download
Latest commit 4cc2c8d Aug 4, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data update sample result Jan 13, 2018
detectionExample Fix a typo Aug 4, 2018
models add sources Dec 7, 2017
python add sources Dec 7, 2017
src Fix compilation error on Raspbian Aug 4, 2018
.gitignore add sources Dec 7, 2017
Makefile add sources Dec 7, 2017
README.md Update README.md Jun 29, 2018

README.md

YOLOv2 for Intel/Movidius Neural Compute Stick (NCS)

This project shows how to run tiny yolov2 (20 classes) with movidius stick:

  • A python convertor from yolo to caffe
  • A c/c++ implementation and python wrapper for region layer of yolov2
  • A sample for running yolov2 with movidius stick in images or videos

Updates

  • Support NCSDK 2.0 (Thanks cpagravel!)
  • Release 1.0 for NCSDK v1.0
  • Refine output bboxes according to letterbox_image in YOLOV2, 01/03/2018, 01/12/2018 (Thanks nathiyaa!)
  • Support multiple sticks, 12/29/2017 (Thanks ichigoi7e!)
  • Process video in the sample, 12/15/2017 (Thanks ichigoi7e!)
  • Fix confident offset issues in nms, 12/12/2017

How To Use

The following experiments are done on an Intel NUC with ubuntu 16.04.

Preliminaries

Please install NCSDK following https://github.com/movidius/ncsdk.

Step 1. Compile Python Wrapper

make

Step 2. Convert Caffe to NCS

mvNCCompile ./models/caffemodels/yoloV2Tiny20.prototxt -w ./models/caffemodels/yoloV2Tiny20.caffemodel -s 12

There will be a file graph generated as converted models for NCS.

Step 3. Run tests

python3 ./detectionExample/Main.py --image ./data/dog.jpg

This loads graph by default and results will be like this:

Run Other YoloV2 models

Convert Yolo to Caffe

Install caffe and config the python environment path.
sh ./models/convertyo.sh

Tips:

Please ignore the error message similar as "Region layer is not supported".

The converted caffe models should end with "prototxt" and "caffemodel".

Update parameters

Please update parameters (biases, object names, etc) in ./src/CRegionLayer.cpp, and parameters (dim, blockwd, targetBlockwd, classe, etc) in ./detectionExample/ObjectWrapper.py.

Please read ./src/CRegionLayer.cpp and ./detectionExample/ObjectWrapper.py for details.

References

Contributors


License

Research Only

Author

duangenquan@gmail.com

You can’t perform that action at this time.