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

news2024/11/16 23:35:05

创作原因

现在写电赛题,题目有识别数字的要求。但使用设备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.coloradmin.cn/o/1676472.html

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

相关文章

网络安全等级保护测评指标解读(2.0)

网络安全等级保护2.0测评指标解读: 1、物理和环境安全 2、网络和通信安全 3、设备和计算安全 4、应用和数据安全 5、安全策略和管理制度 6、安全管理机构和人员 7、安全建设管理 8、安全运维管理 软件资料清单列表部分文档: 工作安排任务书,…

【数据结构】红黑树(定义性质、插入、查找、删除)解析+完整代码

3.3 红黑树 3.3.1 定义和性质 为什么发明红黑树? 平衡二叉树和红黑树的时间复杂度相同,但是平衡二叉树的平衡特性容易被破坏,需要频繁调整树的形态。 红黑树RBT:插入/删除很多时候不会破坏红黑特性,无需频繁调整树的形…

Kimi智能助手:你的全天候AI伙伴

Kimi使用链接: https://kimi.moonshot.cn/ Kimi手机端下载链接: https://kimi.moonshot.cn/download/app?refchat 简介: Kimi AI 是由月之暗面科技有限公司(Moonshot AI)开发的一款人工智能助手,它具备多…

正运动技术与合作伙伴邀您共聚2024武汉光博会

■展会名称: 2024“中国光谷”光电子博览会暨论坛(以下简称“武汉光博会”) ■展会日期 2024年5月16日 - 18日 ■展馆地点 中国光谷科技会展中心A3馆 ■展位号 3A21 5月16至18日,中国光谷科技会展中心将举办第二十届武汉光…

nmap使用教程

nmap使用教程 一、nmap简介二、nmap常用命令2.1、target specification(目标规范)2.1.1、用法2.1.2、详情 2.2、HOST DISCOVERY(主机发现)2.2.1、用法2.2.2、详情 2.3、SCAN TECHNIQUES(扫描技术)2.4、PORT…

【Web】HNCTF 2024 题解(部分)

