基于椭圆型度量学习空间变换的水稻虫害识别

2020-12-03 10:39鲍文霞邱翔胡根生梁栋黄林生
关键词:度量虫害分类器

鲍文霞 邱翔 胡根生 梁栋 黄林生

(安徽大学 农业生态大数据分析与应用技术国家地方联合工程研究中心,安徽 合肥 230601)

我国每年因水稻虫害造成的粮食减产达水稻产量的10%~15%[1],水稻虫害对粮食的生产造成了极大威胁。在水稻的整个生产周期中,虫害种类繁多,并且繁殖速度快、周期短,因此水稻虫害的准确识别有利于对水稻虫害进行及时、准确的防治。当前水稻虫害识别主要采用人工方法,但是人工方法耗费巨大,工作效率也不高。机器学习和图像处理方法已被广泛用于农业中病虫害的识别[2]。随着人工智能技术的发展,利用人工智能方法实现水稻虫害的自动化识别,对精准农业和智慧农业的发展具有重要意义。例如,Liu等[3]通过提取小麦蚜虫图像的HOG(Histogram of Oriented Gradient,梯度方向直方图)特征并使用SVM(Support Vector Machine,支持向量机)训练学习,实现了简单麦田背景下小麦蚜虫的自动识别和计数,平均识别精度达75.8%[3]。Yao等[4]提出了一种利用病虫害和非病虫害两幅图像的色差去除背景的方法,通过使用径向基核函数将提取的各害虫的颜色、形状、纹理等特征送入支持向量机分类器中进行识别,对背景简单的4类鳞翅目水稻害虫进行了测试,取得了较高的识别准确率。Kandalkar等[5]从各种作物(如棉花、木豆、鹰嘴豆等)中捕获虫害的图像,提取被分割后虫害图像的各种特征,运用BP(Back Propagation,反向传播)神经网络对虫害进行分类,从而达到识别的目的。Xie等[6]使用稀疏编码直方图量化昆虫图像的颜色特征、纹理特征、形状特征、SIFT(Scale-Invariant Feature Transformation,尺度不变特征转换)特征和HOG特征,并采用多核学习方法联合优化内核权重对昆虫图像进行识别。Xie等[7]首先使用无监督的特征学习方法从未标记的图像块中训练字典,然后通过学习字典从标记的虫害图像块中计算低级特征,再使用多级操作在空间上对齐、汇集低级特征以形成补丁级特征,最后通过学习标记样本的多个斑块级特征来构建多级分类器框架用于虫害的分类,与早期的支持向量机和神经网络等方法相比,识别精度有所提高。上述农业虫害识别算法大都是将提取的虫害图像特征直接送到分类器中进行识别,在背景比较简单或者虫害种类不多的情形下可取得较好的识别精度。如何提取复杂场景下的虫害图像的高辨识性特征、提升现有分类器的性能,是目前研究中的两大关键问题。

文中以常见的13类水稻虫害图像为研究对象,利用U-Net网络特殊的U形结构可以很好地保留目标信息的优点,在小样本下对图像中的水稻虫害进行分割,去除复杂背景的影响;同时采用滑动窗口法提取虫害图像的HSV(Hue,Saturation,Value;色调,饱和度,明度)特征和SILTP(Scale-Inva-riant Local Ternary Pattern,尺度不变局部三值模式)特征,获得具有亮度变化和视觉变化不变性的特征,并利用Relief-F算法对所提取的特征进行优化;在水稻虫害特征送入分类器识别之前,利用椭圆型度量学习的方法对特征空间进行变换,使同类水稻虫害特征分布更紧凑,异类虫害特征分布更松散,从而提升SVM分类器的辨识能力。

1 数据获取及预处理

1.1 数据及其增强

文中用到的水稻虫害图像数据集来源于互联网检索和公开数据整理所得,包括13类常见的虫害:赤斑黑沫蝉、二化螟、稻棘缘蝽、稻纵卷叶螟、稻铁甲虫、二星蝽、灰飞虱、大稻缘蝽、水稻黑尾叶蝉、稻绿蝽、稻黑蝽、大螟、白背飞虱。表1给出了水稻虫害的名称以及图像的数目。

