基于大模型训练的数字识别

创作原因

现在写电赛题,题目有识别数字的要求。但使用设备openmv使用模板匹配的算法帧率很低,且识别效果不是很好,于是我们就想到了利用神经网络训练模型来识别数字

正文部分

内容介绍

本文内容是基于openmv使用Edge Impulse训练大模型。

这篇文章的介绍会很详细,从数据集的采集到数据的上传再到模型的训练以及最后的模型的导出, 都会有较为详细的介绍,适合此前没有任何模型训练经验且使用openmv的朋友进行学习

步骤一:图像采集

唤起数据采集器

打开IDE后

依次点击:工具/数据集编辑器/新数据集

在这里我选择在桌面上新建一个文件夹来存放新采集的数据集

这时在IDE左上角会出现数据集编辑器

新建数据集文件

这个时候点击左侧的新建文件夹

就是在我们的数据集中新建文件夹

我们需要根据我们的分类来创建文件夹

我需要做的是识别数字,所以我的第一个分类的文件夹名称就叫number_1

数据采集

在连接了openmv有图像显示之后

点击左边的照片图标进行拍照(也就是数据采集)

由于感觉图片光线比较暗,所以我开了一下补光灯

虽然感觉开了之后也没有什么用,但至少有点心理作用

再次回到数据采集的正题,这一个1,我们就浅浅地拍三十张照片吧

接下来就是拍照的过程,在这个过程中,需要注意的是:考虑可能出现的情况进行多角度的照片拍摄

拍照的过程比较枯燥,没有什么好说的点,埋头苦干就行了,这里跳过

步骤二:数据上传

Edge Impulse的注册

完成了图像采集之后

就需要把采集的数据集上传到EDGE IMPULSE的网站上进行在线的训练

首先登录EDGE IMPULSE的官网

www.edgeimpulse.com

如果之前没有账户,点击Login

再在登录界面选择注册

填完所有信息,点击Sign up之后,会给你发送一个邮件

点击右键给出链接,会跳转到登录界面

然后填写你的用户名和密码,点击登录

账号激活完成

通过Keys实现数据集传输

然后我新建了一个名字是number的工程

目前新建工程中并没有数据集,我们点击Keys

我们选择API Key,然后复制API KEY

注意在这里显示的API KEY可能不完整,可以通过缩放屏幕来使他显示完全

我们要拿API KEY来做什么呢?

答案是,我们要使用API KEY来实现与OpenMv IDE的联通

点击工具,依次选择:数据集编辑器/Export/Upload to Edge Impulse by API Key

选择之后跳出来一个弹窗

把复制的API KEY输入进去

然后会让你选择上传时训练集和数据集的比例

选择这个参数的意义在于,会在你上传的数据(照片中)选择你选择的训练集比例

用于训练模型,数据集比例的照片用来最后测试训练效果

这个值一般选默认的百分之八十和百分之二十就可以

注意一点,采集图片时尽量让背景简单,复杂的背景会在一定程度上影响模型训练的结果

接下来,等待上传成功

上传成功

步骤三:模型训练

模型创建

数据上传完成之后,来到这个界面

开始模型的创建

首先是对图像的处理

它训练的时候会将图像变成长宽等比例的一个图像,我们选择默认的96*96就可以

然后我们再选择创建模块

这里是选择你要分类的类型,可以选择图像、声音、类型之类的选项,我们openmv就默认选择视频就可以

然后我们再添加下一个模块

选择进行学习的模块

这里我们选第一个

至于选择的理由嘛,它是两个带星号(推荐)的方法之一,而且另一个方法根据说明只能用于某个芯片

然后发现我建立的模型识别不出来特征

后来和罗俊棋开腾讯会议发现问题是上传的数据集没有打上标签

现在就解决这个没有标签的问题

找到问题所在了 ,在我的数据集刚上传的时候是有标签的,接下来会弹出一个弹窗, 这个弹窗必须选择no,不然你的标签就会被去除

解决问题后继续模型的搭建
 

学习方法选择迁移训练

到此模块选择完毕,可以看见,一共有八个feature,都是我数据集分类的名称

点击保存,显示保存成功

图像特征提取

下一步选择image,对我们呢的图像做DSP预处理

我们需要选择是RGB还是灰度图,这里选择RGB即可,具体的根据需求来

