APP下载

基于卷积神经网络的洱海湿地昆虫分目识别应用

2022-09-28钱其燕罗桂兰

智能计算机与应用 2022年9期
关键词:卷积洱海神经网络

张 梅,钱其燕,罗桂兰

(大理大学 数学与计算机学院,云南 大理 671003)

0 引 言

昆虫是动物界中种类最多,数量最大,分布最广,适应能力甚强,与人类关系极为密切的一类动物。由于昆虫的种类多,数据集的收集也较为困难,且昆虫的种类对农作物的生长和产量以及生长环境都有重大影响。传统情况下,或是农户根据自己的经验进行昆虫识别,或者是昆虫专家通过观察昆虫的外观,根据模型样本来做识别,但却需要大量人力。因此,一种精确、可靠且易操作的自动昆虫识别方法对经济、社会和环境的发展都具有重要意义。

随着深度学习、人工智能等技术的快速兴起,使得通过计算机技术来自动识别昆虫种类成为了可能。昆虫种类的识别方法主要有2种:昆虫的图像识别和声音识别。近年来,基于图像处理技术的昆虫识别已成为研究热点。竺乐庆等人在2013年基于稀疏编码和SCG BPNN的对鳞翅目昆虫图像进行识别,达到较高的识别率,但此方法数据样本数不大,且程序对昆虫标本的位置和姿态有一定的依赖性。Bao等人提出了一种基于复频域变换和多特征融合的昆虫识别算法。杨颖基于蝶类图像数据集,使用MobileNet-SSD目标检测方法,对蝶类昆虫进行识别检测,达到了较高的识别率。林达坤等人基于开源的利兹蝴蝶数据集和拍摄的以森林鳞翅目昆虫为主的数据集,采用改进的差分进化算法实现了鳞翅目昆虫图像识别,其识别率分别达到了81.73%和88.18%。Luo等人在2019年基于IOS移动平台,利用支持向量机(SVM)机器学习设计了一种微型的昆虫图像智能识别系统,其平均识别率达到了87%。在这些研究中,支持向量机分类识别率相对较高,但大规模训练还存在一定的困难。由于卷积神经网络具有学习功能和很强的识别能力,因此利用卷积神经网络(CNN)对昆虫图像特征进行学习训练,达到识别昆虫类别的目的是一种非常有效的方法,同时也使得快速大量运算成为了可能。虽然,近几年也有不少研究者开始将卷积神经网络应用到昆虫图像识别当中,但这些研究大多都停留在实验室理论算法研究阶段,很少在实际环境中付诸识别应用。

洱海位于云南省大理市郊区,是云南省第二大淡水湖,北起洱源,长约42 km,周边有丰富的湿地资源,生态系统保存较完整,昆虫物种较多。在洱海湿地昆虫群落普适生境网络生态行为研究中,发现洱海湿地昆虫大多是鞘翅目、半翅目、鳞翅目、直翅目、膜翅目等。这些昆虫具有非常微小,难以识别等特点,目前对于湿地昆虫识别的研究也仍不多见。本文拟在大理洱海湿地这一特定物理环境下,基于卷积神经网络来进行昆虫的分目识别研究。

1 洱海湿地昆虫图像样本采集

本文于国家自然科学基金项目“洱海湿地昆虫群落普适生境网络生态行为研究”,选取了洱源东湖湿地、洱海月湿地和罗时江湿地为样本采集区域。采集到昆虫样本;再将采集到的昆虫置于鉴定盘里进行初步分类;最后,根据昆虫分类法利用体视镜成像鉴定出昆虫的纲、目等信息,具体的昆虫数据样本采集信息见表1。

表1 洱海湿地昆虫数据样本采集信息Tab.1 Collection information of Erhai Wetland insects data samples

由于实际采集到的样本集中不同目昆虫的图片数量相差很大,会出现样本不均衡的问题,使卷积神经网络对数据量少的目的特征提取和分辨能力降低。为此,本文删除了一些昆虫图片数量较少的目,只留下一些昆虫图片数量大致相当的目,来均衡训练样本数据,减小由于各个目昆虫的图像分布不均匀所导致的识别效果的差异。最终选取了6个目、共452张昆虫图片组成的昆虫数据集用于本文的研究,具体信息见表2。

表2 洱海湿地昆虫样本集Tab.2 Erhai Wetland insects samples set

2 洱海湿地昆虫图像样本处理

由于从洱海湿地采集到的昆虫图片数据量较小,而采用卷积神经网络进行识别需要大量的训练样本,才能有更好的效果。在做训练之前首先需要扩充洱海湿地昆虫图像训练样本,减轻或者防止模型训练的过拟合现象,本文通过Python平台中的keras库自带的数据增强函数对昆虫图像样本进行数据增强,共得到3 564张昆虫图片,样本集中数据分布见表3。

