基于AlexNet卷积神经网络的手写体数字识别系统研究-附Matlab代码

news2025/3/1 2:00:36

⭕⭕ 目 录 ⭕⭕

  • ✳️ 一、引言
  • ✳️ 二、手写体数字识别系统
    • ✳️ 2.1 MNIST 数据集
    • ✳️ 2.2 CNN
    • ✳️ 2.3 网络训练
  • ✳️ 三、手写体数字识别结果
  • ✳️ 四、参考文献
  • ✳️ 五、Matlab代码获取

✳️ 一、引言

手写数字识别是计算机视觉领域中的一个重要应用,已广泛应用在很多领域。手写数字识别的准确性至关重要,例如在银行自动识别支票系统中,如果识别错误就会出现资金丢失等严重后果。因此,研究如何提高手写数字识别的准确率具有重要的现实意义。目前,手写数字识别分类存在两个主要问题:第一,不同数字之间存在一些相似性,导致很难准确分类;第二,不同人书写的数字具有不同的大小、形状和方向,可能造成某个人写的一个数字与其他人写的另外一个数字非常相似。例如,甲写的7可能很像乙写的1。因此,手写数字识别分类的难度远高于已有的常规字体和特定规格的印刷字体。

传统识别算法虽然基本能够正确识别手写数字, 但是存在识别准确率低、 识别速度慢等问题, 随着技术的发展逐渐被淘汰。 卷积神经网络( Convolutional Neural Networks, CNN)具有良好的泛化能力和鲁棒性, 已广泛应用在人脸识别、 语音识别和图像分类等领域。

✳️ 二、手写体数字识别系统

✳️ 2.1 MNIST 数据集

本博文在训练和测试过程中采用 MNIST 数据集。 MNIST数据集是一个大型手写数字数据库, 包含 60 000 张手写数字图像的训练样本集和 10 000 张手写数字图像的测试样本集,被广泛应用于图像处理模型的训练和测试。 其中, 每幅图像都是一张像素值为 28× 28 的灰度手写数字图片, 分别由不同的人员书写, 其中心有一个数字。 MNIST 数据集中的手写数字样本图像如图 1 所示。

在这里插入图片描述

图 1 MNIST 数据集中的手写数字样本图像

✳️ 2.2 CNN

CNN 是一种典型的多处理层神经网络, 主要包含输入层、卷积层、池化层、全连接层和输出层。 卷积层是CNN的核心部分,卷积操作可以减少多层网络中参数的计算量。 输入数据首先需要经过卷积层处理, 通过一个或多个可训练的卷积核对输入图片进行卷积。 池化层用于进一步减少输出参数的数量, 提高模型的泛化能力。 一般来说, 卷积神经网络进行一次完整的训练需要执行前向传播和反向传播两个过程。 前向传播可以理解为计算样本的实际输出, 通过网络结构预测结果; 反向传播则是计算实际输出与理想输出的差值, 根据这些差值反过来调整网络参数。

本文首先使用三层卷积层、 两层池化层、 一层打平层和两层全连接层组成的 CNN 模型测试手写数字识别的性能, 该CNN 模型结构图如图 2 所示。

在这里插入图片描述

图2 CNN 模型结构图

为了更好地从输入图像中提取相关特征,往往会在卷积层中添加滤波器。因此,在第一层、第二层、第三层卷积层中,按照顺序分别在每层使用了16个、32个和64个卷积内核大小为3×3的滤波器。对于两层池化层,首先采用的是平均池化层。在第三层卷积层之后,增加了一层打平层,将二维输入数据转换为一维向量。接下来是一层全连接层,其中有84个神经元。最后,使用含有10个神经元的输出层对数字0~9进行分类。卷积神经网络通常需要引入激活函数来增加网络模型的非线性。在三层卷积层和第一层全连接层中,使用ReLU函数作为激活函数。因为这是一个识别分类问题,所以输出层采用Softmax激活函数对输出结果进行分类处理。在优化器选择上,首先使用RMSprop优化器搜索该网络模型的局部最小值。

