基于树莓派和Python的黄瓜病斑识别系统的设计
2020-08-31李警波李密生唐博张正阳
李警波 李密生 唐博 张正阳
摘 要:为了实现黄瓜斑病的识别,综合应用计算机数字处理技术与图像识别技术进行黄瓜病斑识别研究。使用树莓派3B硬件开发平台,融合Python开发和图像识别等先进技术,设计了黄瓜病斑识别系统,该系统具有功能强大、使用方便、识别精确等优势。文中介绍了系统的整体框架,树莓派的硬件设计,图像识别的关键技术和流程,同时该系统在传统测量叶片面积的基础上,还增加了黄瓜病斑的面积计算,根据相应病害面积计算出黄瓜病害的等级。该黄瓜病斑识别系统具有一定理论参考价值和实用价值,能够有效提高黄瓜种植栽培的工作效率与黄瓜产量。
关键词:树莓派3B;Python;处理技术;图像识别;黄瓜病斑;叶面积;栽培
0 引 言
随着计算机数字处理技术、信息技术的飞速发展,以及互联网+时代的到来,通过树莓派和Python的融合实现黄瓜病斑的识别系统已成为可能。近年来,国内外越来越多的研究人员对各种蔬菜的病斑进行了相关研究和实验,并取得了较好效果,同时各种病斑也得到了很好的控制。但对于大棚作物,尤其是黄瓜病害的研究较少。
树莓派为Python编程提供了一个成本低廉、稳定可靠的开发平台,其允许树莓派的开发者将项目扩展到令人难以置信的规模[1]。
黄瓜最早在农业大棚里广泛种植,具有较高的营养价值,且生长成熟周期较短,由于其具有众多优点,成为饭桌上的美味佳肴,也成为美容界的明星作物。针对黄瓜病害的识别很大程度上仍然停留在依靠人眼观察阶段,存在较大主观性,识别结果不精确且速度较慢,无法满足人们的需求。因此,将黄瓜病斑识别技术应用于农业领域以解决上述问题[2],开发出满足精准农业要求的黄瓜斑病识别系统。
1 硬件组成
基于树莓派和Python的黄瓜病斑识别系统主要包含供电模块、存储模块、检测模块和处理模块。
病斑识别系统中检测模块对被检测对象的图像进行采集,并且对采集到的图片进行分割等预处理。处理模块对预处理后的叶片图像进行灰度化、去噪等深度处理,计算叶片的病斑面积,之后将病斑面积根据病斑的等级标准进行识别和提示。存储模块为树莓派的底层系统、检测到的图片初始数据和处理识别后的数据提供存储支持。供电模块采用锂电池设备,既能提供稳定电源,又为病斑识别系统使用方式的自由度提供了有力支持。锂电池供电方式的应用使其不仅可以在实验室使用,又可以直接走向一线场景进行采集和识别。
叶片扫描仪由树莓派3B电路板、LCD显示屏幕、摄像头和电池供电系统组成,其中树莓派为硬件和软件的集成核心,负责连接各部分,提供相应的拍照和计算服务。
黄瓜病斑识别系统的核心在于树莓派。树莓派3B电路板是一款搭载Debian操作系统的微型主机,它将扩充存储卡作为存储器,主板含有一个百兆以太网接口和WiFi模块以供信息流传输,同时还具有一个CSI2接口摄像头,用于图像采集及与40个GPIO引脚连接,电源线接入树莓派BOARD引脚2(5 V接口),GND接入BOARD引脚14,拍照键接入BOARD引脚14(GPIO4),关机重启按键接入BOARD引脚40(GPIO29)。通过USB电源线连接至树莓派3B的MicroUSB供电接口,触发电源开关为扫描仪供电。CPU处理器用于处理信息,GPU处理器使显卡减少了对CPU的依赖,可进行部分原本属于CPU的工作,如图像处理。该电路板还含有1 GB内存用于存储数据和图片,主板外設有一个开关键用于对树莓派的设备进行关机和开机操作,通过图片捕获键对黄瓜叶片进行拍摄,由电池对树莓派的设备供电,借助LCD显示屏显示拍摄的黄瓜叶片。系统结构如图1所示。
2 病斑识别
通过扫描仪的摄像头采集数据,将采集的图片进行预处理,之后进行病斑识别,并对黄瓜病斑识别图像进行病斑等级分类。
2.1 图像预处理
由于采集的图片会受光照等因素影响,所以需采取平滑、滤波等方式对黄瓜病斑识别系统进行预处理操作,以增大病斑图像和背景反差,去除噪声,保障后续能够准确、完整地分割病斑图像[3]。
图像分割即按照图像中记录内容的特点将图像分割成不同区域,以便后期对其进行加工、分析、处理[4]。图像分割对后期病害等级分类和准确计算至关重要。常见的图像分割方法包括最大类间方差法(OTSU算法)、固定阈值法、迭代阈值法等,本文选用最大类间方差法(OTSU算法)对图像进行分割处理。
作为一种简单且效果理想,并具有较强适应能力的一种分割方法,OTSU算法在分割图像的过程中非常有利,目前很多应用领域都已普及了该种算法用于图像分割[5]。
OTSU算法于1979年首次被日本研究人员提出,其根据灰度特征将图像分为两部分,即目标和背景。目标和背景之间的差异越大,图像两个部分之间的差异越大,因此,选取类间方差最大时的阈值将目标和背景分离[6]。
式中:w0为背景比例,其均值为?0;w1为前景比例,其均值为?1;?为图像均值;g为类间方差;图像大小为M·N[7]。运用OTSU算法对黄瓜病斑进行分割的结果如图2所示。
2.2 深度处理
2.2.1 灰度化
灰度图像是一种特殊的彩色图像[8]。经过分割后的黄瓜病斑图像为彩色图片,经过灰度化处理后对主要病害区域进行噪声和纹路处理,其灰度值范围为0~255。RGB模型中R,G,B分别为三维立体坐标的三个坐标轴,从坐标原点到每个坐标轴的区域为黑色逐渐变为白色的分布情况,而灰度图像只需要灰度等级值R=G=B。RGB转灰度化的方法主要包括加权平均法、平均法、最大值法等。
2.2.2 去噪
黄瓜图像在采集和处理过程中会引入一些噪声,使图像变得模糊不清,增加实验误差,为避免这些影响,需要对图像进行去噪处理。本文使用中值滤波法对图像去噪,不仅方便快捷[9],还能较好地保留图像的关键细节。
中值滤波是最常见的滤波手段,首先寻找图像中的某一点值,然后计算该点周围域中的各点中值并用其代替,从而消除图像邻域内的单一噪声[10]。
目标范围内像素的总个数为n,(x, y)为掩膜中心的灰度值,当n为奇数时,将(n+1)/2作为当前像素(x, y)的值;若n为偶数时,将中间2个像素值和的一半作为当前像素的值[11]。
2.3 面积计算
通过引入标准参考物,对采集的黄瓜叶片进行预处理和深度处理,得到黄瓜叶片与参照物间像素的对应关系,从而求出待测黄瓜叶片的面积,根据公式,便可以求出黄瓜叶片的实际面积。
2.4 病斑等级确定
病斑等级主要依据黄瓜叶片的病害面积与整个黄瓜叶片面积的比值来确定,共分为如下6个等级。
(1)0级:若病斑占整个叶片面积的百分比为0,则说明黄瓜叶片目前处于健康状态;
(2)1级:若病斑占整个叶片面积百分比在0~5%之间,则说明目前黄瓜叶片处于发病初级期,应该做好防护工作;
(3)3级:若病斑占整个叶片面积百分比在5%~10%之间,则说明黄瓜叶片目前处于发病期,应该制定合理的方案,进行抑制;
(4)5级:若病斑占整个叶片面积百分比在10%~25%之间,则说明黄瓜叶片目前处于发病蔓延期;
(5)7级:若病斑占整个叶片面积百分比在25%~50%之间,则说明黄瓜叶片目前处于发病严重期;
(6)9级:若病斑占整个叶片面积百分比高于50%,则说明黄瓜叶片目前处于发病肆虐期。
根据对黄瓜病斑的等级判定结果,对黄瓜采取合理的防治措施。
3 结 语
基于树莓派和Python的黄瓜病斑识别系统具有高扩展性,其在Linux的底层系统对图像捕获和图像数据处理语言的支持极为丰富,为研发者提供了诸多便利。利用树莓派结合Python语言完成黄瓜病斑的识别,通过对黄瓜病斑叶片的采集、预处理和病斑的等级判定,对有严重葉片的病斑及时做到防御和抑制工作,以保证黄瓜产量。该系统具有较好的经济效益与社会效益。
参考文献
[1]许礼捷,葛华,陈红.基于树莓派和Python的智能家居系统设计[J].沙洲职业工学院学报,2019,22(1):1-5.
[2]杨颂,张少伟,孙培壮,等.基于STM32和OV5640的无人机农情监测系统[J].物联网技术,2018,8(7):22-25.
[3]关莹.基于图像处理的水稻叶部病害快速识别方法研究[D].哈尔滨:东北农业大学,2018.
[4]李长有.青椒果实识别系统的设计与实现[D].哈尔滨:哈尔滨工业大学,2017.
[5]孙佳佳.基于限制灰度范围的OTSU算法的皮肤镜图像分割[D].南阳:南阳师范学院,2018.
[6]孔聪雅.基于分数阶萤火虫优化的OTSU图像分割算法研究[D].银川:宁夏大学,2019.
[7]孙宏佳.基于机器视觉的花生种子自动识别系统设计[D].哈尔滨:哈尔滨理工大学,2014.
[8]李向志.遥感图像海上典型人造目标识别系统研究[D].大连:大连理工大学,2019.
[9]赵世达.基于机器视觉的草莓识别技术研究[D].武汉:武汉轻工大学,2018.
[10]李宁.手眼伺服作业机器人平台系统的研究[D].秦皇岛:河北科技师范学院,2017.