表3 数据增强后的昆虫样本集Tab.3 Insects samples set after data augmentation

将所有半翅目的图片都打上标签0,鳞翅目的图片打上标签1,膜翅目的图片打上标签2,鞘翅目的图片打上标签3,双翅目的图片打上标签4,蜘蛛目的图片打上标签5。打好标签后,将其放入一个行6列的数组里,得到的值为(3 564,6);再对标签进行独热编码。将原始特征变量转换成以原始特征值分类的多维度的变量,并用是否为0或1这种方式的新特征值来代替和量化。

本文将所有采集到的图片的格式都转换成了PNG和RGB通道,并将每张图片的大小都处理为224×224,维度统一扩展成四维。

3 洱海湿地昆虫的分目识别

3.1 分目识别思想

卷积神经网络(CNN)是一种常用于图像、声音分类的深度学习框架,分为卷积层、池化层、全连接层,每一层的信号都通过不同的方法加以处理,最后将互不相连的信息进行连接分类。本文主要是通过卷积神经网络的VGG16模型对洱海湿地昆虫图像进行特征提取;通过全连接层连接所有特征,加权计算结果输出送给分类器,实现洱海湿地昆虫的分目识别。研究给出的分目识别步骤,可做阐释分述如下。

(1)将洱海湿地昆虫图片传入到VGG16卷积神经网络的预训练模型中,用数据驱动模型。

(2)通过前、后向传播,学习和更新参数和权值。

(3)通过卷积、补零、池化、激活等一系列操作提取特征。

(4)通过全连接层连接所有的特征,通过加权计算得出结果。

(5)将输出值传送至分类器。

(6)传入参数,开始训练模型,查看训练集和测试集的准确率。

3.2 特征提取

在特征提取部分,拟展开研究论述如下。

(1)卷积。卷积神经网络中每层卷积层由若干单元组成,每个卷积单元的参数都是通过反向传播算法最佳化得到的。本文通过对输入的洱海湿地昆虫图像做卷积运算达到提取特征的目的。

本文中所用的VGG16模型包含13个卷积层,卷积层的宽度就是每一层的通道数,设置很小。在第一层卷积层中,卷积核通过一定的步长扫描洱海湿地昆虫图片,输入会不断地变化;用卷积核中的固定大小的卷积步长遍历全图,对昆虫图像滤波,这样就可以提取出原图中符合卷积核特征的特征,得到昆虫图像特征图;将得到的特征图作为下一层卷积层的输入,在每一层用多个卷积核滤波,得到不同特性的昆虫特征图。卷积运算的过程如图1所示。这里,研究推得的数学公式可写为:

图1 卷积运算过程Fig.1 Convolutional operation process

在图1中,绿色框中数值表示原洱海湿地昆虫图像素值,红色框中数值表示卷积核中的参数,黄色框表示一个3×3的卷积核。本文选用的3×3卷积核,不仅可以使得决策函数更具有判别性,还能够减少参数的数量,提高训练的效率。

(2)补零。因为卷积后图像变小,得到的矩阵也比原来小,所以在每次卷积操作前,要在原图最外圈补0,这样不仅能使输入图像与输出图像的尺寸相同,也能方便提取图像边缘的特征。

(3)池化。通过卷积层的计算,卷积运算自动完成了对输入特征图的降维和特征抽取,但经过处理后的特征图维数依旧很高,容易导致过拟合。引入池化技术,从某种程度上就相当于在保留显著特征时的降维。本文采用了最大池化,将输入的昆虫特征图像按照一定的方法分割成相同尺寸大小的区域,选择被划分出来的区域中的最大值来作为这一区域的参数。在不影响图像本身质量的情况下,压缩输入特征,减少参数的计算量,提升训练时间性能。

(4)激活函数。卷积运算是线性操作,而卷积神经网络要拟合的是非线性的函数,因此需要加上激活函数。洱海湿地昆虫图片也不一定是线性可分的,可以使用激活函数来解决这个问题。本文选用的是修正线性单元()激活函数,不需要输入归一化来防止达到饱和,对此可表示为:

使用该激活函数的目的是将卷积后特征小于零的数值都变为零,大于零的数值还是其本身,方便后续的矩阵运算。

(5)图像特征提取。载入VGG16模型,剥除其全连接层,将预处理后的昆虫图像数据作为输入来进行特征提取。在特征提取阶段,会存在特征冗余。有的不同目的昆虫某些局部特征相差并不大,容易导致误识别。在网络的训练过程中,会按照一定的概率将网络中的神经元丢弃,有效防止过拟合。