目录 Please_RCE_Me ezFlask GoJava ez_tp GPTS Please_RCE_Me <?php if($_GET[moran] flag){highlight_file(__FILE__);if(isset($_POST[task])&&isset($_POST[flag])){$str1 $_POST[task];$str2 $_POST[flag];if(preg_match(/system|eval|assert|call|…

从零开始开发企业培训APP:在线教育系统源码剖析

今天&#xff0c;小编将深入剖析企业培训APP的开发&#xff0c;从零开始为企业构建一个高效、实用的在线教育系统。 一、需求分析 1.主要功能需求 包括但不限于&#xff1a; -用户管理 -课程管理 -学习计划 -互动功能 -考核评估 -统计分析 二、技术选型 1.前端技术 …

PG数据文件和块管理与Oracle比较

之前有说过PG数据库中的对象oid与数据文件一一对应&#xff0c;创建的数据库如果没有指定表空间&#xff0c;则会默认放在默认表空间中&#xff0c;例如&#xff1a; 1.对象OID与数据文件对应关系 Oracle的逻辑与物理对应关系如下&#xff1a; 两种结果相比较而言&#xff1a; …

拯救者杯OPENAIGC开发者大赛城市巡回沙龙,苏州站报名开启!

由联想拯救者、AIGC开放社区、英特尔联合主办的“AI生成未来第二届拯救者杯OPENAIGC开发者大赛”自上线以来&#xff0c;吸引了广大开发者的热情参与。 为了向技术开发者、业务人员、高校学生、以及个体创业人员等参赛者们提供更充分的帮助与支持&#xff0c;AIGC开放社区特别…

RockChip Android8.1 EthernetService分析

一:概述 本篇文章将围绕RK Android8.1 SDK对Ethernet做一次框架分析,包含Framework层和APP层。 当前版本SDK默认只支持一路Ethernet,熟悉Ethernet工作流程后通过修改最终会在系统Setting以太网中呈现多路选项(可以有多种实现方式),博主通过增加ListPreference实现的效果…

C++设计模式|创建型 5.原型模式

1.什么是原型模式&#xff1f; 原型模式⼀种创建型设计模式&#xff0c;该模式的核⼼思想是基于现有的对象创建新的对象&#xff0c;⽽不是从头开始创建。 在原型模式中&#xff0c;通常有⼀个原型对象&#xff0c;它被⽤作创建新对象的模板。新对象通过复制原型对象的属性和状…

namenode启动失败 org.apache.hadoop.hdfs.server.common.InconsistentFSStateException:

小白的Hadoop学习笔记 2024/5/14 18:26 文章目录 问题解决报错浅浅分析一下core-ste.xml 问题 namenode启动失败 读日志 安装目录下 vim /usr/local/hadoop/logs/hadoop-tangseng-namenode-hadoop102.log2024-05-14 00:22:46,262 ERROR org.apache.hadoop.hdfs.server.namen…

开源可视化表单服务商:提升自主研发 助力流程化办公!

当前&#xff0c;做好流程化办公可以为企业实现提质增效的办公效果&#xff0c;助力企业进入数字化转型。作为开源可视化表单服务商&#xff0c;流辰信息坚持研发创新理念&#xff0c;努力提升自主研发能力&#xff0c;专为广大客户朋友提供集产品、框架定制、产品交付为一体的…

Java面试八股之Java中有哪些原子类,原理是什么

Java中有哪些原子类&#xff0c;原理是什么 AtomicInteger 和 AtomicLong&#xff1a; 用于对整数&#xff08;int&#xff09;和长整数&#xff08;long&#xff09;进行原子操作。 原理&#xff1a;它们内部封装了一个整型或长整型变量&#xff0c;并通过使用Unsafe类提供…

查找总价格为目标值的两个商品(双指针)

算法原理&#xff1a; 其实我们首先想到的方法肯定是暴力&#xff0c;两个for循环嵌套就能找到&#xff0c;但肯定会超时。 其实啊一切算法的总结都是在暴力的基础上进行的&#xff0c;算法其实就是对暴力进一步的优化。 定义两个指针&#xff0c;分别指向两端&#xff0c;然后…

单用户模式破解root密码

目录 一. 破解root密码 1. 查看操作系统版本 2.重启系统&#xff0c;进入grub菜单&#xff0c;选择要使用的内核&#xff0c;按e进入​编辑 3. 找到linux16那一行&#xff0c;把光标移动到最后&#xff0c;添加 init/bin/sh 然后ctrlx保存退出会自动进入系统 4. 进入系统后…

程序员就是管道工

程序是由指令和数据组成的。 指令是按照特定的顺序执行的&#xff0c;这些顺序好比水的流向。 要想让水高效地流向我们想要的地方&#xff0c;就要设计一个精良的管道系统&#xff0c;这好比算法。 剩下的就是修建管道了&#xff0c;你要知道各种管的型号、用途&#xff0c;然…

Java 包语句,看这一篇就够了

1.设计的文件层级 我们将“Package”文件夹称为根目录&#xff0c;“Level01”称为一级目录&#xff0c;“Level02”称为二级目录&#xff0c;以此类推。 2.发现在不同目录下的包名有如下特征&#xff1a; 根目录下的文件不需要包名&#xff0c;可以理解成包名为 “”一级目录…

洁太司检测试剂盒:肝癌早诊新利器,共筑健康未来

随着科技进步及医疗技术的不断创新&#xff0c;人类对疾病的早期诊断和治疗提出了更高的要求。 先思达生物近期推出的“洁太司-寡糖链检测试剂盒”&#xff0c;在原发性肝细胞癌的诊断领域实现了重大突破&#xff0c;获得了国家药品监督管理局&#xff08;NMPA&#xff09;的三…

8.基于鱼鹰优化算法(OOA)优化VMD参数(OOA-VMD)

代码原理 鱼鹰优化算法&#xff08;Osprey Optimization Algorithm, OOA&#xff09;是一种基于仿生学原理的启发式优化算法&#xff0c;它模拟了鱼鹰觅食的行为&#xff0c;通过调整搜索空间中的个体位置来优化目标函数。 鱼鹰优化算法可参考&#xff1a;鱼鹰优化算法(Ospre…