表1 水稻虫害图像数据分布Table 1 Data distribution of rice pest images

1.2 水稻虫害图像的分割

为了降低水稻叶片、稻穗以及稻杆等复杂背景对虫害识别结构的影响,文中利用深度语义分割U-Net网络从图像中分割出虫害。U-Net网络是由Shelhame和Ronneberger等[8- 9]提出来的一种基于CNN(Convolutional Neural Network,卷积神经网络)的图像分割网络,能够适应小的训练集。它融合了编码-解码结构和跳跃网络的特点,在模型结构上更加优雅和巧妙,特殊的U形结构让裁剪和拼接过程更加直观,高层特征图与底层特征图的拼接以及卷积的反复、连续操作使得模型能够从上下文信息和细节信息中组合得到更加精准的输出特征图。

在利用U-Net网络进行分割时,将水稻虫害数据集中70%共1 084幅图像选为训练集。通过水平翻转、垂直镜像、镜像翻转等方式,同时保持每一类别样本数量均衡,将训练集图像增强到5 634幅。图1为部分虫害图像的增强结果。

图1 部分水稻虫害图像的增强结果Fig.1 Image enhancement results of some rice pests

图2给出了基于U-Net网络对水稻虫害图像进行分割的流程图。首先将原始的水稻虫害图像调整为统一的尺寸,并对水稻虫害图像训练集进行增强,然后输入U-Net网络进行训练,接着将测试集图像输入训练好的U-Net网络模型中,得到分割结果,并对其连通区域进行筛选,保留最大连通区域,从而得到水稻虫害图像的最终分割结果。

图2 U-Net网络分割流程Fig.2 Process of U-Net network segmentation

2 水稻虫害图像的特征提取及优化

2.1 特征提取

数据集里收集的水稻虫害图像是在农田环境下拍摄的,光照和视觉变化较大。为了提高水稻虫害图像识别的准确率,需要提取具有亮度变化和视觉变化不变性的虫害特征。

为解决亮度变化问题,文中采用HSV[10]颜色直方图和SILTP[11]分别提取水稻虫害图像的颜色特征和纹理特征。HSV颜色空间的3个分量分别代表色彩(Hue)、饱和度(Saturation)和值(Va-lue),HSV颜色直方图更符合人们对颜色一致性的认知。纹理是一种反映图像区域内像素灰度级空间的属性,不同虫害图像的纹理特征不同,而SILTP对图像局部区域的相似像素点的变化具有鲁棒性,同时具有尺度不变性。

给定任何像素位置(xc,yc),SILTP将其编码为

(1)

式中:Ic为中心像素的灰度值;Ik是在半径为R的圆上等距离的N个邻域像素;⊕表示二进制串的连接算子;为表示比较范围的比例因子;S为分段函数,定义为

S

(2)

为了解决相机拍摄角度不同引起的水稻虫害图像视觉变化问题,采用有重叠的滑窗来抽取2个不同尺度的SILTP和1个HSV特征,然后对水平滑窗的特征进行对比,取所有水平滑窗中相应特征的最大值构成特征向量,如图3所示。这样得到的特征既具有视角变化不变性,又可以捕捉局部特征。为了兼顾多尺度信息,对原始图像做两次2×2的降采样,建立三尺度图像金字塔,将这3个图像特征拼接起来构成1个新的特征向量。

图3 滑窗特征提取过程Fig.3 Extraction process of the sliding window feature

2.2 特征优化

为进一步获取具有高辨识性的水稻虫害图像特征,利用Relief-F算法对提取的虫害特征进行优化。Relief-F算法是一种建立在分类标签基础上的重要的属性加权方法[12]。设水稻虫害图像特征训练样本集为X={xi|xi∈Rs,i=1,…,n},其中Rs为特征空间,xi={A1,A2,…,As},为第i幅图像提取的滑窗特征向量。从训练样本集X中随机选择样本xi,然后从与xi同类的样本中找出k个近邻样本xj(j=1,…,k),同时从与xi异类的样本中找出k个近邻样本xl(l=1,…,k),更新每个特征的权重。

