APP下载

基于ResNet152的花卉识别研究

2023-07-11刘景贺任彦彪薛岩郭晓丽徐龙夏菲郜园园

电脑知识与技术 2023年15期

刘景贺 任彦彪 薛岩 郭晓丽 徐龙 夏菲 郜园园

关键词:花卉识别;ResNet152;AlexNet;MobileNet_v3;界面操作

0 引言

花卉的作用涉及药用,观赏,净化空气,经济生产等多方面,花卉种类识别的研究与探索具有重要意义。例如,在花卉农业领域,人们经常需要对花卉种类进行分类处理,常见的花卉分类方法依照其外部形态、生长特性、观赏部位、栽培方式等方面进行区分。

传统的花卉识别方法将花卉图像进行图像分割,利用其他手段将特征部位抠除。首先,它过于依赖花卉的分割效果。其次,它在很大程度上依赖于人机交互。因而需要消耗大量的人力物力,且无法做到快速检测和准确检测。近年来,随着机器学习的发展,人们对花卉识别技术进行进一步的研究与探索。在图像分割技术上,Saitoh等人[1]提出一种能自动进行花卉图片分割的技术。有效地解决了先验色彩信息问题,但限制了花卉在图中的位置,需要人工矫正。Chai等人[2]提出了一种花卉图像联合分割算法,取得了较好的分割效果。在花卉分类技术上,Lee等人[3]提出一种花卉分类技术,对花卉色彩和形状有较好的提取效果。

近年来,基于卷积神经网络(Convolutional NeuralNetwork)的花卉识别方法得到发展。在卷积网络中,避免了传统识别算法中的复杂的特征提取和数据重建过程[4],取得了较好成果。AlexNet网络是卷积神经网络中的一种经典网络。2012年,Krizhevsky 等人[5]提出的深度网络结构AlexNet,在图像分类中取得了很大突破。AlexNet获得了2012 年大规模视觉识别挑战赛(ImageNetLarge Scale Visual Recogition Challenge,ILSVRC)的冠军,并且引发了研究深度网络结构的热潮。2018年,王爽[6]利用AlexNet 进行迁移学习进行花卉分类,正确率达到90.85%,之后对花卉数据库继续迭代训练并进行网络微调,正确率达到94.37%。在2016 年,He 提出残差网络( Residual Network,ResNet)[7],一种深层卷积神经网络结构,在模型深度加大时,用于解决网络退化现象,可以提升网络深度。2020年,袁晨晖[8]提出基于改进ResNet 的深度迁移学习方法,通过模型迁移和深度特征抽取,减小了数据集间内容差异对迁移学习特征识别力的影响。在MNIST 和CIFAR-10 数据集上进行实验,准确率分别达到97.98%和90.45%。

本文重点研究ResNet、MobileNet V3、AlexNet 三种模型的分类效果,提出一种基于ResNet152的准确快速识别花卉种类的分类方法。

1 数据集介绍

实验中采用的花卉数据集大小为47 770,共24个花卉种类,分别是鬼针草、桔梗,石龙芮、全叶马兰、婆婆纳、三叶草、旋覆花、绣球小冠花、狗尾草、一年蓬、剑叶金鸡菊、滨菊、射干、三角梅、马鞭草、油菜花、蒲公英、两色金鸡菊、全缘金光菊、蓝蓟、曼陀罗、诸葛菜、千屈菜、狼尾草。其中石龙芮样本个数为1 770,其他样本数均为2 000。按照8∶2的比例划分训练集和测试集,通过测试集来验证模型的准确度。如图1 所示。

2模型搭建

传统的卷积神经网络易出现梯度消失或退化问题。为解决这两个问题,2015年微软实验室提出了Resnet网络。该网络采用residual结构(残差结构),搭建超过1 000层的网络结构,丢弃dropout,使用了Batch Normalization进行加速训练。ResNet152中使用的残差结构如图2所示。

该残差结构能够减少参数量和运算量,在该残差结构当中,主分支使用了三个卷积层,分别是1×1,3×3,1×1。第一个1x1的卷积层用来压缩channel维度,第二个1x1的卷积层用来还原channel维度。

