You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The MenohNodelet loads ONNX model and export input and output as ROS topics.
Thanks to the power of Menoh, it can run neural network models efficiently without GPGPUs.
Installation
Catkin tools
$ mkdir -p catkin_ws/src
$ cd catkin_ws
$ catkin init
$ cd src
$ git clone https://github.com/akio/menoh_ros.git
$ catkin build
APT Package
In preparation now.
Architecture
Following diagram depicts the architecture of MenohNodelet pipeline.
|
| Any Input
V
+-----------------+
| InputNode(let) |
+-----------------+
|
| std_msgs/Float32MultiArray
V
+-----------------+
| MenohNodelet |<--- ONNX Model
+-----------------+
|
| std_msgs/Float32MultiArray
V
+-----------------+
| OutputNode(let) |
+-----------------+
|
| Any Output
V
Provided Nodelets
MenohNodelet
MenohNodelet is a core nodelet of this package.
This nodelet loads ONNX model file and export them as std_msgs/Float32MultiArray topics.
When it receives a input message, it loads the message into the neural network model.
After the neural network computes the output, the nodelet translate the output into a ROS message and publish it.
ImageInputNodelet
This nodelet subscribes sensor_msgs/Image and converts it to std_msgs/Float32MultiArray and publishes it to MenohNodelet.
CategoryOutputNodelet
This nodelet subscribes std_msgs/Float32MultiArray and lodas category label data from a textfile.
When it receives a message, it compute softmax of the message and publish a corresponding label line as a std_msgs/String.
Example
ROS computation graph version of VGG16 example in Menoh