特征权重按下式计算:

(3)

式中,diff(A,xi,xj)表示样本xi和xj在特征A上的差异,m为抽样次数,class(xi)表示与xi同类,p(C)为与xi不同类的C类的概率,p(class(xi))表示与xi同类的概率,xl(C)表示C类中第l个最近邻样本。diff(A,x1,x2)表示如下:

(4)

Relief-F算法根据特征集对应类别的相关性计算每个特征的权重,当权重小于设定阈值时移除该特征,最后得到最优的特征集。

3 水稻虫害图像的特征识别

在基于特征的水稻虫害识别任务过程中,特征之间的相似性度量在构建学习方法时至关重要,而目前广泛使用的欧式度量将输入样本看成各向同性,不能公平地反映特征各维度分量之间的潜在关系。椭圆型度量能够描述特征之间潜在的非线性关系,并且通过度量学习使得相应的椭圆型度量具有更好的区分性,从而提高分类器的判别能力。

3.1 椭圆型度量学习空间变换

设水稻虫害图像优化后的特征训练样本为X={xi|xi∈Rd,i=1,2,…,n}。在数据空间X={xi|xi∈Rd,i=1,2,…,n}中,不同的两个点xi和xj确定的直线和基本二次曲面Ω相交于Z+和Z-,那么xi、xj之间的距离d(xi,xj)可以由下式定义[13]:

(5)

对于对称可逆矩阵M∈R(d+1)×(d+1),其确定的双线型为[14]

(6)

ω(xi,xj)统一采用简化形式ωij来表示。

当M是正定的,xi,xj∈Rd满足ωij>0,定义dE(xi,xj):Rd×Rd→R+,有

(7)

其中,i为虚数单位,1/k为椭圆几何空间的曲率[15],(Rd,dE)为椭圆型几何空间,dE为椭圆型度量,M为椭圆型度量矩阵。

而通常使用的马氏度量为

(8)

其中Σ为数据的协方差。

使用数据的均值m和协方差Σ定义对称可逆椭圆度量初始矩阵M如下:

(9)

这样构造出的椭圆型度量dE在极限情况下和马氏度量dΣ满足以下关系:

(10)

因此dE也称为广义马氏度量。

椭圆型度量学习在本质上可以表述为:通过训练样本,寻找一种能够反映样本空间结构信息或语义信息的分式线性变换,使得相应的椭圆型度量在某种学习准则下具有更好的区分性,能够更好地对训练样本的潜在关系进行建模。由于线性变换是分式线性变换的一种特殊形式,因此椭圆型度量学习比马氏度量学习的适用范围更广,识别性能更佳;又由于分式线性变换可视为一种特殊的非线性变换,因此椭圆型度量学习易于计算和实现。

从上面的定义可以看出,椭圆型度量依赖于一个对称矩阵M,因此椭圆型度量学习的目的就是:对于给定训练样本数据,寻找一个最优的椭圆型度量矩阵M,使得相应的度量在某种学习准则下是最优的。

基于三元组约束的度量学习准则的基本思想是使得k-近邻的样本点和目标样本保持同类,同时让不同类别的样本点与其保持较大的间距。为了避免过拟合,文中在三元组约束函数中增加Frobenius范数正则项来对椭圆型度量矩阵进行正则化。因此,椭圆型度量学习的优化问题可以表示为

(11)

s.t.

根据约束条件,可以将松弛变量ξijl表示为

ξijl(M)=[1+dE(xi,xj)-dE(xi,xl)]

(12)

因此式(12)中的最优化问题可以通过梯度下降法[16]来迭代解决,其目标函数为

(13)

(14)

式(14)中,等号右边三部分的导数分别为

(15)

(16)

(17)

因此,水稻虫害图像特征可以通过变换矩阵L映射到新的特征空间:

(18)

