基于AlexNet卷积神经网络的手写体数字识别系统研究-附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论文,在科研方面经验丰富。任何与算法程序科研方面的问题,均可私信交流讨论


  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
基于卷积神经网络(Convolutional Neural Network,CNN)的手写体数字识别是计算机视觉领域的一个重要研究方向。CNN在图像处理任务中表现出色,特别适用于手写体数字识别。 目前,基于CNN手写体数字识别已经取得了很多进展。以下是一些研究现状的介绍: 1. LeNet-5模型:LeNet-5是最早应用于手写体数字识别CNN模型,由Yann LeCun等人提出。它包含了卷积层、池化层和全连接层,通过多层卷积和池化操作提取图像特征,并通过全连接层进行分类。 2. MNIST数据集:MNIST是一个常用的手写体数字识别数据集,包含了60000个训练样本和10000个测试样本。许多研究都是基于MNIST数据集进行验证和比较的。 3. 深度CNN模型:随着深度学习的发展,研究者们提出了更深的CNN模型来提高手写体数字识别的准确率。例如,AlexNet、VGGNet、GoogLeNet和ResNet等模型在ImageNet图像分类竞赛中取得了显著的成绩,并且可以应用于手写体数字识别任务。 4. 数据增强技术:为了提高模型的鲁棒性和泛化能力,研究者们使用数据增强技术来扩充训练数据集。例如,旋转、平移、缩放和翻转等操作可以生成更多的样本,增加模型的泛化能力。 5. 迁移学习:迁移学习是一种利用已经训练好的模型在新任务上进行微调的方法。研究者们发现,通过在大规模图像数据集上预训练的模型,可以在手写体数字识别任务上取得较好的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

matlab科研中心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值