在后来模型训练的时候,我发现RGB的模型训练效果不好,然后就换了Grascale,训练效果很好,选择根据需求

DSP图像预处理它会把每一张图片生成一些features

选完之后点击保存,就会自动跳到下一个界面

在这个界面我们只需要点击Generate features就可以了

就是对图片做预处理

当特征创建完之后,image的部分就完成了,我们进入下一个部分

对机器学习方法的一些参数进行设置

机器学习参数设置

第一个参数是训练的轮数

第二个参数是训练的速率,越大训练越快,但是这个参数过高过低都会导致训练效果不好

接下来就是是否勾选数据增强,它可以在训练的过程中随机地变换数据,它可以让你训练更多地轮数而且不会过拟合,这样可以提高训练的准确度

第三个参数是置信度

三个参数都选择默认值就可以

然后就可以开始训练了

训练结果如下,效果还是可以的

模型训练完成之后,你也可以选择在Versioning保存当前训练出来的模型版本

当然你也可以不保存

保存之后,以后也可以使用这个模型

比如当你新上传了数据集,重新训练出的模型就会把之前的模型覆盖掉

也许之后训练的模型效果没有之前的效果好,也就有了保存训练出的模型的必要

步骤四:模型导出

模型训练好之后,我们现在要做的事就是导出训练好的模型

导出OpenMV需要的文件

由于我们是要把模型导出到openmv上,所以我们点击Deployment选择Search deployment options

在给出的选项中选择openmv

然后就可以点击build了

当build完成之后,会自动地把生成的文件下载

把导出文件应用于OpenMV

把下载的文件夹解压之后,出来了三个文件

把这三个文件复制到openmv的内置flash中,打开其中的.py文件

就可以开始使用代码了

结语

这篇文章就到这里,祝各位也许在熬夜,也许在疲惫的”道友“们生活愉快。

你们说,我们能走多远呢?加油吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/12409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务攻防——应用协议ssh,rsync,proftpd,openssh,libssh

