Skip to content

Seeed SenseCraft Model Assistant is an open-source project focused on embedded AI. ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ

License

Notifications You must be signed in to change notification settings

Seeed-Studio/ModelAssistant

Repository files navigation

Introduction

Seeed SenseCraft Model Assistant is an open-source project focused on providing state-of-the-art AI algorithms for embedded devices. It is designed to help developers and makers to easily deploy various AI models on low-cost hardwares, such as microcontrollers and single-board computers (SBCs).

*Real-world deploy examples on MCUs with less than 0.3 Watts power consumption.

๐Ÿค User-friendly

SSCMA provides a user-friendly platform that allows users to easily perform training on collected data, and to better understand the performance of algorithms through visualizations generated during the training process.

๐Ÿ”‹ Models with low computing power and high performance

SSCMA focuses on end-side AI algorithm research, and the algorithm models can be deployed on microprocessors, similar to ESP32, some Arduino development boards, and even in embedded SBCs such as Raspberry Pi.

๐Ÿ—‚๏ธ Supports multiple formats for model export

TensorFlow Lite is mainly used in microcontrollers, while ONNX is mainly used in devices with Embedded Linux. There are some special formats such as TensorRT, OpenVINO which are already well supported by OpenMMLab. SSCMA has added TFLite model export for microcontrollers, which can be directly converted to TensorRT, UF2 format and drag-and-drop into the device for deployment.

Features

We have optimized excellent algorithms from OpenMMLab for real-world scenarios and made implementation more user-friendly, achieving faster and more accurate inference. Currently we support the following directions of algorithms:

๐Ÿ” Anomaly Detection

In the real world, anomalous data is often difficult to identify, and even if it can be identified, it requires a very high cost. The anomaly detection algorithm collects normal data in a low-cost way, and anything outside normal data is considered anomalous.

๐Ÿ‘๏ธ Computer Vision

Here we provide a number of computer vision algorithms such as object detection, image classification, image segmentation and pose estimation. However, these algorithms cannot run on low-cost hardwares. SSCMA optimizes these computer vision algorithms to achieve good running speed and accuracy in low-end devices.

โฑ๏ธ Scenario Specific

SSCMA provides customized scenarios for specific production environments, such as identification of analog instruments, traditional digital meters, and audio classification. We will continue to add more algorithms for specified scenarios in the future.

What's New

SSCMA is always committed to providing the cutting-edge AI algorithms for best performance and accuracy, along with the community feedbacks, we keeps updating and optimizing the algorithms to meet the actual needs of users, here are some of the latest updates:

๐Ÿ”ฅ YOLO-World, MobileNetV4 and lighter SSCMA (Comming Soon)

We are working on the latest YOLO-World, MobileNetV4 algorithms for embedded devices, we are also refactoring the SSCMA with less dependencies to make it more lightweight and easier to use, please stay tuned for the latest updates.

YOLOv8, YOLOv8 Pose, Nvidia Tao Models and ByteTrack

With SSCMA-Micro, now you can deploy the latest YOLOv8, YOLOv8 Pose, Nvidia TAO Models on microcontrollers. we also added the ByteTrack algorithm to enable real-time object tracking on low-cost hardwares.

Swift YOLO

We implemented a lightweight object detection algorithm called Swift YOLO, which is designed to run on low-cost hardware with limited computing power. The visualization tool, model training and export command-line interface has refactored now.

Meter Recognition

Meter is a common instrument in our daily life and industrial production, such as analog meters, digital meters, etc. SSCMA provides meter recognition algorithms that can be used to identify the readings of various meters.

Benchmarks

SSCMA aims to provide the best performance and accuracy for embedded devices, here are some benchmarks for the latest algorithms:

*Note: The bechmark mainly includes 2 architectures, each architecture has 3 models with different sizes (inputs [192, 224, 320], parameters may various), represented by the size of the point in the graph. Quanitizied models are also included in the benchmark, all latency is measured on NVIDIA A100.

The SSCMA Toolchains

SSCMA provides a complete toolchain for users to easily deploy AI models on low-cost hardwares, including:

  • SSCMA-Model-Zoo SSCMA Model Zoo provide a series of pre-trained models for different application scenarios for you to use.
  • SSCMA-Micro A cross-platform framework that deploys and applies SSCMA models to microcontrol devices.
  • Seeed-Arduino-SSCMA Arduino library for devices supporting the SSCMA-Micro firmware.
  • SSCMA-Web-Toolkit A web-based tool that updates the device's firmware, SSCMA model, and parameters.
  • Python-SSCMA A Python library for interacting with microcontrollers using SSCMA-Micro, and for higher-level deep learning applications.

Acknowledgement

SSCMA is a united effort of many developers and contributors, we would like to thank the following projects and organizations for their contributions which SSCMA referenced to implement:

License

This project is released under the Apache 2.0 license.