基于BP 神经网络的图像识别系统

2019-04-03 01:39邓祺盛纪爽李政马雪倩赵璐
现代计算机 2019年35期
关键词:大麦白粉病纹理

邓祺盛,纪爽,李政,马雪倩,赵璐

(河北农业大学,保定071000)

0 引言

随着物联网技术在各个领域的兴起[1],物联网技术也在农业中[2]发挥了重要作用。在农作物生长过程中,会遇到各种各样的病虫害使农作物染上疾病,而这些疾病往往会导致农作物大面积传染并引起死亡,从而造成经济上非常严重的损失。所以设计一种有效的、便捷的设备来进行病虫害的发现和处理成为了一件亟待解决的事情。近年来,随着图像处理技术[3]的发展,一些学者也在农作物病虫害识别中广泛地应用了此项技术。

本设计采用的是基于BP 神经网络的图像处理技术,通过提取图像的颜色、纹理特征来更加精准地发现并识别农作物病虫害,以便有效地实时反馈。

1 系统结构

农作物病虫害图像的采集与诊断系统主要由两部分组成:病虫害图像采集终端和病虫害图像处理服务器。其中,病虫害采集终端由相机模块和可伸缩杆组成。相机模块通过万向轮固定在可伸缩杆的最顶端,可以进行360 度无死角拍摄;可伸缩杆则将相机模块送入一些人都难以企及的地方,例如农作物的根部、作物比较茂盛的区域进行图像采集。图像采集终端设备将采集的图像传输给图像处理服务器,图像处理服务器则完成图像数据的接收与存储,并用BP 神经网络算法进行病虫害识别与处理,及时进行反馈给用户。

图1 农作物病虫害图像的采集与诊断系统

2 系统模块的设计

2.1 图像采集终端(相机)模块的设计

本设计中的相机模块主要采用的是讯为电子推出的一款iTOP-4412 核心板,拥有四核处理器,8GB 内存容量,同时支持SD 卡扩充。另外该开发板的续航能力非常强大,拥有电源管理芯片。而农田里的温度在夏天往往较高,变化幅度也大,而该开发板能够在-20℃到70℃范围内能运行正常,该开发板保证了采集终端设备在农地里良好地运行。

本设计中需要iTOP-4412 开发板实现图像的采集、地理位置信息的获取、农作物温度的测量以及图像数据上传等功能,所以配备的模块主要有图像采集模块、JPEG 编码模块、温湿度传感器模块、Wi-Fi 模块、文件传输和图像处理模块以及GPS 地理位置信息模块,因为采集终端是属于手持可移动的便携式设备,iTOP-4412 强大的续航能力给予了保障,所以供电问题可以先不用考虑。而且,本设计中是用定时采集方法采集图像,定时周期根据具体效果具体设定。这样做的好处就是节省用视频拍摄所消耗的大部分资源。

图2 图像采集终端(相机)模块结构示意图

(1)图像采集模块

图3 图像采集具体流程

该模块采用的是OV5640 CMOS 图像传感器,能够高分辨率进行拍摄,以保证实现病虫害图像清晰识别。本设计主要利用V4L2 的API 接口函数对设备文件进行设置,用来实现采集终端对于摄像头图像数据的采集工作。对于图像传感器模块,iTOP-4412 开发板提供有专用的硬件接口,处理器内核有相应的驱动程序。而V4L2 为Linux 下的视频设备程序提供了一套接口的规范。具体流程为:首先调用接口,选择采集设备、设置分辨率以及图像帧大小等步骤,通过定时器每隔一段时间进行一次拍摄图像,使采集设备更加精简,从而完成图像的采集工作。

(2)JPEG 编码模块

获得拍摄的图像数据后,为了节省图像传输所消耗的流量,以及能够尽可能地提高图像传输效率,以便服务器能够及时处理并实时反馈给用户,设计中必须尽可能地节省采集到传输的时间,所以必须在无线传输前对图像进行压缩处理。在该模块中即完成对拍摄图像数据的压缩编码功能。

具体步骤为:

图像采集模块收到定时器发来的拍照命令后,JPEG 编码模块初始化、进行一系列的参数设置、开始编码完成对图像的JPEG 编码。

(3)GPS 位置信息采集模块

当我们采集完成所需要的图像后,如何确定该图像所拍摄的地理位置,进行病虫害治疗,这就需要用到定位模块来确定了。在本设计中采用传统的GPS 定位技术来获取位置信息。当定时器发出拍摄命令时,系统将更新当前的GPS 经纬度、高度以及时间信息,并连同编码后的JPEG 数据写入到文件中保存。

(4)图像预处理模块

在将采集到的图像进行上传前,本模块将进行最后一道操作,即对采集的图像先进行常用的一些预处理工作,进行图像增强、特征提取等算法步骤,即上传的图像只需要原图像的特征值信息、地理位置信息等少量数据,这样就降低了图像处理所需要的执行周期,减轻服务器处理的负担,对于实时反馈系统有莫大的帮助。

(5)数据传输模块

采集完成并经过预处理以及写入GPS 位置信息的图像将会通过无线方式传送到图像处理服务器。在于本设计中,主要的面向对象是农田,而一般可知,农田都距离城镇较远,传统的蓝牙、Wi-Fi、ZigBee 技术都无法达到长距离传输,所以我们采用了GPRS 进行数据传输。当然,考虑到为了使采集终端设备更加广泛的应用于农业的各个领域,本设计中也添加了Wi-Fi 模块,主要用于大棚、果园等距离城镇、用户居住地较近的地方进行数据传输。

2.2 图像处理服务器模块

图像处理服务器主要包括病虫害诊断模块以及病虫害反馈模块。当服务器收到来自病虫害采集终端发来的图像数据后,用训练好的BP 神经网络算法进行病虫害类型识别,得出对应的病种后通过向用户发送带有位置信息、病虫害信息以及解决办法的数据,完成实时反馈工作。

(1)图像处理算法

BP 神经网络是一种多个层次并有反馈系统的网络,该网络通过输入样本值进行大量的练习,来得到期望的输出。分为三层:输入层、隐含层、输出层。它的特点是从输入层通过隐含层到输出层逐层传递神经元,若有误差,则进行反馈传递。当输出层的结果达不到预期的输出时,神经网络就会反向传递,在反向传递的过程中,根据误差来调整网络权值和阈值,这样就可以给出BP 神经网络一个样本,BP 神经网络得到的预测结果就更能接近真实值(期望值),即一个良好的识别预测系统就构成了。

图4 BP神经网络拓扑结构图

图4 中,X1,X2,…,Xn是BP 神经网络的输入值,Y1,Y2,…,Ym是BP 神经网络的预测值或输出值,中间的Wij和Wjk为BP 神经网络的权值。

以上是BP 神经网络的整体框架,该网络可以看成一个非线性函数,当我们需要做预测的时候,首先要做的是把这个非线性函数训练好,得到的误差值越小越好,即预测值逼近真实值。所以,我们需要进行以下的过程。

过程一:初始化

①确定网络输入层节点数n、隐含层节点数l,输出层节点数m;

②输入层与隐含层和隐含层与输出层神经元之间的权值Wij和Wjk;

③隐含层阈值a,输出层阈值b;

④给定学习速率和神经元激励函数。

过程二:隐含层输出

计算隐含层输出H:

其中f 为隐含层激励函数,在本设计中的表达形式为:

过程三:输出层计算

根据隐含层输出函数H,权值Wjk和阈值b,计算神经网络预测输出O:

过程四:误差计算

根据网络预测输出O 和期望输出(真实输出)Y,计算神经网络的预测误差值e:

过程五:权值更新

根据网络预测误差e 更新网络连接权值Wij和Wjk:

过程六:阈值更新

根据网络预测误差e 更新网络节点阈值a,b:

过程七:判断是否结束算法,当误差小于我们设定的某一个值时,即预测输出逼近真实输出,可以结束算法,否则重复执行。

(2)MATLAB 图像处理

本设计采用MATLAB 作为图像识别软件。具体步骤为提取图像的颜色、纹理特征,本例建立一个基于BP 神经网络的大麦白粉病识别模型,最后可以实验测试。

上节已经讲过,BP 神经网络分为三层结构,首先确定输入层:由颜色特征中的R、G 分量一阶矩和G 分量的二阶矩,纹理特征中由熵、能量、惯性矩、相关参数,总共是7 个输入量来输入到输入层,则输入层的神经元为7。再确定隐含层:通过大量的训练,我们来确定合适的隐含层神经元数量,接下来就可以选取大量的(50 幅以上)得白粉病的大麦图像作为BP 神经网络的样本进行训练,随着训练次数的增加,BP 神经网络的网络误差值会逐渐减小,直到逼近真实值某个固定范围即可。

2.3 反馈系统

当大麦的图像被图像处理服务器进行病虫害诊断以后,需要及时反馈给用户。所以我们需要有一个反馈系统。这个反馈系统所反馈的信息包括:发现病虫害的名称、地理位置信息、时间农田温湿度以及病虫害解决办法。基于此,我们就可以直接和用户进行通信了。在本设计中,我们选取了两种办法结合:一是直接通过采集终端设备的GPRS 模块进行通信,当有病虫害的图像被识别时,服务器直接发送数据到采集终端设备,让终端设备发出警报信息;二是在手机端建立一个微信公众号平台,进行发送更加具体的关于病虫害的名称、地理位置信息、时间、以及解决办法信息,并针对具体农户建立一个属于自己的个性化农作物参考。

