基于神经网络的图像识别算法及应用研究
作者: 张冰心 李娟摘要:针对传统图像识别算法训练时间长、识别准确率低等问题,本文构建了两个由卷积层、激活层和池化层组成的基础卷积模块,将 70 000 张手写数字样本输入模型,训练集和测试集的准确率均达到 98% 以上。在此基础上,本文利用迁移学习技术优化 ResNet152 模型结构。第一阶段保持卷积层不变,仅调整全连接层参数,经过多次迭代,训练集准确率稳定在 80% 左右,验证集准确率在 65%~70%。第二阶段在保存的最优模型基础上解冻所有层继续训练,训练集准确率提高至 84%,验证集准确率提高至 73%。实验结果表明,本文提出的模型优化方法有效提升了图像识别的准确率和训练效率。
关键词:计算机技术;图像识别;卷积神经网络;迁移学习;ResNet152
中图分类号:TP18 文献标识码:A
文章编号:1009-3044(2025)08-0032-05
开放科学(资源服务) 标识码(OSID)
1 绪论
1.1 研究背景及意义
随着计算机技术的迅速发展,图像处理技术在各个领域得到了广泛应用,例如图像分类、图像分割和目标检索等。传统的图像处理方法已无法满足新兴应用的需求,因此,将神经网络应用于图像处理成为当前研究的热点。特征提取是图像识别中最关键的环节,神经网络通过模拟人类大脑神经元的信息处理方式,高效地提取图像有效特征,解决了采集设备、光照条件等环境因素带来的问题。基于神经网络的图像识别算法具有以下优势:1) 并行处理:能够并行处理图像数据,提高运行速度。2) 自适应能力强:能够根据项目目标建立符合的数学模型。3) 噪声预处理:能够预处理图像中的噪声,增强模型的鲁棒性。
因此,研究基于神经网络的图像识别算法具有重要的理论意义和实际价值。
1.2 国内外研究现状
卷积神经网络(CNN) 在图像识别领域取得了显著成果,其发展大致经历了三个阶段:基础理论阶段、模型构建阶段和应用研究阶段。相关研究如下:2015年,丁昊分析了神经网络算法在图像处理中的性能优势,促进了神经网络在图像识别领域的深入应用。2018年,郑春和张继山基于 BP 神经网络模型,验证了机器人视觉技术在现代农业中的有效性。2019年,高薇和曾健民利用 ORL 人脸数据集,对比了人工神经网络和卷积神经网络的性能,发现人工神经网络内存占用高、训练时间长的问题。2020年,王满丽通过迁移学习对 MNIST 和 CIFAR-10 数据集进行实验,结果表明迁移学习模型能大幅提高建模速度。2022年,陈广秋提出了一种基于多尺度局部极值分解与深度学习网络 ResNet152 的红外与可见光图像融合方法,该方法在客观评价和视觉感受方面都取得了较好效果。2023年,王树森在轨道交通四电设备智能化建设中优化了目标识别算法,识别精度显著提高。游小荣和李淑芳借助基于 ImageNet 数据集训练好的 ResNet152 预训练模型进一步提取特征向量,实现服装图像检索功能。刘景贺则基于 AlexNet、MobileNet_V3 和 ResNet152 网络模型,通过对比训练花卉数据集的识别准确率、训练时间、损失率、收敛速度、模型大小和效率,发现 ResNet152 模型的综合性能最优。
尽管已有研究取得了一定成果,但图像识别技术仍存在训练时间长、模型复杂度高、对大规模数据处理能力不足等问题。因此,本文旨在构建高效的卷积神经网络模型,结合迁移学习技术,优化模型结构,提高图像识别的准确率和效率。
1.3 本文主要内容
本文共六章,主要内容如下:第1章,绪论。阐述研究背景和意义,综述国内外研究现状,介绍本文主要内容和创新点。第2章,相关理论概述。介绍卷积神经网络的基本原理,包括卷积层、激活层和池化层的结构特点和运算方式。第3章,基于神经网络的图像识别算法研究。以 MNIST 数据集为例,处理数据制作数据集,构建卷积神经网络模型,训练并优化网络结构,提高模型的识别准确率和运行效率。第4章,神经网络算法在图像识别中的应用。以 Flower 数据集为例,利用迁移学习技术优化 ResNet152 模型结构,分阶段训练模型,提升识别准确率。第5章,结束语。总结全文,展望未来研究方向。
2 相关理论概述
2.1 卷积神经网络
2.1.1 卷积层
卷积层由多个卷积核(滤波器) 组成,每个卷积核的参数通过反向传播算法进行优化。以尺寸为 5×5 的输入图片为例,使用尺寸为 3×3、步长为 1 的卷积核,从图片左上角滑动到右下角,对图像中的每一位像素点进行线性加权,形成参数矩阵,即特征图。卷积核的工作原理如图 1 所示。
2.1.2 激活层
激活层通过激活函数建立输入与输出过程中相连神经节点之间的映射关系,使神经网络能够拟合复杂的非线性模型。常见的激活函数有 Sigmoid 函数、ReLU 函数、PReLU 函数、ELU 函数等,以下介绍部分激活函数的特性及其曲线图。
1) Sigmoid 激活函数。Sigmoid 激活函数是神经网络中广泛应用的非线性激活函数之一,它将输入值映射到 0 和 1 之间,常用于表示输出层的概率值。接近 0 的值表示低激活,接近 1 的值表示高激活,适用于需要被解释为概率的模型。Sigmoid 函数的数学表达式见式(1) ,函数曲线如图 2 所示。
[sigmoid(x)=exex+1=11+e-x] (1)
2) ReLU 函数。ReLU 函数计算简单、高效实用,仅需比较输入值和 0 的大小即可确定输出值。当输入值大于等于 0 时,函数的输出为输入值本身;当输入值小于 0 时,函数的输出为 0。ReLU 函数具有稀疏激活的特性,即只激活输入中的一部分神经元,从而增强了模型的泛化能力。ReLU 函数的数学表达式见式(2) ,函数图像如图 3 所示。
[f(x)=max(0,x)] (2)
2.1.3 池化层
池化层作用于连续的卷积层之间,处理过程与卷积层类似,主要用于降低特征图尺寸,在保留主要特征的同时减少计算量,防止过拟合。池化操作将相近区域的特征进行聚合,仅用局部特征值代表,从而降低了卷积层的输出特征向量。常见的池化方法有最大池化、均值池化和中值池化等,如图 4 所示。
3 基于神经网络的图像识别算法研究
3.1 制作数据集
MNIST 数据集也称为手写数字数据集,包含了0~9共10个数字。作为公开的数据集,它为学者提供了免费的机器学习资源。MNIST 数据集包含70 000张手写数字样本,分别为 60 000张训练样本和 10 000张测试样本。所有图片均为黑白单通道,分辨率为 28×28×1,并且经过了大小归一化和居中处理,标签对应0~9共10个数字。
MNIST 数据集的结构如图 5 所示,四个文件分别为测试数据集(t10k-images-idx3-ubyte.gz) 、测试数据集标签(t10k-labels-idx1-ubyte.gz) 、训练数据集(train-images-idx3-ubyte.gz) 和训练数据集标签(train-labels-idx1-ubyte.gz) 。
读取数据集操作将训练的总循环周期设置为 3(num_epochs = 3) ,每批次大小设置为 64(batch_size = 64) 。如图 6 所示,以下为制作数据集的核心代码。
3.2 构建卷积神经网络
本模型共构建了两个卷积模块,模块结构均为一个卷积层链接一个激活层,再链接一个池化层。以第一个卷积模块为例,输入尺寸为 28×28×1 的灰度图,使用尺寸为 5×5 的卷积核以步长为 1 的方式进行卷积,得到尺寸为 28×28×16 的特征图。经过池化层处理后,特征图的尺寸调整为 14×14×16。将第一个卷积模块卷积后的特征图放入第二个卷积模块,采用相同方式进行卷积,最终得到尺寸为 7×7×32 的特征图。如图 7 和图 8 所示,分别为构建卷积神经网络的流程图和核心代码。
3.3 训练网络模型
模型训练时,损失函数选择了交叉熵损失函数,优化器使用 Adam,学习率设置为 0.001。本实验共经历了3次 epoch 迭代,第一次 epoch:训练集和测试集的准确率均从百分之十几上升至 94.19% 和 97.57%。第二次 epoch:训练集和测试集的准确率继续提升,分别达到 98.16% 和 98.65%。第三次 epoch:训练集和测试集的准确率逐渐趋于稳定,均保持在 98% 以上。
实验结果表明,该模型构建状况良好,具有较好的识别准确率。如图 9 所示,为模型迭代部分结果展示。
4 神经网络算法在图像识别中的应用
4.1 制作Flower数据集
本次实验所使用的花朵数据集主要从网上收集选取。在对图片完整性和实验软硬件环境进行考量后,最终选取了 102 种花朵以制作数据集,约有 4 080 张图片。
所有图片分别存放在train和valid两个文件夹中,即训练集和验证集。训练集中放置编号为 1 至 102 的文件夹,每个文件夹对应一种花朵类别,每个类别中包含若干张在不同状态下拍摄的花朵图片。验证集中的数据结构与训练集类似,只是图像数量相对较少。如图 10 所示,是 Flower 数据集的样本文件。
花朵图像属于细粒度图像,部分花朵之间具有类间相似性大、类内相似性小的特点,因此如果训练数据不足,很容易导致模型过拟合。为此,本文采用了数据增强技术对 Flower 数据集进行预处理。
在torchvision的transforms模块中,自带了多种数据增强功能,CenterCrop:从中心区域裁剪图片。RandomRotation:将图片在 -45° 到 45° 之间随机旋转。RandomHorizontalFlip和RandomVerticalFlip:设置随机翻转概率为 0.5,对图片进行水平或垂直翻转。ColorJitter:对图片的亮度、对比度、饱和度和色相进行统一处理。RandomGrayscale:将图片转化为灰度图。
以上数据增强操作为处理后的 Flower 数据集奠定了基础,以支持后续网络训练。
4.2 构建 Flower 分类网络模型
本实验构建训练模型时采用了迁移学习的思想。迁移学习利用已有的领域知识来辅助学习新的领域知识,发现不同领域之间的相似性,实现知识的泛化和推广。这种方式避免了从零学习带来的资源浪费,同时确保新模型的可靠性和准确性。
目前比较热门的几种卷积神经网络,如ResNet、AlexNet、VGG、SqueezeNet、DenseNet 和 Inception等,都是迁移学习重点运用的模型目标。为了解决卷积神经网络易出现的梯度消失或退化问题,本实验采用了ResNet152模型。该模型使用残差结构,主分支包含三个卷积层:1×1、3×3和1×1。第一个1×1卷积层用于压缩通道维度,第二个1×1卷积层则用于还原通道维度。在保持卷积层结构不变的情况下,本实验还调整了连接层参数,将种类数设置为 102,与 Flower 数据集的种类数保持一致,然后展开训练。
4.3 训练 Flower 分类网络模型
本实验模型训练分为两个阶段,1) 基础训练:在此阶段,保持卷积层结构不变,仅调整连接层参数,并保存训练过程中的最优模型。2) 优化训练:在第一阶段保存的最优模型基础上进行再训练,所有层参与训练。