Skip to content
Simple camera preview processed with Yolo model
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Encapsulates existing YOLO-based backend codebase to use YOLO model on USB camera or Raspberry Pi camera input.


Get the code

$ git clone --recursive

Do not forget --resursive option.

Pick a backend

1. Keras_Yolo3

  • Backend: Keras + Tensorflow
  • Platform:
    • Mac OS X
    • Ubuntu Linux
    • Remark:
      • Running on Raspbian hits Bus Error in TensorFlow. I didn't debug it.
  • AI Model: yolov3-tiny
  • AI Hardware:
    • Pure CPU
    • GPU (haven't tested)
  • Setup keras_yolo3 backend

2. YoloV2NCS

  • Backend: Intel Movidius SDK
  • Platform:
    • Ubuntu Linux
    • Raspbian (Raspberry Pi 3)
    • Remark:
      • Movidius NCS SDK doesn't support Mac OS.
  • AI Model: yolov2-tiny-voc
  • AI Hardware:
    • Intel Movidius NCS USB stick.
  • Setup YoloV2NCS backend

Run it

Attach a USB camera or Raspberry Pi Camera.

# Use Keras backend
$ python3 -b 0 [-c camera_id]

# Use YoloV2NCS
$ python3 -b 1 [-c camera_id]

# Get help
$ python3 -h

You should see live yolo result like below: Example

It also works on Raspberry Pi 3 with Pi camera. RPi3

Press ESC key to exit.

camera id

For USB camera:

$ ls -l /dev/video*

For example, use 1 as camera id for /dev/video1.

For Raspberry Pi camera, use pi as camera id.


Test camera is working

$ python3 -c [camera_id]

Movidius NCS on Raspberry Pi 3

When using USB camera + Movidius NCS on Raspberry Pi 3 Model B may have flakiness because RPi 3 Model B does not get enough DC power input. Adding a powered USB 3.0 hub can fix this.

RPi3 Model B+ can get more DC power input, and it's possible to use USB camera and Movidius NCS stick without extra AC-powered USB hub.

Other Known Issues

  • Reading from Raspberry Pi camera to OpenCV is very slow. (<2FPS)
You can’t perform that action at this time.