1.口令猜解 ftp-拿来文件传输的 rdp-windows远程连接 3389 ssh-linux远程连接 工具hydra 口令 1.windows 这就爆破成功了,现在,我们就可以ftp爆破,爆破出ftp的密码 爆破出来后 访问 2.ssh Rsync(配置不当,未授权…

Gooxi发布最新AI服务器:加速生成式AI落地 更懂AI

近日,Gooxi发布最新训推一体AI服务器,以大容量内存和灵活的高速互连选项满足各种AI应用场景,最大可能支持扩展插槽,从而大幅提升智能算力性能,以最优的性能和成本为企业的模型训练推理落地应用提供更好的通用算力。 AI…

主从Reactor服务器

目录: 目录: 目标: 本文讲解思路: 各模块的功能以及代码: 1.服务器相关模块:服务器模块的功能是对所有的连接以及线程进⾏管理 2.协议相关模块:协议模块是对当前的Reactor模型服务器提供应…

【HarmonyOS】Stage 模型 - 应用配置文件

如图所示: Stage 模型应用配置文件主要有两类: 全局配置文件。放在 AppScope 目录下,app.json5。用来配置应用全局的信息。模块配置文件,放在每个模块里,module.json5。用来配置模块的信息。 一、全局配置文件 示…

LeetCode1657确定两个字符串是否接近

题目描述 如果可以使用以下操作从一个字符串得到另一个字符串,则认为两个字符串 接近 : 操作 1:交换任意两个 现有 字符。例如,abcde -> aecdb操作 2:将一个 现有 字符的每次出现转换为另一个 现有 字符&#xff0…

【数据可视化01】matplotlib实例3之数据统计

目录 一、引言二、实例介绍1.百分位数为横条形图2.箱线图定制化3.带有自定义填充颜色的箱线图4.箱线图5.箱线图和小提琴图6.二维数据集的置信椭圆 一、引言 matplotlib库 可以用来创建各种静态、动态、交互式的图形,并广泛应用于数据分析和数据可视化领域。 二、实…

贷款中介CRM管理系统解决方案

一、贷款中介行业背景介绍 随着贷款中介行业的快速发展,贷款中介业务逐渐成为企业和个人融资的重要渠道。然而,贷款中介行业存在信息不对称、风险控制不力等难题。给金融稳定带来潜在风险。 二、方案目的和意义 鑫鹿贷款中介系统解决方案旨在规范贷款中…

Elasticsearch查看集群信息,设置ES密码,Kibana部署

Elasticsearch查看集群信息,设置ES密码,Kibana部署 查看集群信息查看节点信息查看集群健康状态查看分片信息查看其他集群信息 Kibana部署安装设置ES密码 查看集群信息 查看节点信息 curl http://127.0.0.1:9200/_cat/nodes?v 参数说明: ip…

研究生学习---找工作

规划 研一~研二上学期完成小论文,实习,秋招 竞赛:kaggle? 面试题一般简单且为原题,笔试题目很难,不会出原题 项目 找工作软件

SwiftUI中三大渐变色的介绍

在SwiftUI中,渐变色是一种常用的视觉效果,用于创建平滑过渡的颜色变化。通过使用渐变色,我们可以实现丰富多彩的界面设计,增强用户体验。 1. 渐变色的种类和用途 种类: 线性渐变(Linear Gradient&#x…

【时隙ALOHA,CSMA(载波侦听多路访问)carrier sense mltiple access,无线局域网: CSMA/CA】

文章目录 时隙ALOHA时隙ALOHA的效率( Efficiency )纯ALOHA(非时隙)----效率低CSMA(载波侦听多路访问)carrier sense mltiple accessCSMA冲突CSMA/CD(冲突检测)边说边听(提高了信道利用率)以太网就是用的这个无线局域网: CSMA/CA无线局域网中的 MAC&#…

Transformer+Classification学习笔记

论文名称:An Image is Worth 16x16 Words:Transformers for Image Recognition at Scale [2112.11010] MPViT: Multi-Path Vision Transformer for Dense Prediction (arxiv.org) 参考博客与视频: Vision Transformer 超详细解读 (原理分析代码解读) …

2024年了,Covid19怎么发?PANoptosis程序性死亡,抓紧上车!

说在前面 大家众所周知的新冠,其实早在19年末,20年初的时候很多人都抓住了这个热点发到了好文章,Covid-19,这玩意可以做到让一个期刊从2分飙升到20分,且非预警期刊,不过现在退火了,今年是12.7分…

数据结构(十四)----排序算法(1)

目录 一.排序的基本概念 二.插入排序 1.直接插入排序 2.折半插入排序 三.希尔排序(Shell Sort) 四.交换排序 1.冒泡排序 2.快速排序 快速排序算法的效率: 快速排序算法的稳定性: 这一篇博客的重点主要是快速排序&#x…

2024小红书电商实战营,养号打造IP/选爆品/开店铺/爆款笔记/等等(24节)

我们非常荣幸地为大家带来2024小红书电商实战营的第一期,在这里我们将带领大家一起深入学习如何利用小红书平台,实现个人品牌的发展和商业利益的增长。 首先,我们将讨论养号的重要性以及如何打造个人品牌。无论是建立自己的受众群体还是提高…

微信小程序知识点归纳(一)

前言:适用于有一定基础的前端开发同学,完成从网页开发到小程序开发的知识转换。 先立框架,后砌墙壁 回顾:了解微信小程序开发流程-CSDN博客 初始页面结构,三部分pages、utils、配置,分别存放页面、工具类…

【解决】Unity Build 应用程序运行即崩溃问题

开发平台:Unity 2021.3.7f1c1   一、问题描述 编辑器 Build 工程结束,但控制台 未显示 Build completed with a result of Succeeded [时间长度] 信息。该情况下打包流程正常,但应用程序包打开即崩溃。   二、问题测试记录 测试1&#xf…

百面算法工程师 | 传统图像处理——OpenCV

本文给大家带来的百面算法工程师是传统图像处理的面试总结,文章内总结了常见的提问问题,旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中,我们将总结一些几何变换和图像平滑处理,并提供参考的回答及其理论基础&#…

C++自定义日期类的精彩之旅(详解)

在学习了C的6个默认成员函数后,我们现在动手实现一个完整的日期类,来加强对这6个默认成员函数的认识。 这是日期类中所包含的成员函数和成员变量: 构造函数 // 函数:获取某年某月的天数 inline int GetMonthDay(int yea…

常见磁盘分区问题

给磁盘分区有几个主要的原因: 组织和管理数据:分区可以帮助用户更好地组织和管理数据。例如,你可以在一个分区上安装操作系统,而在另一个分区上存储个人文件。这样,即使操作系统崩溃或需要重新安装,你的个…