3.3 分目识别实现

通过将昆虫图像特征输入到全连接层计算,再送入分类器实现洱海湿地昆虫的分目识别。对此将做剖析详述如下。

(1)全连接层。导入VGG16模型时,将原有的全连接层剥除了,要利用序贯模型重新构建一个全连接层。而此处的全连接层可以连接经过多个卷积层和池化层的特征图中的特征并进行整合,将获取的昆虫图像特征用于昆虫的分目识别,通过加权计算得出结果,将输出值送到分类器。

本文所用的卷积神经网络共有3个全连接层。激活函数也用于全连接层中,用以创建稀疏矩阵,从而消除数据中的冗余,尽可能保留数据特征,但是最后一个全连接层只需要交给分类器,不用函数激活。

(2)分类器。完成洱海湿地昆虫的分目识别,输出值就要满足2个条件。一是所有的输出都大于或等于零,另一个是所有的输出和为1,这里输出指的是概率。即希望输出之间是有竞争性的,其中一个多了,其他的就得少,而就能满足这2个条件。所以本文采用分类器,函数的数学表述见如下:

其中,表示类别数。

(3)模型的训练与优化。在训练模型过程中,因为搭建的模型、数据的问题,会导致在训练的过程中结果出现误差,在实验的过程中要对所用模型进行优化,提高准确性。而优化算法的作用就是在网络训练的过程中缩短训练时间,并在一定程度上提高模型的精度,将网络中的损失值降到最低,常见的优化算法有Adam、SGD、Adagrad三种。使用这3种算法训练,得到这3种优化算法在本文所用的卷积神经网络中的精确度和损失函数值,见表4。

表4 优化算法的精确度及损失函数的比较Tab.4 Comparison of accuracy and loss function value of optimization algorithms

从表4中可以看出,无论是在精确度、还是损失函数值上,都是Adam优化算法的学习效果更佳,所以本文最终选取Adam优化算法。Adam可以替代传统的梯度下降过程,在训练过程中能动态调整每个参数的学习率,且收敛速度很快,学习效果较明显。

(4)洱海湿地昆虫分目识别结果分析。本文按照一定的洱海湿地昆虫种类比例进行昆虫图像数据集的划分。洱海湿地昆虫图像数据集的划分采用从每个类别中按照一定比例随机抽取的策略。将测试集和训练集按1∶3做随机分割,通过前、后向传播来更新网络权值。

本文研究中,一共划分出891张图像作为测试集,2 673张作为训练集。经过迭代训练,训练集的平均准确率达到了95.80%,测试集的平均准确率达到了87.20%。训练集及测试集的昆虫分目识别结果见表5。

表5 昆虫分目识别结果Tab.5 Identification results of insects classification

将测试集的图片输入训练好的模型,预测的部分结果如图2所示,证明了此模型的效果是较好且稳定的。

图2 部分预测结果图Fig.2 Part of the prediction results

4 结束语

基于云南大理洱海湿地这一特定物理环境,本文选取了采集到的6个目(半翅目、鳞翅目、膜翅目、鞘翅目、双翅目和蜘蛛目)的昆虫图片,将采集到的图片进行增强处理,并将训练集图片的每个目都打上标签,再进行标签独热编码、格式转换和预处理。同时,以224×224的彩色图像输入到剥除全连接层的VGG16模型中,通过卷积、补零、池化等一系列操作进行特征提取,再将图片输入到重构的全连接层进行分目识别。将训练集按比例随机分为测试集和验证集,通过前后向传播进行网络权值更新。经过迭代训练,训练集的准确率达到了95.80%,验证集的准确率达到了87.20%。该研究结果能为大理洱海湿地昆虫研究提供智能化信息处理技术支持。随着信息技术的不断发展,智能信息处理技术在昆虫识别领域中的应用还有很大的空间。本文目前所能识别的昆虫种类仍然非常有限,如何在昆虫种类增加的情况下,进行大量的图像学习和训练,进一步提高昆虫识别的准确率,并开发相应的昆虫识别系统则是未来的研究重点。

猜你喜欢

卷积洱海神经网络
基于全卷积神经网络的猪背膘厚快速准确测定
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
MIV-PSO-BP神经网络用户热负荷预测
开学第一课《洱海保护》教学设计
基于深度卷积网络与空洞卷积融合的人群计数
走到洱海
诗意洱海
洱海太湖石
三次样条和二次删除相辅助的WASD神经网络与日本人口预测