Skip to main content

Sipeed Maix Vision Python SDK

Project description

MaixPy (v4)

Let's Sipeed up, Maximize AI's power!

MaixPy (v4): Easily create AI projects with Python on edge device

Quick Start | Documentation | API | Hardware

GitHub Repo stars Apache 2.0 PyPI PyPI - Downloads GitHub repo size Build MaixCAM Trigger wiki

English | 中文

MaixCAM

Feature Overview

MaixPy offers simple Python programming combined with powerful edge computing hardware. Integrated hardware peripheral operations, video streaming, AI vision algorithms, and audio algorithms etc. With its plug-and-play design, MaixPy enables you to quickly implement your intelligent projects.

Additionally, MaixPy provides the MaixVision IDE, MaixHub online training platform, detailed documentation, and even a C/C++ SDK with identical APIs, ensuring seamless development and production deployment.

Here is a partial video demonstration of the features. For more documentation, please visit the official website: wiki.sipeed.com/maixpy/

If you like this project, please click Star on the top right of the MaixPy Project to encourage us to develop more exciting content!

Concise and Efficient Code (API) Design

With MaixPy you can easily create AI vision project within 10 lines of code:

from maix import camera, display, image, nn

classifier = nn.Classifier(model="/root/models/mobilenetv2.mud")
cam = camera.Camera(classifier.input_width(), classifier.input_height(), classifier.input_format())
disp = display.Display()

while 1:
    img = cam.read()
    res = classifier.classify(img)
    max_idx, max_prob = res[0]
    msg = f"{max_prob:5.2f}: {classifier.labels[max_idx]}"
    img.draw_string(10, 10, msg, image.COLOR_RED)
    disp.show(img)

Result:

Edge(embeded) friendly

Simply use hardware peripheral like serial port:

from maix import uart

devices = uart.list_devices()

serial = uart.UART(devices[0], 115200)
serial.write_str("hello world")
print("received:", serial.read(timeout = 2000))

MaixVision workstation

We also provide a handy MaixVision workstation software to make development easier and faster:

MaixVision

MaixHub online platform

MaixHub provide free online AI train service, one click to train AI model and deploy to MaixCAM even you have no AI knowledge and expensive training equipment.

MaixHub

Hardware platform MaixCAM

And we provide two powerful hardware platform MaixCAM and MaixCAM-Pro, with datasheet register level open.

MaixCAM

CPU NPU Memory
- 1GHz RISC-V(Linux)
- 700MHz RISCV-V(RTOS)
- 25~300MHz 8051(LowPower)
1Tops@INT8 NPU, support BF16
support YOLOv5 YOLOv8 etc.
256MB DDR3
Connecting Peripheral MultiMedia Buy
USB2.0/WiFi6/BLE5.4 IIC/PWM/SPI/UART/WDT/ADC - 4M Camera
- 2.3" 552x368 Touchscreen
- H.264/H.265/MJPEG codec
Sipeed Official Store

Who are using MaixPy?

  • AI Algorithm Engineer who want to deploy your AI model to embedded devices.

MaixPy provide easy-to-use API to access NPU, and docs to help you develop your AI model.

  • STEM teacher who wants to teach AI and embedded devices to students.

MaixPy provide easy-to-use API, PC tools, online AI train service ... Let you focus on teaching AI, not the hardware and complicated software usage.

  • Maker who want to make some cool projects but don't want to learn complicated hardware and software.

MaixPy provide Python API, so all you need is learn basic Python syntax, and MaixPy's API is so easy to use, you can make your project even in a few minutes.

  • Engineer who want to make some projects but want a prototype as soon as possible.

MaixPy is easy to build projects, and provide corresponding C++ SDK, so you can directly use MaixPy to deploy or transfer Python code to C++ in a few minutes.

  • Students who want to learn AI, embedded development.

We provide many docs and tutorials, and lot of open source code, to help you find learning route, and grow up step by step. From simple Python programming to Vision, AI, Audio, Linux, RTOS etc.

  • Enterprise who want to develop AI vision products but have no time or engineers to develop complicated embedded system.

Use MaixPy even graphic programming to develop your products with no more employees and time. For example, add a AI QA system to your production line, or add a AI security monitor to your office as your demand.

  • Contestants who want to win the competition.

MaixPy integrate many functions and easy to use, fasten your work to win the competition in limited time. There are already many contestants win the competition with MaixPy.

Performance comparison

K210 and v831 are outdated, they have many limitations in memory, performance, NPU operators missing etc.
No matter you are using them or new comer, it's recommended to upgrade to MaixCAM and MaixPy v4.

Here's the comparison between them:

