Skip to content

Commit

Permalink
optimize docs
Browse files Browse the repository at this point in the history
  • Loading branch information
Neutree committed Jan 13, 2025
1 parent d29fc1e commit d3ee83a
Show file tree
Hide file tree
Showing 16 changed files with 88 additions and 59 deletions.
47 changes: 25 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,20 @@ English | [中文](./README_ZH.md)

</div>

![MaixCAM](https://wiki.sipeed.com/maixpy/static/image/maixcams.png)

> New MaixPy (v4) and new hardware platform MaixCAM is coming now!<br>
> If you have any suggestions, tell us on [MaixHub](https://maixhub.com/discussion/100073), or [Telegram/MaixPy](https://t.me/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.

## Feature Overview

## Introduction
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.

For more features and video demonstrations, please visit the **official website: [wiki.sipeed.com/maixpy/](https://wiki.sipeed.com/maixpy/)**

> If you like this project, please click **Star** on the top right of the [MaixPy Project](https://github.com/sipeed/maixpy) 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**:

Expand All @@ -55,13 +61,12 @@ while 1:
disp.show(img)
```

Result video:
Result:
![](https://wiki.sipeed.com/maixpy/static/video/classifier.gif)

<video playsinline controls autoplay loop muted preload src="https://github.com/sipeed/MaixPy/assets/8625829/d06e4f0e-31af-4679-b3bc-1f93cd633af0" type="video/mp4">
Classifier Result video
</video>
## Edge(embeded) friendly

Simply use **peripheral** like serial port:
Simply use hardware **peripheral** like serial port:

```python
from maix import uart
Expand All @@ -73,39 +78,35 @@ serial.write_str("hello world")
print("received:", serial.read(timeout = 2000))
```

## MaixVision workstation

We also provide a handy **[MaixVision](https://wiki.sipeed.com/en/maixvision)** workstation software to make development easier and faster:

<video playsinline controls muted preload src="https://github.com/sipeed/MaixPy/assets/8625829/1168a282-d7c2-45bc-9ffb-c00de1ca24f5" type="video/mp4">
MaixVision
</video>

And online AI train platform **[MaixHub](https://maixhub.com)**, one click to train AI model and deploy to MaixCAM even you have no AI knowledge and expensive training equipment.

![MaixHub](https://wiki.sipeed.com/maixpy/static/image/maixhub.jpg)
## MaixHub online platform

## Features
**[MaixHub](https://maixhub.com)** 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.

Python programing, MaixVision Workstation, AI vision, video streaming, voice recognize, peripheral usage etc.
![MaixHub](https://wiki.sipeed.com/maixpy/static/image/maixhub.jpg)

**Details and videos** visit official site: [wiki.sipeed.com/maixpy/](https://wiki.sipeed.com/maixpy/)

## Hardware platform MaixCAM

And we provide new powerful hardware platform **[MaixCAM](https://wiki.sipeed.com/maixcam)** and **[MaixCAM-Pro](https://wiki.sipeed.com/maixcam-pro)**:
And we provide two powerful hardware platform **[MaixCAM](https://wiki.sipeed.com/maixcam)** and **[MaixCAM-Pro](https://wiki.sipeed.com/maixcam-pro)**, with datasheet register level open.

![MaixCAM](https://wiki.sipeed.com/maixpy/static/image/maixcam_pro.png)
![MaixCAM](https://wiki.sipeed.com/maixpy/static/image/maixcams.png)

| CPU | NPU | Memory |
| --- | --- | ------- |
| - 1GHz RISC-V(Linux)/ARM A53<br>- 700MHz RISCV-V(RTOS)<br>- 25~300MHz 8051(LowPower) | 1Tops@INT8 NPU, support BF16<br>support YOLOv5 YOLOv8 etc.| 256MB DDR3 |
| - 1GHz RISC-V(Linux)<br>- 700MHz RISCV-V(RTOS)<br>- 25~300MHz 8051(LowPower) | 1Tops@INT8 NPU, support BF16<br>support YOLOv5 YOLOv8 etc.| 256MB DDR3 |

| Connecting | Peripheral | MultiMedia | Buy |
| ----------- | ----- | --- | ---- |
| USB2.0/WiFi6/BLE5.4 | IIC/PWM/SPI/UART/WDT/ADC | - 4M Camera<br>- 2.3" 552x368 Touchscreen<br>- H.264/H.265/MJPEG codec | [Sipeed Official Store](https://wiki.sipeed.com/store) |

Chip register level open, more detalils: [MaixCAM-Pro](https://wiki.sipeed.com/maixcam-pro) or [MaixCAM](https://wiki.sipeed.com/maixcam)
> * **Maix-I K210** series is outdated, MaixPy v4 not support it, use it please visit **[MaixPy-v1](https://github.com/sipeed/maixpy-v1)**

## Who are using MaixPy?

Expand Down Expand Up @@ -186,9 +187,11 @@ All files in this repository are under the terms of the [Apache License 2.0 Sipe
## Community

* Project sharing: [maixhub.com/share](https://maixhub.com/share)
* App sharing: [maixhub.com/app](https://maixhub.com/app)
* Discussion: [maixhub.com/discussion](https://maixhub.com/discussion)
* QQ group: 862340358
* Telegram: [t.me/maixpy](https://t.me/maixpy)
* Github issues: [github.com/sipeed/maixpy/issues](https://github.com/sipeed/maixpy/issues)



61 changes: 32 additions & 29 deletions README_ZH.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ MaixPy (v4)
<a href="https://wiki.sipeed.com/maixpy/doc/index.html"> 快速开始 </a> |
<a href="https://wiki.sipeed.com/maixpy/index.html"> 文档 </a> |
<a href="https://wiki.sipeed.com/maixpy/api/index.html"> API </a> |
<a href="https://wiki.sipeed.com/maixcam"> 硬件 </a>
<a href="https://wiki.sipeed.com/maixcam-pro"> 硬件 </a>
</h3>

[![GitHub Repo stars](https://img.shields.io/github/stars/sipeed/MaixPy?style=social)](https://github.com/sipeed/MaixPy/stargazers)
Expand All @@ -29,13 +29,20 @@ MaixPy (v4)
</div>


![MaixCAM](https://wiki.sipeed.com/maixpy/static/image/maixcams.png)

> 新的 MaixPy (v4) 和新的硬件平台 MaixCAM 来了!<br>
> 如果你有任何建议,请在 [MaixHub](https://maixhub.com/discussion/100073) 上告诉我们,或者 [Telegram/MaixPy](https://t.me/maixpy) 或 QQ 群: 862340358。
>
> 点击右上角的 **Star** 让我们知道你喜欢它,以鼓励我们开发更多功能。

## 介绍
## 特性简介

MaixPy 提供简易的 Python 编程和性能强大的边缘计算硬件,内置了大量易用的 硬件外设操作、视频串流、AI 视觉算法、听觉算法,开箱即用,帮助你快速落地你的智能化项目。

并且提供 MaixVision IDE, MaixHub 云端训练平台,详细的文档,甚至有相同 API 的 C/C++ SDK,帮助你无障碍开发和量产落地。

更多特性和视频展示请访问**官网: [wiki.sipeed.com/maixpy/](https://wiki.sipeed.com/maixpy/)**

> 喜欢请点击 [MaixPy 项目](https://github.com/sipeed/maixpy)右上角 **Star** 鼓励我们开发更多有趣内容!
## 简洁高效的代码(API)设计

使用 MaixPy 轻松创建 **AI 视觉项目**,只需 **10 行代码**:

Expand All @@ -55,13 +62,12 @@ while 1:
disp.show(img)
```

效果视频:
效果:
![](https://wiki.sipeed.com/maixpy/static/video/classifier.gif)

<video playsinline controls autoplay loop muted preload src="https://github.com/sipeed/MaixPy/assets/8625829/d06e4f0e-31af-4679-b3bc-1f93cd633af0" type="video/mp4">
Classifier Result video
</video>
## 边缘计算设备(嵌入式)友好

建议的代码使用串口等 **外设**
运行在边缘计算设备,不光有视觉相关,常用的外设也不在话下,比如使用串口

```python
from maix import uart
Expand All @@ -73,39 +79,34 @@ serial.write_str("hello world")
print("received:", serial.read(timeout = 2000))
```

我们还提供了便捷的 **[MaixVision](https://wiki.sipeed.com/maixvision)** 工作站,让开发更简单快速:
## MaixVision 工作站

提供便捷的 **[MaixVision](https://wiki.sipeed.com/maixvision)** 工作站(IDE),让开发更简单快速:

<video playsinline controls muted preload src="https://github.com/sipeed/MaixPy/assets/8625829/1168a282-d7c2-45bc-9ffb-c00de1ca24f5" type="video/mp4">
MaixVision
</video>

以及在线 AI 训练平台 **[MaixHub](https://maixhub.com)**, 无需 AI 基础和昂贵的训练设备,一键训练模型,一键部署到 MaixCAM。

![MaixHub](https://wiki.sipeed.com/maixpy/static/image/maixhub.jpg)

## 功能特点

Python 编程, MaixVision 工作站, AI 视觉, 视频串流, 语音识别, 外设使用 等。
## MaixHub 在线平台

**细节和视频展示** 请访问官网: [wiki.sipeed.com/maixpy/](https://wiki.sipeed.com/maixpy/)
**[MaixHub](https://maixhub.com)** 提供免费在线 AI 训练, 无需 AI 基础和昂贵的训练设备,一键训练模型,一键部署。

![MaixHub](https://wiki.sipeed.com/maixpy/static/image/maixhub.jpg)

## 硬件平台 MaixCAM
## 性能强劲的硬件平台

提供性能强劲的硬件平台 **[MaixCAM](https://wiki.sipeed.com/maixcam)****[MaixCAM-Pro](https://wiki.sipeed.com/maixcam-pro)**:
目前支持两款硬件平台, 芯片寄存器级别开放,详细请看 **[MaixCAM](https://wiki.sipeed.com/maixcam)****[MaixCAM-Pro](https://wiki.sipeed.com/maixcam-pro)**:

![MaixCAM](https://wiki.sipeed.com/maixpy/static/image/maixcam-pro.png)
![MaixCAM](https://wiki.sipeed.com/maixpy/static/image/maixcams.png)

| CPU | NPU | Memory |
| --- | --- | ------- |
| - 1GHz RISC-V(Linux)/ARM A53<br>- 700MHz RISCV-V(RTOS)<br>- 25~300MHz 8051(LowPower) | 1Tops@INT8 NPU, support BF16<br>support YOLOv5 YOLOv8 etc.| 256MB DDR3 |
| - 1GHz RISC-V(Linux)<br>- 700MHz RISCV-V(RTOS)<br>- 25~300MHz 8051(LowPower) | 1Tops@INT8 NPU, support BF16<br>support YOLOv5 YOLOv8 etc.| 256MB DDR3 |

| Connecting | Peripheral | MultiMedia | Price |
| ----------- | ----- | --- | ---- |
| USB2.0/WiFi6/BLE5.4 | IIC/PWM/SPI/UART/WDT/ADC | - 4M Camera<br>- 2.3" 552x368 Touchscreen<br>- H.264/H.265/MJPEG codec | [¥169/¥249](https://wiki.sipeed.com/store) |
| 连接 | 外设 | 多媒体 | 购买 |
| ----------- | ----- | --- | --- |
| USB2.0/WiFi6/BLE5.4 | IIC/PWM/SPI/UART/WDT/ADC | - 4M Camera<br>- 2.3" 552x368 Touchscreen<br>- H.264/H.265/MJPEG codec | [Sipeed 官方店铺](https://wiki.sipeed.com/store) |

芯片寄存器级别开放,详情看 [MaixCAM-Pro](https://wiki.sipeed.com/maixcam-pro)[MaixCAM](https://wiki.sipeed.com/maixcam)
> * **Maix-I K210** 已过时,MaixPy v4 不支持它, 仍要使用请访问 **[MaixPy-v1](https://github.com/sipeed/maixpy-v1)**


## 谁在用 MaixPy?
Expand Down Expand Up @@ -188,9 +189,11 @@ MaixPy 不仅仅是一个 Python SDK,还有一个完整的生态系统,包
## 社区

* 项目分享: [maixhub.com/share](https://maixhub.com/share)
* 应用分享: [maixhub.com/app](https://maixhub.com/app)
* 讨论: [maixhub.com/discussion](https://maixhub.com/discussion)
* QQ 群: 862340358
* Telegram: [t.me/maixpy](https://t.me/maixpy)
* Github issues: [github.com/sipeed/maixpy/issues](https://github.com/sipeed/maixpy/issues)



Expand Down
Binary file added docs/doc/assets/mobilenet_top.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/doc/assets/yolov8_out.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/doc/assets/yolov8_out1.jpg
Binary file not shown.
Binary file removed docs/doc/assets/yolov8_out2.jpg
Binary file not shown.
7 changes: 7 additions & 0 deletions docs/doc/en/ai_model_converter/maixcam.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,13 @@ For example, in `YOLOv5`:

There are three `conv` layers, with subsequent calculations handled by the CPU. For quantization, use the outputs of these `conv` layers as the final outputs of the model. The output names in this case are `/model.24/m.0/Conv_output_0,/model.24/m.1/Conv_output_0,/model.24/m.2/Conv_output_0`.

YOLO11/YOLOv8: Please refer to [Offline Training YOLO11/YOLOv8](../vision/customize_model_yolov8.md).

For classification models, it is generally sufficient to take the name of the last output layer. However, if there is a `softmax` layer, it is recommended not to include `softmax` in the model. Instead, take the output of the layer before `softmax`. In the diagram below, there is no `softmax` layer, so the final layer can be used directly.

![](../../assets/mobilenet_top.png)


## Setting Up the Model Conversion Environment

The model conversion uses Sophgo's [https://github.com/sophgo/tpu-mlir](https://github.com/sophgo/tpu-mlir). We will install it in a Docker environment to avoid compatibility issues with the host machine.
Expand Down
4 changes: 2 additions & 2 deletions docs/doc/en/sidebar.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -83,14 +83,14 @@ items:
label: Detect with angle(OBB)
- file: vision/hand_landmarks.md
label: Hand landmarks
- file: vision/body_pose_classification.md
label: Human pose classifier
- file: vision/maixhub_train.md
label: MaixHub online AI training
- file: vision/customize_model_yolov5.md
label: YOLOv5 model offline training
- file: vision/customize_model_yolov8.md
label: YOLO11/v8 model offline training
- file: vision/body_pose_classification.md
label: YOLO11 pose model based classifier
- file: ai_model_converter/maixcam.md
label: ONNX model to MaixCAM's
- file: pro/datasets.md
Expand Down
9 changes: 8 additions & 1 deletion docs/doc/en/vision/customize_model_yolov8.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,15 @@ Pay attention to the selection of the model output nodes (note that the numerica
* Image segmentation:
* YOLOv8-seg extracts `/model.22/dfl/conv/Conv_output_0,/model.22/Sigmoid_output_0,/model.22/Concat_output_0,output1`.
* YOLO11-seg extracts `/model.23/dfl/conv/Conv_output_0,/model.23/Sigmoid_output_0,/model.23/Concat_output_0,output1`.
* OBB Detection:
* YOLOv8 extracts`/model.22/dfl/conv/Conv_output_0,/model.22/Sigmoid_1_output_0,/model.22/Sigmoid_output_0`as outputs.
* YOLO11 extracts`/model.23/dfl/conv/Conv_output_0,/model.23/Sigmoid_1_output_0,/model.23/Sigmoid_output_0`as outputs.

![](../../assets/yolov8_out1.jpg) ![](../../assets/yolov8_out2.jpg)
YOLOv8/YOLO11 output nodes:
![](../../assets/yolov8_out.jpg)

YOLOv8/YOLO11 OBB output nodes:
[](../../assets/yolo11_out_obb.jpg)

For object detection, the MUD file would be as follows (replace `yolo11` for YOLO11):

Expand Down
5 changes: 5 additions & 0 deletions docs/doc/zh/ai_model_converter/maixcam.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,11 @@ labels = person, bicycle, car, motorcycle, airplane, bus, train, truck, boat, tr

可以看到这里有三个`conv`,后面的计算均由 CPU 进行,我们量化时就采取这几个`conv`的输出作为模型的最后输出,在这里输出名分别叫`/model.24/m.0/Conv_output_0,/model.24/m.1/Conv_output_0,/model.24/m.2/Conv_output_0`

YOLO11/YOLOv8 请看[离线训练 YOLO11/YOLOv8](../vision/customize_model_yolov8.md).

分类模型一般来说取最后一个输出名称就行,不过如果有`osftmax`的话,建议不把`softmax`包含在模型里面,即取`softmax`前一层的输出名,下图是没有`softmax`层的所以直接取最后一层即可。
![](../../assets/mobilenet_top.png)


## 安装模型转换环境

Expand Down
4 changes: 2 additions & 2 deletions docs/doc/zh/sidebar.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -83,14 +83,14 @@ items:
label: 带旋转角度的检测(OBB)
- file: vision/hand_landmarks.md
label: 手部关键点检测
- file: vision/body_pose_classification.md
label: 人体姿态分类器
- file: vision/maixhub_train.md
label: MaixHub 在线训练 AI 模型
- file: vision/customize_model_yolov5.md
label: 离线训练 YOLOv5 模型
- file: vision/customize_model_yolov8.md
label: 离线训练 YOLO11/YOLOv8 模型
- file: vision/body_pose_classification.md
label: 基于 YOLO11 pose 模型的人体姿态分类器
- file: ai_model_converter/maixcam.md
label: ONNX 模型转给 MaixCAM 用
- file: pro/datasets.md
Expand Down
6 changes: 5 additions & 1 deletion docs/doc/zh/vision/customize_model_yolov8.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,11 @@ MaixPy/MaixCDK 目前支持了 YOLOv8 / YOLO11 检测 以及 YOLOv8-pose / YOLO1
* YOLOv8 提取`/model.22/dfl/conv/Conv_output_0,/model.22/Sigmoid_1_output_0,/model.22/Sigmoid_output_0`这三个输出。
* YOLO11 提取`/model.23/dfl/conv/Conv_output_0,/model.23/Sigmoid_1_output_0,/model.23/Sigmoid_output_0`这三个输出。

![](../../assets/yolov8_out1.jpg) ![](../../assets/yolov8_out2.jpg) ![](../../assets/yolo11_out_obb.jpg)
YOLOv8/YOLO11 输出节点:
![](../../assets/yolov8_out.jpg)

YOLOv8/YOLO11 OBB 输出节点:
![](../../assets/yolo11_out_obb.jpg)

对于物体检测,mud 文件为(YOLO11 model_type 改为 yolo11)
```ini
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/index/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ h1 {

<div class="mt-16"></div>

<img class="text-center" src="/static/image/maixcam_pro.png">
<img class="text-center" src="/static/image/maixcams.png">

<div class="mt-6"></div>

Expand Down
2 changes: 1 addition & 1 deletion docs/pages/index_en/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ English | [中文](../)

<div class="mt-16"></div>

<img class="text-center" src="/static/image/maixcam_pro.png">
<img class="text-center" src="/static/image/maixcams.png">

<div class="mt-6"></div>

Expand Down
Binary file added docs/static/image/maixcams.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/static/video/classifier.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit d3ee83a

Please sign in to comment.