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 | 中文

New MaixPy (v4) and new hardware platform MaixCAM is coming now(2024.4)!
If you have any suggestions, tell us on MaixHub, or Telegram/MaixPy or QQ group: 862340358.

Click the Star in the upper right corner to let us know you like it to encourage us to add more features.

Introduction

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())
dis = 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)
    dis.show(img)

Result video:

Classifier Result video

Simply use 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))

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

MaixVision

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

MaixHub

Features

Python programing, MaixVision Workstation, AI vision, video streaming, voice recognize, peripheral usage etc.

Details and videos visit official site: wiki.sipeed.com/maixpy/

Hardware platform MaixCAM

And we provide new powerful hardware platform MaixCAM:

MaixCAM

CPU NPU Memory
- 1GHz RISC-V(Linux)/ARM A53
- 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

Chip register level open, more detalils: MaixCAM

  • Big core can choose one of RISC-V and ARM A53.
  • Maix-I K210 series is outdated, MaixPy v4 not support it, use it please visit MaixPy-v1

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.7.8-py3-none-any.whl (13.6 MB view details)

Uploaded Python 3

MaixPy-4.7.8-cp312-cp312-manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.12

MaixPy-4.7.8-cp311-cp311-manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.11

MaixPy-4.7.8-cp310-cp310-manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.10

MaixPy-4.7.8-cp39-cp39-manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.9

MaixPy-4.7.8-cp38-cp38-manylinux2014_x86_64.whl (3.3 MB view details)

Uploaded CPython 3.8

File details

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

File metadata

  • Download URL: MaixPy-4.7.8-py3-none-any.whl
  • Upload date:
  • Size: 13.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for MaixPy-4.7.8-py3-none-any.whl
Algorithm Hash digest
SHA256 57bd2e4d24e88f17cb8f6e8235fd42894d061e7fc48eae06dc8af71481705930
MD5 570b956ea9a988e02c558a55e79f6e26
BLAKE2b-256 ae2dddd9e9afef229fdc1b3133a6b5ea4a1a491ad3d3ab9ba95d422c33a159d7

See more details on using hashes here.

File details

Details for the file MaixPy-4.7.8-cp312-cp312-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for MaixPy-4.7.8-cp312-cp312-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bfe0e6d76c5a80004450eb400fb09b87a2e75e97385038ecb35c72578e4f78ab
MD5 9992234731cd19ba61bbb1d94d515fd5
BLAKE2b-256 7560c07b22a6b15a64b085022d6b8aefa1910625cfd1883995627bbf6af6716d

See more details on using hashes here.

File details

Details for the file MaixPy-4.7.8-cp311-cp311-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for MaixPy-4.7.8-cp311-cp311-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e0118835e3c5043355a957f2019d34a052a0a485ee7245ddac9751af6a2ebac
MD5 60e09fa4767d42e83859d1e6ce2d213e
BLAKE2b-256 45ee3634340b8fcb70465e2e7ef13da6d83178108dbc25030e10e81bd0f50ed0

See more details on using hashes here.

File details

Details for the file MaixPy-4.7.8-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for MaixPy-4.7.8-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 11d31141a1c24cd3d23e3cc3870eed1284ec72297a47073e7cd0935f4c77be53
MD5 6b79912831786b75af7dbd6555870bf3
BLAKE2b-256 13c507f36cd986a7be5e768637031f48ec012734131a240c901245a15bd59ca5

See more details on using hashes here.

File details

Details for the file MaixPy-4.7.8-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for MaixPy-4.7.8-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2e2ba2bb6bcb9c7219a2c52f5ee06fa80c2c64924eccd5aa1c7a8275887af4a7
MD5 33159bded83c3ed3f1c55c2c34b1e5ae
BLAKE2b-256 e2b8837c351bc9ddb51432f1b08d48d8626251763caa72d0944f85a647d968e1

See more details on using hashes here.

File details

Details for the file MaixPy-4.7.8-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for MaixPy-4.7.8-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd5b0c7fb12878ab8e6cee279746f51fee5225a8ed097a5c2998df4259fb93ff
MD5 ddb16200530127eda0e8540b86e506ed
BLAKE2b-256 58d73915537f5ee801ecdf8df9cda3a2502784f899490edc123b66a827021636

See more details on using hashes here.

Supported by

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