(1) 输入层是尺寸为224×224×3的待识别的花卉图片。

(2) conv1是7×7的卷积层,步长为2,输出大小为112×112。

(3) conv2_x是3×3的最大池化下采样操作,步长为2,使用了3层残差层,3层卷积层,分别是1×1,3×3,1×1。输出大小为56×56。

(4) conv3_x,使用了8层残差层,3层卷积层,分别是1×1,3×3,1×1。输出大小为28×28。

(5) conv4_x,使用了36层残差层,3层卷积层,分别是1×1,3×3,1×1。输出大小为14×14。

(6) conv5_x,使用了3层残差层,3层卷积层,分别是1×1,3×3,1×1。输出大小为14×14。

(7) 最后是平均池化下采样操作和全连接层。可以通过使用softmax函数来确定,它是一個对于输入和节点进行激活的函数,它可以将24种输出值转换为范围在[0,1]的概率分布,从而进行分类。

3 AlexNet,MobileNet_V3,ResNet152,网络模型的性能指标对比

AlexNet,MobileNet_V3,ResNet152,网络训练过程的曲线图如图3、图4、图5所示,热力图如图6所示。当epochs达到15时,三个网络的Training Accuracy曲线均趋于饱和。当epochs达到5时,Validation Accura?cy曲线便开始在0.95附近上下波动;Training Accuracy 曲线和Validation Accuracy曲线在epochs由0到30的过程中变化均低缓。当epochs 达到10 时,Trainingloss曲线趋于饱和,在epochs由10到30的过程中变化低缓,稍微有向下变化的趋势。Validation loss曲线在epochs由0变化到30的过程中先下降后上升,然后波动,最终在0.22附近徘徊。尽管三种模型的四条曲线变化趋势并不明显,但Resnet152的Validation loss曲线波动更为低缓,平滑。

分别对模型的收敛速度、模型效率、模型精度、召回率、模型分数进行分析。

3.1 收敛速度

是否收敛是评价一个网络模型好坏的重要指标,三个网络模型均未出现收敛抖动现象,最终都会收敛,其中ResNet152的收敛速度最快,在Epochs达到13 时,能够呈现稳定的收敛状态。比另外两个模型要快2个epochs。同样收敛的情況下,收敛速度越快说明网络模型越好。

3.2 模型大小

网络模型的大小决定着是否有利于后期的小程序或者App开发,网络模型所占的内存越小越有利于后期的开发。三个网络模型的大小均为9475KB,适合在移动端进行进一步开发使用。

3.3 模型效率

模型的效率事关后期开发的小程序或者app的识别速度,效率越高,识别速度越快,越有利于提升用户的体验感。识别速度由快到慢的排列顺序分别为:MobileNet_V3>ResNet152>AlexNet,MobileNet_V3 识别每张图片所需时间最短,仅需0.17 s便可识别一张图片,Resnet152识别一张图片的速度为0.18秒。

4 界面化

4.1实现环境

实现环境基于深度学习框架TensorFlower2.3 ;硬件环境采用AMD Ryzen 5 4600H with Radeon Graph?ics,3.00 GHz,GPU 采用NVIDIA GeForce 显卡,16GB 内存,4 GB 显存。采用Windows 10 操作系统,Pycharm 编译环境和Python3.7 语言,使用了pyqt5,pillow,opencv-python,matplotlib。每次试验运行30 轮(epochs),采用ReLU激活函数。

4.2识别过程

加载初始图片,将图片的高度变成400,在界面上方便显示,然后将图片变成224×224的大小,因为模型接收的参数是224×224,然后将224×224的图片转换成数组,输入到模型中得到结果,在界面上进行显示。如图7所示,通过界面化操作进行花卉识别。

5 结束语

对比AlexNet,MobileNet_V3,ResNet152 三个网络模型的各项指标以及实验统计了ResNet152对24种花卉的评估结果,突出了ResNet152的优良性能,在今后的研究工作中,将继续对ResNet152进行优化提高其性能,比如识别准确率,模型效率,模型大小,模型识别速度等指标,并进行花卉识别小程序的开发,进而做出实质性成果。