一种基于计算机视觉的作物叶片蚜虫检测方法与流程
1.本发明涉及作物病害识别技术领域,具体为一种基于计算机视觉的作物叶片蚜虫检测方法。
背景技术:
2.蚜虫是作物苗期的主要害虫,其繁殖速度快、危害大,适应性广,严重的危害和制约着作物产量和品质。因此,有效识别作物叶片蚜虫虫害对提高作物产量和品质有着重要的意义。
3.传统对于蚜虫的识别主要依靠农学专业人士进行鉴别。由于普通农户没有专业的知识,无法很好的鉴别蚜虫虫害,聘请专业人士又会耗费大量的人力物力。随着人工智能的广泛发展,在图像识别和检测上的准确率也逐渐接近人眼水平,越来越多的研究希望能够利用计算机视觉代替人工。近年,针对蚜虫的识别方法大多为收集含有蚜虫的图像和预处理,建立蚜虫识别模型。但该方法存在以下缺陷:数据量较少,无法达到深度学习广泛适应的要求;受到图像背景的影响,模型识别准确率低。
技术实现要素:
4.为克服现有技术中存在的上述问题,本发明提供了一种基于计算机视觉的作物叶片蚜虫检测方法,通过先将叶片部分提取出来,减少图像背景影响进而提高模型的准确率,同时对叶片进行切割可以增加识别图像中的训练样本,进一步提高模型识别的准确率。
5.本发明是通过如下技术方案实现的:一种基于计算机视觉的作物叶片蚜虫检测方法,包括如下步骤:a.获取作物叶片图像,包括若干的含有蚜虫的作物叶片照片和正常作物叶片照片;b. 获得作物叶片分割模型,包括对收集到的作物叶片图像进行标注,生成以作物叶片为目标区域的训练集图像,然后训练并获取u
‑
net图像分割模型;c.作物叶片的数据集准备和预处理,包括用训练后的u
‑
net图像分割模型对步骤a中的作物叶片图像进行分割,得到作物叶片,然后以32
×
32像素大小切割作物叶片,得到叶片块集合;d.获得作物蚜虫识别模型,包括将切割后的作物叶片即叶片块集合中含有蚜虫的作为正样本,不含蚜虫的作为负样本,然后构造作物蚜虫识别网络并进行模型优化;e.将待检测叶片图像进行预处理后输入到作物叶片分割模型中,经过切割后再输入到蚜虫识别模型中,最终判断并标记出蚜虫在叶片中的位置。
6.优选的,步骤e中,根据切割后的作物叶片中含有蚜虫部分的数量n及总数量n得到待检测叶片图像中蚜虫的数量估计。
7.优选的,所述获取作物叶片分割模型的步骤包括:s1:使用标注工具勾画收集到的作物叶片图像中的作物叶片部分,得到若干幅作
物叶片掩码的语义分割训练样本;s2:将s1中以作物叶片为目标图像的数据作为数据集,其中数据集的75%作为训练数据,25%作为测试数据,然后将图像变换为500
×
500像素的像素大小;s3:数据增强:为了提高模型的鲁棒性以及准确率,将数据集中原图像经过上下翻转,左右翻转,图像裁剪,图像旋转,图像模糊,灰度变化操作将数据增加若干倍;s4:构造图像语义分割u
‑
net网络模型;s5:将s3的数据集输入到s4构造的u
‑
net分割模型中,训练并优化网络,得到最终作物叶片分割模型。
8.优选的,步骤c中,先将作物叶片图像归一化图像大小为500
×
500像素;作物叶片被切割后形成叶片块集合,去除叶片块集合中叶片占比小于1/6的叶片块。
9.优选的,获得所述作物叶片蚜虫识别模型包括以下步骤:(1)将正样本和负样本中75%作为训练数据,25%作为测试数据;(2)对训练数据经过上下翻转、左右翻转、图像裁剪、图像旋转、图像模糊及灰度变化的操作增加若干倍;(3)构造卷积神经网络模型用于图像识别;(4)将步骤(2)的数据集输入到步骤(3)构造的神经网络模型中,优化模型,获得蚜虫识别模型。
10.优选的,获取所述待检测叶片图像中蚜虫的数量估计的步骤包括: a. 去除切割后的叶片块集合中不含叶片的叶片块,从而得到n个叶片块;b. 将上述n个叶片块输入到已训练好的作物叶片蚜虫识别模型中,并得到含有蚜虫的叶片块数量n;c.估计待检测叶片图像上蚜虫的数量n
a
:其中,α表示单个叶片块中蚜虫的个数本发明的有益效果是:1、本发明先通过建立作物叶片分割模型将作物叶片部分从带有背景的作物叶片图像中分离出来,与现有蚜虫检测技术相比,减少图像背景影响,进而提高模型的准确率;同时对叶片进行切割可以增加识别图像中的训练样本,进一步提高模型识别的准确率。
11.2、传统检测叶片上虫害的方法可以通过搭建目标检测模型计算每一个害虫的数量,但是由于蚜虫大多重叠在一起,始终没有一种较好的方法可以较好计算蚜虫的数量,所以本发明通过u
‑
net模型分割叶片后,以32
×
32大小切割叶片,经统计可发现每个图像块中的蚜虫数大约有1到5个,所以本发明根据提出计算蚜虫在叶片中的占比,进而划分密度等级以粗略计算蚜虫数量。用户在上传叶片的图像时,不仅可以识别有无蚜虫及蚜虫位置,还可以粗略计算蚜虫数量,为后期判断蚜虫危害程度提供一定的判断依据。
附图说明
12.下面结合附图对本发明作进一步的说明。
13.图1为本发明的流程图。
14.图2为本发明的实施例中u
‑
net网络结构图。
15.图3为本发明的实施例中vgg16网络结构图。
具体实施方式
16.为使本领域技术人员能够更好的理解本发明,下面将结合附图对本发明技术方案做进一步的说明。
17.本发明为一种基于计算机视觉的作物叶片蚜虫检测方法,包括如下步骤:a.获取作物叶片图像,包括若干个含有蚜虫的作物叶片照片和正常作物叶片照片;b. 获得作物叶片分割模型,包括对收集到的作物叶片图像进行标注,生成以作物叶片为目标区域的训练集图像,然后训练并获取u
‑
net图像分割模型;c.作物叶片的数据集准备和预处理,包括用训练后的u
‑
net图像分割模型对步骤a中的作物叶片图像进行分割,得到作物叶片,然后以32
×
32像素大小切割作物叶片;d.获得作物蚜虫识别模型,包括将切割后的作物叶片中含有蚜虫的作为正样本,不含蚜虫的作为负样本,然后构造作物蚜虫识别网络并进行模型优化;e.将待检测叶片图像进行预处理后输入到作物叶片分割模型中,经过切割后再输入到蚜虫识别模型中,最终判断并标记出蚜虫在叶片中的位置。
18.图1为本发明的步骤流程图。
19.步骤a中,本实施例以棉花叶片作为具体研究实例,基于蚜虫在易发病期间的多个时间段使用手机采集500例含有蚜虫的作物叶片图像,200例不含蚜虫的作物叶片图像,拍摄手机不低于500万像素,并从棉花叶片的各个方向采集。拍摄出来的作物叶片图像均为含有背景的图像,背景会影响作物叶片上蚜虫的检测识别,因此本发明中先将作物叶片图像中的作物叶片提取出来,在此所述的作物叶片为从作物叶片图像去剔除了背景的纯叶片,而所述的作物叶片图像为直接拍摄、未处理的图像,含有作物叶片和背景。
20.步骤b为获得作物叶片分割模型的过程,包括:s1:使用labelme标注工具勾画收集到的数据集中作物叶片部分,也就是将作物叶片在作物叶片图像上勾画出来,得到若干幅含棉花叶片掩码的语义分割训练样本;s2:将s1中以棉花叶片为目标图像的数据作为数据集,其中数据集的75%作为训练数据,25%作为测试数据,然后将图像变换为500
×
500像素的像素大小;s3:数据增强:为了提高模型的鲁棒性以及准确率,原图像也就是经过勾画标记的作物叶片图像经过上下翻转,左右翻转,图像裁剪,图像旋转,图像模糊,灰度变化等操作将数据增加20倍;s4:构造图像语义分割u
‑
net网络模型:u
‑
net网络是一种采用编码器和解码器原理的图像分割模型,在编码器端采用卷积神经网络实现多次下采样提取图像特征,在解码器端经过多次上采样恢复原图像大小的过程。
21.如图2所示,u
‑
net深度学习网络模型为u型网络,左侧为编码器,右侧为解码器,总
共为20个卷积层。u
‑
net网络在编码器端采用重复的收缩结构,每个编码块都有2个卷积层和一个pooling层,卷积层中的卷积核均为3
×
3。激活函数使用relu函数,卷积层之间是一个大小为2
×
2、步长为2的maxpooling层。每一次经过上采样后特征通道数量加倍。在解码器端采用反卷积的形式,每次将特征通道数量减半,特征图大小加倍。反卷积后,其结果与卷积中对应步骤的特征图拼接。对拼接后结果进行两次3
×
3的卷积。最后一层卷积核大小为1
×
1;最后一层使用交叉熵与softmax,损失函数定义如下:上式中,y
ci
表示样本i的真实类别,y
—
pred
ci
表示网络对样本i的预测结果;s5:将s3的数据集输入到s4构造的u
‑
net分割模型中,训练模型,得到叶片分割模型。
22.步骤c为作物叶片的数据集准备和预处理,包括如下步骤:i: 归一化图像大小为500
×
500像素;ii: 将待分割的作物叶片图像输入到训练后的u
‑
net图像分割模型中,得到分割后的作物叶片;iii: 将准备好的700例作物叶片进行切割,作物叶片被切割后形成叶片块集合,每个叶片块为32
×
32像素大小,去除叶片块集合中实际叶片部分占比小于1/6的叶片块。因为作物叶片为不规则形状,当用规则的32
×
32像素切割时必然会出现某个叶片块包括的实际叶片占比较小的情况,本方案中将叶片占比小于1/6的叶片块剔除掉,即默认这些叶片块不包含实际叶片,这样为后续的蚜虫识别降低干扰。
23.步骤d为获得作物蚜虫识别模型,包括以下步骤:(1)步骤c中,700例作物叶片经过切割并剔除叶片占比小于1/6的叶片块后,得到的叶片块大约85000幅,其中这85000幅叶片块中,含有蚜虫的叶片块和不含蚜虫的叶片块比例大约为1:3;(2)随机去除部分不含蚜虫的叶片块图像,平衡数据集后以含有蚜虫的叶片块作为正样本,不含蚜虫的叶片块作为负样本;(3)正样本和负样本的数据集中,75%作为训练样本,25作为测试数据;(4)数据增强:为了提高模型的适应性以及准确率,原图像经过上下翻转,左右翻转,图像裁剪,图像旋转,图像模糊,灰度变化等操作将数据增加20倍;(5)构造卷积神经网络模型用于图像识别:如图3所示,使用vgg16基本网络模型,包含13个卷积层、5个池化层和3个全连接层,其中最后一层为输出层;模型输入的是一幅图像,这里将32
×
32像素大小的缩放为224
×
224像素大小,通过深度学习卷积层提取特征,最后经过softmax分类器输出图像所属的类别概率,其中分类器的损失函数表示为:上式中,i表示第i个样本,y
i
表示第i个样本的标签,s
yi
表示预测真值为第i个样本的输出值,s
j
表示第j个样本输出值;
(6)将步骤(4)的数据集输入到步骤(5)构造的vgg16模型中,优化模型,获得蚜虫识别模型。
24.步骤e中,将待检测叶片图像进行预处理后输入到作物叶片分割模型中,经过切割后再输入到蚜虫识别模型中,最终判断并标记出蚜虫在叶片中的位置,在此同时也能够判断出哪些叶片块含有蚜虫及含有蚜虫的叶片块数量n,根据切割后的作物叶片(叶片块)中含有蚜虫部分的数量n及叶片块总数量n得到待检测叶片图像中蚜虫的数量估计,具体步骤如下:a. 去除切割后的叶片块集合中不含叶片的叶片块,从而得到n个叶片块;b. 将上述n个叶片块输入到已训练好的作物叶片蚜虫识别模型中,并得到含有蚜虫的叶片块数量n;c.估计待检测叶片图像上蚜虫的数量n
a
:其中,α表示单个叶片块中蚜虫的个数步骤c中,如果n/n<5%,也就是说作物叶片上的蚜虫数量较少,密度较低,根据统计经验,此时一个叶片块上认为含有一个蚜虫,则待检测叶片图像上蚜虫的数量n
a
=1*n;同理,如果n/n≥10%时,含有蚜虫的叶片块占比较大,说明作物叶片含有大量的蚜虫,蚜虫密度肯定也高,根据经验,此时一个叶片块上认为含有4个蚜虫,则待检测叶片图像上蚜虫的数量n
a
=4*n;如果5%≥n/n<10%,含有蚜虫的叶片块占中等,密度一般,根据经验,此时一个叶片块上认为含有2个蚜虫,则待检测叶片图像上蚜虫的数量n
a
=2*n。这样用户在上传叶片的图像时,不仅可以识别有无蚜虫及蚜虫位置,还可以粗略计算蚜虫数量,为后期判断蚜虫危害程度提供一定的判断依据。
25.本发明的描述中,术语“上”、“下”、“前”、“后”、“左”、“右”、“顶”、“底”、“竖直”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了描述本发明而不是要求本发明必须以特定的方位构造或操作,因此不能理解为对本发明的限制。本发明中的“相连”“连接”应作广义理解,例如,可以是连接,也可以是可拆卸连接;可以是直接连接,也可以是通过中间部件间接连接,对于本领域的普通技术人员而言,可以具体情况理解上述术语的具体含义。
26.以上所述为本发明的优选实施方式,具体实施例的说明仅用于更好的理解本发明的思想。对于本技术领域的普通技术人员来说,依照本发明原理还可以做出若干改进或者同等替换,这些改进或同等替换也视为落在本发明的保护范围。
相关知识
一种基于计算机视觉的作物叶片蚜虫检测方法与流程
基于多模态影像的作物病虫害检测方法及系统、设备、存储介质与流程
一种基于图像识别的植物健康检测方法及装置与流程
基于计算机视觉的水果分级技术研究进展
花屏检测 计算机视觉
计算机视觉运用于棉花水分养分供给系统设计
高分项目:基于yolov5的海棠花花朵识别检测系统完整包
基于叶片病斑面积的病虫害监测方法与流程
基于计算机视觉的花卉分级系统研究
检测玉米蚜虫抗性基因的分子标记、引物、检测方法及应用与流程
网址: 一种基于计算机视觉的作物叶片蚜虫检测方法与流程 https://www.huajiangbk.com/newsview1755345.html
上一篇: 利用吸虫塔监测吉林省迁飞性有翅蚜 |
下一篇: 检测玉米蚜虫抗性基因的分子标记、 |
推荐分享

- 1君子兰什么品种最名贵 十大名 4012
- 2世界上最名贵的10种兰花图片 3364
- 3花圈挽联怎么写? 3286
- 4迷信说家里不能放假花 家里摆 1878
- 5香山红叶什么时候红 1493
- 6花的意思,花的解释,花的拼音 1210
- 7教师节送什么花最合适 1167
- 8勿忘我花图片 1103
- 9橄榄枝的象征意义 1093
- 10洛阳的市花 1039