✳️ 2.3 网络训练

基于已加载的数据进行训练,此时共训练50轮,每轮的迭代次数为75次,共迭代3750次,大约用时22分钟,训练结果如下图所示,随着训练迭代步数的增加,准确率曲线明显上升,损失函数曲线逐渐下降,最后识别率大约在99%左右。

在这里插入图片描述

图3 训练结果

✳️ 三、手写体数字识别结果

现有一手写体(黑色背景,红色字体)如下图所示,准确识别出了该手写字体,且用时只有0.02s。

在这里插入图片描述

图4 手写体数字识别结果

✳️ 四、参考文献

[1] SELMI Z,MB HALIMA,PAL U,et al.DELP-DAR system for license plate detection and recognition[J].Pattern Recognition Letters,2019(129):213-223.
[2] YU D,MA L,LU H.Lottery digit recognition based on multifeatures[C]//Systems & Information Engineering Design Symposium,2008:340-341.
[3] 陈群贤.基于k-邻近算法识别手写数字[J].缔客世界,2021(3):41-42
[4] 李彦冬,郝宗波,雷航.卷积神经网络研究综述[J].计算机应用,2016,36(9):2508-2515.

✳️ 五、Matlab代码获取

上述手写体数字识别系统由Matlab代码完成,可私信博主获取。


博主简介:研究方向涉及智能图像处理、深度学习、卷积神经网络等领域,先后发表过多篇SCI论文,在科研方面经验丰富。任何与算法程序科研方面的问题,均可私信交流讨论


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

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

相关文章

电动汽车充电站的最优选址matlab程序

​摘要:以规划期内充电站的总成本 (包括投资、运行和维护成本)和网损费用之和最小为目标,考虑了相关的约束条件,构造了电动汽车充电站最优规划的数学模型, 关键词:电动汽车;充电站&a…

角色扮演?一款跨平台可移植开源游戏

程序员宝藏库:gitee.com/sharetech_lee/CS-Books-Store DevWeekly收集整理每周优质开发者内容,包括开源项目、资源工具、技术文章等方面。 每周五定期发布,同步更新到 知乎:Jackpop 。 欢迎大家投稿,提交issue&#…

支付系统设计概览

前言 就个人对支付的一些理解和经验,在此编辑出来和大家一起交流分享。请大佬多多指正。 在各种互联网场景中,牵扯到交易的情况,大多都需要支付系统的支持。支付系统往往不是一蹴而就的,往往都是随着业务的不断扩展,…

【python】面向对象程序设计(基础篇)

个人主页:天寒雨落的博客_CSDN博客-初学者入门C语言,python,数据库领域博主 💬 热门专栏:python_天寒雨落的博客-CSDN博客 ​每日赠语:没有窘迫的失败,就不会有自豪的成功;失败不可怕,只要能从失…

浅识vue的虚拟DOM和渲染器

虚拟DOM本质上是对DOM的抽象描述,就是一个普通的js对象。他身上的属性要比真实DOM的属性要少得多。 在一定情况下,使用虚拟DOM的性能要逊于直接使用真实DOM。 例如,在页面一开始的时候,Vue需要先通过生成虚拟DOM树,在…

【雷达通信】雷达探测项目仿真附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

《恋上数据结构与算法》第1季:链表原理实现(图文并茂)

数据结构与算法的学习笔记目录:《恋上数据结构与算法》的学习笔记 目录索引链表原理实现一、链表二、链表的设计三、链表的接口设计四、链表接口的实现1. 索引越界的判断2. 根据索引查找指定节点3. 添加数据4. 插入元素5. 删除元素6. 清空元素7. 修改元素8. 查找元素…

傻白入门芯片设计,RDL/Interposer/EMIB/TSV(三)