2.4 应用实例

(1)对象的选取

本设计出的系统选取大麦白粉病来进行实地测试。

通过对白粉病的了解并与正常大麦对比,我们可以发现得白粉病的大麦图像和正常的大麦颜色和纹理特征均存在有一定的差异,即我们可以用来作为分类的依据。

(2)特征的提取

①颜色特征的提取

想要准确地提取病虫害图像的颜色,就得选用一种合适的颜色系统。目前,主流的颜色系统包括RGB系统、HIS 系统、CIE 系统等,而RGB 是运用最广泛的、最基本的颜色系统。本设计就采用RGB 颜色系统。

RGB 颜色系统是基于人眼视觉结构形成的模型,所有的颜色都是三种基本色:红(R)、绿(G)、蓝(B)的不同排列组合,大部分的显示器都是采用这种颜色系统。在大麦病虫害中,不同的病所表现的颜色特征大多分布在低阶矩阵中。所以我们可以提取病虫害图像RGB 颜色体系的一阶矩σ1和二阶矩σ2:

上式中,Ii(x,y)表示图像的灰度。

然后用MATLAB 软件从大麦病虫害图像、正常图像中提取RGB 三通道分量的一阶矩和二阶矩,形成对比如表1 所示。

表1 图像颜色矩阵特征参数

从表1 中可以看出,正常情况下大麦比得白粉病的大麦图像的一阶矩略低,但R 分量和B 分量也有明显的差距;在二阶矩中,正常大麦二阶矩明显低于得白粉病大麦,主要有G 分量。

②纹理特征的提取

纹理所反映的特征就是某些局部是缓慢变化的或者是重复性的,基于此我们就可以提取出不同图像的纹理特征进行识别。纹理特征是通过像素以及局部纹理信息,即周围空间的灰度分布来表现的。纹理特征的特点:局部序列性不断重复、非随机性、纹理区域内大致均匀的统一体。在识别具有粗细、疏密等方面有较大区别的图像时是一种非常有效的方式。

本设计中采用灰度共生矩阵的方法来提取纹理。

灰度共生矩阵(GLDM)的统计方法是20 世纪70年代初由R.Haralick 等人提出的,即通过计算图像灰度得到它的共生矩阵。这个共生矩阵的特征值即课代表图像的纹理特征。在本设计中提取了病虫害图像的能量、熵、相关性以及能量矩。通过灰度共生矩阵分析纹理特征得到表2 数据。

表2 纹理特征参数

从表2 可以看出,在熵值方面,正常的大麦比得白粉病的大麦图像高十几倍(均值),但此时的得白粉病的大麦图像标准差很大;无论是能量、惯性矩还是相关性正常的大麦总比得白粉病的大图要高一些,这些都可以作为区分的一个重要依据。

3 结语

本设计是一种基于图像处理技术的农作物病虫害图像的采集与诊断系统,在该系统中,我们主要从图像采集终端和图像处理服务器两方面考虑的。在图像采集终端设备,我们是站在前辈的肩膀上向前更近了一步,对于可移动伸缩采集终端进行了优化设计,实现固定频率拍照。从实时性的角度出发,进行图像预处理,能够完成积极反馈,使之经济简单有效,更加符合农民的切实考虑需求。在图像处理服务器中,本设计采用了BP 神经网络算法,通过大量的样本训练,用训练好的BP 神经网络模型进行病虫害识别,该模型对于大麦病斑(主要有白粉病、云纹病、条锈病)识别正确率高达86.7 %。

在此次设计中,还存在着一些不足。对于伸缩杆的伸缩程度并没有考虑,在采集的位置选择以及采集时间并没有过多的探究,采集终端的数据传输方式还有更多的改善空间,还有对于反馈系统还没有进行平台的设计。

猜你喜欢
大麦白粉病纹理
枯草芽孢杆菌对宜良大棚黄瓜白粉病的防治效果
避雨栽培模式下气象因子对一年两收冬季葡萄白粉病发生的影响
一到春季就流行 蔬菜白粉病该咋防
世界和中国的哪些地方产大麦
Global interest in Chinese baijiu
基于BM3D的复杂纹理区域图像去噪
草莓白粉病的发生与防治
肺纹理增多是病吗?
TEXTURE ON TEXTURE质地上的纹理
大麦若叶青汁