图4给出了椭圆型度量学习应用于水稻虫害图像识别任务的示意图。将水稻害虫图像表示成二维空间中的点,左图中原始特征空间的成对约束及相似约束由代表同类的水稻虫害图像组成(用虚线表示);不相似约束用不同类的虫害图像组成(用实线表示)。通过椭圆型度量学习投影后,在新的空间(右图)中同类样本分布更紧凑,异类样本分布则更离散,能更好地满足给定约束,从而有利于提升分类的性能。

图4 空间变换示意图Fig.4 Schematic diagram of spatial transformation

3.2 识别算法流程

基于椭圆型度量学习空间变换的水稻虫害识别算法的具体步骤如下:

步骤1 对水稻虫害图像进行数据增强,并使用U-Net网络对水稻虫害图像进行分割,去除复杂背景的影响;

步骤2 对分割后的虫害图像采用滑窗法提取HSV特征和SILTP特征,获取具有亮度变化和视觉变化不变性的虫害特征,并利用Relief-F算法对特征进行优化;

步骤3 利用文中给出的椭圆型度量学习方法学习得到最优的空间变换矩阵L,利用L将水稻虫害图像特征变换到新的特征空间;

步骤4 将新的空间特征采用SVM分类器[18]实现水稻虫害图像的识别。

算法流程如图5所示。

图5 算法流程图Fig.5 Flow chart of the proposed algorithm

4 实验结果与分析

利用深度语义分割U-Net网络得到的部分水稻虫害图像如图6所示,采用文中提出的椭圆型度量学习空间变换方法对分割后的虫害图像进行识别。

图6 部分水稻虫害图像Fig.6 Part of segmented rice pest images

4.1 不同特征及分类器的识别结果对比

为了验证不同特征及分类器对水稻虫害图像识别精度的影响,分别提取HOG特征、SILTP特征以及文中方法所得特征,比较了KNN(K-Nearest Neighbor,最近邻)[19]、LR(Logistic Regression,逻辑回归)[20]、RF(Random Forest,随机森林)[21]、SVM以及文中方法在不同特征下的识别性能,所得结果如表2所示。从表2中可以看出:文中使用滑窗法提取并经Relief-F算法优化后的特征在不同分类方法下的识别效果明显高于HOG特征以及单独的SILTP特征;同时,通过椭圆型度量学习后得到的最优矩阵将原特征变换到新的特征空间中,使得同类样本分布更紧凑,异类样本分布则更离散,能更好地满足给定约束,从而有利于提升分类的性能,最高识别准确率达90.5%。

表2 不同分类器使用不同特征时的识别准确率比较

为了分析椭圆型度量学习空间变换对分类器性能的影响,图7给出了将文中提取的特征直接利用SVM分类器以及经空间变换后再用SVM分类的结果。由于灰飞虱(标签6)、二星蝽(标签5)与稻棘缘蝽(标签2)颜色比较接近,稻绿蝽(标签9)和大稻缘蝽(标签7)颜色也较为接近,白背飞虱(标签12)与水稻黑尾叶蝉(标签8)在形态结构上较为接近,因此,经空间变换后再用SVM分类比直接利用SVM分类的错误率更低。椭圆型度量学习空间变换可有效减小同类之间的距离,增大异类之间的距离,从而增加了SVM对特征的鉴别能力。

图7 识别结果比较Fig.7 Comparison of recognition results

4.2 不同度量方法空间变换的识别结果对比

将椭圆型度量学习与两种常用的马氏度量学习方法(QDA[22]和NPD[23])进行对比,在文中方法所得特征下,利用不同度量方法学习得到的变换矩阵进行特征空间变换,在不同分类器下进行识别实验,所得结果如表3所示。在识别性能上,马氏度量学习得到的马氏度量虽然优于原始的马氏度量,但线性变换的局限性导致它不能描述训练样本潜在的非线性关系,这限制了它在实践中的应用范围。椭圆度量通过训练样本,寻找一种能够反映样本空间结构信息或语义信息的非线性变换,使得相应的度量具有更好的区分性,能够更好地对训练样本的潜在关系进行建模,因此经过椭圆度量学习后再利用SVM进行识别,效果更好。

