Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gbr1/edgeimpulse_ros
ROS2 wrapper for Edge Impulse
https://github.com/gbr1/edgeimpulse_ros
ai artificial-intelligence dnn edge-impulse edgeimpulse jetson-nano machine-learning raspberry-pi ros2 tinyml vision
Last synced: 9 days ago
JSON representation
ROS2 wrapper for Edge Impulse
- Host: GitHub
- URL: https://github.com/gbr1/edgeimpulse_ros
- Owner: gbr1
- License: apache-2.0
- Created: 2022-08-04T00:14:23.000Z (over 2 years ago)
- Default Branch: humble
- Last Pushed: 2023-08-06T16:33:16.000Z (over 1 year ago)
- Last Synced: 2023-08-06T16:42:47.371Z (over 1 year ago)
- Topics: ai, artificial-intelligence, dnn, edge-impulse, edgeimpulse, jetson-nano, machine-learning, raspberry-pi, ros2, tinyml, vision
- Language: Python
- Homepage:
- Size: 46.9 KB
- Stars: 9
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# edgeimpulse_ros
ROS2 Humble wrapper for Edge Impulse on Linux.
![ezgif-4-3cda6ac695](https://user-images.githubusercontent.com/9216366/193153736-fccd9451-2277-42f2-8141-6027a10f0245.gif)
## 1. Topics
- `/detection/input/image`, image topic to analyze
- `/detection/output/image`, image with bounding boxes
- `/detection/output/info`, VisionInfo message
- `/detection/output/results`, results as text## 2. Parameters
- `frame_id` (**string**), _"base_link"_, frame id of output topics
- `model.filepath` (**string**), _""_, absolute filepath to .eim file
- `show.overlay` (**bool**), _true_, show bounding boxes on output image
- `show.center` (**bool**), _false_, show centroids on output image
- `show.labels` (**bool**), _true_, show labels on bounding boxes,
- `show.classification_info` (**bool**), _true_, show the attendibility (0-1) of the prediction## 3. How to install
1. install edge_impulse_linux:
`pip3 install edge_impulse_linux`2. on some boards and aarch64 these are required (e.g. vm on mac m1):
`sudo apt-get install libatlas-base-dev libportaudio2 libportaudiocpp0 portaudio19-dev`
`pip3 install pyaudio`3. download your .eim file as **"linux board"** and choose your architecture
4. make your eim file as executable:
`cd /path/to/your/eim/file`
`chmod +x .eim`5. clone this repo in your workspace:
`cd ~/dev_ws/src`
`git clone https://github.com/gbr1/edgeimpulse_ros`6. check dependencies:
`cd ~/dev_ws`
`rosdep install --from-paths src --ignore-src -r -y`7. build:
`colcon build --symlink-install`
`source install/setup.bash`## 4. How to run
Launch the node:
`ros2 run edgeimpulse_ros image_classification --ros-args -p model.filepath:="" -r /detection/input/image:="/your_image_topic"`
`## 5. Models
Here you find some prebuilt models: [https://github.com/gbr1/edgeimpulse_example_models](https://github.com/gbr1/edgeimpulse_example_models)
## 6. Known issues
- if you use a classification model, topic results is empty
- you cannot change color of bounding boxes (coming soon)
- other types (imu and sound based ml) are unavailable***Copyright © 2022 Giovanni di Dio Bruno - gbr1.github.io***