The Movidius™ Neural Compute Stick (NCS) is a tiny fanless deep learning device that you can use to learn AI programming at the edge. NCS is powered by the same low power high performance Movidius™ Vision Processing Unit (VPU) that can be found in millions of smart security cameras, gesture controlled drones, industrial machine vision equipment, and more.

This project is a ROS wrapper for NC API of NCSDK, providing the following features:

  • A ROS service for object classification and detection of a static image file
  • A ROS publisher for object classification and detection of a video stream from a RGB camera
  • Demo applications to show the capabilities of ROS service and publisher
  • Support multiple CNN models of Caffe and Tensorflow
  • Support multiple devices in parallel to accelerate inference

Prerequisites and Installation

Please refer to github


Image Classification

Result with GoogleNet. Please find the demo scripts on github

Image Detection

Result with MobileNetSSD. Please find the demo scripts on github

Video Stream Classification

Please find the demo scripts on github

Video Stream Detection

Please find the demo scripts on github



Classification:  /movidius_ncs_nodelet/classified_objects 
Detection:  /movidius_ncs_nodelet/detected_objects 


Classification:  /movidius_ncs_image/classify_object 
Detection:  /movidius_ncs_image/detect_object 

Known Issues

  • Only absolute path of image file supported in image inference demo
  • Only test on RealSense D400 series camera and Microsoft HD-300 USB camera

  • Current v0.6.0 supporting NCSDK v1.12.00 is on master branch. devel branch is the development branch for the next release
  • Unit test for movidius_ncs_lib failed due to one exception.


  • Support more CNN models
  • Support latest NCSDK
  • Support results display with Rviz

Report a Bug

Use GitHub to report bugs or submit feature requests. [View active issues]

Wiki: ros_intel_movidius_ncs (last edited 2018-08-01 07:25:37 by RobotLee)