1 Star 2 Fork 4

陈大其丶/ext-XEduHub

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

XEduHub

XEduHub作为一个深度学习工具库,集成了许多深度学习领域优质的SOTA模型,本仓库为XEduHub的Mind+图形化用户库。

机器学习图像分类案例之手势识别

1、流程

  • 1、使用浦育的在线可视化工具训练模型得到模型文件
  • 2、使用浦育的在线算力将上一步得到的模型文件转换为.onnx格式的通用模型
  • 3、在Mind+中使用xedu-hub图形化扩展进行推理 得到结果

2、训练模型

  • 打开浦育网站,点击”AI体验“,打开”图像分类“:

https://www.openinnolab.org.cn/pjlab/aifrontlab

image-20240527161220730

  • 打开摄像头采集图像,或上传提前准备好的图片到不同分类下
  • 数据采集完成后,点击训练,训练完毕后测试效果
  • 效果测试正常后,下载模型,得到model.zip压缩包,解压得到.json和.bin模型文件

image-20240527153020180

image-20240527153103755

3、转换为通用模型

image-20240527153138202

  • 将克隆后的项目文件夹中的mode.json,model.onnx,model.weights.bin三个文件依次删除

image-20240527153318261

  • 将上一步训练模型得到的model.zip解压得到的model.json和model.weights.bin两个文件上传到平台目录中

image-20240527153252779

  • 双击main.ipynb,然后点击“连接”按钮,选择“CPU版“,等待启动完成

image-20240527153406255

  • 显示”服务已连接“时,点击“运行所有”按钮,程序就会将刚才上传的模型文件转换为onnx

image-20240527153456777

  • 等待几分钟运行结束提示已经转换为onnx模型,回到项目文件列表,点击刷新列表按钮,即可得到转换后的model.onnx文件,点击下载按钮将文件下载到电脑上。

image-20240527153609153

4、在Mind+ 行空板上进行推理

4.1、在行空板上安装xedu库

注:此步骤是将xedu的python库装到行空板上,不是装电脑上,因此需要在所有行空板上执行一次且只需要一次即可,跟使用的电脑没有关系。

  • 联网。由于代码在行空板上运行,因此需要在行空板上安装xedu库,因此需要让行空板先连接WiFI可以上网,行空板联网教程:https://www.unihiker.com.cn/wiki/webmenu

    image-20240527164751077

  • 打开Mind+,保证右上角Python模式,左上角为“模块”界面,点击左下角“扩展”,在“官方库”中加载”行空板“

image-20240527160859232