目录 一、再分配层(RDL) 二、硅中介层(Si Interposer):Active and Passive 三、嵌入式硅桥(EMIB) 四、硅通孔 TSV(Through Silicon Vias) 一、再分配层(R…

CCF CSP认证2022年6月 归一化处理、寻宝!大冒险!、光线追踪

这是我第一次参加了这次CSP考试,300分,写了124三题,模拟题到现在都没看过题面没看,笑,t4写成模拟加数据结构,200行,因为一个小错误调了1h,错失了大好机会。考试环境的VSC配置的字体太…

[一篇读懂]C语言十讲:单链表的新建、查找

[一篇读懂]C语言十讲:单链表的新建、查找1. 与408关联解析及本节内容介绍1 与408关联解析2 本节内容介绍2. 头插法新建链表实战3. 尾插法新建链表实战4. 按位置查找及按值查找实战5. 往第i个位置插入元素实战6. 链表的调试方法总结234561. 与408关联解析及本节内容介…

面对无法投入模型训练的object类型数据在头疼,快来使用我的丝滑小连招

面对无法投入模型训练的object类型数据在头疼,快来使用我的丝滑小连招 前言 丝滑小连招 tip1- get_dummies完美one-hot(str->int) tip2 - rename_dims解决重名问题! tip3 - insert且drop!​​​​​​​ 前言 我…

小爱同学控制美的美居中的家电热水器,空调等

背景 家里大多数家电都是支持接入米家App的,美的家电不能接入小米,电脑安装Home Assistant成功实现小爱语音控制美的燃气热水器。 实现步骤: 1. 安装docker 我的电脑是windows的,那就直接安装docker desktop https://desktop.…

【Linux】基础指令(三) —— 收尾篇

文章目录前言zip 和 unzip 指令tar 指令bc 指令uname 指令history关机热键补充ctrl c↑ && ↓ctrl rctrl d指令拓展结语前言 今天为大家带来的是最后一部分基础指令讲解。主要内容为 7个指令讲解、热键补充、简单提一下指令的拓展 。内容相对之前较少,更…

服务器密码以及用户名怎么修改

服务器密码以及用户名怎么修改 我是艾西,今天给大家说下服务器密码如何修改 windows2003系统: 1、右键我的电脑,点击“管理”: 2、在“本地用户和组”中打开“用户”,在右侧找到 Administrator 账户进行修改。 200…

【linux】linux实操篇之任务调度

目录前言crond 任务调度概述基本语法快速入门案例案例一:每隔一分钟将ls -l /etc/ 追加到 /tmp/to.txt 文件案例二:每隔一分钟执行python文件结语前言 我们常用linux做一些定时任务,最常见的就是在服务器领域,我们常常做一些定时…

高分辨率格式理论

一个核心概念:人工粘性 考虑经典的双曲守恒律方程 ∂u∂t∂f∂x0{{\partial u} \over {\partial t}} {{\partial f} \over {\partial x}} 0∂t∂u​∂x∂f​0 可以写成守恒形式的数值格式 uin1uin−λ(f^i1/2n−f^i1/2n)u_i^{n 1} u_i^n - \lambda \left( {\ha…

基于ssm+mysql+jsp学生成绩管理系统(含实训报告)

基于ssmmysqljsp学生成绩管理系统(实训报告)一、系统介绍二、功能展示1.学生信息查询2.学生信息添加3.学生信息修改4.学生信息删除四、获取源码一、系统介绍 系统主要功能:系统实现了学生信息查询、添加、修改、删除。 环境配置: Jdk1.8 M…

[附源码]java毕业设计智慧教学平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

储能辅助电力系统调峰的容量需求优化配置matlab/cplex

参考文献:储能辅助电力系统调峰的容量需求研究 摘要:建立了储能辅助电力系统调峰的容量需求优化配置模型,设置了含储能和不含储能两种仿真方案,将两个算例代入所提模型进行求解,得到最优的储能系统容量和功率配置&…

Flutter高仿微信-第52篇-群聊-清空聊天记录

Flutter高仿微信系列共59篇,从Flutter客户端、Kotlin客户端、Web服务器、数据库表结构、Xmpp即时通讯服务器、视频通话服务器、腾讯云服务器全面讲解。 详情请查看 效果图: 实现代码: //清空聊天记录对话框 void _cleanGroupChatDialog(){Lo…