基于SSD网络模型改进的水稻害虫识别方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
㊀第52卷第3期郑州大学学报(理学版)Vol.52No.3㊀2020年9月J.Zhengzhou Univ.(Nat.Sci.Ed.)Sep.2020
收稿日期:2019-11-12
基金项目:国家自然科学基金项目(61101235)㊂
作者简介:佘颢(1995 ),男,湖南常德人,硕士研究生,主要从事图像识别及其现代农业应用研究,E-mail:553909601@;通信作者:吴伶(1963 ),男,湖南湘潭人,教授,主要从事自动控制系统及智能信息处理研究,E-mail:wuling_bit@㊂
基于SSD 网络模型改进的水稻害虫识别方法
佘㊀颢,㊀吴㊀伶,㊀单鲁泉
(湖南农业大学信息与智能科学技术学院㊀湖南长沙410128)
摘要:针对目前主流的目标检测算法在虫害监控系统中识别速度慢㊁准确度低的问题,提出一种基于SSD 网络模型
的水稻害虫识别方法㊂该算法用表征能力更强的特征金字塔代替SSD 原有的多尺度特征图,同时改进了归一化和激
活函数,使得模型对小目标的识别率更高㊁收敛性更好,从而提高了水稻害虫的识别率与检测速度㊂实验表明,相比
于faster R-CNN 算法,基于SSD 改进的水稻虫害识别方法的mAP 最高提升了6.6%,其识别速度最高提升8倍㊂关键词:SSD 神经网络;目标检测;数据增强;激活函数
中图分类号:TP391.41㊀㊀㊀㊀㊀文献标志码:A㊀㊀㊀㊀㊀文章编号:1671-6841(2020)03-0049-06DOI :10.13705/j.issn.1671-6841.2019526
0㊀引言
水稻是人类主要粮食作物之一,世界上约一半的人口都是以大米为食㊂虫害问题严重影响到水稻产量和质量,准确识别害虫种类可以有效揭示虫害灾情的规律,给科学防控措施提供基础数据㊂如今病虫害的检测基本依靠人工识别,但是虫群数量庞大㊁种类多,仅仅依靠少量的植保专家并不能有效及时实现对虫害的识别,而害虫通常繁殖周期短㊁发展迅速,有可能延误最佳的防治时间,导致一系列经济损失[1]㊂
随着互联网的迅猛发展,图像识别的精度在不断提升,将图像识别技术应用到病虫害的检测中,成为了最新的发展趋势[2]㊂文献[3]将图像识别中传统的支持向量机(support vector machine,SVM)分类器应用于粮储害虫的检测㊂魏杨等[4]使用基于候选区域提取的快速区域的卷积神经网络(fast region-based convolu-tional network method,fast R-CNN)模型对农业害虫进行识别,实现了在复杂背景下进行农业害虫识别,但是识别精度和速度都有待提高㊂Gassoumi 等[5]使用模糊神经网络方法对12种危害棉花作物生长的常见害虫进行分类识别,实现了对害虫的高精度识别,其识别速度仍不能满足大范围的害虫识别㊂周清松等[6]采用图像识别中的边缘检测方法对粮虫进行目标检测,但该方法对小目标的识别精度较低㊂
以上研究表明,目前已有的目标检测算法在识别精度或检测速度上难以满足农田环境下农作物病虫识别的广泛性㊁精准性和时效性等需求㊂Huang 等[7]指出单步多框检测(single shot multibox detector,SSD)在主流的检测算法中,检测速度最快㊂裴伟等[8]指出SSD 在检测精度与检测速度中有很好的平衡性㊂对SSD 算法进行一些改进是一种较为便捷的方法㊂
因此,本文使用特征金字塔网络(feature pyramid networks,FPN)模型[9]对SSD 算法进行了改进㊂该模型将最顶层的特征图与前层特征图进行多尺度特征融合,使模型获得更丰富的浅层语义信息,提升小目标的识别率,将批量归一化改为组归一化,减少误差,通过改进的ReLU 激活函数提高对模型的拟合度,获取更快的检测速度㊂
1㊀改进的SSD 算法
SSD 算法是一种基于单个神经网络的目标检测算法,采用VGG16为基础模型,在此基础上添加辅助卷积㊁池化层,从不同层获取特征并进行预测,其中语义会随着层级的加深而更复杂㊂该算法采用的是faster
郑州大学学报(理学版)第52卷R-CNN中候选框的方法,在特征提取中设置长宽比不同的4个先验框,相较于faster R-CNN的候选区域,
SSD的先验框数量更少,其目标检测速度更快㊂但SSD算法识别率较低,并且对小目标的识别率不高,时常会出现对同一物体反复检测的现象㊂
本文在归一化方法㊁激活函数㊁SSD网络模型三个方面对SSD神经网络进行了研究和改进,得到一种新的水稻害虫识别方法㊂
1.1㊀归一化方法
在机器学习等领域中,需要将训练数据分批输入原始模型,然后不断对模型进行调整得到最终的结果㊂在这个过程中,每次输入的一批数据规模被称为批量规模(batchsize)㊂在水稻害虫识别的应用中,输入图像数据很大,选用较大批量规模时会对内存或显存有较高要求,使得应用难以在合理的成本下进行推广㊂因此,只能使用较小的批量规模实现模型训练㊂
传统的SSD模型中采用的批量归一化(batch normalization,BN)方法㊂该方法对较小的批量实行归一化时,由于数据量较少,通过批量归一化产生的估算数据会与实际情况产生较大的误差,并且随着批量的变小,其误差会迅速增大㊂为了达到减少训练误差的目的,本文采用组归一化(group normalization,GN)实现模型的训练㊂在模型训练时,数据的维度通常是[N,C,H,W]的格式,其中:N是批量规模;C是对应的通道数;H 是特征图的高;W是特征图的宽[10]㊂使用BN进行归一化,将每个通道的数据单独拿出来进行处理㊂使用GN进行归一化,则是将信号通道分成多个组,分别将各个组的数据进行归一化,最后合并[11]㊂GN的数学表达式为
μ(x)=
1
(C/G)HW
ð(g+1)C/G c=gC/GðH h=1ðW w=1x nchwхɪR nˑcˑhˑw,(1)
σ(x)=
1
(C/G)HW
ð(g+1)C/G c=gC/GðH h=1ðW w=1(x nchw-μng(x))2+ε,(2)
其中:G表示将每个特征图的通道分为G组;μ㊁σ分别表示为均值和标准差;ε是控制梯度下降速度的超参数;R表示特征图的数据维度㊂从公式可以看出使用GN进行归一化时,是在(H,W)轴上对属于同一个C/G 通道的特征值进行均值和方差的计算,而不是沿着通道计算每一个批量的均值㊁方差㊂可见归一化的结果与批量规模无关,所以设置较小的批量规模时并不会对训练结果造成影响,而且在批量规模大幅变化时,精度依然稳定㊂
1.2㊀改进的激活函数
SSD函数模型采用线性整流函数(rectified linear unit,ReLU)作为激活函数,增加SSD模型的表达能力,使其可以在非线性网络模型中运行㊂ReLU函数在xɤ0时梯度为0㊂因此,当设置了较大的学习率时,会导致负的梯度在这个ReLU上被置零,则可能出现这个神经元不能被任何数据激活的情况,这种现象被称为神经元死亡[12]㊂
为了避免神经元死亡现象的发生,不少学者使用参数修正线性单元(parametric rectified linear unit, PReLU)函数,PReLU的数学表达式为
f(x)=
αx,xɤ0
x,x>0
{,(3)
公式(3)中的α是一个可以通过学习获得的参数㊂PReLU在xɤ0时值不为0,避免了神经元坏死的现象㊂该函数不仅继承了ReLU激活函数更高效地梯度下降以及反向传播,同时还拥有高活跃度的分散性,使得神经网络整体计算成本降低,同时还避免了使用ReLU函数导致的神经元坏死现象,并且在训练时拥有更快的收敛速度[13]㊂
本文结合ReLU和PReLU的特点,提出了一种改进的激活函数(TReLU)㊂数学表达式为
f(x)=
αtanh(x),xɤ0
x,bȡx>0
b,x>b
ì
î
í
ïï
ïï
㊂(4)
㊀㊀TReLU函数在xɤ0时,不为0,因此可以避免在x<0时出现神经元坏死现象,降低了计算网络参数所需的迭代次数,提高了目标检测的训练速度㊂同时,TReLU的函数图像在xɤ0时是一个非线性曲线,相对05
㊀第3期佘㊀颢,等:基于SSD 网络模型改进的水稻害虫识别方法于PReLU 的线性曲线,非线性函数对输入变化或噪声拥有更棒的饱和性[14],能带来更好的泛化性㊂随着训练次数的不断增多,使用PReLU 或ReLU 激活函数的神经网络容易出现损失值不收敛的现象㊂因此TReLU
在x >0的部分设置了一个阈值b ㊂当到达该阈值时,模型不会进行过多的调整,避免出现过拟合的现象㊂
总的来说,使用TReLU 作为激活函数,能使模型更快收敛,减少训练时间㊂同时,使用TReLU 也使得模型的泛化能力更强,不容易出现过拟合现象㊂TReLU 是大规模部署和推广水稻害虫识别方法的有力工具㊂
1.3㊀改进的SSD 网络模型传统的SSD 算法采用的多尺度预测,虽然提升了识别速度,但没有将不同特征层的特征信息区分开来,不能充分结合上下文语义进行预测㊂而FPN 模型不仅能将浅层细节与高层语义结合起来提高图像的识别率,而且补充的细节信息在一定程度上也能够提高模型的识别精准度,同时FPN 对小目标会有更好的特征映射分辨率[15]㊂因此,本文在FPN 模型的基础上对SSD 网络模型进行了改进㊂传统的FPN 模型占用内存大且需要大量的运算,严重影响了计算机运算速度㊂本文采用SSD +FPN 相结合,对网络模型进行了一定的修改:首先,将网络模型中的两个全连接层分别改为卷积核大小3ˑ3和1ˑ1的卷积层;然后,将最后一层池化层的卷积核大小改为3ˑ3,并将步长设置为1;接着,添加了4个卷积层,同时把卷积层中Conv6_2的步长改为1;最后,采用TReLU 作为卷积后的激活函数㊂改进的SSD 模型示意图如图1所示
㊂
图1㊀改进SSD 深度学习模型结构
Figure 1㊀Improved SSD deep learning model structure
使用改进的网络模型进行预测的处理过程是:①卷积层中的Conv9_2直接作为预测层中1ˑ1的特征图;②依次对Conv9_2㊁Conv8_2㊁Conv7_2㊁Conv6_2㊁FC7使用1ˑ1卷积降低特征图通道数,再使用双线性插值方法进行上采样处理,通过融合与组归一化得到预测层中3ˑ3㊁5ˑ5㊁10ˑ10㊁19ˑ19的特征图;③对FC7㊁Conv6_2采用双线性插值进行上采样操作,并与Conv4_3融合后进行组归一化,得到预测层中38ˑ38的特征图;④使用前述步骤得到的6个特征图构建出一个特征金字塔,通过这个特征金字塔进行预测操作㊂2㊀实验
2.1㊀实验环境
本次实验使用在Ubuntu16.0464位操作系统下,使用Tensorflow 框架构建改进的SSD 神经网络,对测试数据进行验证㊂进行实验的计算机物理配置为:CPU 是Intel Core i77700HQ @2.8GHz;内存为16GB;GPU
是NVIDIA GTX1080Ti㊂
2.2㊀数据的采集与构建
数据图像的采集来自于湖南农业大学科研大田实验基地,采用人工方式,通过Sonya57相机在自然环境15
郑州大学学报(理学版)第52卷进行田间拍照,以及捕捉相关样本进行实地拍取,并且通过网络爬虫技术在互联网上获取更多的相关害虫图片㊂深度学习需要大量的数据集作为依托,为了在后期使模型更好地训练和区分,防止训练过程中因为数据量过少而造成的过拟合现象,采用数据增强的方式扩充了数据集㊂
本文对采集到的数据进行增加噪音㊁旋转剪切㊁改变色差㊁扭曲特征等操作,将实验数据集扩充至11568
幅图像㊂2.3㊀实验过程
整个实验过程分为三步:数据集划分㊁模型训练和模型测试㊂
首先,对数据集进行划分㊂使用交叉验证方法,将数据集分成了训练集和测试集㊂其中,训练集包含约8000幅图片,测试集包含3568幅图片㊂我们使用训练集训练网络模型,然后使用测试集进行实验,并对实验结果进行对比㊂
然后,使用训练集对网络模型进行训练㊂将激活函数学习率设置为1e -4,正则化权值衰减系数设置为
5e -4,学习率衰减因子设置为0.97,当训练完成时得到我们需要的模型㊂最后,将测试集放入得到的模型中进行测试实验,并对实验结果进行测试分析㊂在对结果进行分析时,使用均值平均准确度(mean average precision,mAP )和平均准确度(average precision,AP )作为目标检测评估参数㊂AP 是单个类别下的准确率,mAP 是多个类别下的平均准确率㊂在单类害虫场景中,我们关注AP ;在多类别害虫的复杂场景中,我们更加关注mAP ㊂AP 和mAP 的计算公式为
AP =
ðprecision /N ,mAP =ðAP /M ,其中:precison 表示在被判断为准确的图片中,真正判断准确的图像比例;N 表示该类别图片总数;M 表示类别总数㊂
2.4㊀实验结果
使用训练得到的模型对测试集中的图片进行测试㊂部分识别结果如图2所示㊂为了验证本文对SSD 神经网络模型进行改进后得到的效果,我们还使用传统的SSD 对测试集进行了实验,得到了如图2(b)所示的结果㊂除此之外,为了使对比实验更具有说服力,使用常见的faster R-CNN 方法对测试集进行了实验,如图2(a)
㊂
图2㊀水稻害虫目标检测实验结果
Figure 2㊀Experimental results of target detection of rice pests
从图中可以看出初步的结果,本文所采用的模型算法能更好地识别小目标㊂当图片中的害虫数目较少时,害虫被检测到的准确率较高;当害虫数目较多时,较大的害虫能够被检测出来,较小的害虫被检测出来的准确率稍微低一些㊂
2.5㊀结果分析
根据上述实验步骤与数据,得到SSD㊁faster R-CNN㊁改进SSD 三种算法在5类常见稻田害虫的AP 值,如
图3所示㊂在图3中,主要通过AP 值去衡量算法的准确性㊂可以看出,改进的SSD 算法对大螟㊁稻飞虱㊁稻蝗㊁金刚钻四种害虫的AP 值明显高于SSD 算法㊁faster R-CNN 算法,对二化螟的AP 值也不低于其他算法㊂从整体上看,改进SSD 算法的AP 值为75%~88%,SSD 算法的AP 值为73%~85%,faster R-CNN 算法的AP 值为
65%~83%㊂改进的SSD 算法在小目标稻飞虱的识别中,AP 值比原SSD 算法提高约8%㊂因此,对这五类常见害虫的识别上本文的改进SSD 算法完全优于其他两种算法㊂表1主要是通过每秒传输帧数(frames per second,FPS )与mAP 去综合衡量算法[16]㊂FPS 指标越高,就意味着检测速度越快;mAP 值越高就意味着目标检测准确度越高㊂从表1可以看出,算法经过训练后,改进
25
㊀第3期佘㊀颢,等:基于SSD
网络模型改进的水稻害虫识别方法图3㊀水稻害虫的检测的AP 值对比
Figure 3㊀Comparison of AP value of rice pests
的SSD 模型mAP 达到了79.3%,是所有参与测试的算法中表现最好的,且耗费训练时间也是最少的㊂与常用的faster R-CNN 算法㊁SSD 算法相比,改进的SSD 算法的mAP 值分别提高了6.6%㊁3.5%,FPS 最大提升了
8倍㊂改进的SSD 算法在提升FPS 值的同时,mAP 的值也有一定的提升,在害虫识别上优于主流算法㊂
表1㊀不同网络结构下的水稻害虫识别结果
Table 1㊀Recognition results of rice pests under different network structures 算法
网络模型
激活函数FPS /帧mAP /%faster R-CNN VGG16
ReLU 4.272.7faster R-CNN ResNet-101ReLU 2.374.3SSD VGG16ReLU 22.075.8改进SSD
VGG16TReLU 31.179.33㊀结论
本文提出的基于SSD 网络模型的水稻害虫识别方法大幅度提高了害虫识别的检测速度,并在一定程度上提高了检测的精度,具备更好的性能㊂通过对水稻害虫检验结果进行分析,可得到以下结论㊂
1)从对小目标检测的结果来看,将浅层细节与高层语义相结合,能大幅度提升对小目标识别的精确度,
与原有的SSD 网络模型相比,在单个种类上AP 值的提升最高约为8%;2)改进后的SSD 算法相对于faster R-CNN㊁传统SSD 算法等在检测准确度上有所提升,测试集的实验
结果显示,mAP 值分别提高6.6%㊁3.5%;3)从目标检测的速度上看,改进后的SSD 算法大幅度提高了检测速度,其每秒传输帧数相比于faster R-CNN 增加了26.9帧/秒,相比于原SSD 算法增加了9.1帧/秒㊂改进后的SSD 算法与传统的虫害识别算法相比更高效㊁更精确㊂从实验结果得出,该模型检测大目标效果较好,但是对小目标的识别效果还有较大提升空间,且训练网络并不是非常完善,精确度还有待提高,性能仍需改进,这是后期需要研究与改进的地方㊂
参考文献:
[1]㊀苗海委.储粮害虫图像定位识别算法的研究与实现[D].北京:北京邮电大学,2019.MIAO H W.Research and implementation of detection algorithm for stored grain insects [D].Beijing:Beijing University of
Posts and Telecom,2019.
[2]㊀LIU W,ANGUELOV D,ERHAN D,et al.SSD:single shot multibox detector[C]ʊThe 14th European Conference on Computer Vision.Amsterdam,2016:21-37.
[3]㊀王德发.基于图像识别的储粮害虫检测[D].北京:北京邮电大学,2017.WANG D F.Detection of stored grain pests based on image recognition[D].Beijing:Beijing University of Posts and Telecom,
2017.[4]㊀魏杨,毕秀丽,肖斌.基于区域卷积神经网络的农业害虫检测方法[J].计算机科学,2018,45(S2):226-229.WEI Y,BI X L,XIAO B.Agricultural insect pest detection method based on regional convolutional neural network[J].Com-
puter science,2018,45(S2):226-229.
[5]㊀GASSOUMI H,PRASAD N R,ELLINGTON J J.Neural network-based approach for insect classification in cotton ecosystems 3
5
45
郑州大学学报(理学版)第52卷
[C]ʊProcceeding of International Conference on Intelligent Technolofies.Bangkok,2000:7-8.
[6]㊀周清松,唐秀忠.图像识别处理技术在农业工程中的应用[J].现代电子技术,2017,40(4):107-110.
ZHOU Q S,TANG X Z.Application of image recognition processing technology in agricultural engineering[J].Modern elec-tronics technique,2017,40(4):107-110.
[7]㊀HUANG J,RATHOD V,SUN C,et al.Speed/accuracy trade-offs for modern convolutional object detectors[C]ʊ2017IEEE
Conference on Computer Vision and Pattern Recognition(CVPR).Honolulu,2017:3296-3297.
[8]㊀裴伟,许晏铭,朱永英,等.改进的SSD航拍目标检测方法[J].软件学报,2019,30(3):738-758.
PEI W,XU Y M,ZHU Y Y,et al.The target detection method of aerial photography images with improved SSD[J].Journal of software,2019,30(3):738-758.
[9]㊀张建明,刘煊赫,吴宏林,等.面向小目标检测结合特征金字塔网络的SSD改进模型[J].郑州大学学报(理学版),
2019,51(3):61-66.
ZHANG J M,LIU X H,WU H L,et al.Improved SSD model with feature pyramid network for small object detection[J].
Journal of Zhengzhou university(natural science edition),2019,51(3):61-66.
[10]WU Y X,HE K M.Group normalization[C]ʊEuropean Conference on Computer Vision.Munich,2018:3-19.
[11]ULYANOV D,VEDALDI A,LEMPITSKY V.Instance normalization:the missing ingredient for fast stylizationg[EB/OL].
(2018-11-01)[2019-12-23].https:ʊ/abs/1607.08022.
[12]ZHANG Y D,PAN C C,CHEN X Q,et al.Abnormal breast identification by nine-layer convolutional neural network with par-
ametric rectified linear unit and rank-based stochastic pooling[J].Journal of computational science,2018,27:57-68. [13]刘小文,郭大波,李聪.卷积神经网络中激活函数的一种改进[J].测试技术学报,2019,33(2):121-125.
LIU X W,GUO D B,LI C.An improvement of the activation function in convolutional neural networks[J].Journal of test and measurement technology,2019,33(2):121-125.
[14]张尧.激活函数导向的RNN算法优化[D].杭州:浙江大学,2017.
ZHANG Y.Activation function awareness of RNN algorithm optimization[D].Hangzhou:Zhejiang University,2017. [15]LIN T Y,DOLLAR P,GIRSHICK R,et al.Feature pyramid networks for object detection[C]ʊ2017IEEE Conference on
Computer Vision and Pattern Recognition(CVPR).Honolulu,2017:936-944.
[16]杨鹏,蔡青青,孙昊,等.基于卷积神经网络的室内场景识别[J].郑州大学学报(理学版),2018,50(3):73-77.
YANG P,CAI Q Q,SUN H,et al.Indoor scene recognition based on convolutional neural network[J].Journal of Zhengzhou university(natural science edition),2018,50(3):73-77.
Improved Rice Pest Recognition Based on SSD Network Model
SHE Hao,WU Ling,SHAN Luquan
(School of Information Science and Intelligent Technology,Hunan Agricultural
University,Changsha410128,China)
Abstract:At present,most of the target detection algorithms based on candidate box were applied to pest monitoring system.The identification of algorithms was slow and inaccurate.The method of rice pest identification based on SSD network model was proposed.The original multi-scale feature mapping of SSD was replaced by a feature pyramid with strong representation ability.The improved normalization and acti-vation methods were used to improve the accuracy and convergence.Experiments showed the mAP of the improved SSD was6.6%higher,and the recognition speed was8times faster than faster R-CNN.
Key words:SSD neural network;target detection;data augmentation;activation function
(责任编辑:王浩毅)。