Skip to content

Commit 9ff7329

Browse files
committed
optimize yolov8 yolo11 convert doc
1 parent b84e745 commit 9ff7329

File tree

2 files changed

+46
-119
lines changed

2 files changed

+46
-119
lines changed

docs/doc/en/vision/customize_model_yolov8.md

Lines changed: 23 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -83,70 +83,31 @@ MaixPy/MaixCDK currently supports YOLOv8 / YOLO11 detection, YOLOv8-pose / YOLO1
8383

8484
Convert the models according to [MaixCAM Model Conversion](../ai_model_converter/maixcam.md) and [MaixCAM2 Model Conversion](../ai_model_converter/maixcam2.md).
8585

86-
Note the selection of model output nodes (**Note that your model values may not be exactly the same, just find the corresponding nodes according to the pictures below**):
87-
88-
* Detection models:
89-
* YOLOv8:
90-
* `/model.22/Concat_1_output_0`
91-
* `/model.22/Concat_2_output_0`
92-
* `/model.22/Concat_3_output_0`
93-
* YOLO11:
94-
* `/model.23/Concat_output_0`
95-
* `/model.23/Concat_1_output_0`
96-
* `/model.23/Concat_2_output_0`
97-
* Keypoint detection:
98-
* YOLOv8-pose:
99-
* `/model.22/Concat_1_output_0`
100-
* `/model.22/Concat_2_output_0`
101-
* `/model.22/Concat_3_output_0`
102-
* `/model.22/Concat_output_0`
103-
* YOLO11-pose:
104-
* `/model.23/Concat_1_output_0`
105-
* `/model.23/Concat_2_output_0`
106-
* `/model.23/Concat_3_output_0`
107-
* `/model.23/Concat_output_0`
108-
* Image segmentation:
109-
* YOLOv8-seg:
110-
* `/model.22/Concat_1_output_0`
111-
* `/model.22/Concat_2_output_0`
112-
* `/model.22/Concat_3_output_0`
113-
* `/model.22/Concat_output_0`
114-
* `output1`
115-
* YOLO11-seg:
116-
* `/model.23/Concat_1_output_0`
117-
* `/model.23/Concat_2_output_0`
118-
* `/model.23/Concat_3_output_0`
119-
* `/model.23/Concat_output_0`
120-
* `output1`
121-
* OBB detection:
122-
* YOLOv8-obb:
123-
* `/model.22/Concat_1_output_0`
124-
* `/model.22/Concat_2_output_0`
125-
* `/model.22/Concat_3_output_0`
126-
* `/model.22/Concat_output_0`
127-
* YOLO11-obb:
128-
* `/model.23/Concat_1_output_0`
129-
* `/model.23/Concat_2_output_0`
130-
* `/model.23/Concat_3_output_0`
131-
* `/model.23/Concat_output_0`
132-
133-
YOLOv8/YOLO11 detection output nodes:
134-
135-
![](../../assets/yolo11_detect_nodes.png)
136-
137-
YOLOv8/YOLO11 pose extra output nodes:
138-
139-
![](../../assets/yolo11_pose_node.png)
140-
141-
YOLOv8/YOLO11 seg extra output nodes:
142-
143-
![](../../assets/yolo11_seg_node.png)
144-
145-
YOLOv8/YOLO11 OBB extra output nodes:
146-
147-
![](../../assets/yolo11_obb_node.png)
86+
### Select output nodes
14887

88+
Note the selection of model output nodes (**Note that your model values may not be exactly the same, just find the corresponding nodes according to the pictures below**):
14989

