APP下载

基于Squeezenet模型的蛇类图像识别

2021-04-20鲁元平罗志聪

电脑知识与技术 2021年7期
关键词:蛇类图像识别识别率

鲁元平 罗志聪

摘要:随着人类活动范围的不断扩张,生态环境的恶化,蛇类的生存环境受到威胁。为实现对蛇类的准确识别,辅助蛇类研究者对蛇类的识别与保护,通过对现有的解决方案进行分析,提出采用迁移学习方法对10种蛇类进行训练识别。首先对现有数据集进行数据增强,从而让训练模型更好地收敛,采用基于Squeezenet模型具有更好的识别率,识别率达到了85.71%,效果良好。并对训练好的模型进行加载,网络模型识别耗时2.69s,有着更好实时性,同时还能保证识别精度,节省硬件资源,提升了模型的可移植性。

关键词: 迁移学习; Squeezenet模型; 蛇类; 图像识别

中图分类号:TP391        文献标识码:A

文章编号:1009-3044(2021)07-0012-03

Abstract: With the continuous expansion of human activities, the deterioration of the ecological environment, the living environment of snakes is threatened.In order to realize the accurate identification of snakes and assist the snake researchers in the identification and protection of snakes, this paper proposes to adopt the transfer learning method to train and identify 10 kinds of snakes by analyzing the existing solutions.Firstly, the existing data set was enhanced to promote better convergence of the training model. With the adoption of the Squeezenet model, the recognition rate reached 85.71%, with good effect.It takes 2.69s to identify the network model, which ensures better real-time performance, ensures recognition accuracy, saves hardware resources, and improves the portability of the model.

Key words:transfer learning; squeezenet model; snakes; image recognition

我國拥有十分丰富的蛇类资源,有200多种蛇类,其中我国南方地区的蛇类占我国蛇类种数的88%左右[1]。蛇类作为自然系统中的次级消费者,在生态系统中发挥着维系生态系统的能量流动和物质循环的重要作用。目前我国蛇类研究人员非常匮乏,且尚未有针对蛇类研究的公开数据集,在科研领域,蛇类图像识别仍然是一个比较开放性的问题。近年来,随着人类活动范围的不断扩张,蛇类的生存环境受到了巨大威胁,蛇类图像识别对保护物种多样性和维持生态平衡更具意义。James Alex对蛇类特征进行手工分类,构建了6中印度常见蛇类的特征数据库,并采用贝叶斯网络等13种分类器进行蛇类识别,效果良好[2]。Amir Amiza等人对22种马来西亚常见蛇类进行颜色和边缘方向的特征提取,并采用最近邻分类器取得了89.22%的准确率[3]。浙江大学付永钦通过采集和收集蛇类图像,建立了包含银环蛇、竹叶青蛇、舟山眼镜蛇、尖吻蝮、王锦蛇、黄金蟒、玉斑丽蛇、红尾蚺、红脖颈槽蛇和钩盲蛇等10种中国常见蛇类共计10336幅图像的CHINESESNAKES蛇类图像数据集,对蛇类图像分类问题进行了研究,设计了BRC卷积神经网络结构,其在CHINESESNAKES蛇类图像数据集上的分类准确率达到了89.061%[4]。近年来,深度学习和人工智能在图像识别领域越来越受欢迎,而传统的卷积神经网络(Convolutional Neural Networks, CNN)不仅训练时间长,而且需要大量的训练样本[5]。因此,在训练样本较少的情况下,采用迁移学习进行图像识别,可以提高整体的识别性能。本文基于Squeezenet模型对10种蛇类进行图像识别,该模型不仅网络参数量相较Alexnet模型减少50倍左右,而且有着更快的识别速度,有更好的可移植性,对于快速识别蛇类意义重大,有利于蛇类研究者对蛇类的快速识别与保护。

1 Squeezenet网络结构

1.1 Squeezenet模型

