13浏览
查看: 13|回复: 1

[ESP8266/ESP32] ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别

[复制链接]
本帖最后由 麦壳maikemaker 于 2025-5-5 20:37 编辑

其实基于浦育平台可以很方便的训练图片分类进行图像识别应用,如果你不知道怎么做就跟着我一起看一下怎么做吧
浦育平台准备
进入浦育平台https://www.openinnolab.org.cn/,还没账号的自己注册账号,已有账号登录。
顶部菜单栏点击AI体验
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图1
选择图片分类
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图2

上传或者拍照,这里我们是AIcam还无法作为电脑的摄像头所以我们使用上传照片模式
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图3

准备训练素材
使用AICAM拍照(有个原则,识别的时候照片来自哪里训练的时候就要来自哪里这样效果最好)
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图4
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图5

这里你也可以使用拍照到SD卡的例程然后把SD中的照片拷贝到电脑,但是因为AIcam没有屏幕,无法看到取景器所以SD方式并不方便
这里为了偷懒我使用了YOLOmaker工具自动生成了一部分素材,使用YOLOmaker可以把一张图片通过随机的放大缩小,亮度明暗,旋转等变成N张图片。
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图6
YOLOmaker参数:1,输出设置:宽高200*150,标签:图片内容的种类名称,数量:后面前景图的数量与这个数字相乘大于100即可 2,随机处理:自己看着勾选 3,导入前景图:导入你使用AIcam拍摄的照片,拍几张导入几张建议4张起步(4个角度拍摄) 4,导入背景图(纯白,纯黑或者你拍摄时物体的背景,比如墙面,桌面) 5, 输出文件夹:选择这个分类要报存的位置,点击开始生成几秒钟即可完成。
导入前景图之后点击前景图可以在右侧看到预览效果,点一次随机变化一次

ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图7
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图8

开始上传
修改分类标签名称,点击上传按钮

ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图9

不要使用中文类别名称
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图33ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图10ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图11ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图12

上传完成开始训练,训练需要一会,图片越多训练时间越长,根据电脑性能不同时间也不同,我这次训练了差不多要10分钟
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图13ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图14

训练完成。
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图15

点击下载onnx模型,我们去mind+里面使用
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图16
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图17


可以给模型文件重命名一下
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图18

mind+中编程测试
打开mind+进入python模式
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图19

点击扩展添加库
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图20

选择用户库,在搜索框搜索onnx
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图21

添加basedeploy,如果弹窗提示需要安装库同意即可
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图22

返回
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图23

编写测试程序
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图24

添加训练好的模型和图片
打开文件管理系统
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图25

点击更多
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图26

打开项目文件夹
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图27

把模型和测试图片粘贴到这个文件夹
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图28

修改测试程序里面的模型名称和图片名称
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图29

运行程序
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图30

测试结果
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图31

使用AI-CAM作为输入摄像头进行识别
ESP32-S3 AI CAM:基于浦育平台训练图片分类进行图像识别图32

代码
  1. # 修改后的程序
  2. import cv2
  3. import urllib.request
  4. import numpy as np
  5. import time
  6. import BaseDeploy as bd
  7. # 定义URL
  8. url = 'http://192.168.22.43:80/capture'  # ESP32-CAM的IP地址
  9. # 加载模型
  10. model = bd("emoji.onnx")
  11. # 创建一个窗口用于显示实时图像
  12. cv2.namedWindow("live transmission", cv2.WINDOW_AUTOSIZE)
  13. last_time = time.time()  # 记录上一次获取图像的时间
  14. while True:
  15.     current_time = time.time()  # 获取当前时间
  16.    
  17.     # 限制频率,2秒一次
  18.     if current_time - last_time >= 2:
  19.         # 从URL获取图像数据
  20.         img_resp = urllib.request.urlopen(url)
  21.         imgnp = np.array(bytearray(img_resp.read()), dtype=np.uint8)
  22.         img = cv2.imdecode(imgnp, -1)
  23.         # 进行模型推理
  24.         bd_result = model.inference(img)  # 注意:这里假设input为BGR格式的图像,如果模型需要其他格式(如RGB),需进行转换
  25.         # 打印推理结果
  26.         result_dict = model.print_result(bd_result)
  27.         print("预测结果:", result_dict['预测结果'])
  28.         print("标签:", result_dict['标签'])
  29.         print("置信度:", result_dict['置信度'])
  30.         # 在图像上绘制识别到的标签
  31.         label_text = f"{result_dict['预测结果']}: {result_dict['置信度']:.2f}"
  32.         cv2.putText(img, label_text, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2, cv2.LINE_AA)
  33.         # 显示图像
  34.         cv2.imshow("live transmission", img)
  35.         # 更新上一次获取图像的时间
  36.         last_time = current_time
  37.         # 按下 'q' 键退出
  38.         if cv2.waitKey(1) & 0xFF == ord('q'):
  39.             break
  40. cv2.destroyAllWindows()
复制代码

视频


TueApril-202504293853..png
MonMay-202505051211..png

麦壳maikemaker  中级技师
 楼主|

发表于 昨天 20:47

文章附件,代码和模型

CameraWebServer.zip

45.03 KB, 下载次数: 0

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail