一种基于CNN的鳞翅目昆虫种类自动鉴别方法与流程

文档序号:12035203阅读:835来源:国知局
一种基于CNN的鳞翅目昆虫种类自动鉴别方法与流程

本发明涉及一种基于cnn的昆虫种类自动鉴别方法,特别是对鳞翅目昆虫的自动鉴定,cnn是近几年来机器学习领域的研究热点,被广泛应用于在视觉对象识别、自然语言处理、语音分类等不同领域并取得了不俗的性能。本发明将cnn这种深度学习神经网络技术应用于昆虫图像的自动识别,用该技术设计的软件系统可应用于植物检疫、植物病虫害预测预报及其防治等领域,或可作为重要组成部分用于生态信息学研究的借鉴和参考。该项技术可被海关、植物检疫部门、农林病虫害防治等部门所采用。可为不具备有关专业知识的基层工作人员或农民提供自动鉴别的手段。



背景技术:

昆虫与人类的关系复杂而密切,一些种类给人类的生活和生产造成巨大的危害和损失,一些则给人类带来生态或经济上的重大利益。为了减轻害虫对农作物的影响,合理利用益虫,首先我们必须准确识别出昆虫的种类。然而,由于昆虫种类繁多,进化换代快,要识别昆虫却非易事。目前具备昆虫分类专业知识的昆虫研究者相对于昆虫分类的需求来说存在较大缺口,有些物种甚至在人类能对其命名和描述之前就灭绝了,而这种情况正变得越来越严峻。为解决昆虫分类鉴定需求和分类人员数量不足之间的矛盾,需要找到能辅助或代替人为鉴别昆虫的方法。近几十年来,图像处理与模式识别技术发展较快,因此采用这些技术来实现计算机辅助分类(cat)便成为可能。使用先进计算机技术进行昆虫自动或辅助种类鉴定,客观性强,可以克服人为鉴定时主观情绪影响所带来的误判。

计算机视觉技术的出现和快速发展使得计算机处理和分析图像的能力大大增强,一些计算机科学家和昆虫学家开始尝试使用计算机图像处理、模式识别等技术实现昆虫种类的自动鉴定。英国政府于1996年发起daisy(digitalautomatedidentificationsystem)研究工程,在全世界范围内掀起了有关昆虫自动识别研究的热潮。daisy项目后受达尔文项目资助,其功能被不断完善和扩展,甚至被用于鉴定活体蛾类。美国新墨西哥州立大学的jeffreydrake博士也致力于使用高级数字图像分析和理解技术来开发从大范围的样本中快速鉴别出昆虫种类的软件系统,其研究受美国动植物卫生服务局和美国国家航空航天局资助。美国俄勒岗州立大学的植物生理学与植物学系的andrewmoldenke等人开发了一套称为bugwing的基于网络的计算机辅助昆虫鉴别工具,利用昆虫的翅脉特征对具有透明翅的昆虫实现半自动的识别。2001年steinhage等开发出的abis(theautomatedbeeindentificationsystem)利用前翅的几何特征和外观特征鉴别蜜蜂,该系统需要手动定位昆虫的位置以及对前翅的先验专家知识。al-saqer等用归一化交叉相关、fourier描述子、zernike矩、串匹配和区域属性等五种方法相结合的处理方式实现了核桃象鼻虫的识别。美国华盛顿大学的larios等近几年来一直致力于对石蝇幼虫种类的图像识别研究,提出了局部外观特征直方图串接,haar随机森林提取特征、层叠判据树、层叠空域金字塔核等特征提取或分类方法,通过鉴定石蝇的种类和数量来监测河流等水环境的生态与健康情况。新西兰怀卡托大学的mayo和watson则使用imagej图像处理工具包与机器学习工具包weka对活蛾的种类识别进行了研究,使用weka中的svm分类器进行10折交叉验证在含35种活蛾的数据集中取得平均85%的识别率。

在国内,有代表性的昆虫图像自动识别研究小组为中国农业大学的ipmist(植保生态智能技术系统)实验室,该实验室的成员先后对昆虫数学形态学、昆虫图像数字技术、昆虫数字图像分割技术、昆虫图像几何形状特征的提取技术、以及基于图像的昆虫远程自动识别系统等方面展开了研究,提出了基于颜色特征的昆虫自动鉴定、基于数学形态学的昆虫自动分类等多种方法。

卷积神经网络(cnn)是一种用可训练的滤波器组与局部邻域池化操作交替使用于原始输入图像上并得到渐次复杂的层次化图像特征的一种深度学习模型。辅以适当的正则化手段,cnns可以在不依赖于任何手工提取特征的情况下在视觉对象识别任务中取得非常理想的性能。迄今为至,cnn已被应用于手写数字识别,图像识别,图像分割、图像深度估计等诸多领域,相对于已有的模式识别和图像处理方法,性能上取得了相当大的提升。昆虫作为一种特殊的视觉对象,用cnn实现其种类的识别也必然是一种顺利成章的选择。



技术实现要素:

本发明的目的在于提供一种自动识别鳞翅目昆虫图像的方法。它主要解决由昆虫图像样本通过计算机模式识别技术实现鳞翅目昆虫种类自动识别问题。能以较高性能有效识别出有显著特征的昆虫种类。昆虫标本无须使用化学方法去除翅面的鳞片和色斑,避免已有的基于翅脉特征的方法所带来的复杂处理过程。并解决基于图像形状特征的昆虫识别方法对残缺样本、图像尺度变化产生的精度性能下降。

本发明采用的技术方案为:

权利要求

本发明的优点在于:本发明中的基于cnn的鳞翅目昆虫图像自动识别方法,不需要对昆虫图像用化学试剂去除表面鳞片和色斑,图像采集方法简便易操作,使用的方法更鲁棒,不仅对昆虫标本的部分破损有较好的容错能力,且在样本图像充分的前提下,同一网络中可同时对半翅、全翅及活体图像进行处理并识别。在预处理过程中,通过对采集的昆虫标本图像去除背景,及计算出前景图像的最小包围盒等操作,剪切出前景有效区域。特征提取时利用imagenet数据集预训练得到的cnn模型来提取特征向量,提取到的特征不但具有尺度不变性及代表性,而且更加全面丰富。分类识别时,本发明划分两种情况:在样本量较充分时,微调预训练网络,训练优化深度卷积神经网络(dcnn)的全连接层或分类层的模型参数,来得到端到端的分类结果。当样本数据集较小时,不适用于依赖大样本的深度神经网络分类层的训练及调参,本发明跳过分类层,改用适用于小样本集的χ2核svm分类器,以取得最佳的识别性能。

附图说明

图1标本图像的原图;

图2从图1中去除背景后的标本图像;

图3前景图像最小包围盒;

图4alexnetcnn网络结构示意图;

具体实施方式

本发明包括以下步骤:

1)图像预处理:去除鳞翅目标本彩色图像的背景,对去除背景后的图像进行灰度化、高斯滤波后进行二值化,在该二值图像中找到最大轮廓,获得昆虫图像的前景蒙板。对前景轮廓求取最小包围盒,然后基于最小包围盒并剪切出原彩色图像的对应区域作为研究对象。但由于cnn模型的输入维度需固定,为防止图像变形,本发明以最小包围盒为依据对原彩色图进行相应尺度的剪切。imagenet输入到cnn的图像大小为227×227,为了保证迁移学习获得的参数的有效性,我们输入到cnn的昆虫图像也预处理成同样大小。当最小包围盒的两边都小于227时,以包围盒为中心以尺度227×227剪切原图像相应区域。当最小包围盒有一边大于227时,先将图像等比例缩小到227×227内,再以此为中心,以所需尺度剪切原图像相应区域,得到目标图像。

2)基于深度卷积神经网络的图像特征提取:

得到相同大小的目标昆虫图像后,使用imagenet预训练得到的cnn模型中训化好的特征提取层来提取昆虫的特征。

