APP下载

基于深度学习的多特征融合杂草识别仿真

2023-09-20王子曼杨学全

计算机仿真 2023年8期
关键词:纹理杂草农作物

王子曼,杨学全

(河北农业大学信息科学与技术学院,河北 保定 071000)

1 引言

杂草的肆意生长,大大影响了农作物的产量和质量,最常用的办法就是人工除草或者喷洒除草剂,但这会产生过多的成本费用,同时会污染环境(水土资源),着实不可取。现已逐渐尝试使用机器人去除农作物间杂草,降低人工成本和污染问题。在除草过程中,需要对杂草进行识别,但是常规识别方法,大多采用颜色、形态等单一特征作为识别对象,在实际的农业生产过程中,叶片遮挡、光照强度以及土壤特征等都会影响识别结果,降低识别精度。

文献[1]利用图像分块与重构对菠菜地中的杂草进行识别。首先,以超绿模型灰度化处理菠菜的原始图像,通过图像分类技术获得大小不同的图像块,提取其中菠菜与杂草的颜色和纹理特征;然后,利用支持向量机分类图像块,对完成分类的图像进行识别即可。该方法有效避免了由于叶片重叠造成的误识别,但是对于与菠菜相似的杂草识别效果并不理想;文献[2]通过深度卷积神经网络和颜色迁移对自然光照条件下的杂草进行识别。采集不同光照条件下的农作物与杂草图片,利用Reinhard算法迁移颜色图片,降低光照条件对识别效果的影响;通过图像分割算法对杂草图片进行灰度化处理,再进行特征提取和分类;最后,利用卷积神经网络实现杂草识别。该方法同样无法对与农作物相似的杂草获取理想的识别效果。

为此,本文提出基于深度学习的多特征融合杂草识别算法,本文方法的主要研究内容及其创新点如下:

1)通过背景分割获取杂草和农作物图像,划分植株叶片,去除干扰部分;

2)针对规则纹理和随机纹理,选择灰度共生矩阵(GLCM)和局部二进制模式(LBP)对特征进行分析与处理,并将两种纹理特征进行融合,可以获取更完整、全面的杂草图像纹理特征;

3)充分考虑模型深度对识别效果的影响,构建杂草识别模型,并在模型最底层引入sigmoid函数做回归计算,避免模型陷入局部最优解,提升识别结果的精准性;

4)仿真验证了本文方法具有较高的识别精度,不论背景和光照如何变化,都能将杂草叶片与农作物叶片区分开,实现准确识别。

2 杂草图像获取及特征提取

2.1 图像获取

利用MS4100高分辨率光谱照相机,采集某块试验田内的农作物和杂草图像。为了保证图像的清晰度,将照相机与地面保持垂直,与样本的垂直高度[3]保持在50cm左右,获取完整的样本图像。

本文获取的农作物图像为玉米幼苗,杂草图像为随机生长的刺儿菜、苣荬菜和灰菜三种。包括农作物与杂草在内,获取的图像总数量为280幅,其中,包含了单株植物各40幅,共160幅,植物图像共120幅。为了使图像具有理想的清晰度,提高杂草识别的精度,将280幅图像按照640×640的像素进行批量剪裁,去除掉多余的信息,仅保留目标植物即可。

2.2 图像分割

2.2.1 基于K-means聚类算法的背景分割

通过照相机获取的图像中包含了土壤和绿色植物,常常受光照变化影响较大,识别精度较差。因此,本文以绿色植物和土壤颜色相差较大为特征,采用K-means聚类算法对图像背景进行分割。

K-means聚类算法将数据集划分成为若干个不同的类别,保证类内数据紧密相连,各个类别之间独立存在。在Lab颜色空间内引入原始图像,利用K-means聚类算法进行分割处理。本文首先要分割的目标是绿色植物与土壤,因此将分类类别k设定为2。鉴于绿色植物具有较高的绿色分量,在Lab颜色空间[4,5]内直接对a分量进行聚类即可,完成植物类别目标的选取工作。经过上述分割处理得到的图像如图1所示。

图1 农作物和杂草图像

其中,图1(a)为获取到的原始图像,通过观察图像可以很明显地看出,叶片之间相互遮挡、伴有光照不均的情况;图1(b)是土壤经过聚类处理后的效果图;图1(c)是绿色植物经过聚类处理后的效果图[6],观察图像可以看出,处理后的图像叶片分割较为连续,但是图像中有孔洞的存在,因此需要对图像作进一步处理。

2.2.2 基于形态学的绿色植物叶片分割

实现背景分割后,接下来要进行绿色植物叶片的分割。绿色植物的叶片尺寸大于茎干的尺寸,综合考虑之下,本文选择形态学来实现,过程如下所示:

首先,对上一节图1(c)中的植物目标进行二值化处理,得到如图1(d)所示的图像;然后利用形态学消除孔洞的影响[7],得到如图1(e)所示的图像。图像中依然存在部分非叶片的小面积点,通过设置面积阈值过滤掉这些小面积点即可,最终处理完成的图像如图1(f)所示。

2.3 特征提取

部分杂草在颜色与形态上与玉米幼苗存在一定的相似性,因此本文从颜色、形态、纹理三个角度出发,将杂草的多特征进行融合,以便后续的精准识别。

2.3.1 颜色特征分析

颜色特征可以深层次描述杂草图像的像素特征,经过尺度变化、平移和旋转后,依然保持不变。本文分析的三种杂草均为绿色,但是三种杂草RGB图像中的R、G、B颜色分量却不尽相同,颜色矩[8]可以提取到图像的颜色分布特征。

将原始RGB颜色空间转换得到HSV颜色空间,二者同时作为分析图像颜色特征的依据。鉴于HSV中的V所代表的信息与颜色无关,所以只提取R、G、B、H、S五个分量的一阶、二阶、三阶共计15个颜色矩特征,计算公式如式(1)~(3)所示

(1)

(2)

(3)

式中,Mi1、Mi2、Mi3分别表示颜色特征的一阶、二阶、三阶矩,N代表的是杂草图像中包含的像素数量,Pij表示在RGB图像中,第i个颜色通道分量中出现灰度值为j的像素的频率。

2.3.2 形态特征分析

形态特征可以将杂草的各项形状参数准确地描述出来,并以适合人类视觉感知系统的方式展现。鉴于杂草种类之间的形态差别,利用7个Hu不变矩特征和4个几何特征来对其进行提取[9]。几何特征具体分析如下:

1)圆形度计算公式如式(4)所示

(4)

其中,Formfactor代表的是圆形度;area表示目标的总面积,也就是杂草图像的像素总数;perimeter代表目标的周长,即杂草最外轮廓的长度值。

2)细长比计算公式如式(5)所示

(5)

其中,Eiongatedness代表的是细长比,thiclcness表示目标最小外接矩宽的值。

3)凹凸度计算公式如式(6)所示

(6)

其中,Convexity代表的是凹凸度,convex_perimeter表示目标最小凸多边形的周长。

4)固靠度计算公式如式(7)所示

(7)

其中,Solidity代表的是固靠度,convex_area表示目标最小凸多边形的面积。

2.3.3 纹理特征分析

纹理特征可以在空间分布区域内将杂草图像像素准确地描述出来,并且精准反映杂草类别间的结构周期性变化情况。纹理特征分为规则纹理和随机纹理两种,然而传统方法通常仅对单一纹理特征进行分析,不能获取完整的特征信息,影响识别效果。针对传统方法存在的问题,本文选择灰度共生矩阵(GLCM)和局部二进制模式(LBP),将两种纹理特征进行融合,更深层次地挖掘到杂草图像的纹理特征[10]。

1)灰度共生矩阵

在计算之前需要对GLCM进行归一化处理

(8)

其中,Pφ,d(i,j)代表的是经过归一化处理后的GLCM,GGLCM(i,j)表示原GLCM值。

(9)

(10)

(11)

(12)

2)LBP特征

LBP在特征提取方面具有实现简单、计算量小、灰度和旋转不变形等特性。将(xc,yc)定义为局部区域中心点坐标,以(xc,yc)为中心,分别计算LBP局部区域的规则纹理和随机纹理

(13)

(14)

式中,gc表示中心点所在区域的灰度值,gp(p=0,1,…,7)表示与中心点附近等距分布的点互相对应的点。

3 基于深度学习的杂草识别模型

深度信念网络(DBN)是通过将若干个限制玻尔兹曼机(RBM)组合在一起而形成的结构模型,所以二者之间具有相似的结构。在DBN网络结构中,最重要的两个参数要属模型深度和隐含层的节点数,基于此,本文针对二者参数的选择方法着重进行研究。根据上文提取到的杂草图像特征信息,DBN网络结构在这里起到的作用是分类器,据此可构建杂草识别模型。本文主要对三种杂草进行研究,因此DBN模型结构较为简单,设定输入向量维度为101维,获取到的图像共280幅,因此可形成280个101维样本空间。

传统方法没有充分考虑DBN网络模型深度对识别结果的影响,导致识别结果不够精准,针对该问题,本文在进行杂草识别模型构建时,分析模型深度对识别效果的影响:如果模型深度过大,则会导致算法陷入局部最优解,无法实现准确分类;而过小的模型深度,又会导致算法计算不完全[11,12]。依据分析结果,将DBN网络结构用[输入层节点数,隐含层节点数,输出层节点数]的形式进行表达。由于向量维度为101维,所以输入层内的节点数量设置为101;模型最底层代表的是杂草的种类数量,按照上文描述将其设置为3。为了得到最终精准的识别结果,在模型最底层引入sigmoid函数做回归计算,输出结果即为最终的识别结果[13-15]。

sigmoid函数计算公式如式(15)所示

(15)

其中,e代表的是一个自然常数,为固定值,e=2.718281828459045;x代表的是函数系数值。

4 仿真研究

为了验证本文方法在实际应用中是否能取得理想的杂草识别效果,与引言中提到的图像分块与重构和深度卷积神经网络展开对比仿真。仿真中所用到的图像均来自于kaggle官网,本文选取了其中的800幅图像,600幅作为训练集图像,剩余200幅为测试集图像。

4.1 损失函数变化情况

首先,将800幅图像输入到DBN模型中进行网络训练,对训练过程中产生的总损失函数变化信息进行采集并记录,最终对网络的拟合程度进行综合评价。图2为经过100轮的训练后损失函数数值的变化情况。

图2 100轮训练后损失函数变化情况

通过观察图2中数据的变化曲线可以看出,经过25轮的训练,Loss值下降的幅度非常大,这是由于DBN网络模型中参数的更新速度加快。而到50轮训练时,Loss值虽说在下降,但是幅度却变小。在50-80轮的训练过程中,Loss值下降幅度又稍微变大,在80-100轮训练中,Loss值逐渐趋势平稳,到了100轮,Loss值几乎不再变化,网络逐渐趋于平稳,由此可以说明本文方法具有理想的稳定性。

4.2 识别结果对比

将200张测试集图像输入到DBN网络模型中进行识别效果的检验。为了评价算法识别性能,将评价结果划分为三级等级标准,分别是:可实现分类准确,对植物的定位非常精准,可分割出植物主体的95%以上,评价为优秀;可以准确分类,但是却无法实现完全分割,且轮廓边缘不连续,评价为合格;分类误差较大,分割不完全且具有较大的偏差,评价为不合格。

将本文方法与图像分块与重构和深度卷积神经网络的识别效果进行对比,对比结果如图3所示。图中,黑色框内为算法识别到的杂草图像,白色框内为识别到的玉米幼苗图像。

图3 三种方法识别结果对比

通过观察图3可以看出,三种方法都可以识别出杂草,但是本文方法的识别精度最高。观察图3(a)三幅图像,其它两种方法对杂草的叶片分割都存在不完全的情况,但是本文方法却可以实现精准分割,将杂草完整地识别出来;图3(b)受光照不均的影响,其它两种方法出现了过分割的情况,将较小的农作物叶片误判断为杂草,而本文方法依然可以实现有效识别,准确地分割出杂草与农作物。这是由于强光的照射,使得土壤和绿色植物的自身特征发生了细微变化,其它两种方法难以识别,而本文方法通过对颜色特征、纹理特征的多特征融合识别,实现农作物与杂草的准确分割;图3(c)中农作物叶片遮挡了部分杂草区域,其它两种方法都将杂草与农作物识别为一个整体,而本文方法准确地将杂草与农作物分割开来,实现精准识别。这是因为本文方法在进行杂草识别模型构建时,不仅分析了模型深度对识别效果的影响,而且在模型最底层引入sigmoid函数进行回归计算,提升了输出结果的准确性,即提升了识别结果的精准性。

综上所述,即使环境不断发生变化,本文方法都是将杂草与农作物准确地分割开来,实现精准识别,最终评价结果为优秀。

5 结论

由于传统方法在对杂草识别时存在较大的误差,因此,在深度学习的基础上,通过对杂草图像多特征融合,实现了准确识别。首先,获取杂草及农作物图像,利用K-means算法将杂草从复杂的背景中分割开来,再用形态学将杂草的叶片与土壤分割开;然后,将杂草的颜色、纹理和形态作为多特征进行融合,实现特征提取;最后,利用深度信念网络实现对杂草的识别。通过将传统方法与本文方法展开对比实验,结果表明,本文方法具有较好的识别效果,不管光照条件、背景如何变化,都能将杂草与农作物准确地分割开,实现杂草图像的精准识别。

猜你喜欢

纹理杂草农作物
高温干旱持续 农作物亟须“防护伞”
俄发现保护农作物新方法
夏季农作物如何防热害
拔杂草
厉害了!农作物“喝”上环保酵素
基于BM3D的复杂纹理区域图像去噪
使用纹理叠加添加艺术画特效
TEXTURE ON TEXTURE质地上的纹理
消除凹凸纹理有妙招!
水稻田几种难防杂草的防治