90+
For YOLO11 / YOLOv8, MaixPy support two types node select method, choose proper method according to your device:
91+
92+
| Model & Feature | Method A | Method B |
93+
| -- | --- | --- |
94+
| Supported Devices | **MaixCAM2**(Recommend)<br>MaixCAM(running speed lowe than method B) | **MaixCAM**(Recommend) |
95+
| Feature | More computation on CPU (safer quantization, slightly slower than Solution 2) | More computation on NPU (included in quantization) |
96+
| Attention | None | Quantization failed in actual tests on MaixCAM2. |
97+
| Detect YOLOv8 |`/model.22/Concat_1_output_0`<br>`/model.22/Concat_2_output_0`<br>`/model.22/Concat_3_output_0`| `/model.22/dfl/conv/Conv_output_0`<br>`/model.22/Sigmoid_output_0` |
98+
| Detect YOLO11 |`/model.23/Concat_output_0`<br>`/model.23/Concat_1_output_0`<br>`/model.23/Concat_2_output_0` | `/model.23/dfl/conv/Conv_output_0`<br>`/model.23/Sigmoid_output_0` |
99+
| Keypoint YOLOv8-pose | `/model.22/Concat_1_output_0`<br>`/model.22/Concat_2_output_0`<br>`/model.22/Concat_3_output_0`<br>`/model.22/Concat_output_0`| `/model.22/dfl/conv/Conv_output_0`<br>`/model.22/Sigmoid_output_0`<br>`/model.22/Concat_output_0` |
100+
| Keypoint YOLO11-pose | `/model.23/Concat_1_output_0`<br>`/model.23/Concat_2_output_0`<br>`/model.23/Concat_3_output_0`<br>`/model.23/Concat_output_0`| `/model.23/dfl/conv/Conv_output_0`<br>`/model.23/Sigmoid_output_0`<br>`/model.23/Concat_output_0`|
101+
| Segment YOLOv8-seg|`/model.22/Concat_1_output_0`<br>`/model.22/Concat_2_output_0`<br>`/model.22/Concat_3_output_0`<br>`/model.22/Concat_output_0`<br>`output1`| `/model.22/dfl/conv/Conv_output_0`<br>`/model.22/Sigmoid_output_0`<br>`/model.22/Concat_output_0`<br>`output1`|
102+
| Segment YOLO11-seg |`/model.23/Concat_1_output_0`<br>`/model.23/Concat_2_output_0`<br>`/model.23/Concat_3_output_0`<br>`/model.23/Concat_output_0`<br>`output1`|`/model.23/dfl/conv/Conv_output_0`<br>`/model.23/Sigmoid_output_0`<br>`/model.23/Concat_output_0`<br>`output1`|
103+
| OBB YOLOv8-obb |`/model.22/Concat_1_output_0`<br>`/model.22/Concat_2_output_0`<br>`/model.22/Concat_3_output_0`<br>`/model.22/Concat_output_0`|`/model.22/dfl/conv/Conv_output_0`<br>`/model.22/Sigmoid_1_output_0`<br>`/model.22/Sigmoid_output_0`|
104+
| OBB YOLO11-obb |`/model.23/Concat_1_output_0`<br>`/model.23/Concat_2_output_0`<br>`/model.23/Concat_3_output_0`<br>`/model.23/Concat_output_0`|`/model.23/dfl/conv/Conv_output_0`<br>`/model.23/Sigmoid_1_output_0`<br>`/model.23/Sigmoid_output_0`|
105+
|YOLOv8/YOLO11 Detect output nodes| ![](../../assets/yolo11_detect_nodes.png) | ![](../../assets/yolov8_out.jpg)|
106+
|YOLOv8/YOLO11 pose extra nodes | ![](../../assets/yolo11_pose_node.png) | pose branch in the figure above |
107+
|YOLOv8/YOLO11 seg extra nodes | ![](../../assets/yolo11_seg_node.png) | ![](../../assets/yolo11_seg_node.png)|
108+
|YOLOv8/YOLO11 OBB extra nodes | ![](../../assets/yolo11_obb_node.png) | ![](../../assets/yolo11_out_obb.jpg)|
109+
110+
### Edit mud file
150111

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

docs/doc/zh/vision/customize_model_yolov8.md

Lines changed: 23 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -86,64 +86,30 @@ MaixPy/MaixCDK 目前支持了 YOLOv8 / YOLO11 检测 以及 YOLOv8-pose / YOLO1
8686

8787
按照[MaixCAM 模型转换](../ai_model_converter/maixcam.md)[MaixCAM2 模型转换](../ai_model_converter/maixcam2.md) 进行模型转换。
8888