3)分类鉴别:分类识别时,本发明划分两种情况。在样本量较充分时,微调预训练网络,对昆虫图像进行端到端的训练和分类。训练阶段调整深度卷积神经网络(dcnn)的后三层的模型参数,预测阶段则直接由输入图像输出分类结果。当样本数据集较小时,不适用于依赖于大样本学习的深度神经网络分类层的训练及调参。本发明跳过分类层,改用适用于小样本集的χ2核svm分类器。将深度卷积神经网络提取到的特征作为输入,每个特征矢量对应的目标标签作为输出,为每一类昆虫训练χ2核svm,以显式的χ2核近似变换公式首先将特征向量映射到更高维空间,以高维特征向量训练线性svm,以实现分类识别。基于χ2核分类器模型,可实现对不同目标图像进行标注和分类。

下面结合附图详细说明。

1)图像预处理

使用数码相机拍摄鳞翅目标本,得到鳞翅目标本的原始彩色图像,用lazysnapping方法去除背景,设置背景颜色为单色(图2中显示为白色,实际通常将背景设置为黑色),前景保持原图信息。原始图像与去除背景后的图像见图1、图2。

对前景图像求取最小包围盒,然后基于最小包围盒剪切出原彩色图像的对应的区域作为研究对象,最小包围盒的示意图见图3。检查此最小包围盒的长和宽,如出现长宽超出224像素的情况,则等比例缩小图像直至包围盒的最长边为224,如包围盒的长宽均小于224则不作处理。最后以此最小包围盒为中心,裁剪227×227大小的正方形区域作为预处理的结果。

2)基于深度卷积神经网络的图像特征提取

得到相同尺度的目标昆虫图像后,使用imagenet预训练得到的cnn模型的卷积层和前两层全连接层来提取昆虫图像的特征。基于alexnet的cnn实现端到端识别的网络结构见图4。

3)分类鉴别

①如图4,在样本数据充分的情况下,首先将imagenet预训练得到的cnn模型中,卷积层的参数固定,微调后三层全连接层的参数(也可固定前两层全连接层,只微调最后一层参数,具体依训练样本的数量而定)。训练深度卷积神经网络(dcnn)的后三层(或后一层)的模型参数。最终将测试样本输入训练得到的卷积神经网络,直接得到端到端的分类结果。

②当样本数据集较小时,将深度卷积神经网络第二个全连接层的输出作为提取到的特征每个样本对应的类别标签作为输出,通过训练χ2核svm分类器构建得到目标的分类器模型进行分类识别。

本发明使用χ2核函数对上述特征映射到更高维空间,映射至线性可分的更高维特征空间,以高维特征向量训练线性svm,以实现分类识别。

本发明选用同质非线性加性核,χ2核函数形式为:

为了使用线性核的高效学习方法来解决非线性核问题。我们利用了vedaldi和zisserman提出的特征映射的显式解析公式:

此处实数λ相当于特征向量ψ(x)的索引,κ(λ)为签名k(ω)的傅立叶逆变换:

其中

k(ω)=sech(ω/2)(4)

此处映射得到的特征向量为无限维度,有限维度的向量可以通过有限数量的采样点近似得到。有限维的特征映射可以对式(2)在点λ=-nl,(-n+1)l,...,nl处采样得到ψ(x)的近似。通过充分利用ψ(x)的对称性,将实部赋于奇单元,虚部赋于偶单元,则向量可定义为:

其中j=0,1,...,2n。这样,根据给定的核函数,可由上式简单高效地产生特征映射的封闭形式,在本发明中,取n=1,则原特征向量中每个数据点被映射成3个采样点,特征维度被放大为原来的3倍。

用映射得到的训练集特征向量训练l2-正规化l1损失带正偏移的线性svm分类器。即对如下公式

y=ωix+bi(6)

对每一类训练样本集{xi,yi}(i=1,...,n),根据训练集数据计算出最优的ωi和bi,其中对每一个i,xi是特征向量,yi是类标签,+1表示正例,-1表示反例(训练时把本类的设置为正样本,其他类设为负样本),n类样本将训练出n组{ωi,bi},形成n个线性svm分类器。对于本文的多类分类问题,给定一个未知类别的测试样本x’,用如下方式确定类标签:

l即为识别得到测试样本所属类的编号。

下面再结合具体实现方法的实例,对本发明的昆虫图像的自动鉴别做进一步的详细说明:

实例1

