Contents
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:
- 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 README.md
Demo
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
Interfaces
Topic
Classification: /movidius_ncs_nodelet/classified_objects
Detection: /movidius_ncs_nodelet/detected_objects
Service
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.
TODO
- 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]