Squeezenet是由Landola提出的轻量级网络结构,与Alexnet相比较而言,其结构内的参数更少,模型也更小,但是却有着和Alexnet相当的识别精确度,且模型缩小50倍左右[6]。Squeezenet模型有2个卷积层、Fire模块(Squeezenet的核心)、两个最大池化层(max-pooling)和一个全局平均池化层(GAP,Global Average Pooling)以及最后的softmax函数[7]。Fire module结构如图1所示,该结构主要由squeeze层和expand层构成。其中squeeze层开创性地将3*3的卷积核替换为1*1的卷积核,减少了特征通道数。除此之外,squeeze层的输出是expand层的输入,且expand层中不仅有1*1的卷积核,还有3*3的卷积,图像经过两种卷积后,有concat进行操作输出。特征图在经过Fire Module结构后,图片的尺寸不会改变,但是由于经过了1*1的卷积核后,其参数量减少了很多,这也是Squeezenet相较Alexnet减少50倍左右的根本原因。Squeezenet模型结构图如图1所示。

1.2 池化层

池化层又称下采样层或欠采样层,其目的就是对输入特征图进行压缩,降低网络模型的计算复杂度,在一定程度上能够抑制过拟合现象的发生,提高模型的容错率[8]。输入的图像经卷积层输出相应的特征图,由于输出的特征图过大,会导致后续的计算量复杂,因此根据图像的静态特征,在卷积神经网络中引入池化层,降低计算复杂度。常见的池化方式有平均池化和最大池化,计算如下:

2 蛇类数据集

本文使用的数据集包含10种蛇类的图片信息,所有的图片统一处理为227*227*3(3为彩色图片的颜色通道),此次实验中对数据集以训练集:验证集=8:2的比例进行了划分,最后每种蛇类随机挑选100张作为测试集。由于现有的蛇类数据集样本数量较少,且不同类别之间还存在数量不均等的情况,为了防止出现网络过拟合严重和泛化效果差等现象,对蛇类数据集图像进行数据增强处理,如对图像进行旋转,从而增加样本数量。其中泥蛇的数据集原始样本只有139张,而最多的银环蛇数据集样本有836张,样本的之间数量差距过大会导致所训练出的模型无法迁移到测试集进行准确测试。因此,为了解决该问题,数据集样本较少的图片进行数据增强处理(此次实验样本中的赤链蛇、侏儒响尾蛇、泥蛇、乌梢蛇和剑纹带蛇)。

3 实验及结果分析

3.1 实验环境

实验采用的是具有六核AMD Ryzen5 1600x Six-Core的CPU且装备有8G内存的计算机,软件平台是Windows版的Matlab R2019b。

3.2 結果分析

虽然对蛇类数据集进行扩充和数据增强,但是数据集样本仍然是小样本,不适合从零开始训练样本,因此本文为了解决样本数量过少的问题,采用迁移学习的方式训练模型。本文采用的模型为Alexnet模型和Squeezenet模型,对原始数据样本和扩充数据样本进行训练和验证,本次实验数据集原始样本总共为4171张,扩充后的数据集样本为5543张,将训练集:验证集=8:2的比例进行划分。训练模型参数设置:学习率为0.00001,每次输入模型的批尺寸(Bachisize)为50,验证频数为500,训练周期为30个epoch,并使用随机梯度下降动量(SGDM)优化器作为训练选项。其中批尺寸是Alexnet模型和Squeezenet模型进行迭代训练时处理图片的数量,批尺寸越大,整个网络的收敛速度也就越快,其训练的时间也更短,但是会占用更多的GPU显存,因此需要根据计算机的配置来进行相应的设定。学习率的设定也影响着网络的收敛,其取值过大会导致损失函数(Loss)不稳定,取值过小会导致网络收敛速度过慢或过拟合现象的发生。如表是Alexnet和Squeezenet两种模型在数据集扩充前后的性能比较:

