Home

Awesome

ros_intel_movidius_ncs

1 Introduction

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:

There are 2 active branches in this project:

2 Prerequisite

3 Environment Setup

sudo ln -s <your-workspace>/ncappzoo /opt/movidius/ncappzoo

After that, make sure you can find graph data in /opt/movidius/ncappzoo/caffe or /opt/movidius/ncappzoo/tensorflow and image data in /opt/movidius/ncappzoo/data/images

4 Building and Installation

# Building
cd ~/catkin_ws/src
git clone https://github.com/intel/object_msgs
git clone https://github.com/intel/ros_intel_movidius_ncs.git
cd ros_intel_movidius_ncs
git checkout master
cd ~/catkin_ws
catkin_make
# Installation
catkin_make install
source install/setup.bash
# Copy label files from this project to the installation location of NCSDK
cp ~/catkin_ws/src/ros_intel_movidius_ncs/data/labels/* /opt/movidius/ncappzoo/data/ilsvrc12/

5 Running the Demo

5.1 Classification

5.1.1 Supported CNN Models

Table1
CNN ModelFrameworkUsage
AlexNetCaffeImage/Video
GoogleNetCaffeImage/Video
SqueezeNetCaffeImage/Video
Inception_v1TensorflowImage/Video
Inception_v2TensorflowImage/Video
Inception_v3TensorflowImage/Video
Inception_v4TensorflowImage/Video
MobileNetTensorflowImage/Video

5.1.2 Classification Result with GoogleNet

classification with googlenet

5.1.3 Running the Demo

5.2 Detection

5.1.1 Supported CNN Models

CNN ModelFrameworkUsage
MobileNetSSD(Recommended)CaffeImage/Video
TinyYolo_v1CaffeImage/Video

5.1.2 Detection Result with MobileNetSSD

detection with mobilenetssd

5.1.3 Running the Demo

5.3 Inference with multiple NCS devices

We introduce multiple NCS support from v0.6.0, providing x1.8 / x2.5 / x3 performance improvement with 2NCSs / 3NCSs / 4NCSs compared with 1 NCS respectively. Refer here for more details.

6 Interfaces

6.1 Topic

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

6.2 Service

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

7 Known Issues

8 TODO

Any security issue should be reported using process at https://01.org/security