全 文 :2016年5月
第37卷 第5期
计算机工程与设计
COMPUTER ENGINEERING AND DESIGN
May 2016
Vol.37
No.5
基于安卓的黄瓜叶部病害程度检测系统的研发
田有文,郑鹏辉,许童羽,邓寒冰,王 泷
(沈阳农业大学 信息与电气工程学院,辽宁 沈阳110866)
摘 要:针对以往繁琐、有损的叶部病害程度检测问题,研发基于Android平台的黄瓜叶部病害严重程度实时无损检测系
统。采用迭代式阈值法分割叶片区域和背景区域;采用模糊C均值聚类算法提取病斑区域,计算病斑区域像素点个数与整
个叶片区域像素点个数的比值k;根据相关病害分级标准,判断黄瓜叶部病害的严重程度,利用SQLite数据库技术,动态
添加其它黄瓜病害分级标准和防控措施信息;将检测结果及防控措施显示在手机屏幕上。实验结果表明,该系统能够在田
间对黄瓜叶部病害进行实时无损检测,准确快速地对其病害程度进行判定。
关键词:安卓;黄瓜;叶部病害;病害分级;实时;无损检测
中图法分类号:TP391.4 文献标识号:A 文章编号:1000-7024 (2016)05-1411-06
doi:10.16208/j.issn1000-7024.2016.05.055
收稿日期:2015-06-23;修订日期:2015-08-30
基金项目:国家科技支撑计划基金项目 (2013BAD20B08);辽宁省科技特派基金项目 (2013301004-7);辽宁省 “博士后集聚工程”基金项目
(2011921012)
作者简介:田有文 (1968-),女,辽宁沈阳人,博士后,副教授,研究方向为图像识别、光谱分析在农业智能信息处理中的应用;郑鹏辉
(1989-),男,陕西宝鸡人,硕士研究生,研究方向为图像识别在农业智能信息处理中的应用;许童羽 (1967-),男,辽宁沈阳人,博士,
教授,研究方向为温室作物在线监控等农业信息技术;邓寒冰 (1984-),男,辽宁沈阳人,博士,讲师,研究方向为农业非结构化数据分析与
挖掘;王泷 (1989-),男,甘肃张掖人,硕士研究生,研究方向为温室作物在线监控等农业信息技术。E-mail:youwen_tian10@163.com
Developing detecting system for cucumber leaf disease
severity based on Android
TIAN You-wen,ZHENG Peng-hui,XU Tong-yu,DENG Han-bing,WANG Long
(Colege of Information and Electrical Engineering,Shenyang Agricultural University,Shenyang 110866,China)
Abstract:Aiming at the problems of leaf disease severity detecting including cumbersome and destructive in the past,the cucum-
ber leaf disease severity real-time detecting system based on Android was developed.The iterative threshold segmentation was
used to separate the leaf area from background.The fuzzy C-means cluster algorithm was adopted to extract the disease spots and
the ratio kbetween the leaf disease spots pixels number and the leaf area pixels number was attained.The cucumber leaf disease
severity was determined according to relevant standards,and the SQLite database was used to add other cucumber disease gra-
ding standards and prevention and control measures dynamicaly.The cucumber leaf disease severity and the prevention and control
measures were displayed on the screen of mobile phone.Experimental results show that the proposed system can be used to real-time de-
tect the cucumber leaf disease non-destructively in the fields,and determine the leaf disease severity accurately and quickly.
Key words:Android;cucumber;leaf disease;disease grading;real-time;non-destructive detecting
0 引 言
作物在生长过程中,其叶部常会发生病害,进而造成
作物产量的极大损失,因此,快速、准确地判断作物叶部
病害严重程度对病害的防治极其重要[1,2]。文献 [3]中采
用两组番茄白粉病单叶图像,分别利用以往的经验和评估
的病害分级标准对图像进行病害程度分级,结果表明利用
病害分级标准可以可靠地估计番茄白粉病的严重程度,同
时可用于重要病害系统的评估和研究;文献 [4]提出一种
基于图像处理技术的病害单叶严重度自动分级方法,利用
K-means聚类算法自动准确的分割出叶片区域和发病区域,
通过像素统计法提取叶片和发病区域的面积特征,并计算
出发病区域占叶片总面积的百分比,判断出病害严重程度;
文献 [5]基于Android手机平台构建了一种植物叶片面积
快速无损测量系统,将获取的参照物图像经过图像灰度化、
图像平滑、图像二值化、图像几何校正和连通区域标记等
计算机工程与设计 2016年
处理,根据参照物和被测植物叶片面积比得到较为准确的
植物叶片的面积,并且以三叶草、木槿、腊梅、枫树、银
杏、樱花等多种植物叶片为对象进行面积测量验证。验证
结果表明,该系统能够有效测量植物叶片面积,且不受叶
片形状的限制;文献 [6]利用计算机图像处理技术对作物
病害进行分离,利用分水岭法提取叶片区域,通过计算病
斑面积与叶片面积的比例得到了病害的染病级别。
综上所述,这些图像处理技术都能快速的对叶部病害
严重程度进行良好地判别,但是这些检测方法都是有损的,
不能在田间实时的进行检测操作。针对这些问题,本文提
出并开发了一种能够在田间对黄瓜叶部病害程度进行实时
快速无损检测的系统。
1 系统的总体设计
1.1 Android系统框架
Android基于 Linux平台。从软件分层的角度来看,
Android由应用程序层、应用程序框架、Android运行时、
系统库和Linux内核构成[7]。应用程序层的程序均采用Java
语言编写,应用程序框架层是可以供软件开发人员访问全
部的API接口,Android运行时包括核心库和Dalvik虚拟机
两大部分,系统库是应用程序框架的支撑,Linux内核则依
赖于Linux2.6版的内核。Android的系统框架如图1所示。
图1 Android的系统框架
1.2 系统硬件平台
本系统硬件部分采用韩国三星电子公司的智能手机
Samsung I939d,手机搭载系统为 Android 4.2,其CPU为
四核 Samsung Exynos4412,主频1.4GHz,Mali 400MP
GPU,后置摄像头800万像素,1GB内存。
1.3 系统软件平台
本系统软件部分采用在 Windows 7操作系统下,搭建
了Android SDK 22.6.2 (Software development kit)+Java
JDK 8.0 (Java development kit)+Eclipse 4.4+ ADT
23.0.3 (Android development tools)的应用程序开发环境,
针对Android OS 4.2及以上版本。
1.4 功能设计
黄瓜叶部病害程度检测系统的总体设计思路是在
Android手机上开发一个黄瓜叶部病害程度检测系统软件,
为田间工作者提供更为准确、便捷的应用。使用本系统软
件,可以检测黄瓜叶部常见病的病害程度,还能够根据用
户的需求自主添加其它病害的相关信息。该系统由7个主
要功能组成,如图2所示。
图2 软件功能
(1)载入图像。该功能主要实现黄瓜叶部病害图像的
采集和添加。
(2)预处理。该功能主要是为提高黄瓜叶片与复杂背
景的分割精度,对采集的黄瓜叶部病害原始图像进行滤波
增强处理,实现对比度的增强。
(3)分割叶片。该功能主要是实现目标区域和背景区
域分割的目的。
(4)提取病斑。该功能主要实现提取黄瓜叶部病斑的
目的。
(5)病害分级。该功能根据 (3)和 (4)处理后的图
像分别统计图像中的黑色和白色像素点个数,并计算出病
斑区域占整个叶片区域的比值k,再根据比值k确定黄瓜叶
部病害严重程度等级。
(6)添加分级标准。该功能可以添加黄瓜其它的病害
分级标准及防控措施相关信息。
(7)退出系统。该功能实现系统软件退出的目的。
2 系统软件设计
本系统软件的总体设计步骤分为以下几点:
步骤1 系统软件界面设计;
步骤2 原始图像的预处理;
步骤3 叶片分割算法的选择;
步骤4 病斑提取算法的选择;
步骤5 数据的计算及判断病害级别;
步骤6 SQLite数据库知识的管理。
·2141·
第37卷 第5期 田有文,郑鹏辉,许童羽,等:基于安卓的黄瓜叶部病害程度检测系统的研发
2.1 系统软件界面实现
本系统软件在设计和开发过程中,充分利用了Android
SDK提供的LinearLayout类的优势,采用简单、人性化的
Android常用控件:使用TextView文本框控件用来显示文
本,使用EditText编辑框控件获取用户输入的具体内容,
使用Spinner下拉列表控件将所有的可选项列出来,供用户
选择,使用Button按钮控件完成触发事件,使用ImageView
图片视图控件为图片的展示提供一个容器。在 main.xml文
件中分别配置所有的控件,完成了系统界面的设计。
2.2 图像预处理
由于原始黄瓜叶部病害图像在采集过程中受光照强度
或者对焦等客观因素的影响,产生暗影或者噪声,进而会
对后续的叶片分割带来不便。所以需对原始黄瓜叶部病害
图像进行预处理,提高目标与背景的对比度。对原始黄瓜叶
部病害图像的G通道进行滤波增强处理,使叶片与背景的边
缘和轮廓图像变的更加清晰,使细节变得更加明显突出。
2.3 分割叶片
图像预处理之后,对黄瓜叶部图像进行分割处理。图
像分割就是把图像分成各个具有特性的区域并且提取出感
兴趣目标的技术和过程。本文实验需要将目标区域和背景
区域进行分割。阈值分割法是一种传统的常用分割方法,
它能够快速地提取出目标区域,并且操作简单。本文采用
迭代式阈值法来达到分割叶片的目的和期望。所谓迭代式
阈值法就是在处理图像开始时选择一个阈值作为初始估计
值,然后按照某一种策略不断改进这个初始值,直到满足
给定的准则为止[8]。该算法具体的计算步骤如下:
步骤1 选择初始阈值T0。
步骤2 利用初始阈值T0 将图像分割为R1 和R2 两个
区域,再利用式 (1)计算R1 和R2 的均值μ1 和μ2
μ1 =
∑
Ti
i=0
ini
∑
Ti
i=0
ni
, μ2 =
∑
L-1
i=Ti
ini
∑
L-1
i=Ti
ni
(1)
式中:ni———像素点个数,i———像素点灰度级。
步骤3 μ1 和μ2 计算完成后,用式 (2)计算出新的
阈值Ti+1
Ti+1 = (μ1+μ2) (2)
步骤4 重复步骤2和步骤3,直到Ti+1和Ti的差小于
某个给定数T′。
2.4 提取病斑
在黄瓜叶部病害程度检测系统中,病斑提取的准确度
直接影响判断病害的程度。本文采用模糊C均值聚类算法
(FCM),实现黄瓜叶部病斑提取的目的。
2.4.1 FCM算法的数学原理
FCM算法是目前比较流行的一种模糊聚类算法,它是
一种沿着目标函数减小方向逐步迭代的算法,以此来确定
其最佳的分类类别。目标函数如下
J= (U,V)=∑
n
i=1
∑
c
k=1
μ
m
ik Pi-Vk 2 (3)
式中:i=1,2,…,n,k=1,2,…,c,U=[μik]为c×n
矩阵,μik 为第k个灰度值Pi 对应的第i个隶属度值;V =
{v1,v2,v3,…}为c个聚类中心;c为聚类的类别数;μ
m
ik 指第
k个样本对i类的隶属度值;m是模糊加权指数,表示隶属度
的加权指数;P为聚类样本集 {p1,p2,p3,…};n为聚类空间
的样本个数; Pi-Vk 2 是Pi与Vk 之间的欧几里德距离。
2.4.2 FCM算法的参数选择
黄瓜叶部病斑的图像分割是将图像中的病斑区域和健
康区域分开。利用FCM进行图像分割时,要得到较好的结
果需要输入合适的参数。FCM的主要参数有:样本数据的
特征向量、最优聚类数c和模糊加权指数m。
(1)样本特征向量。样本特征向量参数的选取对应用
FCM算法有着至关重要的作用。通过分别读取黄瓜霜霉病
病害叶片健康部分和病害部分图像的RGB彩色信息,分析
其颜色特征主要体现在R、G和B分量上。考虑到Android
平台的运行能力和速度问题,选择R、G和B这3个分量
的值作为样本数据的特征向量。
(2)最优聚类数c。本文的目的是将黄瓜叶部的病斑
区域从叶片中分割出来,即把图像分为目标区域和叶片健
康区域两类,故聚类数c=2。
(3)模糊加权指数m。模糊加权指数m决定着模糊聚
类中模糊程度的量级,m值越大分类越模糊,当m=1时,
FCM算法退化为 HCM算法。毛罕平等[15]在对棉花病害叶
片的分割过程中,通过选取不同m 值对比发现,当m =2
时,分割效果最好,分割误差率R 接近于0%。文献 [9]
在获取水稻稻田图像分割过程中,分别选用m取 {1.5,2,
2.5,3,4,5,8,15,30}来测试,结果分析得到,在
m=2时,分割误差小,计算时间最少。文献 [10]提到在
模糊聚类算法过程中取参数m =2。根据以往文献的分析,
本文选取整数2作为模糊加权指数m的值。
2.5 病害分级
通常黄瓜叶部病害严重程度的级别根据病斑面积占叶
片面积的比值k来衡量[8]。参照传统有关病害的评判标准,
并根据植保专家的拟定意见,黄瓜霜霉病病害分为5个等
级[1],分级标准见表1。
表1 黄瓜霜霉病严重程度分级标准
病害等级 比值k
一级 0<k≤0.050
二级 0.050<k≤0.100
三级 0.100<k≤0.250
四级 0.250<k≤0.500
五级 0.500<k≤1.000
·3141·
计算机工程与设计 2016年
2.6 SQLite数据库知识管理
SQLite是D.Richard Hipp用C语言编写的开源嵌入式
数据库引擎,不存在数据库的客户端和服务器,所有的信
息都包含在一个文件夹内,方便管理和维护。SQLite数据
库通过数据库级上的独占性和共享性来实现独立事务处理,
嵌入到使用的应用程序中,共用相同的进程空间。它具有
可移植性好,占用存储空间小,高效可靠等特点。
本文利用SQLite数据库,使用openOrCreateDatabase
方法创建并打开一个名DiseaseLibrary数据库。在数据库中
创建了一个具有8个字段的表,分别是 “作物类型”、 “病
害名称”、“一级病害分级标准上限”、“二级病害分级标准
上限”、“三级病害分级标准上限”、“四级病害分级标准上
限”、“五级病害分级标准上限”、“防控措施”,其中字段的
值通 过 ContentValues 使 用insert()方 法 插 入。调 用
SQLiteDatabase的delete()方法、query()方法、update()
方法可以对表中的值进行删除、查询和更新。
3 系统软件的移植与测试
3.1 系统软件移植
本文在构建的 “基于 Android的黄瓜叶部病害程度检
测系统”开发环境上,可生成系统的安装文件包 (APK文
件),用通串线 (universal serial bus)将 Android手机与个
人电脑相连接,并将APK文件安装在智能手机上,即可完
成黄瓜叶部病害程度检测系统软件的移植工作。
3.2 系统测试
本系统软件是由多个Activity组成的,在不同的Activity
之间传递获取的操作信息。以此来实现不同的功能。通过点
击按钮来实现相应的目的。系统主界面效果如图3所示。
图3 主界面效果
(1)本文实验的黄瓜叶部病害样本图像采集于沈阳农
业大学北山第22号大棚黄瓜蔬菜基地。在不摘离黄瓜叶片
的前提下,以干净平整的白板作为拍摄背景,利用Android
手机摄像头垂直拍摄被测黄瓜单叶图像,也可以从手机相
册中选取已经完成拍摄的叶部图像。以下以黄瓜霜霉病为
样本进行测试,载入黄瓜霜霉病叶部图像如图4所示。
图4 载入图像
(2)由于R通道的目标区域和背景区域对比比较明显,
易于分割,而G通道和B通道的目标区域与背景区域十分
接近,不易分割。所以利用图像的R通道来分割目标区域
和背景区域。根据迭代式阈值算法最终得到的叶片分割效
果如图5所示。从图中可以看出目标区域与背景区域的分
割较好,叶片边缘清晰,较真实反应叶片区域。故采用迭
代式阈值算法可以有效的分割处目标区域和背景区域。
图5 叶片分割效果
(3)采用模糊C均值算法提取到的病斑图像如图6所
示。从提取结果可以看出,基于模糊C均值聚类算法能够
根据黄瓜叶部病害图像的颜色特征较好的分割出叶片的病
斑区域和健康区域,图像分割稳定,分割效果理想。
·4141·
第37卷 第5期 田有文,郑鹏辉,许童羽,等:基于安卓的黄瓜叶部病害程度检测系统的研发
图6 病斑提取
(4)分别统计叶片分割图像和提取病斑图像中各像素
点个数,根据k值计算定义,可得出k=0.0733。根据表1
可知,本文测试的黄瓜霜霉病叶部病害等级应为二级。选
择作物类型和病害名称,点击 “病害等级”按钮,病害分
级结果以及防控措施将显示在屏幕上,效果如图7所示。
(5)点击图7中 “添加病害分级标准”按钮,进入添加
分级标准界面,如图8所示。在此界面可以添加作物类型、
病害名称、病害分级标准上限以及防控措施信息,将数据信
息保存在数据库中后,可以在图7界面中调用并使用。
图7 病害分级结果
4 结束语
本文基于Android构建了黄瓜叶部病害程度检测系统,
对采集到的图像根据健康叶片区域和病斑区域的特征,运
用高效的处理算法分割叶片、提取病斑,并计算作物病害
图8 添加数据效果
比值k,最后,根据k值进行病害严重程度分级。实验结果
表明本系统对黄瓜叶部病害程度检测准确,而且无损叶片。
同时,可以利用强大的SQLite数据库技术,动态地添加黄
瓜其它病害的分级标准和防控措施信息。Android智能手机
价格相对低,相比价格昂贵的叶面积分析仪[11]更适合在田
间操作。该系统为农业工作者提供方便、快捷、实用的作
物信息,也能够帮助其科学合理的生产,促进作物的高产
优产,加快农业信息化的快速发展。
参考文献:
[1]TIAN Youwen,CHEN Xu,ZHENG Penghui.The crops leaf
disease grade system based on embedded system [J].Journal of
Shenyang Agricultural University,2014,45 (6):756-760
(in Chinese).[田有文,陈旭,郑鹏辉.基于嵌入式的农作物
叶部病害分级系统 [J].沈阳农业大学学报,2014,45 (6):
756-760.]
[2]CAI Qingsheng.Plant physiology [M].Beijng:China Agri-
cultural University Press,2011 (in Chinese).[蔡庆生.植物
生理学 [M].北京:中国农业大学出版社,2011.]
[3]Daniel A Costa Lage,Waldir A Maroueli,Henrique da SS
Duarte,et al.Standard area diagrams for assessment of pow-
dery mildew severity on tomato leaves and leaflets [J].Crop
Protection,2015,67 (5):26-34.
[4]LI Guanlin,MA Zhanhong,WANG Haiguang.An automatic
grading method of severity of single leaf infected with grape
downy mildew based on image processing [J].Journal of China
Agricultural University,2011,16 (6):89-93 (in Chinese).
[李冠林,马占鸿,王海光.基于图像处理的葡萄霜霉病单叶
严重度自动分级方法 [J].中国农业大学学报,2011,16
(6):89-93.]
[5]GUO Wenchuan,ZHOU Chaochao,HAN Wenting.Rapid
·5141·
计算机工程与设计 2016年
and non-destructive measurement system for plant leaf area
based on Android mobile phone [J].Transactions of the Chi-
nese Society for Agricultural Machinery,2014,45 (1):275-
280 (in Chinese). [郭文川,周超超,韩文霆.基于 Android
手机的植物叶片面积快速无损测量系统 [J].农业机械学报,
2014,45 (1):275-280.]
[6]GUAN Hui,ZHANG Changli,ZHANG Chunyuan.Grading
method of cucumber leaf spot disease based on image processing
[J].Journal of Agricultural Mechanization Research,2010,
32 (3):94-97 (in Chinese).[关辉,张长利,张春媛.基于
图像处理的黄瓜叶片病斑分级方法的研究 [J].农机化研究,
2010,32 (3):94-97.]
[7]CHU Wujiu.200cases of classic Android programming [M].
Beijing:Publishing House of Electronics Industry,2013:9-11
(in Chinese). [楚无咎.Android编程经典200例 [M].北
京:电子工业出版社,2013:9-11.]
[8]TIAN Youwen.The modern image recognition technique in the
diagnosis of crop disease [M].Beijing:China Agricultural
Press,2010:54-55 (in Chinese).[田有文.现代图像识别技
术诊断农作物病害 [M].北京:中国农业出版社,2010:
54-55.]
[9]CHI Dexia,REN Wentao,LIU Jinbo,et al.Segmentation of
rice images with fuzzy C-means clustering algorithm [J].Jour-
nal of Shenyang Agricultural University,2013,44 (6):787-
792 (in Chinese).[迟德霞,任文涛,刘金波,等.基于模糊
C均值聚类的水稻秧苗图像分割 [J].沈阳农业大学学报,
2013,44 (6):787-792.]
[10]XIN Yuelan,WANG Xili.Image segmentation based on
graph cuts and improved ful C-means[J].Computer Applica-
tions and Software,2014,31 (7):206-209 (in Chinese).
[辛月兰,汪西莉.基于图割与改进模糊C均值的图像分割
[J].计算机应用与软件,2014,31 (7):206-209.]
[11]LI Zhizhong,XIE Fei,LIU Xiaomei,et al.A comparative
study on the accuracy of two commonly used methods of leaf
area measurement[J].Chinese Agricultural Science Buletin,
2013,29 (19):193-197 (in Chinese). [李治中,谢菲,刘
小梅,等.2种常用叶面积测量方法准确性的比较研究 [J].
中国农学通报,2013,29 (19):193-197.]
(上接第1390页)
[26]Wikipedia.VGA-compatible text mode[EB/OL].[2014-11-
10].en.wikipedia.org/wiki/VGA_compatible_text_mode.
[27]Osdev.VGA_Hardware [EB/OL].[2014-07-24].wiki.os-
dev.org/VGA_Hardware#The_Graphics_Controler.
[28]FreeVGA.FreeVGA project: Manipulating the text-mode
cursor[EB/OL].[2013-07-12].www.osdever.net/FreeVGA/
vga/textcur.htm.
[29]FreeVGA.FreeVGA project:VGA text mode operation[EB/OL].
[2013-07-10].www.osdever.net/FreeVGA/vga/vgatext.htm.
[30]Freecode.SVGA text mode[EB/OL].[2013-07-12].fresh-
meat.net/projects/svgatextmode.
[31]VESA.VESA bios extension(VBE)core functions standard
[S].San Jose,California:Video Electronics Standards
Association,1994:17-64.
[32]Tutorial on VGA graphics[EB/OL].[2013-07-10].atschool.
eduweb.co.uk/camdean/pupils/amac/vga.htm.
·6141·