从表1和表2中可以看出,扩充数据集后,虽然训练时间更长了,模型也更大了,但是两种模型的准确率都得到了提升,其中Alexnet模型扩充数据集后,识别率提高了3.72%,Squeezenet模型识别准确率提高了6.9%,因此扩充数据集能够在一定程度上提高识别准确率。除此之外,Squeezenet模型在两种数据集模式下,依然保持着相较Alexnet模型更好的性能,在实际应用中有更好的移植性,对硬件资源的要求更低,其服务器可以在同一时间处理更多的数据,提高了工作效率。

本文最终选取Squeezenet模型对10种蛇类图像进行识别,此次实验主要对比扩充数据集前后模型的收敛速度,图中实线为训练集,虚线为测试集,横纵为迭代次数,纵轴为损失函数。从图3和图4中可以看出,数据集扩充以后,模型的收敛速度更快。原始数据在300个epoch开始收敛,而扩充后的数据集在200个epoch就已经开始收敛了。

扩充后的数据集在Squeezenet模型中训练好后,将训练好的模型进行加载,识别测试集中的图片,测试集中每种蛇类有100张测试图片。在加载模型下的识别速度为2.69s,所得混淆矩阵如图5:

图5中class1-10依次为斑背响尾蛇、赤链蛇、侏儒响尾蛇、泥蛇、菜花蛇、银环蛇、乌梢蛇、剑纹带蛇、银环蛇和竹叶青,其中横轴为准确率,纵轴为召回率。由于竹叶青颜色鲜艳且单一,其识别率最高,为97%。识别率较低的有三种蛇类,分别为菜花蛇、银环蛇和乌梢蛇,由于这三种蛇类花纹较复杂,且银环蛇和乌梢蛇有着比较相似的特征,导致识别率偏低。

4 结语

Squeezenet模型和Alexnet模型在同等条件下,Squeezenet始终保持着相对明显的优势,训练时间更短,模型也更小,能够节约更多的硬件资源,并提升工作效率,同时也利于移植到小型硬件中,便于开发。扩充数据集能够在一定程度上促进收敛,提高识别准确率。加载基础模型能够更快地获得识别准确率,且分类效果良好,能够在实际应用中实现更快更好地分类,满足蛇类识别应用中的可靠性和实用性的要求。与此同时,在不损失数据集特征的情况下,如何提高蛇、银环蛇和乌梢蛇的识别率是下一步亟待解决的问题。

参考文献:

[1] 张乐,陶明宝,陈鸿平,等.常用蛇类药材鉴别研究进展[J].中国实验方剂学杂志,2017,23(4):222-227.

[2] James A P,Mathews B,Sugathan S,et al.Discriminative histogram taxonomy features for snake species identification[J].Human-Centric Computing and Information Sciences,2014,4(1):1-11.

[3] Felzenszwalb P F,Girshick R B,McAllester D,et al.Object detection with discriminatively trained part-based models[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2010,32(9):1627-1645.

[4] 付永钦.基于深度学习的蛇类图像分类问题研究[D].杭州:浙江大学,2019.

[5] 谢小红,李文韬.基于迁移学习的图像分类训练方法研究[J].信息与电脑(理论版),2020,32(7):53-55.

[6] Iandola F N,Han S,Moskewicz M W,et al.SqueezeNet:AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size[EB/OL].2016.

[7] 李坤伦,魏泽发,宋焕生.基于SqueezeNet卷积神经网络的车辆颜色识别[J].长安大学学报(自然科学版),2020,40(4):109-116.

[8] 张伟. 基于深度卷积神经网络自学习特征的地表覆盖分类研究[D].北京:中国科学院大学,2017.

【通联编辑:唐一东】

猜你喜欢

蛇类图像识别识别率
基于类图像处理与向量化的大数据脚本攻击智能检测
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
蛇类发酵养殖技术研究进展
蛇类食性及其对农林生态系统的影响概述
图像识别在物联网上的应用
图像识别在水质检测中的应用
提升高速公路MTC二次抓拍车牌识别率方案研究
经济蛇类养殖与开发利用