image-20240529202331713

  • 行空板通过USB线连接电脑,待行空板开机准备完成后,点击菜单中的“连接远程设备”,连接行空板,直到连接成功(终端后面显示“行空板”说明连接成功)

    注意:行空板开机之后需要约40秒才能连接,如果遇到连接 出现问题,查看官方文档常见问题按提示解决( https://www.unihiker.com.cn/wiki/FAQ)

image-20240529200638136

  • 切换到“代码”版块,保证当前Mind+已经连接到行空板(终端后面显示”行空板“),然后点击“库管理”,窗口左上角应该显示“行空板”,如果没有显示则回到上一步先连接行空板。

    image-20240531151907564

    image-20240531152124664

  • 在PIP模式中输入xedu-python,选择“清华大学”源,后点击运行,此时将通过网络将xedu库安装到当前连接的行空板上,等待运行结束(提示“命令运行完成”)之后返回“模块”编程界面。

    注意:

    1、需要保证此窗口左上角显示“行空板”,如果没有显示,说明上一步连接行空板未成功,此时安装则是将库安装到了电脑而非行空板。

    2、如果下方窗口显示多行Requirement alread satisfied:xxxx,说明库已经被安装了,无需安装。

    3、下方窗口以WARNING开头的一行提示是警告,不是错误,不需要管。

    4、如果下方窗口显示多行Warning: Retrying.................[Errno -3]......,说明未按照上一步正确让行空板连接WiFi,没有连接WiFi无法安装库,回到4.1操作。

    image-20240531151407404

image-20240531171833049

4.2、在Mind+中加载xedu积木用户库

注:此步骤是将xedu库的图形化积木库装到电脑上,因此只要需要用Mind+编写xedu的程序的时候就需要操作。

  • 在用户库中搜索xeduhub,加载XEduHub库,加载后返回,可以在积木区看到。

    注:

    1、用户库会保存到Mind+的项目文件(.mp)中,因此如果打开了一个含有xeduhub库的项目文件,则会自动从项目文件中加载到Mind+,无需去用户库搜索。

    2、如果弹出提示要安装依赖库,由于4.1已经安装到行空板了,因此此处点击”取消“即可。

    image-20240531155458003

image-20240527164855434

image-20240529195843379

4.3、加载模型

  • 复制onnx模型文件到项目中,此处同时复制了一张测试用的图片,方便接下来的案例演示

image-20240527160259151

4.4、编写程序运行

4.4.1、编写程序-图片推理

  • 编写 程序如下,使用xeduhub扩展,使用MMEdu模型,使用自定义模型,文件名填写上一步上传的模型文件名

  • 使用上一步上传的测试图片作为待检测图片

  • 创建一个变量,按照”训练模型”时的顺序输入标签编号对应的名称

  • 从推理结果中提取“标签”的序号,然后从列表中取出对应的值

    注:如果运行程序提示ModuleNotFoundError: No module named 'XEdu',说明xedu库未正确安装或当前未连接行空板,重复按本文4.1章节操作解决。

    image-20240531151431312

image-20240527160659897

4.4.2、编写程序-行空板屏幕显示

  • 将结果显示到行空板屏幕上的程序及效果:

image-20240527174053748

4.4.3、编写程序-摄像头实时识别

  • 使用摄像头识别的程序,注意需要先将摄像头插到行空板USB口上,并尽量保持摄像头背景不发生变化

  • 扩展中添加OpenCV扩展

  • 编写程序,打开摄像头,从摄像头中抓取图片,然后给xedu推理,最后用unihiker显示到屏幕上

image-20240527180703114

5、常见问题

5.1、运行程序时提示ModuleNotFoundError: No module named 'XEdu'怎么办?

解决方法:说明当前连接的行空板上xedu库未正确安装或当前未连接行空板,回到本文4.1章节操作解决。

image-20240531151431312

5.2、安装库时提示Warning: Retrying.................[Errno -3]......怎么办?

解决方法:说明行空板未连接WiFi,没有连接WiFi无法安装库,回到本文4.1章节操作。

image-20240531151407404

5.3、安装库时提示Requirement alread satisfied:xxxx怎么办?

解决方法:说明当前库已经被安装了,无需重新安装,关闭窗口即可。

image-20240531160149806

5.4、安装库时提示WARNING:You are using pip version....怎么办?

解决方法:WARNING开头的提示语都是警告,不是报错,不用管。

image-20240531160149806

5.5、安装库时提示ReadTimeoutError:HTTPSConnectionPool...Read timed out.怎么办?

解决方法:网络连接不通畅,可以切换此窗口右上角源后再次尝试。

image-20240531171927383

5.6 在行空板上使用关键点识别出现 【段错误(Segmentation fault)】怎么办?

解决方法:由于行空板上的python3.7版本安装依赖不同,回到本文4.1章节操作,安装指定版本依赖。

  • pip install onnx==1.13.0
  • pip install onnxruntime==1.13.1

image_20240722164414

6、其他出错怎么办?

  • Python中,如果出错,则会在“终端”中打印信息,因此,排查错误主要依耐“终端”输出的信息
  • 可以将出错信息复制关键词 ,在行空板官方文档中搜索查找是否有对应解决方案:行空板官方文档
  • 可以将“自动生成”的代码和“终端”输出的信息,发给各种大语言模型分析问题,例如chatGPT、文心一言、讯飞星火等
  • 加入行空板官方群查找解决办法

Python模式

积木

示例一

  • 图片推理

示例二

  • 摄像头视频流推理

示例三——图像分类手势识别

支持列表

主板型号 实时模式 ArduinoC MicroPython Python 备注
UNO
Micro:Bit
mpython
Nano
Leonardo
Mega2560
firebeetleesp32
telloesp32
行空板
PC

其他

测试所用的依耐库版本

需要在库管理中先安装以下Python库(如果使用行空板,则需要先让行空板联网,然后Mind+连接行空板,再安装以下Python库),再加载图形化用户库。

"xedu-python": "0.1.6",
"rapidocr_onnxruntime": "1.3.7",
"joblib":"1.4.2",
"scikit-learn":"1.3.2"

更新日志

V0.0.1 基础功能完成

V0.0.2 增加异常抛出问题

V0.0.3 调整积木逻辑

V0.0.4 调整积木逻辑,优化输入框,补足所有模型

V0.0.5 拆分初始化积木

V0.0.6 去除默认输出图片,调整原始输出积木,增加保存图片积木

V0.0.7 增加原始输出积木取值积木

V0.0.8 推理完成中增加wf对象判断生成代码

V0.0.9 调整初始化代码生成位置

V0.1.0 去除config中的依耐库,需要手动加载

Copyright (c) DFRobot Corporation All rights reserved. MIT License Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

XEduHub作为一个深度学习工具库,集成了许多深度学习领域优质的SOTA模型 展开 收起
TypeScript
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/chenqi1233/ext-xedu-hub.git
git@gitee.com:chenqi1233/ext-xedu-hub.git
chenqi1233
ext-xedu-hub
ext-XEduHub
master

搜索帮助