Feature Maix-I K210 Maix-II v831 MaixCAM
CPU 400MHz RISC-V x2 800MHz ARM7 1GHz RISC-V(Linux)
700MHz RISC-V(RTOS)
25~300MHz 8051(Low Power)
Memory 6MB SRAM 64MB DDR2 256MB DDR3
NPU 0.25Tops@INT8
official says 1T but...
0.25Tops@INT8 1Tops@INT8
Encoder 1080p@30fps 2K@30fps
Screen 2.4" 320x240 1.3" 240x240 2.28" 552x368 / 5" 1280x720 / 7" 1280x800 / 10“ 1280x800
TouchScreen 2.3" 552x368
Camera 30W 200W 500W
WiFi 2.4G 2.4G WiFi6 2.4G/5G
USB USB2.0 USB2.0
Eth 100M(Optional) 100M(Optional)
SD Interface SPI SDIO SDIO
BLE BLE5.4
OS RTOS Tina Linux Linux + RTOS
Language C / C++ / MicroPython C / C++ / Python3 C / C++ / Python3
Software MaixPy MaixPy3 MaixCDK + MaixPy v4 + opencv + numpy + ...
PC software MaixPy IDE MaixPy3 IDE MaixVision Workstation
Docs ⭐️⭐️⭐️⭐️ ⭐️⭐️⭐️ 🌟🌟🌟🌟🌟
Online AI train ⭐️⭐️⭐️ ⭐️⭐️⭐️⭐️ 🌟🌟🌟🌟🌟
Official APPs ⭐️⭐️ ⭐️⭐️⭐️ 🌟🌟🌟🌟🌟
AI classify(224x224) MobileNetv1 50fps
MobileNetv2 ✖
Resnet ✖
MobileNet ✖
Resnet18 20fps
Resnet50 ✖
MobileNetv2 130fps
Resnet18 62fps
Resnet50 28fps
AI detect(NPU forward part) YOLOv2(224x224) 15fps YOLOv2(224x224) 15fps YOLOv5s(224x224) 100fps
YOLOv5s(320x256) 70fps
YOLOv5s(640x640) 15fps
YOLOv8n(640x640) 23fps
YOLO11n(224x224)175fps
YOLO11n(320x224)120fps
YOLO11n(320x320)95fps
YOLO11n(640x640)23fps
Ease of use ⭐️⭐️⭐️⭐️ ⭐️⭐️⭐️ 🌟🌟🌟🌟🌟

Maix Ecosystem

MaixPy not only a Python SDK, but have a whole ecosystem, including hardware, software, tools, docs, even cloud platform etc. See the picture below:

What difference between MaixPy v1, MaixPy3 and MaixPy v4?

  • MaixPy v1 use MicroPython programming language, only support Sipeed Maix-I K210 series hardware, have limited third-party packages.
  • MaixPy3 is designed for Sipeed Maix-II-Dock v831, not a long-term support version.
  • MaixPy v4 use Python programming language, so there's much package we can use directly. MaixPy v4 support new hardware platforms of Sipeed, it's a long-term support version, the future's hardware platforms will support this version. MaixPy v4 have a MaixPy-v1 compatible API, so you can quickly migrate your MaixPy v1 project to MaixPy v4.

(MaixPy v4 Will not support Maix-I K210 series, if you are using Maix-I K210 series, it's recommended to upgrade hardware platform to use this to get more features and better performance.)

Compile Source Code

If you want to compile MaixPy firmware from source code, refer to Build MaixPy source code page.

License

All files in this repository are under the terms of the Apache License 2.0 Sipeed Ltd. except the third-party libraries or have their own license.

Community

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

maixpy-4.10.3-cp312-cp312-manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.12

maixpy-4.10.3-cp311-cp311-manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.11

maixpy-4.10.3-cp310-cp310-manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.10

maixpy-4.10.3-cp39-cp39-manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.9

maixpy-4.10.3-cp38-cp38-manylinux2014_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.8

MaixPy-4.10.3-py3-none-any.whl (31.4 MB view details)

Uploaded Python 3

File details

Details for the file maixpy-4.10.3-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for maixpy-4.10.3-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d4d2beef950971dbf10831beefd9cdf05cc32ff01f0000f2baa85fade769de1c
MD5 65224bded001fe00fb45425303e5554e
BLAKE2b-256 0f00f0942204837a0b31584e2bcb804ba9c5298551191f407ac6788d58d49ffd

See more details on using hashes here.

File details

Details for the file maixpy-4.10.3-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for maixpy-4.10.3-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef1ab4ab430d7c2774e3c5c0334c9811bd7cd075f5d55563641af11ef4d79500
MD5 7e50d6d06b3420ddfd35a337d7f862cf
BLAKE2b-256 f48f2078365ad6b8318c57bb9c295b48b6f987bab9b943424e3966bfc5f58d33

See more details on using hashes here.

File details

Details for the file maixpy-4.10.3-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for maixpy-4.10.3-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f85ccc401b4c922ff892cc6c62772ad9d9e54e18e1ba0086e2829b5ac364ddf4
MD5 b846d1e3baa45209005d290d2b81c83c
BLAKE2b-256 c525e6d97661bcb50cdf347dcfc10824287819300a686a0155b005821483893f

See more details on using hashes here.

File details

Details for the file maixpy-4.10.3-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for maixpy-4.10.3-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2bbd730054b1b45dd8f6595cafb3c90454aab0a0b9fe05bcb815509bc2944dbd
MD5 3bf58750c33713a1a9145e27bbe29f8c
BLAKE2b-256 d6ef1f654f393df896cd86feb99d0b1354a28c060758443ee6bc6e331b243725

See more details on using hashes here.

File details

Details for the file maixpy-4.10.3-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for maixpy-4.10.3-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4b586b20127982b7ac9dacc39beaa9afd2443e88fb5e1becc44a7199aa1553e8
MD5 f8b9aa34fbcb6ad31a45810b52e917fc
BLAKE2b-256 982e79ee507021c102157532ec27ec9ec2ca6c1791fbc5d5a14e01dee7b2290e

See more details on using hashes here.

File details

Details for the file MaixPy-4.10.3-py3-none-any.whl.

File metadata

  • Download URL: MaixPy-4.10.3-py3-none-any.whl
  • Upload date:
  • Size: 31.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.10.12

File hashes

Hashes for MaixPy-4.10.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ed1785e8673869a540827b9dca9b5495624c3784970125150c22153ae9e6caa5
MD5 462890fbf7c4d28378dff1edec5fc603
BLAKE2b-256 052d200259229e15c899481cf4a386d0d886aa204edcd266fa1eac3cfef3146a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page