第1章绪论 ..........................................................................................................1
1.1 课题研究的背景和意义......................................................................................1
1.2 国内外研究现状 .................................................................................................1
1.2.1 国内研究现状 ..............................................................................................2
1.2.2 国外研究现状 ..............................................................................................2
1.3 研究的内容和目的 .............................................................................................3
1.3.1 研究内容 ......................................................................................................3
1.3.2 研究目的 ......................................................................................................3 1.4 章节安排 .............................................................................................................4
第2章系统总体设计 ........................................................................................5
2.1 系统设计目标 .....................................................................................................5
2.2 系统总体架构 .....................................................................................................5
2.3 图像采集节点 .....................................................................................................6
2.3.1 装置总体设计 ..............................................................................................6
2.3.2 运行流程 ......................................................................................................9
2.4 虫类鉴别服务器和虫类信息数据库设计 ......................................................... 10
2.4.1 服务器设计 ................................................................................................ 10
2.4.2 服务器虫类分类器实现 ............................................................................. 11
2.4.3 PC 上的昆虫分类识别软件 ........................................................................ 12
第3章昆虫图像预处理与计数研究 ........................................................... 15
3.1 昆虫图像的采集 ............................................................................................... 15
3.2 昆虫图像的预处理 ........................................................................................... 16
3.2.1 图像的灰度化,高斯滤波和尺度变换 ...................................................... 16
3.2.2 二值化 ........................................................................................................ 17
3.2.3 大津法 OTSU 在昆虫图像二值化上的应用 .............................................. 18
3.3 昆虫图像的计数 ............................................................................................... 20
3.3.1 检测轮廓 .................................................................................................... 20
3.3.2 昆虫计数 .................................................................................................... 20
第4章昆虫图像特征提取与识别研究 ...................................................... 23
4.1 特征的选取 ....................................................................................................... 23
4.2 特征描述以及提取方式.................................................................................... 23
4.3 分类器的选择和训练 ....................................................................................... 32
4.4 机器学习结果分析 ........................................................................................... 33
4.4.1 性能评价指标 ............................................................................................ 33
4.4.2 三种分类器的性能比较 ............................................................................. 34 第5章总结与展望 .......................................................................................... 37
5.1 总结 .................................................................................................................. 37
5.1.1 完成的工作 ................................................................................................ 37
5.1.2 创新点和不足之处 .................................................................................... 37 5.2 展望 .................................................................................................................. 38 致谢 ........................................................................................... 错误!未定义书签。参考文献 ............................................................................................................... 40
附录一:部分昆虫图像样本 ........................................................................... 42 附录二:OTSU的PYTHON实现 .............................................................. 44
附录三:英文文献翻译 ....................................................... 错误!未定义书签。
农业是与人类生活紧密联系,息息相关的产业。因此,只有大力发展农业,
并且将 新的科技创新技术应用在农业的发展商,确保农业产品的高质高量供应,才能确保经济稳步持续发展。
由于自然气候反常变化和农业灾害频繁发生的影响,农作物的收获量和农业的发展受到了严重的制约,其中病虫害是导致农作物减产减收的主要因素。在防治病虫害方面,大部分地区依旧采用化学防治方法,农药的滥用带来了食品安全、环境污染、生态破坏等诸多问题。为了实现农业的科学化管理,需要对害虫进行准确的识别,目前农业产区的害虫种类识别主要是依靠农业植保人员的人工识别,但是植保人员的有限和专业技术人才的匮乏,难以覆盖全国各地广大的农业产区,因此研究一套及时采集害虫图像的设备以及一套快速检测识别害虫种类的技术,具有十分重要的意义。
随着计算机视觉技术和机器视觉技术的高速发展,依据高分辨率相机采集的清晰昆虫图片,应用图像处理算法,进行昆虫的视觉特征的提取成为了现实。使用高清相机捕获到的昆虫图像包含了以下视觉特征:形状特征、颜色特征和纹理特征,我们可以在对这些特征的分析的基础上进行昆虫的分类和识别。这种基于机器视觉的害虫识别方法,不仅可以解决农业植保人员不足带来的农业害虫识别难题,还有助于及时收集农业害虫的信息,建立各地农业害虫的档案,从而建立起害虫数据库,依靠分析害虫的历史档案,进行虫情爆发的预测,提前进行害虫的防治。因此,建立起一套基于机器视觉的农业害虫分类识别方法,能够解决害虫识别难题,提高农作物产量,具有深远的研究价值和意义。
目前,国内外都在应用机器视觉研究昆虫识别系统,并应用在多种不同的使
用场景。
设计的重点在于,如何应用机器视觉和图像处理技术,对获取的昆虫图像进行处理和分析,进而识别图像中的昆虫种类。中国农业大学植物保护学院的赵汗青等使用昆虫数学形态特征中的面积和周长等 11 项特征,对选择的多种昆虫进行了自动鉴别的研究,从而得到如何给各项特征值分配权重[1]。中国农业大学农学与生物技术学院的杨红珍等建立了一套昆虫识别系统,提取了 12 个形态特征值,包括了 7 个 Hu 不变矩和似圆度、延长度、球状性、叶状性、矩形度等特征;还有颜色特征值,包括红、绿、蓝灰度直方图及基于红、绿的二维色度直方图等,达到了很高的准确率[2]。浙江工商大学的竺乐庆等以识别鳞翅目昆虫为目的,提出了将 RGB 图像像素值映射到 11 种颜色名空间形成颜色名视觉词袋特征,其次提取 OpponentSIFT 特征形成 OpponentSIFT 视觉词袋,用两种词袋特征进行训练分类[3]。西南林学院的于新文等以棉铃虫的识别为例,提出了提取和测量了 9 个昆虫图像的形态特征,它们分别包括:虫体轮廓周长、虫体面积、虫体偏心率、虫体外表孔洞、虫体轮廓圆形性、虫体似圆度、虫体球状性、虫体叶状性等形态特征值[4]。
美国华盛顿大学的Natalia Larios等以石虱幼虫为实验对象,提出了一种自动快速通道分类方法,包括:(a)识别感兴趣区域,(b)将这些区域表示为SIFT 向量,(c)将SIFT向量分类转换为学习的“特征”,用以形成检测到的特征的直方图,(d)后用先进的集成分类算法对特征直方图进行分类。其中,对于(a)部分,作者开发了一种基于曲率的区域检测器(PCBR),精度较高[5]。Y?lmaz Kaya 等针对识别蝴蝶品种,提出了一种基于极限学习机(ELM)和Gabor滤波器(GF),作者在空间域中设计了包括5个频率和4个方向的20个滤镜,使用GFs提取纹理特征,使用ELM进行蝴蝶种类的诊断,并得出了使用ELM蝴蝶种类诊断的成功率更高的结论[7]。
论文为解决农业产区害虫识别的难题,提出了一种基于机器视觉的害虫种类
及数量检测方案,并完成了如下工作:
研究的目的在于建立一套远程病虫害自动识别系统,有助于缓解农业植保人员和病虫害鉴定专家的人力资源紧张,有助于病虫害知识有限的农业人员进行及时的病虫害检测,并且,通过害虫种类数目的监测和信息收集,定期对昆虫数据进行整理和分析,建立病虫害爆发的规律模型,进而预测判断病虫害爆发的时间,及时通知农业植物保护人员和农户进行合理地科学地预防。提高农作物产量和质量。
?论文章节安排如下:
?第1章:绪论。介绍害虫识别和计数的背景和研究意义,通过介绍国内外相关研究,提出了自己设计的远程害虫自动识别计数系统, 后介绍了论文的论文架构。
?第2章:系统总体设计。介绍系统的设计目标,分别介绍硬件设备端的设计和害虫识别软件的设计, 终将两种功能整合到一起,介绍了设计的远程害虫自动识别计数系统。
?第3章:昆虫图像预处理和计数研究。介绍了如何对昆虫图像进行预处理,包括灰度化、高斯滤波和二值化。同时介绍了大津法在图像二值化中的作用,后介绍了如何使用查找轮廓的方式对图像上的昆虫进行计数。
?第4章:昆虫图像特征提取与识别研究。该部分是论文的重点部分,也是论文着重精力研究的部分。先介绍了昆虫图像形状特征参数的选择、理由及其数学描述,然后介绍了对昆虫图像如何进行特征提取, 后介绍了如何在收集了昆虫特征参数之后应用机器学习进行昆虫分类模型的训练和测试。
?第5章:总结与展望。总结了论文对昆虫识别分类和计数的设计,提出了论文的创新点,对研究的结果进行了综合评价,设计达到了预期的要求。 后对论文提出了不足之处,对之后的改进工作进行了深刻的展望。
设计旨在针对农业产区内对害虫识别的需求,设计出一套基于机器视觉的害虫识别系统,功能包括种类识别和数量检测。该系统包括:一台能够在野外进行实时诱捕昆虫和昆虫图像采集的设备,一款能在个人PC上进行昆虫图像处理和种类鉴别的识别软件,和一个用来保存昆虫图像采集时间、地点、周围环境信息和判断结果的数据库。
系统总体架构如图2.1所示:
图2.1系统总体架构
由图2.1可见,整个体统由四部分模块:图像采集节点、农业监控中心虫类鉴别服务器、虫类信息服务器、个人PC。
(由装置内的环境监测站提供)。
图2.2是论文设计的一种基于机器视觉的远程昆虫识别和计数装置的示意图,
包括太阳能供电装置、防水圆顶、昆虫诱捕室、图像采集装置、环境监测装置、虫体回收瓶。
???????????????????????????????????? (a)??????????????????????????????????????? (b)
图2.2 (a)装置总体设计结构图(b)图像采集节点实物图
?其中,太阳能供电装置包括太阳能板、光强检测模块、旋转支架,太阳能蓄电池安装在装置箱体内部。太阳能板与旋转支架通过螺丝固定,光强检测模块安装在太阳能板正上方。工作室,光强检测模块检测光强变化,控制旋转支架旋转至 佳位置,使太阳能板正对太阳,使太阳能转化效率 高。
?除此之外,昆虫诱捕室包括昆虫诱剂托盘、诱虫灯源、杀虫灯源。在白天,诱虫灯源关闭,昆虫诱剂托盘上的诱剂吸引昆虫飞入昆虫诱捕室,位于箱体内部的杀虫灯源捕杀昆虫后,昆虫虫体掉落连接通道进入图像采集室;在夜晚,诱虫灯源打开,利用昆虫的趋光性,吸引昆虫进入昆虫诱捕室,杀虫灯源捕杀昆虫后,昆虫虫体掉落连接通道进入图像采集室。
图2.3是设计的装置内部图像采集区域示意图,当有昆虫虫体通过捕获室通
道调入图像采集室时,传送带开始工作,带动昆虫虫体缓慢通过图像采集区域,其中,图像采集区域有分布在三个不同角度的微型摄像机组成,当系统检测到图像采集区域内有物体通过时,微型摄像机快速捕获虫体图像,保存至系统存储器中,当昆虫虫体通过图像采集区域后,当系统检测到连续5分钟图像采集区域没有物体时,图像采集装置停止工作。
图2.3 图像采集区域示意图
图2.4 图像采集区域实际图
?同时,图像采集装置还可配有环境监测装置,装置包括但不限于以下传感器:光强传感器、空气温湿度传感器、土壤湿度传感器。其中光强传感器可以检测阳光强度,为太阳能板的旋转提供信息参考,空气温湿度传感器可以监测图像检测节点附近的空气温湿度信息,土壤温湿度传感器安装在节点下方,可以实时采集土壤的湿度情况,为农业灌溉提供参考。环境监测装置留有多路模拟输入接口和数字输入接口,可以按照环境监测的需要添加相应的传感器。 ?整个装置的运行由嵌入式计算机、存储器和4G传输模块组成。嵌入式计算机负责控制传送带的开始和停止;负责获取环境监测装置上的传感器的输出值,存储到存储器中,并定时向农业监测服务中心发送;负责获取昆虫虫体的图片存储到存储器中,并实时通过4G模块发送至农业监控中心虫类鉴别服务器中,并接受返回的服务器鉴别结果,在节点上显示。
开始 |
白天 |
诱虫灯源 |
昆虫诱剂 |
捕杀昆虫 |
传送带工作 |
昆虫图像采集 |
图像发送到服务器 |
NO |
YES |
结束 |
图2.5 装置运行流程图
如图2.5所示,整套装置有嵌入式计算机控制,分别在白天和夜晚使用不同的诱捕方法对农业产区内的害虫实施捕获,并进行图像的采集,害虫的捕获和图像的采集分别在昆虫捕获室和图像采集装置内进行,图像采集装置内装有的三个微型相机可以从不同角度对昆虫进行高清的图像采集,图像采集完成之后,控制系统可以将图像存储到本地存储器,同时通过4G高速网络将图片发送到农业监测中心虫类监测服务器中进行识别,获得结果之后将图像的识别结果保存在本地,供农户及时查看 近的昆虫监测信息。同时,图像采集节点同时包含环境监测站的功能,集成了诸多用于环境监测的传感器,可以同时检测空气温湿度、光照强度、土壤湿度等一些列和农作物生长息息相关的环境参数。图像采集实时采集完这些环境数据之后,通过定时器定时将这些环境信息发送到农业监测中心,农业监测中心的专家可以对病虫害的数量和种类跟环境信息联系起来,做出更多研究。
?虫类鉴别服务器的建立旨在将昆虫图像的识别功能集中到一起,使用配置更加高级、功能更加强大的服务器对图像进行识别,替代了传统工作方法中在端节点使用功能有限、效率不高的单片机进行图像处理的方式。
?根据题目的要求,分析并给出了以下功能需求:
运行本套系统的服务器配置如表2.1所示:
表2.1 虫类鉴别服务器配置表
操作系统 | Ubuntu 16.04 |
内存 | 4G RAM |
磁盘空间 | 1T 以上 |
设备支持 | 显示器、配套键鼠 |
运行本套系统还需要其他配置如下: l Python支持
服务器中虫类鉴别服务器使用 Python 编程语言,其优点在于拥有众多可供调用和修改的package,包括适用于科学计算、机器学习等方面的诸多强大的计算工具,方便了论文的原理论证和程序实现。
同时,为了能够对昆虫图像实现图像的预处理和特征提取,设计使用了强大的开源计算机视觉库OpenCV作为图像处理的工具,OpenCV包含了许多模块,包括了图像的灰度化、二值化、滤波等等,方便了论文的原理论证和实现。
昆虫图像的自动识别是建立在提前用训练样本将昆虫分类器训练完成的基础之上的,首先论文选取了三种分类器算法,旨在研究对比三种算法在昆虫识别方面的效果,进而挑选一种 佳的分类器算法,作为今后实际使用的分类器算法。
使用虫类鉴别服务器识别昆虫之前,需要先进行模型的训练和优化,分类器模型的学习过程如图2.6所示:
图2.6 虫类鉴别服务器分类器模型的学习过程
在进行昆虫图片的分类识别之前,需要先将样本库中的图片进行特征值提取,
提取的特征值列表作为特征向量,与标签一起输入学习分类器学习算法中,进行分类器的训练和优化。设计中,选取了昆虫的5个形态特征参数,包括昆虫轮廓的矩形度、昆虫轮廓的延长度、昆虫轮廓的似圆度、昆虫轮廓的球状性、昆虫轮廓的叶状性。
设计使用OpenCV进行了昆虫轮廓的提取,并且在提取轮廓的基础上,对昆虫的轮廓进行上述几个形态特征的提取。
同时,在进行正常使用时,由农业植保人员和专业昆虫鉴别专家定期对存储在虫类信息库中的识别结果进行抽查,可以及时将错误的识别结果反馈给服务器的昆虫分类器,进而更进一步地提升昆虫分类器的性能。
为了能够对本次设计进行原理论证和测试,使用 Python 作为编程语言,开发了一款在 Windows10 上运行的软件。具体程序界面如图 2.7 所示:
图2.7 昆虫分类识别软件
界面中包括:一个用以预览摄像头的窗口,一个用来显示处理之后图像的窗口,一个用来显示识别结果的标签和一个用来点击进行拍照的按钮。
图2.8介绍了论文设计的分类识别软件的运行过程。
开始 |
显示摄像头预览帧 |
是否拍照 |
? |
获取图片 |
提取 |
昆虫特征值 |
使用分类器 |
进行判断 |
输出判断结果 |
和 |
处理后的图片 |
结束 |
Yes |
No |
图 |
2.8 |
|
识别软件运行过程 |
?具体的程序运行流程是:摄像头预览窗口进行摄像头的显示,当用户点击拍照按钮进行拍照获取后,照片使用在后台使用OpenCV进行特征值的提取,将提取出来的特征值使用提前训练完成的昆虫分类器模型进行识别判断,终将识别的结果和处理结束的图片在界面上显示。
在进行昆虫的识别原理论证的同时,为防止背景和光线对图像轮廓提取造成影响,论文中采用的昆虫样本图片均采用从互联网获取的,附录一展示部分昆虫样本图片,以白色作为背景,彩色昆虫图像作为前景的图像,如图 3.1 所示。
图3.1部分昆虫样本图像
对于昆虫计数原理的论证,论文选取了黄色粘蝇板作为实验对象,对图像中的昆虫进行计数统计。同时,在实验过程中,论文同样使用了大米的图像进行计数效果的测试。图像样本如图 3.2 所示。
图3.2苍蝇粘板图像和大米图像
在机器视觉领域中,灰度图像是指将每个像素通过 8 位非线性尺寸保存,共计 256 种灰度。针对论文进行形态特征提取的方式,进行灰度化即抛弃了不需要的颜色特征等信息,又保留了对于形态特征提取有用的信息,同时易于编程,提高了运算速度。
论文使用灰度处理算法中的加权平均法对昆虫图像进行灰度化处理,由于科学研究中人眼对对蓝色敏感度 低,绿色的敏感度 高,因此,论文按照式(3.1) 对 RGB 图像中的三种分量进行加权平均, 终能得到合理的灰度图像。
gray(,) = 0.30 ? (,) + 0.59 ? (,) + 0.11 ? (,) (3.1) 图灰度化后的样本图片,如图 3.3 所示。
图3.3 灰度化后图像
高斯滤波也叫高斯平滑,是一种应用在图像处理方面的线性平滑滤波算法,通常用来减少图像中的噪声干扰,广泛应用于图像处理的预处理阶段,用于减噪。高斯滤波在数学意义上就是对整幅图像的像素进行加权平均,图像中的每一个像素点的值,都是经过自身像素和周围像素加权平均后计算得到的值。高斯滤波的具体操作是:使用一个指定大小的模板扫描图像中的像素,用模板确定的计算规则将邻域内像素进行加权平均后得到的灰度值去替代该模板中心像素点的值。
设计使用3 × 3模板,则计算公式如式(3.2)所示。
(? ? 1, ? 1) +? (???? ? 1, + 1) + (?????? + 1, ? 1) +? (???? + 1, + 1) +? ? 2
???????????????????????????????????? g( ,??? ) =?????????? (?? ? 1,?? ) +??? ( ,???? ? 1)????????????? 16????????????????????????? (3.2)
其中, ( , )为昆虫图像中( , )点的灰度值,g( , )为该点经过高斯滤波后的值。
传统的图像识别项目,比如手写数字识别,都强掉在特征提取之前进行尺度变换,将样本图片大小变换成同一长宽规格的图片进行收集,为了方便后续的操作,但在本案例中,由于选取的昆虫形态特征参数中包括轮廓面积等跟轮廓形态特征密切相关的参数,一旦进行图像的尺度变换,势必会影响后续的特征提取操作,使得提取出来的参数“失真”,因此在本案例中,选择对收集的昆虫图像样本不做尺度变换。
由于提取昆虫形态特征之前,需要得到昆虫图像中昆虫的形态,因此需要将图像中昆虫形态和背景分离出来,也就是将昆虫的轮廓勾勒出来,从而区分出图像中的昆虫区域和非昆虫区域。
轮廓的查找是基于二值化之后的图像。二值化是属于图像分割的一种方法,
在进行二值化图像时,先设定一个临界灰度值,把大于这个值的像素灰度设为灰度 大值,把小于这个值的像素灰度值设为灰度 小值。在二值化算法中,根据阈值选取的区别,分为自适应阈值和固定阈值。
设计在昆虫图像二值化过程中,对固定阈值和自适应阈值的效果进行了对比,在实验过程中发现,固定的一个阈值往往无法准确的将所有昆虫图像进行二值化,如果每次昆虫图像的二值化都需要人为的进行阈值调校的话,势必会增加工作量,也不利于整个系统的自动化运行,因此选择了自适应阈值作为昆虫图像二值化的算法,下一小节中将介绍论文使用的自适应阈值的算法:大津算法。
在计算机视觉和图像处理领域内,大津法是用于图像二值化的常用算法, 1979年由日本学者大津提出的大津法,又名OTSU,是用来自动进行图像的二值化,或者,是将一张灰度化的图像退化成一张二值化的图像,能够自适应确定理想的阈值。该算法假设一张图像包含两部分:前景像素和背景像素,然后计算出一个理想的阈值将该图像进行二值化,进而将两部分进行分割,这个 佳阈值能够使图像的类内方差 小,或者说,由于成对平方距离的总格使恒定不变的,因此,这个 佳阈值能够 大化图像的类间方差[8]。
算法的原理描述如下:在大津算法中,遍历每一个阈值,使得图像的类内方差达到 小,定义为两个类的方差的加权和,计算公式如下:
( ) =?? ( )?? ( ) +????? ( )?? ( )?? (3.3) 权重 和 是被阈值 t 分开的两个类的概率,而 和 是这两个类的方差。两个类的概率 , ( )是由 L 直方图计算得出,计算公式如下:
??????????????????????????????????????????????????????????????????????????????? ( ) =????????? ( )????????????????????????????????????????????????????? (3.4)
??????????????????????????????????????????????????????????????????????????????? ( ) =????????? ( )????????????????????????????????????????????????????? (3.5)
OTSU 算法证明了类间方差的 大化和类内方差的 小化是同样的原理,如
式(3.6)所示。
??????????????????????????????????????? ( ) =?????? ?????? ( ) =?????? (???? ????? )?? +????? (???? ????? )
????????????????????????????????????????????????????????? =?????? ( )???? ( )[???? ( ) ?????? ( )]??????????????????????????????????????????? (3.6)
上式用类概率ω和类均值μ来表示,同时类均值 , , ( )用下述公式表示:
( )
????????????????????????????????????????????????????????????????????????????? ( ) =?????????? ???????????????????????????????????????????? (3.7)
( )
????????????????????????????????????????????????????????????????????????????? ( ) =?????????? ???????????????????????????????????????????? (3.8)
?????????????????????????????????????????????????????????????????????????? =?????????? ( ) 易证下列关系: | (3.9) |
??????????????????????????????????????????????????????????????????????????? +?????????? = | (3.10) |
+? = 1 类概率和类均值可以通过迭代计算。 算法的描述如下::
OTSU 的 Python 实现附在附录二中。 | (3.11) |
论文将大津法应用在昆虫图像二值化上,取得了不错的效果,效果如图 3.4 所
示,昆虫的外部轮廓与背景很明显的分割出来了。