89+
### 输出节点选择
90+
8991
注意模型输出节点的选择(**注意可能你的模型可能数值不完全一样,看下面的图找到相同的节点即可**):
90-
* 检测模型:
91-
* YOLOv8:
92-
* `/model.22/Concat_1_output_0`
93-
* `/model.22/Concat_2_output_0`
94-
* `/model.22/Concat_3_output_0`
95-
* YOLO11:
96-
* `/model.23/Concat_output_0`
97-
* `/model.23/Concat_1_output_0`
98-
* `/model.23/Concat_2_output_0`
99-
* 关键点检测:
100-
* YOLOv8-pose:
101-
* `/model.22/Concat_1_output_0`
102-
* `/model.22/Concat_2_output_0`
103-
* `/model.22/Concat_3_output_0`
104-
* `/model.22/Concat_output_0`
105-
* YOLO11-pose:
106-
* `/model.23/Concat_1_output_0`
107-
* `/model.23/Concat_2_output_0`
108-
* `/model.23/Concat_3_output_0`
109-
* `/model.23/Concat_output_0`
110-
* 图像分割:
111-
* YOLOv8-seg:
112-
* `/model.22/Concat_1_output_0`
113-
* `/model.22/Concat_2_output_0`
114-
* `/model.22/Concat_3_output_0`
115-
* `/model.22/Concat_output_0`
116-
* `output1`
117-
* YOLO11-seg:
118-
* `/model.23/Concat_1_output_0`
119-
* `/model.23/Concat_2_output_0`
120-
* `/model.23/Concat_3_output_0`
121-
* `/model.23/Concat_output_0`
122-
* `output1`
123-
* OBB 检测:
124-
* YOLOv8-obb:
125-
* `/model.22/Concat_1_output_0`
126-
* `/model.22/Concat_2_output_0`
127-
* `/model.22/Concat_3_output_0`
128-
* `/model.22/Concat_output_0`
129-
* YOLO11-obb:
130-
* `/model.23/Concat_1_output_0`
131-
* `/model.23/Concat_2_output_0`
132-
* `/model.23/Concat_3_output_0`
133-
* `/model.23/Concat_output_0`
134-
135-
YOLOv8/YOLO11 检测输出节点:
136-
137-
![](../../assets/yolo11_detect_nodes.png)
138-
139-
YOLOv8/YOLO11 pose 额外输出节点:
140-
![](../../assets/yolo11_pose_node.png)
141-
142-
YOLOv8/YOLO11 seg 额外输出节点:
143-
![](../../assets/yolo11_seg_node.png)
144-
145-
YOLOv8/YOLO11 OBB 额外输出节点:
146-
![](../../assets/yolo11_obb_node.png)
92+
对于 YOLO11 / YOLOv8, MaixPy 支持了两种节点选择,可以根据硬件平台适当选择:
93+
94+
| 模型和特点 | 方案一 | 方案二 |
95+
| -- | --- | --- |
96+
| 适用设备 | **MaixCAM2**(推荐)<br>MaixCAM(速度比方案二慢一点点) | **MaixCAM**(推荐) |
97+
| 特点 | 将更多的计算给 CPU 后处理,量化更不容易出问题,速度略微慢于方案二 | 将更多的计算给 NPU 并且参与量化 |
98+
| 注意点 || MaixCAM2 实测量化失败 |
99+
| 检测 YOLOv8 |`/model.22/Concat_1_output_0`<br>`/model.22/Concat_2_output_0`<br>`/model.22/Concat_3_output_0`| `/model.22/dfl/conv/Conv_output_0`<br>`/model.22/Sigmoid_output_0` |
100+
| 检测 YOLO11 |`/model.23/Concat_output_0`<br>`/model.23/Concat_1_output_0`<br>`/model.23/Concat_2_output_0` | `/model.23/dfl/conv/Conv_output_0`<br>`/model.23/Sigmoid_output_0` |
101+
| 关键点 YOLOv8-pose | `/model.22/Concat_1_output_0`<br>`/model.22/Concat_2_output_0`<br>`/model.22/Concat_3_output_0`<br>`/model.22/Concat_output_0`| `/model.22/dfl/conv/Conv_output_0`<br>`/model.22/Sigmoid_output_0`<br>`/model.22/Concat_output_0` |
102+
| 关键点 YOLO11-pose | `/model.23/Concat_1_output_0`<br>`/model.23/Concat_2_output_0`<br>`/model.23/Concat_3_output_0`<br>`/model.23/Concat_output_0`| `/model.23/dfl/conv/Conv_output_0`<br>`/model.23/Sigmoid_output_0`<br>`/model.23/Concat_output_0`|
103+
| 分割 YOLOv8-seg|`/model.22/Concat_1_output_0`<br>`/model.22/Concat_2_output_0`<br>`/model.22/Concat_3_output_0`<br>`/model.22/Concat_output_0`<br>`output1`| `/model.22/dfl/conv/Conv_output_0`<br>`/model.22/Sigmoid_output_0`<br>`/model.22/Concat_output_0`<br>`output1`|
104+
| 分割 YOLO11-seg |`/model.23/Concat_1_output_0`<br>`/model.23/Concat_2_output_0`<br>`/model.23/Concat_3_output_0`<br>`/model.23/Concat_output_0`<br>`output1`|`/model.23/dfl/conv/Conv_output_0`<br>`/model.23/Sigmoid_output_0`<br>`/model.23/Concat_output_0`<br>`output1`|
105+
| 旋转框 YOLOv8-obb |`/model.22/Concat_1_output_0`<br>`/model.22/Concat_2_output_0`<br>`/model.22/Concat_3_output_0`<br>`/model.22/Concat_output_0`|`/model.22/dfl/conv/Conv_output_0`<br>`/model.22/Sigmoid_1_output_0`<br>`/model.22/Sigmoid_output_0`|
106+
| 旋转框 YOLO11-obb |`/model.23/Concat_1_output_0`<br>`/model.23/Concat_2_output_0`<br>`/model.23/Concat_3_output_0`<br>`/model.23/Concat_output_0`|`/model.23/dfl/conv/Conv_output_0`<br>`/model.23/Sigmoid_1_output_0`<br>`/model.23/Sigmoid_output_0`|
107+
|YOLOv8/YOLO11 检测输出节点图| ![](../../assets/yolo11_detect_nodes.png) | ![](../../assets/yolov8_out.jpg)|
108+
|YOLOv8/YOLO11 pose 额外输出节点 | ![](../../assets/yolo11_pose_node.png) | 见上图 pose 分支|
109+
|YOLOv8/YOLO11 seg 额外输出节点 | ![](../../assets/yolo11_seg_node.png) | ![](../../assets/yolo11_seg_node.png)|
110+
|YOLOv8/YOLO11 OBB 额外输出节点 | ![](../../assets/yolo11_obb_node.png) | ![](../../assets/yolo11_out_obb.jpg)|
111+
112+
### 修改 mud 文件
147113

148114
对于物体检测,mud 文件为(YOLO11 model_type 改为 yolo11)
149115
MaixCAM/MaixCAM-Pro:

0 commit comments

Comments
 (0)