表3 不同度量方法的对比Table 3 Comparison of different measurement methods

4.3 经典卷积神经网络的识别结果对比

随着深度学习的发展,卷积神经网络常被用于解决分类问题。文中利用3种经典卷积神经网络(VGG16、VGG19[24]和ResNet34[25])对水稻虫害图像直接进行识别,由于数据样本少,因此在训练过程中采用文中增强后的数据集,所得识别结果与文中方法结果的对比如图8所示。其中网络训练所使用的超参数如下:网络用于反向传播开始所使用的学习率为0.01,权重衰减参数为0.000 04,设置batch_size为128,每次反向传播前训练的批数(Iter_size)为128,即每训练128幅图像进行1次反向传播。数据集的数量是深度学习能否学习到足够好的特征的关键,因此当数据集的数量较少且困难区分较多时,深度学习就不适用于该任务。而传统算法可以根据数据集的状况,针对性地使用特征算法来提取图像的信息,更加适用于小样本的数据集任务。尤其是在某些小数据量的困难样本类上,使用先验知识来确定合适的特征提取算法,表现得比深度学习更加优异。

图8 不同网络的识别结果Fig.8 Identification results of different networks

4.4 不同种类水稻虫害图像的识别

为了研究文中提出的算法对不同类水稻虫害的识别精度,对13个种类的水稻虫害图像分别利用文中算法进行实验,结果表明:文中算法对测试集中标签4(稻铁甲虫)、7(大稻缘蝽)、8(水稻黑尾叶蝉)、9(稻绿蝽)、10(稻黑蝽)的识别精度较高,识别准确率最高可达100%;对标签2(二化螟)、5(二星蝽)也可以达到97.5%的识别准确率;而对标签3(稻纵卷叶螟)、6(灰飞虱)、11(大螟)的识别准确率较低,不到70%;对标签12(白背飞虱)全部识别错误。这是因为:部分稻绿蝽和大稻缘蝽、灰飞虱和二星蝽的颜色较为接近,使得稻绿蝽被识别成大稻缘蝽,灰飞虱被识别成二星蝽;白背飞虱与水稻黑尾叶蝉在形状上比较接近,造成了错误识别,使得识别率为0。图9给出了识别错误率较高的几类水稻虫害,因颜色或者形态结构较为相近,左侧和右侧的虫害辨识困难。

图9 易误识别的水稻虫害Fig.9 Misidentified rice pests

5 结语

文中提出了一种基于椭圆型度量学习空间变换的水稻虫害识别算法,利用滑窗方法和Relief-F算法获取最优的具有亮度变化和视觉变化不变性的水稻虫害特征;在提升分类性能时引入了椭圆型度量,通过在三元组约束函数中增加Frobenius范数正则项来提升椭圆型度量学习的泛化能力,并利用椭圆型度量学习得到的最优矩阵进行特征空间变换,使虫害特征同类样本分布更紧凑,异类样本分布更离散。对13类水稻虫害在不同特征集、不同分类器下的实验结果表明,文中算法具有较高的识别准确率。文中还分析了一些易识别错误的虫害类别,为后续算法的改进打下了基础。通过对不同类水稻虫害的实验发现,当水稻虫害图像背景复杂,且很多虫害和背景颜色很相似时,直接利用卷积神经网络方法进行分类识别的效果并不是很好,在后续工作中,笔者将进一步研究更优的利用卷积神经网络进行识别的方法,同时,进一步提升易错类别水稻虫害图像的识别精度,寻找更优的方法来解决小样本、数据不平衡问题。

猜你喜欢
度量虫害分类器
气候变化下的林业虫害防治对策分析
鲍文慧《度量空间之一》
学贯中西(6):阐述ML分类器的工作流程
桑园虫害绿色防控技术的应用
基于朴素Bayes组合的简易集成分类器①
基于特征选择的SVM选择性集成学习方法
代数群上由模糊(拟)伪度量诱导的拓扑
不用农药也能治虫害
突出知识本质 关注知识结构提升思维能力
度 量