APP下载

柑橘溃疡病图像识别智能检测系统的实现

2021-03-30黄丽韶

现代盐化工 2021年2期
关键词:溃疡病柑橘灰度

黄丽韶

(湖南科技学院,湖南 永州 425199)

1 背景与意义

永州之野、橘香世界。近年来,永州市柑橘挂果面积为115.04万亩(约766.93 km2),年产量82.05万t[1]。柑橘业在永州农村产业结构调整、农民脱贫致富、城乡人民就业和生态环境改善中发挥了重要作用。溃疡病是柑橘的主要细菌性病害,类似于非典,是一种能随空气和水传播的毁灭性病害。有关学者认为,溃疡病对柑橘产业的影响已达到基本等同于“致死性”和“毁灭性”的程度[2]。利用计算机自动识别病害是全世界都在研究的问题,可以显著节省成本,并可以防止由于人类自身的生物机能限制而产生的判断错误。

2 国内外研究现状

图像识别是用计算机来模拟生物宏观视觉功能的科学与技术。从20世纪70年代开始,美国研发了大豆病害诊断助手、果园管理及害虫防治系统、棉花管理专家系统,日本千叶大学开发了番茄病害诊断专家系统[3]。我国在国家自然科学基金、国家科技攻关的资助和许多部门的支持下,研发了柑橘园艺专家系统及玉米低温冷害专家系统等。美国佛罗里达大学有学者利用柑橘叶片图像开展病害自动识别相关研究工作。我国有学者在作物病虫图像特征提取、测量及种类自动识别研究中,对昆虫图像的分割和边缘检测算法进行研究。也有学者根据棉叶的孔洞及叶片边缘残缺来测定棉花受虫害程度。还有学者针对植物病害彩色纹理图像的特点,提出利用色度矩提取特征向量等进行病害识别的方法。

3 系统的设计与实现

3.1 系统文件组成

本设计主要分为文件系统与代码两部分。文件系统主要由图像与模型两大文件组成。图像文件,顾名思义就是存放图像的文件:由原始图像(即还没有处理的、初始的图像)、处理后图像(即经过一系列操作处理后的图像)、测试集图像(由原始图像组成,都未经预处理)。代码部分主要由预处理代码、卷积神经网络代码、测试代码3个部分组成。

3.2 图像标准化功能

图像标准化功能是对原始数据的格式化处理,主要考虑图像的像素大小、图像的清晰度等以及图像中的柑橘是否有溃疡病的病症,以避免开始就对结果造成影响。此外,还应考虑数据是否完整。所以在保证图像高度为208的情况下,图像比例缩减。

本功能主要采用Python中Os模块、PIL模块以及Opcv2模块进行实验。

首先获取原始图像集,对原始图像进行确认并分类(即柑橘是否有溃疡病的病症);分类图像后,定义标准像素,再将有溃疡病病症的柑橘进行标准化处理;利用Os模块创建新文件夹,将处理后的图像另存于新文件夹中,以便后续处理。

3.3 预处理

预处理功能主要是对图像进行预处理,主要采用Python中的Opcv2模块、Numpy模块、Matplotlib模块、PIL模块进行处理。

3.3.1 灰度化处理功能

首先,获得图像每个点的像素值;其次,采用灰度加权平均算法(按0.3R+0.59G+0.11B的比例)进行计算;最后,将灰度加权平均算法所算得的值赋予图像每个像素点。

3.3.2 二值化处理

首先调用灰度化后的图像,其次采用最小误差的全局阈值法进行二值化,在多次实验中(使用BINARY、BINARY_INV、TRUNC、TOZERO、TOZERO_INV)等方法,发现采用THRESH_TOZERO_INV方法最好。

ret,thresh=cv2.threshold(GrayImage,127,255,cv2.THRESH_TOZERO_INV)

3.3.3 高斯滤波法去噪处理

高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值替代模板中心像素点的值用。高斯平滑滤波器对于抑制服从正态分布的噪声非常有效。先求卷积核,再进行高斯滤波即可。

3.3.4 Tensorflow卷积神经网络构造模型

本设计中的Tensorflow卷积神经网络一共由5层组成,前两层由卷积层与池化层构成。

中间两层是连接层,最后一层为输出层。卷积核定义为3×3,共16个。每隔5 000步取一次模型。

在卷积层中,首先定义了16个3×3的卷积核。首先进行计算标准差,其次通过tf.get_variable函数创建出新的Tensorflow变量,再次进行偏差计算,最后加上激活函数进行非线性化处理。当然,这些操作都在定义的conv1的命名空间内执行。

在池化层中,首先需要定义的是池化窗口,其中,height=weight=池化窗口的步长=卷积核移动距离+1。最重要的是,需先规范化、再池化。规范化也就是特征缩放,局部需要响应归一化。

在连接层中,首先把卷积过的多维tensor拉平成二维的张量(就是矩阵)。其次连接神经元,计算标准差。最后矩阵相乘再加上标准差。

在整个训练过程中,因为采用batch训练法,所以需要先定义队列来存放。

4 测试

测试功能也是本设计最后的功能,是对前面操作的检验,虽然不难,但结果的好坏直接影响整个设计的好坏。在整个测试功能的实现过程中,因为只考虑图像中的柑橘等是否有被溃疡病伤害过的痕迹,所以只考虑两种结果,有或者无。提前定义了一个类,将测试集中的图像在进行测试前,先进行标准化处理,依然是208×208的像素。

5 测试结果

5.1 标准化模块

标准化模块主要定义图像的模式与大小,即所有图像为RGB(Red、Green、Blue)模式,大小可自定义,主要是为了后续操作。

原先每张图的像素各不相同,本研究将标准像素定义为853×640,所以每张图经过此模块后,像素改变为853×640,当然,一些图像的模式也改变成了RGB模式。在此设计中,并没有考虑水平、垂直分辨率等因素对后续实验的影响。所以,并没有改变图像水平、垂直分辨率等。

5.2 预处理模块

预处理主要由3个部分组成:灰度化、二值化、滤波(其中还包含归一化等操作)。灰度化操作从肉眼可以看出原图像变灰,相对来说,还是比较亮的。因为原图像绿色部分相对来说较多,而颜色对本设计来说比较重要,是重要的识别依据。所以使用了灰度加权平均算法,使用了0.59的Green,因此灰度化后的图像,会比选用平均算法等算法处理的图像,亮一些。总体来说还是可以的。

二值化操作,来源于本研究在灰度化后的图像。在作二值化处理时,前期并不知道何种参数对后面操作更好,所以做了最小误差全局阈值的所有参数处理,在后续的操作中,发现最后一种(即TOZERO_INV)参数作处理,对本设计后面的操作更有利。

另外,可以听出一部分椒盐噪音,因此,在后面的滤波操作中选取了高斯滤波方式。

高斯滤波,有一部分为原图像(即二值化之后的图像),有一部分为使用高斯滤波之后的图像。因此可以看出,图像中的椒盐噪音减少了。之所以选取高斯滤波方法,是因为二值化之后的图像出现了大量椒盐噪音,而本操作就是为了减少这些噪音对后续操作的影响,提高本设计的准确率。

5.3 建模模块

建模模块也是本设计最重要的模块之一。模型的好坏直接决定了本设计的成功与否。因本设计采取每5 000步取一次模型,所以本设计一共得到3个模型。这3个模型也是前面所有操作得到的最终结果。

5.4 测试模块

测试模块的作用就是将训练集与测试集导入模型中,验证此模型是否可用(即验证此设计是否符合预期)。此模块的结果在下面作出详细解释。

本设计采用训练集与测试集分开测试。

实验来源于测试集,之所以选取,是因为该实验对模型的要求极高,因影响因素过多,很影响准确率。但识别该实验没有柑橘溃疡病病症的可能性依然超过72.00%。

实验依然来自于测试集,并没有柑橘溃疡病的病症,可能性在99.96%以上,效果是比较好的。

实验来源于训练集,模型认为该实验没有柑橘溃疡病的病症的可能性为99.99%。相对来说,准确率已经很高了。

6 结语

根据最终结果的测试,发现最低的可能性为76.00%,最高的可能性高达99.99%。所以,本设计也符合最开始的预期。本设计的可改进之处有:(1)开发可视化界面,让用户用起来更加方便。(2)开发成App软件,通过读取相册内数据,对图像进行识别。(3)也可开发成电脑软件,通过与摄像头的合作,将柑橘园的柑橘树进行实时监控,以进行实时提醒。(4)添加网络功能,增加网上识别功能,如有需要,可直接在网页上进行识别。

猜你喜欢

溃疡病柑橘灰度
采用改进导重法的拓扑结构灰度单元过滤技术
冬季溃疡病高发 防治须加强
吃柑橘何来黄疸——认识橘黄病
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
葡萄转色期干梗掉粒 多是溃疡病
猕猴桃溃疡病致病根源及防控对策
北方杨树枝干溃疡病的发生与防治
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算
柑橘大实蝇综合治理