1.使用“光影魔术手”附带的抠图功能模块或grabcut+lazysnapping工具,完成从图1到图2的背景去除工作,并把背景设置成黑色。

2.从去除背景后的昆虫图像求取昆虫图像的最大包围盒。

3.检查最大包围盒的最长边,如果〉224,则进行等比例缩小,使最长边≤224。

4.以最大包围盒为中心,剪切出227×227大小的图像作为预处理的结果。

5.将所有训练样本都作上述预处理后,输入到由imagenet预训练的alexnet网络(如图4),把第7层的结果(长度为4096的向量)作为特征向量。

6.用训练样本集提取的特征向量训练χ2核svm分类器,每一类昆虫对应一个svm模型;

7.将需要识别的昆虫样本也按1~5的步骤处理提取特征向量;并将该向量逐一输入到svm中,并将该昆虫归入输出结果最大的那一类;如果所有svm的识别结果均为负值,则认为该样本昆虫是一种新类别。

实例2

1.使用“光影魔术手”附带的抠图功能模块或grabcut+lazysnapping工具,完成从图1到图2的背景去除工作,并把背景设置成黑色。

2.从去除背景后的昆虫图像求取昆虫图像的最大包围盒。

3.检查最大包围盒的最长边,如果〉224,则进行等比例缩小,使最长边≤224。

4.以最大包围盒为中心,剪切出227×227大小的图像作为预处理的结果。

5.将所有训练样本都作上述预处理后,输入到由imagenet预训练的vgg16网络,把第2个全连接层的结果(长度为4096的向量)作为特征向量。

6.用训练样本集提取的特征向量训练χ2核svm分类器,每一类昆虫对应一个svm模型;

7.将需要识别的昆虫样本也按1~5的步骤处理提取特征向量;并将该向量逐一输入到svm中,并将该昆虫归入输出结果最大的那一类;如果所有svm的识别结果均为负值,则认为该样本昆虫是一种新类别。

实例3

1.使用“光影魔术手”附带的抠图功能模块或grabcut+lazysnapping工具,完成从图1到图2的背景去除工作,并把背景设置成黑色。

2.从去除背景后的昆虫图像求取昆虫图像的最大包围盒。

3.检查最大包围盒的最长边,如果〉224,则进行等比例缩小,使最长边≤224。

4.以最大包围盒为中心,剪切出227×227大小的图像作为预处理的结果。

5.将所有训练样本都作上述预处理后,输入到由imagenet预训练的alexnet网络(如图4),对alexnet网络进行端到端的训练,由于是对cnn网络参数进行微调,使之适合于昆虫识别,所以把前7层,包括5个卷积层和2个全连接层的学习率设置成比较小的值,如1,使它们的网络参数变化较小,而改变最后一层全连接层的名称,并设置学习率为较大的值,如10,因为这一层的参数从随机值开始训练,最后一层全连接层的输出大小取决于所要识别的昆虫的总的类别数。

6.识别时,将需要识别的昆虫样本也按1~4的步骤进行预处理,并输入alexnet网络,根据网络的输出结果确定昆虫类别。

实例4

1.使用“光影魔术手”附带的抠图功能模块或grabcut+lazysnapping工具,完成从图1到图2的背景去除工作,并把背景设置成黑色。

2.从去除背景后的昆虫图像求取昆虫图像的最大包围盒。

3.检查最大包围盒的最长边,如果〉224,则进行等比例缩小,使最长边≤224。

4.以最大包围盒为中心,剪切出227×227大小的图像作为预处理的结果。

5.将所有训练样本都作上述预处理后,输入到由imagenet预训练的vgg16网络,对vgg16网络进行端到端的训练,由于是对cnn网络参数进行微调,使之适合于昆虫识别,所以把前15层,包括13个卷积层和2个全连接层的学习率设置成比较小的值,如1,使它们的网络参数变化较小,而改变最后一层全连接层的名称,并设置学习率为较大的值,如10,因为这一层的参数从随机值开始训练,最后一层全连接层的输出大小取决于所要识别的昆虫的总的类别数。

6.识别时,将需要识别的昆虫样本也按1~4的步骤进行预处理,并输入vgg16网络,根据网络的输出结果确定昆虫类别。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1