您的当前位置:首页正文

基于人工智能的水稻病害检测系统研究

来源:华佗小知识
中文摘要

中文摘要

随着计算机与芯片计算能力的提高,人工智能领域的研究重新兴起,其中卷积神经网络(Convolutional Neural Network,CNN)被广泛用于各领域图像识别上,并逐渐向移动端与嵌入式端转移。水稻病害检测一直是植物病害检测中的首要问题,如何准确、高效地对水稻病害进行检测并提高水稻产量是农业的热点问题。

基于人工智能理论对水稻病害检测系统进行研究,系统主要从图像采集、温湿度采集、病害检测模型三部分来完成设计。将ARM作为嵌入式平台的主控单元实现水稻病斑图像采集、环境温湿度检测。将采集的图像作为检测模型的输入完成水稻病害的离线检测,并通过温度、相对湿度等环境因子辅助诊断。在PC上进行模型设计,搭建TensorFlow深度学习框架,通过卷积神经网络完成水稻病害检测模型的设计与训练,将优化后的模型移植到嵌入式端来实现终端的检测识别功能。

测试表明,水稻病害检测系统能够完成基本功能,图像的采集速率为25帧/秒,采集的病斑图像的分辨率为640×480;系统测量的湿度范围在0~99.9% RH,温度量程为-40~80℃;通过测试验证,病害识别的平均准确率为96%。

关键词:水稻病害检测;嵌入式;卷积神经网络;图像分辨率;温度湿度范围

- I -

黑龙江大学硕士学位论文

Abstract

With the improvement of computing power of computers and chips, research in the field of artificial intelligence has re-emerged. Among them, Convolutional Neural Network (CNN) is widely used in image recognition in various fields, and gradually shifts to mobile and embedded end. Rice disease detection has always been the primary problem in the detection of plant diseases. How to accurately and efficiently detect rice diseases and increase rice yield is a hot issue in agriculture.

Based on the theory of artificial intelligence, the rice disease detection system is studied. The system is mainly designed from three parts: image acquisition, temperature and humidity collection and disease detection model. ARM is used as the main control unit of the embedded platform to realize rice lesion image collection and environmental temperature and humidity detection. The collected image is used as the input of the detection model to complete the off-line detection of rice diseases, and the diagnosis is assisted by environmental factors such as temperature and relative humidity. The model design was carried out on the PC, and the TensorFlow deep learning framework was built. The design and training of the rice disease detection model was completed by convolutional neural network, and the optimized model was transplanted to the embedded end to realize the detection and recognition function of the terminal.

Tests show that the rice disease detection system can complete the basic functions, the image acquisition rate is 25 frames / sec, the resolution of the collected lesion image is 640 × 480; the system measured humidity range is 0 ~ 99.9% RH, the temperature range is -40~80°C; the average accuracy of disease identification was 96%.

Key words:Rice disease detection; Embedded; Convolutional neural network; Image resolution; Temperature and humidity range

- II -

目 录

目 录

中文摘要 ........................................................................................................................... I Abstract ............................................................................................................................. II 目 录 ........................................................................................................................ III 第1章 绪论 .................................................................................................................... 1 1.1 研究背景及意义 .................................................................................................... 1 1.2 国内外研究现状 .................................................................................................... 2 1.2.1 国内发展现状 ................................................................................................. 2 1.2.2 国外发展现状 ................................................................................................. 3 1.3 论文主要研究内容 ................................................................................................ 5 第2章 病害检测系统设计方案 .................................................................................... 7 2.1 人工智能理论 ........................................................................................................ 7 2.1.1 支持向量机 ..................................................................................................... 7 2.1.2 卷积神经网络 ................................................................................................. 9 2.1.3 反向传播算法 ............................................................................................... 13 2.2 系统需求分析 ...................................................................................................... 15 2.2.1 常见水稻病害分析 ....................................................................................... 15 2.2.2 功能需求 ....................................................................................................... 17 2.2.3 模块功能 ....................................................................................................... 17 2.3 水稻病害检测工作原理 ...................................................................................... 17 2.4 系统整体方案设计 .............................................................................................. 18 2.4.1 病害检测系统算法选择 ............................................................................... 18 2.4.2 系统整体设计方案 ....................................................................................... 19 2.5 本章小结 .............................................................................................................. 20 第3章 病害检测系统终端硬件设计 .......................................................................... 21 3.1 主控单元 .............................................................................................................. 21

- III -

黑龙江大学硕士学位论文

3.2 图像采集电路设计 .............................................................................................. 22 3.2.1 相机选择 ....................................................................................................... 22 3.2.2 图像采集接口电路 ....................................................................................... 23 3.3 温湿度采集电路设计 .......................................................................................... 24 3.3.1 传感器选择 ................................................................................................... 24 3.3.2 温湿度传感器工作原理 ............................................................................... 24 3.3.3 采集电路 ....................................................................................................... 25 3.4 电源模块设计 ...................................................................................................... 25 3.5 本章小结 .............................................................................................................. 27 第4章 水稻病害检测系统软件设计 .......................................................................... 28 4.1 软件设计总体流程 .............................................................................................. 28 4.2 TensorFlow环境搭建 ........................................................................................... 29 4.3 样本预处理 .......................................................................................................... 29 4.4 病害检测系统PC软件设计 ............................................................................... 31 4.4.1 卷积神经网络结构设计 ............................................................................... 32 4.4.2 模型训练 ....................................................................................................... 33 4.4.3 模型优化 ....................................................................................................... 34 4.5 病害检测系统嵌入式软件设计 .......................................................................... 43 4.5.1 Linux系统移植.............................................................................................. 44 4.5.2 图像采集设备软件开发 ............................................................................... 44 4.5.3 温湿度传感器软件开发 ............................................................................... 45 4.6 水稻病害检测模型移植 ...................................................................................... 47 4.6.1 库文件编译 ................................................................................................... 47 4.6.2 模型文件格式转换 ....................................................................................... 48 4.6.3 模型调用 ....................................................................................................... 49 4.7 本章小结 .............................................................................................................. 50 第5章 病害检测系统测试 .......................................................................................... 51

- IV -

目 录

5.1 嵌入式终端硬件测试 .......................................................................................... 51 5.2 图像采集测试 ...................................................................................................... 52 5.3 温湿度采集测试 .................................................................................................. 53 5.4 水稻病害识别结果测试 ...................................................................................... 53 5.4.1 病害识别终端测试 ....................................................................................... 54 5.4.2 病害识别PC端测试 .................................................................................... 55 5.5 测试结果分析 ...................................................................................................... 58 5.5.1 系统识别准确率分析 ................................................................................... 58 5.5.2 系统识别时间分析 ....................................................................................... 59 5.6 本章小结 .............................................................................................................. 59 结 论 ............................................................................................................................ 60 参考文献 ........................................................................................................................ 61 致 谢 ............................................................................................................................ 66 独创性声明 .................................................................................................................... 67 学位论文版权使用授权书 ............................................................................................ 67

- V -

第1章 绪论

第1章 绪论

1.1 研究背景及意义

水稻是我国人民所依赖的主要粮食之一,作为全球约一半人口的主粮,其中有90%产自亚洲,并在多数发展中国家消费[1]。但是水稻的整体产量却一直偏低,主要有以下两部分原因:一部分原因是水稻种植环境与种植区域的不同,水稻整体产量受气候、地理条件影响[2];另一部分原因是水稻病害检测手段的匮乏造成了水稻病害防治不及时,由于无法对病害进行及时控制从而影响整体产量。水稻病害检测问题的解决程度直接影响水稻的产量,因此国内外众多科研人员通过结合各类技术来完成水稻病害的识别问题。

随着计算机与图像处理技术的发展,水稻病害识别的方法也逐步取得完善,从最早的依赖种植者经验的人工检测发展为通过图像处理技术提取病害病斑特征进行比对。而随着人工智能的重新兴起,农业、金融、汽车、计算科学等行业也相继开展人工智能项目以推动产业前进,国内腾讯、阿里、百度三家公司分别对无人驾驶、智能支付、智能医疗展开研究,而在农业应用上,使用深度学习技术完成农作物病害检测与植被分类成为了主流的发展趋势[3][4]。

检测方法的改善不仅可以提高水稻病害检测的准确率与稻田监控的效率,还能大幅度地提升水稻的产量。在此背景下,本文研究目的是在嵌入式平台下通过AI领域的机器学习技术,设计出一套具有高识别率的便携式水稻病害检测系统。通过便携式设备上的多传感器融合进行全面完善的数据采集,辅助识别判断水稻病害种类,以改变传统的主观识别方法或在PC机上进行图像识别的方法,提高识别效率。利用机器学习技术大幅度提高水稻病害的识别率,确保能够准确判断病害的感染情况,及时施药,为农作物种植者提供准确的检测方法,减少因为病害检测问题带来的经济损失,为智能农业和水稻病害的智能识别方法提供研究依据。

- 1 -

黑龙江大学硕士学位论文

1.2 国内外研究现状

1.2.1 国内发展现状

2014年刘涛、仲晓春等人通过图像处理与检测算法对水稻叶部主要的15种病害进行识别研究[5]。该研究对水稻叶部的病斑图像进行分割,并提取形状、颜色、纹理、病健交界等信息用于识别,通过支持向量机(Support Vector Machine,SVM)构建非线性分类模型,用于15种病害的识别分类,最后得到了92.67%的平均识别准确率。

2015年黄双萍、齐龙等人通过高光谱图像与SVM算法对稻瘟病的病害程度分级进行研究[6]。该研究使用光谱成像仪对170个样本进行光谱图像采集,样本包括感染稻瘟病和未感染稻瘟病两类,使用支持向量机算法完成病害程度分级模型搭建,模型能够得到0.9472的精度。

2016年Liu ZY,Gao JF等人提出了一种用于农业害虫的视觉定位和分类的管道[7]。该研究通过对比全局区域的方法来计算用于定位害虫昆虫对象的特征值,然后提取包含目标的边界正方形,调整大小为固定大小,并构建大型标准数据库Pest ID。最后通过深度卷积神经网络(Deep Convolutional Network,DCNN)对构建的数据库进行学习分类,稻田图像测试集的平均精度为0.951。

2016年袁媛、陈雷等人通过图像处理与机器学习算法对水稻的稻瘟病识别进行研究[8]。该研究分割RGB三个分量,通过中值滤波进行图像预处理,提取颜色和纹理特征并使用SVM算法构建分类器。经过测试,模型的准确率为95%。

2017年刘庭洋、李烁等人收集了包括温度、湿度、降雨量等多项条件在内的近10年气象数据,通过建立反向传播(Back Propagation,BP)神经网络分析这些气象因子与水稻稻瘟病之间的关系[9]。该研究将进行归一化处理后的数据作为BP模型的输入,网络输出则设置为感染稻瘟病的病情指数。通过traingd、raingdx、trainlm等3种函数对模型进行十万次训练,预测准确率为80%,并且得出环境温湿度是影响水稻患病的主要气象因子的结果。

2017年刘婷婷、王婷、胡林等人采用卷积神经网络的AlexNet模型识别检测

- 2 -

第1章 绪论

水稻纹枯病[10]。该研究收集了感染病害与未感染病害的样本图片各100张,将图片大小裁剪为227×227作为AlexNet模型的输入,网络整体包括5层卷积层和3层全连接层。为了比较新方法与传统方法的好坏,实验使用SVM分类器对纹枯病进行检测,作为AlexNet模型的对比试验。在SVM方法中用C均值聚类算法对颜色特征、纹理特征、形状特征进行分割提取。实验结果表明,使用CNN的效果要明显好于传统的SVM。

2017年路阳、易淑娟等人提出了一种基于深度卷积神经网络(CNNS)的新型水稻病害识别技术[11]。该研究使用患病和健康的水稻叶、茎图像作为数据集,数据集内图像数量为500张。通过训练CNN模型来识别10种常见的水稻病害,用10倍交叉验证,得到精度为0.9548,该精度远远高于传统的机器学习模型。

2018年肖茂华、冯志祥等人基于PCA和BP神经网络提出了一种稻瘟病识别方法[12]。该研究提取了病变图像的6个颜色特征,10个形态特征和5个病斑的纹理特征,并通过逐步回归分析特征参数之间的相关性。病变的分类使用3层的BP网络,网络输入是使用了PCA方法缩减尺寸的病斑特征图,识别结果显示该方法的平均识别率达到95.83%。

2018年郭丹、沈贺等人以水稻叶片为研究对象[13],通过主成分分析法对收集的2000幅图像降维,随后基于Caffe深度学习框架设计了一个具有4层卷积层和1层全连接层的卷积神经网络,使用卷积网络训练模型来检测水稻的稻瘟病和纹枯病。网络的输入为96×96的图像,输出为两种病害的概率值。

1.2.2 国外发展现状

2008年P. Sanyal和S. C. Patel提出了一种新的水稻叶片颜色纹理分析方法,用于鉴定影响水稻植株生长的褐斑病和稻瘟病[14]。该研究采用多层感知器(Multilayer Perceptron,MLP)作为分类器,用每个像素邻域中的低级像素作为特征向量,而不是任何预定义的高级别特征,在400个可用样本的测试实验中取得了结果。

2008年Santanu Phadikar和Jaya Sil根据各种水稻植株的感染图像,采用图像

- 3 -

黑龙江大学硕士学位论文

处理和软计算技术设计了一种用于水稻病害检测的软件系统[15]。通过数码相机捕获受感染的水稻植物图像,并使用图像增强、图像分割技术检测植物的感染部分,并利用神经网络对叶片感染部位进行分类。

2015年Malicdem和Fernandez通过人工神经网络((Artificial Neural Network,利用主成分分析对特ANN)和SVM建立了预测稻瘟病发生和严重程度的模型[16]。征空间进行降维,确定导致稻瘟病发生的最重要天气特征。利用这些特征,建立并测试了ANN、SVM二元分类器(用于预测稻瘟病的发生或不发生)和回归模型(用于估计发生的稻瘟病的严重性)。测试表明,这些分类器和回归模型的计算结果具有足够的精度,SVM模型比相应的ANN模型具有更好的预测能力。

2016年Sharada P. Mohanty, David P. Hughes通过深度学习对获得的公共数据集进行训练识别,数据集包括54306张植物叶片图像,分为患病和健康两类[17]。该研究将植物数据集分成两部分,一部分用于训练一部分用于测试,每一部分中都含有38类标签,同时将数据集的图像大小统一压缩成256×256。完成标签分类后使用深度学习的AlexNet和GoogLeNet模型对训练集进行学习,训练好的卷积神经网络能够识别14种作物和26种疾病,准确率为99.35%。

2017年Jihen Amara、Bassem Bouaziz等提出了图像处理技术在植物病害识别中的局限性,并利用深度学习的卷积神经网络的Lenet模型对感染病害的香蕉叶图像进行分类[18]。该研究采集了具有RGB三通道像素的香蕉叶片图像,将图片压缩成60×60的大小作为神经网络的输入,通过6层的CNN完成香蕉叶病害分类,通过准确率测试,证明了该方案在照明,复杂背景,不同分辨率,尺寸,姿势和真实场景图像的方向等挑战性条件下仍具有有效性。

2017年Albert C. Cruz,Andrea Luvisi等人通过机器视觉与迁移学习设计了一款程序来检测橄榄的快速衰退综合征[19]。该研究从原始数据中提取低层特征来自动检测症状叶的颜色。实验包括100片健康叶片、99片阳性叶片和100片阴性叶片的图像,该程序检测快速衰退综合征的真实阳性率为98.60%。

2018年Yangseon Kim、Jae-Hwan Roh和Ha Young Kim提出了一种基于人工智能的稻瘟病预测模型[20]。该研究利用韩国水稻生产代表区发生稻瘟病的历史数

- 4 -

第1章 绪论

据和历史气候数据,建立了三个不同地区的特定区域模型:雪原、伊川和密尔阳。使用长期记忆网络(Long Short-Term Memory,LSTM)提前一年预测稻瘟病发病率,通过改变输入变量(即稻瘟病评分、气温、相对湿度和日照时数)来评估所提出的LSTM模型的预测性能。选择了最广泛栽培的水稻品种,并对其预测结果进行了分析。将LSTM模型应用于稻瘟病累积评分数据,证明了稻瘟病发病率预测的有效性。在所有区域中,当四个输入变量组合在一起时,预测最准确。

2018年Jayme Garcia Arnal Barbedo使用深度学习的GoogLeNet架构对12种植物和56种疾病进行识别检测[21],该研究的学习率为0.001,batch大小为16。为了研究背景对识别结果的影响,重新训练了两个单独的CNN,第一个使用原始未处理的图像,第二个使用手动移除背景的图像,每种情况下,用于训练的样本为80%,用于测试的样本为20%。

从国内外的发展趋势可以看出,国内对于水稻病害检测的研究相对较多,但是国外针对植物病害检测的研究十分普遍。从发展历程来看,最常用的技术手段是图像处理与机器学习,先通过对病斑图像进行边缘检测、病斑分割等图像预处理操作来提取病斑特征,随后使用人工智能领域的机器学习技术完成分类识别。其中还有一部分研究者,通过生长信息对水稻病害的发生概率进行预测。而随着神经网络的重新兴起,通过具有卷积神经网络结构的深度学习模型和其他适合处理图像问题的神经网络逐渐成为主流方案。

1.3 论文主要研究内容

本文通过对人工智能算法与水稻病害的分析,设计一种水稻病害检测系统,实现常见水稻病害的智能检测,系统包含PC端与终端两部分。通过对国内外发展现状的研究可以发现,水稻病害识别的研究大部分集中在PC上的图像处理,一部分通过人工智能算法实现,还有一小部分的研究者通过环境信息对病害的发生概率进行预测。本文的创新点在于将人工智能算法与嵌入式设备结合,设计一个可以识别水稻病害的检测系统。本文的主要研究内容如下:

(1)从水稻病害的识别方法出发,分析检测方法对水稻整体产量的影响,论证

- 5 -

黑龙江大学硕士学位论文

机器学习技术在水稻病害检测上的优势,并对植物病害识别的国内外发展现状进行综述。

(2)研究人工智能技术在水稻病害识别问题上的可行性,通过对系统需求与常见水稻病害的分析,制定水稻病害检测系统的整体设计方案。

(3)通过对系统功能分析,选择合适的图像采集设备、温湿度传感器、主控芯片,搭建相关电路完成水稻病害检测系统终端的硬件设计。

(4)根据水稻病害检测系统的功能制定软件开发流程,通过TensorFlow深度学习框架设计水稻病害识别模型,研究参数对识别准确率的影响优化模型,根据系统需求对嵌入式终端软件进行设计。

(5)对水稻病害检测系统进行测试,检测系统功能的实现情况,并对测试结果进行分析。

- 6 -

第2章 病害检测系统设计方案

第2章 病害检测系统设计方案

本章对人工智能理论的支持向量机、卷积神经网络、反向传播算法进行研究,并结合常见水稻病害的染病条件与病斑情况的分析制定水稻病害检测系统的整体设计方案,通过对系统的功能需求与系统检测原理的分析,完成水稻病害检测系统的终端设计方案。

2.1 人工智能理论

人工智能(Artificial Intelligence,AI)的定义在1956年Dartmouth学会上被首次提出,是一门以模拟人类智能为目标的多领域融合科学[22]。AI涉及的机器学习领域被广泛应用于回归分析、聚类分析与模式识别中,其中支持向量机在解决模式识别范畴内的图像分类问题时能够取得不错的识别效果。随着深度学习的兴起,机器学习的卷积神经网络与反向传播算法的结合使用逐渐成为研究图像分类问题的主流方法。

2.1.1 支持向量机

支持向量机由Cortes和Vapnik在90年代提出[23],建立在统计学的理论基础上,该算法通过引入惩罚变量来解决线性二分类、非线性二分类以及多维分类问题,是一种依赖核函数的机器学习分类算法[24]。

在设计模型研究分类问题时,在模型复杂度与识别准确率之间进行合理的取舍,从而获得良好的推广能力,即泛化能力[25]。在统计学VC维(Vapnik-Chervonenkis Dimension)理论与最小化结构风险原理基础上,建立支持向量机[26]。其中VC维的维度代表了需要解决问题的难易程度,往往VC维的维度越高待解决的问题就越不容易进行分类。

SVM(Support Vector Machine,SVM)在解决低样本数量、非线性或高维多分类问题时表现出良好的稳定性,并且具有识别时间短的优点[27],同时可以结合其他机器学习算法应用到实际的分类问题中。SVM将低维线性不可分的问题转换成

- 7 -

黑龙江大学硕士学位论文

线性可分的问题,将输入空间的样本通过非线性变换的方法转换到一个维度更高的空间,随后在转换空间内取最优决策面来对样本进行线性分类[28]。

SVM引入了核函数的概念[29],所以在解决实际问题时,样本的维数对于SVM求解的识别结果影响并不大,这里的核函数就是将线性不可分的样本转化成高维空间内的方法。

核函数的原理是建立一个数学函数以保证低维度空间与转换后的高维度空间计算结果的内积相同,这种方法不仅能够取得相同的结果,同时避免了在高维度空间计算的繁琐。

用于进行线性分类的决策面的函数表达式如公式(2-1)所示:

f(x)=

ayk(x,x)+b (2-1)

ii

1

2

i=1

n

其中k就是核函数。常用核函数包括:多项式核函数,高斯核核函数,线性核函数,多层感知核函数[30][31][32]。在解决实际问题时,所有用内积代表计算的方法都可以通过核函数进行非线性化的展开。

在解决分类任务时,必须保证所选用的算法或模型对样本中的噪声、异常点等影响因素具有很好的鲁棒性。核函数可以将非线性问题转换成线性问题解决,使得样本的识别概率大大提高,但对于一些导致模型出现一票否决现象的离群点没有很好的办法。所谓离群点就是本应归属一某类的样本点没有出现在应有的类别中,从而导致超平面无法得到合理的划分。这时引入松弛变量给硬性阈值1添加一点容错性[33],所求问题由公式(2-2)转化为目标函数公式(2-3)。

l1TM=wwi+Cξi (2-2)

2i=1

di(wTwi+b)≥1−ξ,2,...,l (2-3) i,i=1

目标函数的ξi需要满足条件ξi≥1,2,…,l,其中的C是惩罚因子,该系数由

用户指定,表示对分错的样本点加入多少的惩罚,用来衡量出现错分点的数量[34]。SVM算法得到的分类模型的稳定性和准确性与C的取值有很大的关系,当C的取值特别大时,样本中出现错误分类的情况就会比较少,但取值过大可能产生过拟合

- 8 -

第2章 病害检测系统设计方案

现象,当C的数值非常小的情况下,错分的样本点可能会很多,得到的模型可能不太正确。

当核函数与松弛变量确定后,基本上可以使用SVM进行多类分类任务。多个决策面将空间分成多个不同的部分,每种类型对应一个。SVM最开始是用来解决二分类任务的,在解决多分类时,首先将决策面分好的某一类作为正集,剩下的类型作为负集,得到一个二分类器。依次类推,假设有n个类别,则最后得到n个二分类器,在实际的识别过程中只需要与这些分类器进行比对。

2.1.2 卷积神经网络

卷积神经网络是人工神经网络的一种[35],其建立发展是为了解决图像识别过程中图像数据的特征提取问题[36]。一个简单的卷积神经网络包括输入、卷积和输出三部分。在对一幅图像进行识别时,如果图像数据的特征非常复杂,那么就需要尽可能多的卷积层来提取图像特征,提高最后的准确率。一个完整的CNN结构除了包括提取图像特征的卷积层外还包括池化层和全连接层,根据处理数据的不同,各层之间还对应有激活函数与局部归一化函数[37]。

在解决图像分类问题时,CNN的输入层是待分类物体的图像数据。在获得神经网络的输入之后就可以使用卷积核对数据进行卷积操作提取特征值了,这里的卷积核类似于数字图像图像处理技术中的滤波器,卷积核内的参数称为权重或者权值[38]。

CNN的每一层都可以有多个提取图像特征的神经元,每个神经元被视作是一个滤波器,神经元的权值对特征提取有着重要影响。CNN卷积层的滤波器提取特征时依赖稀疏矩阵与权值共享[39],稀疏矩阵是指用来进行特征提取的滤波器尺寸远小于输入图像大小,将图像数据作为CNN输入时,图像的数据量大小有几万或者几十万,而进行滤波操作的卷积核大小却只有几十个权重,稀疏性在减少网络的整体计算量的前提下保证了图像特征[40];权值共享是使用大小与权重都固定的滤波器处理整张图片,滤波器的值不随扫描到的图片位置而发生变化,由于在网络内部每一个神经元的权重都可以被图像的所有像素点使用,因此权值共享有效地解

- 9 -

黑龙江大学硕士学位论文

决了网络中参数过多的问题[41]。 (1)卷积层

卷积层通过一个大小为m×m的卷积核与输入图像进行卷积运算提取图像特征,并生成一个作为下一层输入的2D特征图[42]。输入图像的像素点可以通过数组的形式表示,数组内的数值与图像上的像素点一一对应。卷积核与图像中大小为m×m的子区进行卷积运算后会得到一个新的像素值,这个像素叫做特征值。当卷积核按照固定步长移动完成图像扫描之后生成的图像即为特征图,特征图的每个像素都是卷积核与图像通过卷积得到的。

用于进行图像识别的神经网络的输入一般为实际的自然图像,自然图像的特征基本保持一致,使用卷积核对图像进行特征提取后,将特征图传递到池化层来缩短计算量并不会影响识别的准确率,但是卷积核的好坏与数量对识别结果有显著影响。 (2)池化层

卷积神经网络在卷积层后引入了池化层[43],其作用是对卷积层提取的图像特征做降维处理,引入池化层能在优化计算量的基础上保留提取的图像特征的稳定性。

理论上,经过卷积层处理后得到的特征图,可以直接用于识别检测工作,并且不会存在图像特征丢失的问题。但是在实际问题中,使用所有的图像特征进行训练,会导致计算量过大。其原因在于特征图的静态性,即经过卷积核提取的特征往往在输入图像的其他位置也会表现出来,这些重复表现的特征会导致训练的计算量成指数增长。

解决这一问题的方法是按照某一个规律对特征值进行分类聚合,如将特征图的某一区域内的像素最大值或像素平均值提取出来,这种分类聚合操作叫做池化。使用池化方法提取特征能够降低图像维度,减少网络整体计算量。

根据聚合的方法可以分为最大池化和平均池化,也叫做最大下采样和均值下采样。使用均值采样,采样大小为S1×S2,则完成下采样后获得的输出如公式(2-4)所示。

- 10 -

第2章 病害检测系统设计方案

ymn

1=S1S2

S2−1S1−1j=0i=0

X

m×S1+i,n×S2+j

(2-4)

其中X表示输入向量,均值池化的主要思想是将特征图分为S1×S2的区块,取每块中的平均值作为采样结果。相对于均值池化的方式,最大池化的区别在于区块中的最大值作为采样结果。

对经过卷积层处理后的特征图的连续区域进行池化,并且只对相同的卷积单元产生的特征进行池化,那么这些池化单元具有平移不变性,即当图片发生微小的平移时,对其进行池化,依然会得到与平移之前相同的图像特征。在许多分类任务上,即使图像经历了平移,图像的标记依然不会改变。 (3)局部归一化

为了改善卷积神经网络的效果,有时需要对某一层的所有卷积面(或池化面)逐一进行局部归一化处理。从理论上说,应该把这种处理结果当做一个新增的层来看待,但实际应用时一般不被统计到层数中。

󰯜

如果用󰜽󰯫,󰯬表示第i个卷积面(或池化面)上在(x,y)的值,则局部归一化

i

的值bx,y是通过若干相邻卷积面在位置(x,y)值来计算的,公式如(2-5)所示:

i

αx,y

i

bx,y=

(k+αmin(N−1,i+n/2)

j=max(0,i−n/2)

j2β(αx,y))

(2-5)

其中,N是卷积面或池化面的总数,n是相邻面的个数,α、β、k是可调参数。在经过局部响应归一化处理后,由于整个网络的模型已经发生了变化,学习训练过程也需要做相应的调整。这种调整涉及的偏导数计算如公式(2-6)所示:

jj

∂Emin(N−1,i+n/2)∂E∂bx,ymin(N−1,i+n/2)j∂bx,y

δx,yi (2-6) ==iji

∂ax,yj=max(0,i−n/2)∂bx,y∂ax,yj=max(0,i−n/2)∂ax,y

其中,E为目标函数。局部响应归一化的值对第i个卷积面的偏导数如公式(2-7)所示:

∂bxj,y∂a

i

x,y

={

i−1

Mi−β−(2αβ)•aix,y•bx,y•Mi,j=i

−1j−2αβaix,ybx,yMj,j≠i

(2-7)

- 11 -

黑龙江大学硕士学位论文

(4)全连接

在卷积神经网络中,全连接层的意义在于把前面所有通过卷积操作提取到的特征综合起来[44]。假设x1、x2、x3作为全连接层传入,a1、a2、a3为输出,则可推导出公式:

a1=W11*x1+W12*x2+W13*x3 (2-8)

a2=W21*x1+W22*x2+W23*x3 (2-9)

a3=W31*x1+W32*x2+W33*x3 (2-10)

对于卷积神经网络来说,卷积层作为特征提取的方式,在输出的最后都是由全

连接层将此前提取的特征连接传递给分类器。因此全连接层对于整个网络来说起到一个特征分类的作用。从数学上解释,全连接层起到一个投影空间映射的作用,将提取的数据特征从一个特征空间投射到不同的特征空间,低维到高维。

全连接层在整体卷积神经网络中不仅可以将特征汇总传递给分类器,还能够在模型表示能力迁移过程中充当“防火墙”的作用。使用全连接层的卷积神经网络在图像识别中的准确率的表现上要好于无全连接层的情况。当使用CNN得到分类模型之后,换一组新的训练集进行模型训练且新的样本库与原来存在巨大差异的情况下,拥有全连接的网络表现远远好于无全连接的网络,其中一部分原因在于全连接层最大限度地保留了卷积层提取的图像特征。 (5)分类器

在实际的计算中,对一物体的判定并不是百分之百准确的,而是有一定的概率,在所有的结果标签上,都可以求出一个概率,训练模型的输出如式(2-11)所示:

j

f(x)=wijxj+b (2-11)

i

其中x为输入数据,w代表神经元的权重,b为添加的偏置。偏置b存在的意义是为了给网络加上一定的噪音。

对式(2-11)求出的结果,Softmax[45]的作用是将其转化为概率。Softmax是一个激励函数,将计算的模型输出转化为在一定范围内的数值,并且在总体中这些数值的和为1,而每个单独的数据都可以被归纳为特定的数据结果中。

- 12 -

第2章 病害检测系统设计方案

Softmax函数如公式(2-12)所示。

softmax=

exi

e

0

j

xj

(2-12)

Softmax模型函数定义的一种形式是把输入值当成幂指数求值,再对这些数值进行正则化。而这个幂运算表示更大的概率计算结果对应更大的假设模型里面的乘数权重值。

公式(2-13)表示了输入的数据与权重的乘积之后对其进行Softmax计算得到的结果。

y=softmax(f(x))=softmax(wijxj+b) (2-13)

其流程如图2-1所示。

x1W1,1+b1W1,3W1,2W2,1x2W2,3W2,2+b2 W3,1W3,2W3,3+b3x3图2-1 Softmax计算形式图 Fig.2-1 Softmax calculation form

2.1.3 反向传播算法

确定卷积神经网络的层级结构和神经元的权重之后,将样本数据作为网络的输入,并按照网络的前向传播过程计算最终的输出结果,结果的理论计算值与权重有很大的关系。在实际问题中并不能保证计算值与实际的样本输出值相同,会存在一定误差,即理论值与实际值的差。通过神经网络解决分类识别问题时这个误差越

- 13 -

黑龙江大学硕士学位论文

小越好。

假如样本足够多,同时出现了误差较大的情况,就需要对权重进行修改保证实际值与计算值的差尽量小,解决这一问题通常使用的就是误差反向传播算法[46](BP算法),BP算法是神经网络训练权重的一种算法[47]。BP算法作为监督学习算法[48]的一种,其针对的是前向传播神经网络的误差与神经元的权重[49]过迭代的方法将网络中每一层的输出误差反馈给上一层,然后逐层更新网络的权值,使理论值与样本值更接近。BP算法的本质是具有递归结构的梯度下降算法[50],其数学理论是复合函数的链式求导法则的一种有效应用。

假定神经网络的样本数量为N,则可以将神经网络的输入与输出分别表示为{x1,x2,…,xN}和{y1,y2,…,yN}。对于任意一层的某一神经元n而言,其分布有输入层、隐藏层和输出层三种情况,它相对于样本i的输入可以表示为:

ii

(2-14) netn=xk

其中k是神经元n上一层的第k个神经元,当n是输入层的某一节点时,表达式变为:

ii

(2-15) netn=xn

而对于任意一层隐藏层或输出层的第m个节点来说,其相对于第i个样本的输入可以表示为:

i

m

Nk

i

net=wkmxk (2-16)

其中w代表m与上一层节点之间的权重,输出为:

iixm=fm(netm) (2-17)

其中fm表示第m个节点的激活函数。

n∈Y

iEi=en

(2-18)

总的输出误差为:

N

N

i

Ei=Ei=en (2-19)

i=1

i=1n∈Y

定义神经元n相对于第l个样本的反向传播误差信号为:

- 14 -

第2章 病害检测系统设计方案

δn,l=

∂El∂E= (2-20) ∂netn,l∂netn,l

通过链式求导法则得到:

∂E

∀n∈OUT,=

∂wk→n

l=1

L

∂El∂netn,l

=

∂netn,l∂wk→n

δl=1

L

n,l

xk,l (2-21)

LL

∂El∂netn,l∂E

∀k∉OUT,==δk,lxj,l (2-22)

∂wj→kl=1∂netn,l∂wk→nl=1

如果对输出节点选择平方误差:

en,l=

1

(xn,l−yn,l)2 (2-23) 2

则有:

∂en,l

∀n∈OUT,δ==(xn,l−yn,l)fn′(netn,l) (2-24)

n,l ∂netn,l

∀n∉OUT,δk,l=(wk→nδn,l)fk′(netk,l) (2-25)

k→n

以i和j表示逆向传播过程中对应的节点系数,通过对误差计算能够更新网络的参数,权值表示如公式(2-26)所示:

Wji=Wji+net×δlj×xij (2-26)

2.2 系统需求分析

通过对人工智能技术研究,设计一个包括PC与终端两部分的水稻病害检测系统。利用系统实现常见水稻病害的智能检测,以提高水稻病害检测的准确度,同时对水稻生长环境的温湿度进行检测,作为系统的辅助判断方式。

2.2.1 常见水稻病害分析

我国各稻区的水稻病害种类多达十几种,受生长环境的影响,每种病害发病条件、发病周期、发病表现均不相同,即便是同一种病害在各稻区的发病概率也存在很大差异。本文在选取水稻病害种类时的判断依据有以下两点,一是病害在各稻区出现的频率,二是感染病害水稻的叶片特征。稻瘟病、纹枯病、黑粉病、胡麻斑病

- 15 -

黑龙江大学硕士学位论文

四种病害的病斑特征较为明显,同时是东北地区常见的水稻病害种类,四种病斑的特征如图2-2所示。

a) b)

c) d) 图2-2 病斑特征图

a)稻瘟病 b)纹枯病 c)胡麻斑病 d)黑粉病

Fig.2-2 Disease spot feature map

a) Rice blast b) Sheath Blight c) Flax Spot Disease d) Smut

稻瘟病的病斑表现多为灰色霉层,感染稻瘟病的病菌通过风雨传播,环境的温度在26~28℃之间,相对湿度在90%以上易感染稻瘟病[51]。高温、高湿条件下容易导致纹枯病的发生[52],在18~34℃时均可染病,发病湿度在90%以上,纹枯病多表而胡麻斑病在土现为白色菌丝。黑粉病在25~30℃且连续阴雨天时发病率较高[53],壤贫瘠湿度较低的条件下极易出现[54]。

高温或高湿条件利于病菌的滋生,从而导致水稻感染病害,但是温度与湿度对病斑特征的表现并不产生影响。

- 16 -

第2章 病害检测系统设计方案

2.2.2 功能需求

结合传感器与嵌入式技术,在设计水稻病害检测系统时,应该保证终端系统具有以下基本功能:

(1)控制单元:主控单元通过调度图像采集单元与温湿度采集单元,来完成病斑图像与环境温湿度的采集。主控单元要求具有较高的计算能力,以完成识别模型的检测过程,并且能够同时执行多个任务进行实时检测。

(2)图像采集单元:图像采集单元负责水稻病斑图像的采集,该单元要求能够连续、清晰的采集病斑部位的RGB图像,图像采集单元采集速度为25帧/秒,采集的图片大小为640×480,保存的图像格式为.bmp。

(3)温湿度采集单元:温湿度采集单元负责环境温度与相对湿度的采集,采集的数据用来辅助判断识别结果。该单元要求能够准确的检测环境的温湿度,温度检测范围在0~40℃,误差为±0.5℃;湿度范围在0~99% RH,误差为±2% RH。 (4)病害识别单元:识别单元根据采集的病斑图像完成水稻病害的检测,该单元要求能够准确地完成识别检测,容错率在5%以下。

2.2.3 模块功能

病害检测系统的终端除了基本单元外,还应该具有相关的模块功能,来完成系统的整体结构设计,包含的功能模块有:

(1)显示模块:负责对采集的病斑图像与最后识别结果进行显示,显示模块能够辅助图像采集单元更加准确的采集病斑部位的图像。

(2)供电模块:对系统的控制单元供电,保证系统能够完成水稻病害的检测。

2.3 水稻病害检测工作原理

摄像头采集的病斑是RGB色域的图像,其作为卷积神经网络的输入时可以看成是三个2维的矩阵,即R、G、B三通道的像素矩阵。模型在PC上训练完成,内部保留了搭建的卷积神经网络结构和网络中的神经元权重,通过网络中的卷积核对采集到的图像进行特征提取,由于卷积层的数量和每层卷积层中卷积核的数

- 17 -

黑龙江大学硕士学位论文

量不同,提取到的特征向量数量和特征图数量也不一样,这也决定了模型识别过程中的速度快慢与特征提取能力强弱。

通过卷积层提取特征与池化层降维后,在输出层之前通过全连接层对所有的水稻病害特征进行整合,尽可能多地保留特征数量,随后由分类器进行判断,得到感染每种水稻病害的概率,因此使用卷积神经网络对图像进行识别时,得到的是一个分类概率。在调用训练模型完成识别后,将得到的概率最大的病害类型的生长环境的温湿度与实际测量的温湿度进行对比,判断实际值是否在理论范围之内,最后将对比结果作为辅助信息反馈出来,得到判断结果。

病害检测系统首先完成水稻叶片病斑的图像采集,通过调用移植好的分类模型对病害的种类进行检测,通过对比感染病害通常情况下的温湿度与实际环境的温湿度做出辅助判断,病害识别模型通过BP算法迭代训练得到。

2.4 系统整体方案设计

2.4.1 病害检测系统算法选择

水稻病害检测系统的核心在于病害的检测方法选择,以往的检测方案是通过图像处理技术提取病斑的纹理、颜色、形状等特征,然后通过机器学习算法设计分类器进行图像识别,其中最常用的是支持向量机。

本文研究的四种水稻病害叶片局部颜色因病原不同,发生的改变也各不相同,若采用传统方法,病斑图像的处理效果对最后的识别结果有着明显影响。SVM算法虽然在解决非线性二分类的问题上有着不错表现,但还是依赖于前期繁琐复杂的图像预处理,这样增加了整体工作量。

使用卷积神经网络去解决一般性的图像分类问题时,对样本图像预处理的要求会小很多,甚至可以不对原图像做处理,原因在于卷积神经网络中的卷积核能很好的完成待分类图像的相关特征提取,这也是CNN能够在图像处理与图像识别得到广泛认可被大量应用的原因,因此本系统选用卷积神经网络进行水稻病害识别模型的训练。

- 18 -

第2章 病害检测系统设计方案

2.4.2 系统整体设计方案

水稻病害检测的设计方案有两种:一是将训练好的模型移植到设备上,根据模型的结构和权重进行卷积神经网络的前向传播运算得到计算结果;二是通过终端进行水稻的图像采集,将采集到的数据发送到服务器进行检测。随着深度学习的兴起,终端设备芯片的计算能力大大提高,完全能够承担前向传播计算过程中的内存消耗与计算速度要求,因此本文采用终端识别的方案对水稻病害进行检测。

水稻病害检测系统包含PC端与终端两部分,在PC上根据AI算法完成水稻病害检测模型的设计与训练,在终端上对待测水稻的病斑部位进行图像采集,并根据移植好的模型进行病害种类的判断。

终端系统含有控制单元,采集单元,显示单元,终端模型根据采集到的图像进行计算输出最后的识别结果,终端整体设计方案如图2-3所示。

待测样本环境温湿度CCD控制单元温湿度传感器识别模型供电单元输出结果LCD显示 图2-3 终端整体设计方案 Fig.2-3 Integral design scheme of terminal

病害检测系统的终端需要实时地采集待测水稻的图像与生长环境信息,同时还要根据病害识别模型对病害类别进行准确地诊断,所以在主控模块的选择上,至少应该满足实时性与计算能力这两个特点。

出于对水稻病害检测系统特点的考虑,选择ARM芯片作为终端系统的主控单元,通过编写驱动程序、采集程序、移植神经网络训练模型实现水稻病害检测系统的图像采集、生长环境信息采集、图像预处理、病害分类判断等功能。

水稻生长环境信息仅作为病害检测系统的辅助判断信息,因此只需要采集环境的温湿度进行辅助分析即可,温湿度检测方案选用灵敏度在1%的温湿度传感器作为采集设备,采集电路设计完成后在ARM平台上进行传感器的驱动编写与移植就能够完成水稻生长环境信息的采集。

- 19 -

黑龙江大学硕士学位论文

2.5 本章小结

本章阐述了人工智能理论的三种算法,通过对水稻病害的分析,选择卷积神经网络完成四种水稻病害的识别工作。根据选择的算法,介绍了病害检测系统的基本组成,讨论了对于系统采集的图像的分析方法与处理方法,最后提出了病害检测系统的整体设计方案。

- 20 -

第3章 水稻病害检测系统硬件设计

第3章 病害检测系统终端硬件设计

本章对水稻病害检测系统终端硬件进行设计,选择合适的嵌入式芯片作为控制单元,设计图像采集设备的接口电路实现图像采集单元的功能,根据温湿度传感器的引脚设计硬件电路完成温湿度采集单元的功能实现,选择合适的电压转化芯片完成系统供电模块设计。

3.1 主控单元

水稻病害检测系统的嵌入式平台具有图像采集、温湿度采集、病害识别三大基本功能,因此需要对摄像头、传感器、主控单元进行选择,并设计相关电路完成系统硬件平台的搭建,系统硬件电路还包括供电模块、LCD显示模块、调试模块,总体结构示意图如图3-1所示。

调试模块图像采集温湿度采集ARM控制单元LCD显示 供电模块图3-1 硬件电路总体示意图 Fig.3-1 General diagram of hardware circuit

水稻病害检测系统要求在嵌入式平台下完成病害的检测,所以在进行硬件平台设计时首先应该考虑的是主控芯片。因为本文使用人工智能的深度学习算法中的卷积神经网络进行病害检测识别,对CPU的计算能力有较高的要求。

目前市场上应用于嵌入式开发的芯片大部分都是16位、32位和64位三种,从需求的角度出发,本文选用性能最好的64位芯片作为主控芯片,其中Cortex-A53、Cortex-A57、Cortex-A73等处理器都是ARM公司v8架构下的64位处理器,本文使用三星公司研发的S5P6818芯片作为主控单元,该芯片采用Cortex-A53架构,动态运行主频是400MHz~1.4GHz,能够很好地满足病害检测系统的计算要求。

- 21 -

黑龙江大学硕士学位论文

根据选择的主控芯片,设计图像采集设备,温湿度传感器,供电单元等模块的硬件电路,并通过相关调试工具完成图像采集、环境温湿度测量、病害识别等功能的设计与实现。

3.2 图像采集电路设计

3.2.1 相机选择

摄像头的组成可以概述为镜头、图像传感器和相机控制器三部分。镜头通常由不同数量的透镜组成,决定了摄像头的视角宽度与焦距,可以分为塑胶和玻璃两种。图像传感器是先将光信号转换成电信号再转换成数字信号的半导体芯片,包括CMOS和CCD两种类型,与CCD相比CMOS的工艺结构简单,处理速度快。相机控制器是相机芯片上的接口电路,常用的接口电路分为差分串口传输的MIPI、并口传输的DVP和USB三种。

对感染病害的水稻样本进行图像采集时,采集的图片质量受相机参数影响,相同的拍摄距离下,相机的焦距越大,待测水稻样本成像越大。常见的用于近距离拍摄的相机焦距有2.8mm、3.6mm、4mm、6mm、8mm和12mm,相机的可视距离随着焦距的增加而增加,两者关系如表3-1所示。

表3-1 焦距与可视距离关系

Table 3-1 The Relation between Focal Length and Visual Distance 焦距(mm)

可视距离(m)

2.8 3

3.6 4

4 6

6 10

8 15

除此之外,相机的分辨率是选择图像采集设备的另一个因素,常见的相机分辨率有640×480,1024×768和1920×1080等几种情况。图像采集设备的分辨率越高,拍摄的图像越清晰,所包含的图像信息越多。而病害识别模型的输入为64×64,使

- 22 -

第3章 水稻病害检测系统硬件设计

用相机采集的图片进行识别时,需要对采集图像压缩,原始分辨率越大,压缩过程丢失的信息就越多。考虑到实际应用时拍摄距离和分辨率的要求,选取焦距为4mm,分辨率为640×480的相机作为图像采集设备。

系统硬件平台控制图像采集模块可以有两种方案:一种是使用DVP接口的摄像头,另一种是使用普通的USB接口摄像头。这两种方案在分辨率的要求上都能够满足检测系统的要求,出于对可移植性的考虑USB摄像头具有明显的优势。Linux内核驱动中的V4L2协议提供了一套完整的通用API接口让用户使用USB摄像头进行视频开发,这种方法不需要对摄像头的驱动进行编写与移植,能够节省开发时间提高设计效率。因此本文选用Logitech公司USB接口的C170摄像头。

3.2.2 图像采集接口电路

水稻病害检测系统的摄像头支持数字输出,所用接口制式为USB接口,在使用图像采集设备捕获图像之前,需要对摄像头进行外围的接口电路设计,USB接口电路的原理图如图3-2所示。

USB 2.0 HostVDD_USB1_1.8VDGNDU52DGNDUSB_SATA_D-USB_SATA_D+USB_MiniPCIe_DMUSB_MiniPCIe_DP1234567891011121314VSSXOUTXINDM4DP4DM3DP3DM2DP2DM1DP1VD18_OVD33REXTFE1.1SVD18TESTJOVCJPWRJLED2LED1DRVVD33_OVDD5BUSJVBUSMXRSTJDPUDMU2827262524232221201918171615R10510KVDD_USB1_3.3VDGNDVDD_USB1_3.3VVDD_USB1_3.3VVDD_5VR100100KVDD_USB1_1.8V

USB_HOST_D+USB_HOST_D-R932.7KDGNDVDD_5VVDD_USB1_3.3VVDD_USB1_3.3VDGNDR10110KR10310KDGNDR10220KDGND图3-2 USB接口电路 Fig.3-2 USB interface circuit

设计选用FE1.1S芯片,XIOUT和XIN引脚由一个12MHz的晶振连接,完成

- 23 -

黑龙江大学硕士学位论文

晶体振荡器的输入输出。REXT引脚在与地连接时需要一个2.7kΩ的电阻,作为内部偏置参考,OVCJ引脚作与一个10kΩ电阻连接作为过载保护。设备拓展四个USB接口,方便调试和后期设备功能拓展。

3.3 温湿度采集电路设计

3.3.1 传感器选择

温湿度传感器按检测方法可以分为接触式与非接触式两种[55],接触式湿度传感器在农业上大多应用于测量土壤湿度,而本文设计的水稻病害检测系统测量的是水稻生长时的空气湿度与环境温度,因此选用非接触式的温湿度传感器进行生长环境的信息采集。

常见的非接触式湿度传感器通过湿敏元件完成相对湿度的测量,按照其工作原理可以分成电容式、电阻式、电解质离子型等多种类型。电容湿敏元件具有灵敏度高、响应速度快、线性程度好等优点,但是其精度一般比湿敏电阻要低一些。在第二章介绍了四种常见水稻病害染病时的空气相对湿度,可以看出检测系统对于传感器的精度要求不高。

本文选用数字温湿度传感器AM2302进行温度、湿度采集,该传感器有一个湿敏电容元件和一个NTC热敏元件,并搭载了8位的MCU,其湿度量程为0~99.9% RH,精度达到2% RH;温度量程为-40~80℃,精度是1℃。

3.3.2 温湿度传感器工作原理

电容式湿度传感器[56]由对水分子吸附能力不同的薄膜电容构成,通过电容量与环境相对湿度的线性关系描述湿度等级[57]。材料对水分子的吸附能力的差异导致传感器的感湿效果不同,当水分穿过传感器的金属电极附着在薄膜电容上时,湿度传感器的电容量会受介电常数的变化而发生改变,通常相对湿度越大传感器的电容变化量也就越大。

NTC(负温度系数)热敏电阻[58]是一种或几种过渡族金属氧化物或其他具有尖晶石结构的氧化物经过陶瓷工艺烧结制成的[59],具有电阻率与温度成反比的电

- 24 -

第3章 水稻病害检测系统硬件设计

学特性,是用来测量温度最常用的半导体器件。NTC热敏电阻的B值和电阻率受这两个特性越好热敏电阻的精度越高,使用NTC材料的电阻率与掺杂含量影响[60],

热敏电阻进行温度测量可以通过测温电桥电路完成[61]。

3.3.3 采集电路

AMA2302供电电压为3.3V,除了悬空的引脚NC之外还有VCC、SDA和GND三个引脚了,温湿度采集电路如图3-3所示。

VCCVCCSDANCGND1234AM2302GNDSDA0~500R5C4102GNDRpC2106

图3-3 温湿度采集电路

Fig.3-3 Temperature and humidity acquisition circuit

传感器的初始化与数据收发由SDA控制,SDA和ARM板的GPIO口连接,并且要求VCC与数据线之间有一个5.1kΩ的上拉电阻,即电路中的电阻Rp。选择上拉电阻的原因是传感器使用单总线协议完成状态控制与数据收发,传感器的初始化由主机将总线信号拉低完成,因此需要保证总线信号处于空闲状态时为高电平。采集电路中SDA与IO口之间的电阻R5阻值为100Ω,其作用与C4一样,是为了增强电路的抗干扰能力。

3.4 电源模块设计

水稻病害检测系统所用的ARM核心板的供电条件为5V/3A,考虑到实际的水稻病害检测过程需要在稻田间完成,因此需要设计电源模块为系统供电以保证续航,选用锂电池作为外部供电,通过电源转换电路将12V电压转换成5V电压。

电压转换电路有线性稳压(LDO)和开关电源(DC-DC)两种。LDO的内部结构简单、反馈短适用于输出电压精度高且电流小时,但是由于输出电压都落在了晶体管上,其效率不是很高。DC-DC与线性稳压器正好相反,内部结构复杂、效

- 25 -

黑龙江大学硕士学位论文

率高适用于电流较大的情况。本文选用TI公司的TPS54332D作为电源转换电路的芯片完成降压模块设计,它是DC-DC结构的降压转换器,输入电压范围在3.5-28V,输出电压可降至0.8V,输出电流最大可达3.5A。在设计降压电路时,芯片的BOOT引脚和PH引脚之间需要一个0.1μF的电容C33,若C33的电压不能满足最低需求,则PH引脚内部的晶体管会被关断至电容器刷新,引脚SS与10nF电容相连接地,电容的作用是设置输出上升时间,需要注意的是powerpad GND引脚必须连接到裸露焊盘才能正常工作,电压转换电路如图3-4所示。

VDD_5VC33100NF/50VD23L1SWPA6045S6R8MT/6.8uH/3.5A5V, 3.5AC2622UFR162KC187100uF/35V21VDD_IN_12V1234U4SSA33L/SS342C2510UF/50VTP16R24100KBOOTVINENSSPAD9PHGNDVSENSECOMP87561R351KDGNDDGND

R3412KTPS54332DVSENSE=0.8VC2710NFDGNDDGNDC344.7NFR3049.9KC3539PFDGNDDGNDDGND图3-4 电压转换电路 Fig.3-4 Voltage conversion circuit

使用TPS54332完成电压转换电路时需要考虑开关频率,输出电压与输出滤波三个基本要素。降压芯片的开关频率为1MHz,输出电压的计算如公式(3-1)所示。

R34=

(R1+R35)×VREF

(3-1)

VOUT−VREF

由公式(3-1)可以看出输出电压的值与电阻R1、R34和R35的阻值有关,通过整理可得公式(3-2):

VOUT=VREF(

R1+R35

+1) (3-2) R34

- 26 -

第3章 水稻病害检测系统硬件设计

核心板的供电电压为5V,通过公式计算可得R34的阻值为12kΩ,R1、R35的阻值分别为62kΩ和1kΩ,这里的VREF的值为0.8V。当使用标准值电阻时,略微增加或减少R1和R34可以使输出电压更接近匹配。电压装换电路中的电感L1的作用是输出滤波,保证信号的稳定。

3.5 本章小结

本章对水稻病害检测系统硬件平台的设计进行了研究,根据系统需求对核心控制单元、图像采集设备、温湿度传感器、电源芯片进行选择,完成了图像采集设备的接口电路设计,温湿度采集单元的硬件电路设计,并根据开关电源芯片完成了终端的供电模块设计。

- 27 -

黑龙江大学硕士学位论文

第4章 水稻病害检测系统软件设计

本章对水稻病害检测系统的软件进行设计,在PC上搭建深度学习环境完成病害识别模型的设计,将病害识别模型一直到终端,在嵌入式终端上实现图像采集、温湿度采集、病害检测。

4.1 软件设计总体流程

水稻病害检测系统的软件设计包含两部分,第一部分在PC上完成,搭建软件开发环境,设计水稻病害识别模型,完成模型训练并对其优化。PC端软件设计的整体流程如图4-1所示。

样本预处理模型训练CNN结构设计环境搭建 参数优化图4-1 PC端整体结构框图 Fig.4-1 The overall design of PC

第二部分在ARM上进行,完成USB摄像头驱动配置,编写图像采集程序;根据传感器时序图编写温湿度传感器驱动与应用程序,实现环境信息采集;对病害检测模型进行移植,检测水稻病害。ARM端软件设计整体流程如图4-2所示。

摄像头驱动层温湿度传感器 图像环境温湿度模型判断病害种类结果图4-2 ARM端整体结构框图 Fig.4-2 The overall design of ARM

- 28 -

第4章 水稻病害检测系统软件设计 4.2 TensorFlow环境搭建 水稻病害检测系统通过在上位机的Ubuntu18.04操作系统上,安装Google开源的深度学习框架——TensorFlow,搭建PC端软件开发环境。利用卷积神经网络训练水稻病害识别模型时,病斑特征的提取用到了卷积、池化、局部归一化等操作,完成特征向量的提取后,通过全连接层将特征向量进行连接,用于后续的识别,这些CNN的基本框架是完成算法设计的基础。TensorFlow深度学习框架在底层使用C/C++将这些常用的操作封装成用户可以直接使用的API接口,因此基于TensorFlow框架设计卷积神经网络模型来进行水稻病害的识别大大提高了开发效率。在进行算法开发时,CNN的实现过程可以通过TensorFlow特有的张量与计算图表示出来,也能够将训练过程的准确率与损失变化以曲线图的形式表现出来。 TensorFlow深度学习框架所支持的语言是Python,因此需要在PC主机上通过Linux命令安装python 3.6完成语言环境的搭建。在语言环境搭建完成后进行TensorFlow的安装,TensorFlow的安装有两种方式:一种是使用python 3.6带有的pip3工具进行安装,另外一种是下载官方源码,通过源码编译进行安装。由于PC主机的Linux操作系统是X86架构,所以可以直接使用pip3工具安装深度学习框架。在Ubuntu18.04命令终端下打开python 3.6使用关键字import导入TensorFlow框架并通过tf._version_ _命令检查开发环境是否搭建成功,检查结果如图4-3。 图4-3 TensorFlow安装图 Fig.4-3 The installation diagram of TensorFlow 4.3 样本预处理 使用卷积神经网络设计水稻病害识别模型之前,需要获取感染病害的水稻图片来建立样本库,样本库一共含有1192张图片,由训练集与测试集两部分构成,- 29 - 黑龙江大学硕士学位论文 两者的比例约为5:1。由于获得的样本图片格式、大小存在差异,需要对收集的样本进行预处理,统一图片大小、格式,并制作成用于训练的二进制格式文件,收集的四种病害的样本如图4-4所示。 a) b) c) d) 图4-4 样本图片 a) 稻瘟病 b) 纹枯病 c) 胡麻斑病 d) 黑粉病 Fig.4-4 Sample image a) Rice blast b) Sheath Blight c) Flax Spot Disease d) Smut TensorFlow提供了图像解码、图像压缩、图像旋转、色彩调整和图像标注框等处理方法来弱化实际问题中与识别结果无关的因素,比如图像颜色,亮度等。考虑输入图像的大小对训练速度与前向传播过程中计算量的影响,神经网络输入图像的大小要求是64×64,而采集到或者获得的样本图片至少在640×480以上,虽然使用原始图像能完全保留水稻病害的特征,但是训练的负担会非常重,同时前向传播的计算量也会非常巨大,因此需要对样本进行图像压缩处理,并且保证压缩时尽可能的留有图像特征。 完成样本图像的压缩之后,需要将这些样本图片制作成用于训练的二进制文件,将样本以文件的形式读入内存可以提高模型的训练效率。虽然TensorFlow可- 30 - 第4章 水稻病害检测系统软件设计 以在模型训练时将图片直接写入内存,但是这种做法的读取效率较低,并且当样本数量过大时会大幅度的增加训练时间。 TensorFlow定义了CSV和TFRecords两种数据格式,CSV文件的读写需要经过文件的转化和重构,对于训练来说开销大、速度慢,而TFRecords则是通过二进制的形式把数据写入文件,并通过迭代的方式进行读取,本文通过tf.python_io.TFRecordWriter类将数据写入到tf.train.Example协议内存块中生成含有标签和图像信息的二进制TFRecords文件,生成的文件如图4-5所示,其中标签指的是病害图片的种类,本文中标签数量为4。 图4-5 TFRecords文件 Fig.4-5 TFRecords file 4.4 病害检测系统PC软件设计 水稻病害识别模型的设计包括CNN结构设计,模型训练,参数优化三部分。在开始一次完整的模型训练之前,需要确定卷积神经网络的结构,并初始化模型的相关参数。模型参数包括网络结构参数与训练参数两种,其中网络结构参数包括CNN卷积层卷积核的数量、尺寸,池化的方式,损失函数,归一化函数;训练参数包括学习率,迭代次数,权重初始化方式,损失函数(loss),批(batch)大小等。参数初始化方式如表4-1所示。 - 31 - 黑龙江大学硕士学位论文 表4-1 超参数初始化

Table 4-1 Hyperparametric initialization

超参数类型

第一层卷积层卷积核的数量

卷积核大小 池化方式

第二层卷积层卷积核的数量

卷积核大小 池化方式 学习率 训练轮数 权重初始化方式 批(batch)大小

损失函数 归一化函数

初始化方式

64 3×3 max_pool 16 3×3 max_pool 0.0001 10000 随机初始化

64 loss LRN

4.4.1 卷积神经网络结构设计

在卷积神经网络被应用于图像识别、物体检测的过程中,有很多经典模型被建立,如Lenet、GoogLeNet、VGG16、AlexNet等。这些典型的卷积网络整体深度都不相同,其中Lenet模型的层数最少,GoogLeNet的层数最多,而最常用的是Lenet与AlexNet两种。Lenet模型是第一个被应用与图像识别的深度卷积结构,具有三层卷积层,两层池化层和两层全连接层,激活函数采用Sigmod。AlexNet模型与Lenet相比,除了在整体深度上多了两层卷积层和一层池化层外,还在全连接层后引入了权重放弃(dropout)层,这一做法成功的缓解了CNN训练时的过拟合。

由于需要将训练好的模型移植到嵌入式设备上进行检测,因此需要考虑CPU对网络整体参数量的计算能力,本文结合AlexNet模型对Lenet结构进行改进,完成水稻病害识别模型的网络设计,改进的CNN具有2层卷积层,2层池化层,3层全连接层的基本结构,全连接层后加入dropout层来减少过拟合,网络结构示意图如图4-6所示。

- 32 -

第4章 水稻病害检测系统软件设计

全连接层1全连接层2全连接层3池化层卷积层1卷积层2 池化层图4-6 网络结构示意图 Fig.4-6 Diagram of network structure

在每层卷积层后都加有一层用于降维的池化层,第二层池化层后连接三层全连接层,每层全连接层都含有权重放弃层。

4.4.2 模型训练

使用TensorFlow训练水稻病害识别模型之前需要清楚其工作原理,TensorFlow是一个通过计算图的形式来表述计算的编程系统,其最重要的两个概念是张量与流。所谓的张量区别于数学与物理的定义,代表TensorFlow对数据的表示与引用,可以将它理解为一个描述输入特征的多维数组;而流则代表节点之间的计算流程,也可以说是张量之间的计算过程。TensorFlow通过这两个概念对计算流程图进行绘制,建立好的计算图就是所搭建的卷积神经网络的网络结构。

搭建完成神经网络的结构之后,通过建立会话的方式执行定义好的计算。准确的进行水稻病害识别需要保证模型的有效训练,本文通过反向传播算法对网络进行训练来得到识别模型。

完成模型参数的初始化之后,从制作的样本文件中读取训练数据,每一轮训练读取的数据量为批的大小。将这些数据传入设计好的CNN中,通过网络的前向传播过程计算最后的预测值。模型训练的结束有两种情况,一种是当损失函数趋于拟合,达到训练的要求;另外一种是训练轮数达到了设置的最大值。当两者都不符合要求时,则从样本文件中再读取一个batch来进行训练,直到损失函数或者训练轮数达到要求。完整的模型训练流程如图4-7所示。。

- 33 -

黑龙江大学硕士学位论文

开始初始化变量,训练轮数=0选取一部分训练数据通过前向传播获得预测值训练轮数+1 通过反向传播更新权值是达到训练目标否达到训练轮数是结束否图4-7 模型训练流程 Fig.4-7 Model training process

4.4.3 模型优化

通过控制变量法研究模型参数对损失函数、识别准确率的影响,找出最优的参数来完成水稻病害检测模型设计。为了能够直观地判断参数的影响,将每轮迭代的准确率与损失函数值进行打印,绘制准确率、损失函数与迭代轮数的关系曲线,通过观察曲线的拟合趋势与震荡幅度选取最优的网络参数,并通过测试集的准确率进行验证。

(1)卷积核数目

CNN卷积层的特征图数量等于该层的卷积核数目,卷积核的多少决定着网络对图片的特征提取能力,通常情况下,滤波器数目越多,网络所提取的图像特征就越多,对图像的描述能力也就越强。但是当卷积核数目过多时,将导致模型整体结构复杂,不仅会使计算量加大,还会导致过拟合现象的出现。图4-8给出了第二层卷积层滤波器数目为16,第一层滤波器数目分别16,32,64时的损失函数与迭代

- 34 -

第4章 水稻病害检测系统软件设计 次数的关系曲线。 a) b) c) 图4-8 损失函数曲线图 a) 16-16 b) 32-16 c) 64-16 Fig.4.8 Loss function graph a) 16-16 b) 32-16 c) 64-16 由图4-8可以看出,当第一层卷积层的卷积核数目为64时,迭代训练3000次以后,损失函数趋于拟合,不考虑出现的偶然误差,最后整体收敛在0.1以内,且下降速度与最后的收敛范围都要好于另外两种情况。主要原因是卷积核数目越多,模型的特征提取能力就越强。三种数量的卷积核的训练模型在测试集上的平均准确率如表4-2所示。 表4-2 卷积核数量的测试集准确率 Table 4-2 Convolution kernel quantity test set accuracy 卷积核的数量 测试集准确率 16 32 64 93.75% 95.31% 96.88% - 35 - 黑龙江大学硕士学位论文 (2)卷积核大小 卷积核的大小决定了特征提取范围,卷积核的尺寸越大,与图像进行卷积操作的范围越大,单次提取的特征就越多,但是卷积核的尺寸太大或者太小都会影响最后的识别准确率。当卷积核过大时,模型会忽略图像的细节特征,相反则无法完整的提取特征。本系统采用的卷积核大小为n×n的矩阵,图4-9给出了n为3、5、7时损失函数与迭代轮数的关系。 a) b) c) 图4-9 卷积核大小损失曲线 a) 3×3 b) 5×5 c) 7×7 Fig4.9 Convolution kernel size loss curve a) 3×3 b) 5×5 c) 7×7 对比图4-9中三种卷积核大小的损失曲线可以发现,随着卷积核尺寸的增加,损失曲线的下降速度得到加快,曲线的震荡幅度也相应减少。主要原因是滤波器尺寸的增加使得滤波器提取的特征范围变大,一个5×5卷积核的特征提取范围相当- 36 - 第4章 水稻病害检测系统软件设计 于两个3×3卷积核所能够提取的范围,一个7×7的卷积核又相当于两个5×5的卷积核。但是随着卷积核尺寸的增加,数学计算量与内存占用率也会相应增多。 (3)池化方式 模型对图像特征的保留方式由池化层的池化方式决定,常用的池化手段有最大值池化和均值池化两种,不同的池化方式对模型的损失函数有不同的影响,两种池化方式的损失函数与迭代轮数的关系如图4-10所示。 a) b) 图4-10 池化方式损失函数曲线 a) 平均池化 b) 最大池化 Fig.4-10 Pooling mode loss function curve a) Average pooling b) Max pooling 从实验结果可以得出:均值采样方法的噪音影响较大,损失函数曲线的下降速度、稳定性上都不如最大池化的效果好。原因在于对特征进行下采样的过程中,最大值采样能够对图像的纹理特征进行保留,从而减少由于对上层邻域范围求均值而导致均值偏移造成的误差。平均值采样能够更好的保存图像背景,减少下采样过程中采样范围带来的方差,而本文研究内容的图像背景对结果的影响不大。 (4)激活函数 卷积神经网络激活函数f的选择主要有Sigmoid函数、Tanh函数和Relu函数三种,Sigmoid函数和Tanh函数的表达式如(4-1)和(4-2)所示。 f(x)=1 (4-1) 1+e−x- 37 - 黑龙江大学硕士学位论文 ex−e−xf(x)=x−x (4-2) e+eRelu函数是Hinton等人于2012年提出的线性非饱和的激活函数,通过Relu函数对模型初始化时添加少量噪声,从而打破对称性,避免0梯度情况的发生。其数学表达式如下: f(x)=max(0,x) (4-3) 当输入信号小于0时,输出都是0,而在输入信号大于0时,输出等于输入。Krizhevsky等人通过实验发现利Relu激活函数构建的模型其SGD随机梯度下降的收敛速度会比Sigmoid快很多,同时Relu只需一个设定阈值即可得到激活值,无需复杂的数学运,图4-11给出了两种激活函数的损失函数与迭代次数的曲线图。 a) b) 图4-11 激活函数损失曲线 a) Sigmod函数 b) Relu函数 Fig.4-11 Activation function loss curve a) Sigmod function b) Relu function 由图4-11可知,Sigmod函数的loss在迭代5000次后有明显下降,但是没有达到收敛,而Relu函数的loss下降更快,收敛更早。因为Sigmoid激活函数容易使饱和的神经元梯度消失,同时其输出并不为零点作为中心点,易造成数据分散。 (5)训练轮数 迭代的回合数影响着网络损失函数的下降速度与最后的识别准确率,当训练轮数过少时,学习过程无法对样本库内所有的样本图片进行训练,将导致模型无法有效地提取病斑特征,造成损失函数不易拟合的现象,而当损失函数已经趋于拟合- 38 - 第4章 水稻病害检测系统软件设计 且训练集的准确率不在发生变化时,过多的训练轮数就失去了意义,图4-12和图4-13分别给出了训练轮数分别为1000、2000、3000、4000时损失函数与训练轮数的关系曲线。 a) b) 图4-12 训练轮数损失函数曲线 a) 1000次迭代 b) 2000次迭代 Fig.4-12 Training round loss function curve a) 1000 iterations b) 2000iterations a) b) 图4-13 训练轮数损失函数曲线 a) 3000次迭代 b) 4000次迭代 Fig.4-13 Training round loss function curve a) 3000 iterations b) 4000iterations 由图4-12和图4-13可以看出,当训练轮数过少时,损失函数呈现出明显的下- 39 - 黑龙江大学硕士学位论文 降趋势,但是其极不稳定并且未出现收敛现象,而随着训练轮数的增加,损失函数逐渐收敛,图4-14给出了训练轮数分别为5000次和10000次时损失函数与训练轮数的关系曲线。 a) b) 图4-14 训练轮数损失函数曲线 a) 5000次迭代 b) 10000次迭代 Fig.4-14 Training round loss function curve a) 5000 iterations b) 10000iterations 由图4-14可以看出,当训练轮数达到一定的次数时,随着迭代轮数的增加,损失函数趋于拟合并且不在发生变化。此时,对于模型的训练而言,多余的训练次数将变得没有意义。训练轮数对样本集的平均准确率影响如表4-3所示。 表4-3 训练轮数的样本集准确率 Table 4-3 Sample set accuracy rate of training rounds 训练轮数 1000 2000 3000 4000 5000 10000 准确率 28.13% 54.69% 76.56% 96.88% 96.88% 96.88% (6)批大小 批(batch)大小是完成一次迭代过程,送给网络进行训练的样本数量。batch的大小决定了损失函数的下降速度与模型最后的识别准确率。较大的batch会加快网络损失函数的下降速度,减少完成一次全样本训练的迭代轮数,并且使损失函数的震荡范围减小,但是过大的batch会对模型的准确率造成负面影响,图4-15给出了三种batch的损失函数曲线。 - 40 - 第4章 水稻病害检测系统软件设计 a) b) c) 图4-15 Batch大小与损失函数曲线 a) batch_64 b) batch_32 c) batch_20 Fig.4-15 Batch size and loss function curve a) batch_64 b) batch_32 c) batch_20 由损失函数曲线可以看出,随着batch大小的增加,损失函数的拟合速度逐渐加快,震荡幅度逐渐减小。当batch大小为64时,损失函数的下降速度与震荡幅度明显好于另外两种情况。这是因为随着batch的增加,完成一次epoch所需的迭代轮数相应减少。相同训练轮数的情况下,batch越大全数据集的训练次数就越多。最终三种情况的测试集准确率如表4-4所示。 表4-4 batch大小的样本集准确率 Table 4-4 Batch size sample set accuracy Batch大小 测试集准确率 16 32 64 87.5% 93.75% 96.88% - 41 - 黑龙江大学硕士学位论文 由表4-4可以看出,随着batch的数量增加,模型的准确率也随之提高,主要原因是较大的batch能够有效地提取样本特征。 (7)学习率 学习率是卷积神经网络训练时的重要参数,它控制着损失梯度调整神经网络权值的速度,学习率越小损失函数下降的速度越慢,甚至会出现过拟合现象,而学习率过大则会导致模型损失函数震荡幅度大,图4-16给出了学习率分别为0.001,0.0001,0.00001时损失函数与迭代轮数的曲线。 a) b) c) 图4-16 学习率与损失函数曲线 a) rate_0.001 b) rate_0.0001 c) rate_0.00001 Fig.4-16 Learning rate and loss function curve a) rate_0.001 b) rate_0.0001 c) rate_0.00001 由图4-16所示,学习率为0.001时,损失函数的下降速度最快,震荡幅度最- 42 - 第4章 水稻病害检测系统软件设计

小,但是最后误差的收敛范围却非常大。原因在于,学习率的增加会加快卷积核内权重的更新速度,但是过大的学习率会使卷积核忽略图片的细节特征,造成误差的增加与准确率的下降。学习率为0.00001时,损失函数经过10000轮的迭代才出现拟合的趋势。通过对比可以发现,学习率对于模型损失函数的影响十分明显,过大过小的学习率都不利于模型的训练。

综上所述,卷积核大小、卷积核数量、池化方式、激活函数、训练轮数、批大小、学习率等超参数都影响着水稻病害识别模型损失函数的下降速度,而卷积核数量、训练轮数、批大小三个参数对最后的测试集准确率有较大影响。模型的学习率为0.0001,批大小为64,训练轮数为5000,网络的整体结构如4-17所示。

输入层:3×64×64输出层卷积层1:3×364×64×64第一层池化type:max64×32×32卷积层2:3×316×32×32第二层池化type:maxSoftmax128全连接层3128全连接层2128全连接层116×16×16

图4-17 网络结构 Fig.4-17 Network structure

4.5 病害检测系统嵌入式软件设计

水稻病害检测系统的实现需要在嵌入式平台下通过摄像头与温湿度传感器完成图像与温湿度的采集,并通过采集的图像完成水稻病害识别。因此需要在嵌入式

- 43 -

黑龙江大学硕士学位论文

平台上移植Linux操作系统,并对所需设备进行驱动开发移植与应用层程序设计。

4.5.1 Linux系统移植

Linux操作系统的内核源码开放,体积小,同时具有可裁减内核、网络功能完备、可移植性强等优点,适合作为嵌入式项目开发时的操作系统。一个完整的嵌入式Linux操作系统包括引导程序、内核文件和根文件系统三部分。

本系统选用ARM核心板为嵌入式平台搭建水稻病害识别系统,所以选择Linux系统时不能使用x86架构的内核,而ARM芯片的计算能力与处理速度虽然较以往得到了显著提高,但是同PC主机还是存在明显差距,不适合进行内核编译工作,所以对嵌入式设备的系统移植就需要先在主机上搭建交叉编译环境,随后将内核移植到ARM上。

一个完整的Linux内核移植流程应该包括交叉环境搭建,引导程序的选择、移植和内核的配置、编译、移植三部分,需要搭建交叉编译环境的原因前文已经进行了说明。交叉编译环境搭建的主要工作是在主机上安装能够交叉编译ARM-Linux内核的交叉编译链工具,这里通过sudo apt-get install指令安装与内核版本匹配的交叉编译工具链。

引导程序是在内核运行之前调用的程序,其作用是初始化硬件设备、简化内存空间的映射图,为加载系统内核做准备。内核配置、编译、移植是Linux系统移植的最重要工作,由于Linux操作系统良好的开源性,可以官网上下载Linux的源码,本文所使用的版本号为4.4。对下载的内核文件进行解压,修改根目录下Makefile文件中的平台的体系架构和交叉编译器。通过make menuconfig命令配置内核选项,将需要的设备驱动配置添加进内核,最后编译生成zImage文件

4.5.2 图像采集设备软件开发

水稻病害检测系统通过使用USB摄像头完成对图像的采集工作,因此需要在系统软件开发时对设备进行驱动配置与应用程序编写。由于USB驱动被Linux、Windows、OS等主流操作系统所支持,加上视频采集设备的广泛应用,微软与其他视频设备厂商联合推出了USB org之一的UVC协议,即USB视频捕获协议。

- 44 -

第4章 水稻病害检测系统软件设计

如果视频采集设备支持UVC协议,那么对于使用视频设备的开发者来说将省去编写驱动的麻烦,从而提高开发效率。Linux操作系统目前支持UVC驱动,在进行图像采集应用程序的编写之前,在内核编译的过程检查是否成功加载UVC驱动。

在内核编译过程中完成UVC驱动的配置之后,需要编写应用程序使USB视频设备能够完对成水稻病害图像的采集。Linux系统不仅支持UVC驱动解决采集设备的驱动问题,同时提供给进行视频、图像开发的研究人员一套完整的应用层框架——V4L2协议,避免在底层硬件与内核子系统存在差异情况下的代码冗长。

Linux系统下对设备的操作实际上是相当于对文件进行操作,在成功连接图像采集设备之后,系统的dev目录下会出现能够通过系统调用打开的文件节点,通过系统调用函数open()即可打开设备,开始图像采集工作。成功打开摄像头之后对摄像头支持图像、视频、音频哪种功能进行检测,检测完成后配置采集参数。在应用程序对数据进行采集之前,需要定义V4L2_requestbuffers结构体向驱动申请数据缓冲区,用于与存放驱动采集到的流数据。由于应用程序与驱动分属用户空间与内核空间,所以需要通过内存映射的办法将数据缓冲区的地址映射到用户空间,完成上述工作之后便可以开始进行视频、图像数据的采集。

将驱动采集的每一帧数据存入输入队列的缓冲区,完成后将缓冲区移到输出队列。应用程序通过ioctl()函数取出缓冲区,根据需要完成原始数据的处理之后将缓冲区重新放入输入队列以便数据的循环采集,数据处理流程如图4-18所示。

IN(1,2,3…)驱动程序采集数据OUT(1,2,3…) 放入输入队列一个缓冲区应用程序处理数据取出输出队列一个缓冲区图4-18 数据处理流程 Fig.4-18 Data processing flow

4.5.3 温湿度传感器软件开发

水稻病害检测系统通过传感器对环境的温湿度进行采集,传感器采用单总线

- 45 -

黑龙江大学硕士学位论文

协议与主机进行通讯,完成数据的传递。传感器的工作状态与数据串出都是按照其固定的时序来完成,因此在进行软件开发时需要根据传感器时序图进行驱动开发,随后编写应用层程序完成环境温湿度的采集,温湿度传感器时序如图4-19所示。

Bit39=0TgoTrehTH0TH0TH1TH0VDDGNDTbeTlowTlowTlowBit37=1TlowTen Treq图4-19 传感器时序图 Fig.4-19 Sensor timing diagram

在开始温湿度采集之前主机需要先对总线进行拉低,保证传感器处于开始工作状态,在得到主机信号之后传感器通过对总线先拉低后拉高的方式进行响应,通知主机对数据的传输工作准备就绪。主机通过总线将起始信号发送给传感器之后,开始数据的传输。在数据传输过程中,传感器通过总线由高到低地一次性发送40位的数据,其中湿度信息与温度信息共占32位,剩余的8Bits是校验位。传感器通过总线串出的温度、湿度数据均为环境值的10倍。

分析完传感器的工作时序之后完成传感器的驱动编写与移植。本文将传感器注册为字符设备,首先通过宏定义moudle_init()调用模块加载函数,在加载函数中调用cdev_init()函数对cdev结构体进行初始化,同时初始化file_operations结构体。由于Linux系统下对设备的操作本质上是对文件操作,所以需要在驱动中对文件操作结构体进行初始化,说明文件的打开、关闭、读写功能。温湿度传感器时序图交代了数据的发送位与发送时间,因此根据时序图的分析完成file_operations结构体中的读写功能,确保系统能够对设备采集的温度、湿度信息读出。文件操作结构体初始化之后调用alloc_chrdev_region()进行字符设备驱动注册。在编译系统内核时配置温湿度传感器的驱动,保证检测系统能够成功驱动温湿度传感器。驱动移植成功后会在Dev目录下生成文件节点,在应用程序中通过系统调用的方式即可

- 46 -

第4章 水稻病害检测系统软件设计

打开设备进行工作,用户空间与传感器驱动的调用关系如图4-20所示。

insmod初始化/添加设备cdev删除设备dev_tread()File_operationswrite()ioctl()模块加载函数rmmod模块卸载函数...系统调用用户空间 图4-20 用户空间与驱动调用关系 Fig.4-20 User space and driver call relationship

应用程序中通过open()函数打开设备,等待设备完成初始化。完成设备读取后释放总线等待响应信号,采集工作完成后读取40位的数据,更新温湿度值后进入等待状态,传感器采集流程如图4-21所示。

传感器初始化读取设备发送起始信号释放总线等待传感器响应信号读取设备连续读取40位数据 固定采集时间等待更新温湿度数据校验图4-21 传感器采集流程 Fig.4-21 Sensor acquisition process

4.6 水稻病害检测模型移植

在嵌入式系统上进行水稻病害识别需要完成三部分工作:库文件编译,模型文件格式转换与移植,模型调用。

4.6.1 库文件编译

基于TensorFlow训练出的水稻病害识别模型是pb格式,但目前众多嵌入式设备(包括手机、pad)由于处理器能力的限制,Google认为直接用pb格式的模型

- 47 -

黑龙江大学硕士学位论文 进行推导过于复杂并且效率偏低,于是又开发出适用于移动端的深度学习框架TensorFlow lite。可以说,TensorFlow lite是TensorFlow在嵌入式设备上的替代版本,它不能用于训练,只能推导。TensorFlow lite是支持嵌入式设备通过深度学习完成分类识别任务的链接库,因此在移植使用识别模型之前,需要完成TensorFlow lite的编译,保证嵌入式平台能够使用模型。 本文在Ubuntu下使用git下载官方的TensorFlow源码,通过运行源码中的download_dependencies.sh脚本下载编译lite的第三方库,主要包括矩形计算、二进制序列化和通用的低精度矩阵乘法库。准备好常用的计算库之后,通过修改Makefile文件,编译TensorFlow源码生成能够支持armv8的TensorFlow lite库,编译成功后会在arrch64_armv8-a/lib目录下生成后缀为*.a的库文件,生成的文件如图4-22所示。 图4-22 库文件示意图 Fig.4-22 Library file schematic 编译生成嵌入式平台下的TensorFlow lite库文件之后,只需要得到拓展名为*.tflite的训练模型,就可以通过官方支持的编程语言调用TensorFlow lite的应用接口完成跨平台的识别分类任务。 4.6.2 模型文件格式转换 PC训练的模型的文件默认格式为ckpt,而TensorFlow lite须要的模型格式是flatbuffer(flatbuffer也是Google定义并开源的一种格式),扩展名是*.lite。为此要让TensorFlow训练出的模型可用于嵌入式设备上的TensorFlow lite,需要先完成模- 48 - 第4章 水稻病害检测系统软件设计

型的格式转换,转换流程如图4-23所示。

获得图、变量数据导入模型图还原变量生成pb文件生成lite文 件图4-23 模型移植流程图 Fig.4-23 Flow chart of model migration

水稻病害识别模型训练完成之后,将网络图与变量进行保存用于下次继续使用,这就是所谓的模型持久化。TensorFlow使用tf.train.Saver类保存训练模型,通过Saver保存训练模型会默认生成三个文件,两个后缀分别为meta与ckpt文件,与一个checkpoint文件。Meta文件保存了TensorFlow的结构即本文设计好的卷积神经网路结构,ckpt文件保存了网络中的变量取值,即神经网络的参数,checkpoint文件记录了一个文件夹下训练卷积神经网络的所有模型文件列表。

在以ckpt文件的形式获得网络图与变量之后,通过import_meta_grapb函数导入图文件,还原网络结构。模型的数据的恢复则通过使用Saver类中的restore()函数完成。

使用Saver保存的模型进行分类时,需要先恢复卷积网络的结构,然后载入保存的变量值。将模型保存成ckpt文件的做法对于训练来说是有益处的,但是对于模型的使用来说,这种做法是很不方便的。

解决这一问题的办法是将ckpt文件转换成pb(protobuf)格式的文件,protobuf是Google定义的一种数据文件格式,pb格式的文件将计算图与参数保存在一起,在调用模型时可以一起还原,ckpt格式的文件到pb格式的文件转换通过函数convert_variables_to_constants完成。获得pb格式的模型文件之后,只需要将其装换成tflite格式的文件,就可以在嵌入式平台下完成模型的使用,tflite格式的转换通过toco工具完成。

4.6.3 模型调用

完成TensorFlow lite的库文件编译与模型的格式转换之后,通过编写应用程序来调用移植到嵌入式平台的模型,进行病害的检测识别,模型调用的整体流程如图4-24所示。

- 49 -

黑龙江大学硕士学位论文

加载tflite文件构建解释器填充输入张量预测解析输出 张量图4-24 模型调用流程图 Fig.4-24 Flow chart of model migration

在计算识别结果之前,对tflite文件进行加载,从*.tflite中得到FlatBufferModel对象来管理模型文件。FlatBufferModel对象的创建必须在构建任何使用它的解释器之前完成,并且在解释器的整个生命周期内保持有效。

加载完成后,构造模型解释器,根据预定义的张量大小来填充输入数据。计算过程由函数interpreter.Invoke()完成。完成识别计算后,从内存块中得到输出张量,输出张量存放的数据是一维数组,之后就可用它得到识别结果了。

4.7 本章小结

本章的主要工作是完成水稻病害检测系统PC和嵌入式两部分的软件设计。介绍了训练识别模型所需要的软件环境,安装TensorFlow深度学习框架,并对收集的样本图像进行预处理,制成2进制文件。根据TensorFlow完成卷积神经网络的结构设计、模型训练,通过控制变量法研究参数对模型损失函数与准确率的影响。还介绍了病害检测系统的嵌入式软件开发,包括系统移植,图像采集功能与温湿度采集功能的设计,最后编译支持模型在嵌入式平台下的链接库,并对训练好的模型进行移植,完成嵌入式端的模型调用,进行检测计算。

- 50 -

第5章 系统测试

第5章 病害检测系统测试

水稻病害检测系统的实现包含PC端的病害识别模型设计,模型移植,嵌入式平台下终端的采集、检测。因此系统的测试包括嵌入式终端的图像采集测试、温湿度采集测试,病害检测模型的识别结果测试和PC训练模型的识别结果测试。

5.1 嵌入式终端硬件测试

以S5P6818芯片作为系统的主控单元,根据系统功能完成相关电路设计,完成水稻病害检测系统终端搭建。系统终端处于样机调试阶段,通过硬件电路的设计与应用程序的编写移植实现检测终端的基本功能,水稻病害检测系统的样机如5-1所示。

图5-1 水稻病害检测系统样机实物图

Fig.5-1 Rice disease detection system prototype physical map

样机使用TPS54332芯片设计电源转换电路,转换电路将外界输入的12V电压转换为5V供终端使用。在搭建整体样机之前,需要先对电源转换电路进行测试,保证其能准确、稳定地供电,以防止转换电路故障而引起其他功能的损坏。温湿度采集模块的供电电压为5V。

嵌入式终端的应用程序调试通过调试模块完成,调试模块负责PC与嵌入式终端的连接通讯,将连接在电脑的USB接口转换为与终端连接的串口,通过PC的

- 51 -

黑龙江大学硕士学位论文

minicom软件完成终端调试。

5.2 图像采集测试

图像采集功能测试在终端样机上完成,通过编写应用程序打开图像采集设备,对周围环境进行图像采集,将采集到的图像保存在相应的目录下并显示在LCD屏幕上。由于图像采集设备生成的图片大小为640×480,为了满足后续的图形界面开发,显示单元选取分辨率为1024×600的七寸电容屏。

嵌入式平台的软件编写在PC端的Linux系统上完成,编写成功之后,通过交叉编译生成可以在ARM上执行的应用文件进行调试。如果成功完成USB摄像头的驱动的配置,通过USB接口插入相机之后,会在系统根目录下的dev目录下生成一个提供给应用程序打开设备的文件节点video0。

运行可执行文件,完成设备的初始化后进行图像采集,采集到的图片被保存在ARM板根目录下的home/fa/save目录下,如果成功的采集到图像,将会在该目录下生成一个名为camera,后缀为bmp的图片文件。相机的采集速度为每秒25帧,采集到的图像大小为640×480,采集结果如图5-2所示。

图5-2 拍摄效果测试图 Fig.5-2 Shooting effect test chart

由图5-2可以发现,屏幕成功地显示了嵌入式系统采集的图片,但是显示的图片仅占据了屏幕的一部分,原因是用于显示的电容屏的分辨率为1024×600,而采集的图片大小为640×480。

- 52 -

第5章 系统测试 5.3 温湿度采集测试 环境的温湿度作为水稻病害检测系统的辅助判断信息,用于与检测病害的理论生长环境进行比较,尚未加入到检测模型中。但是系统对温湿度采集功能进行了预留,采集工作由终端完成,在嵌入式终端上打开采集设备对温湿度进行循环采集,测试温湿度采集功能。 根据温湿度传感器的时序图编写驱动程序并完成移植,驱动程序成功移植后会在/dev目录下生成一个类似于配置图像采集设备时生成的文件节点,第四章介绍了如何在应用程序中打开设备进行温湿度测量,根据传感器采集流程图完成应用程序的编写,循环采集温湿度信息。 温、湿度传感器上电初始化之后会持续对环境的温湿度进行采集,在功能测试阶段,将采集的信息通过串口调试终端打印在屏幕上,方便观察采集的效果。 温、湿度测试结果如图5-3所示。温、湿度传感器能够稳定的采集环境的温湿度信息,测量的环境湿度为37% RH,环境温度为23.6℃。 图5-3 温湿度采集结果 Fig.5-3 The result of temperature and humidity collection 5.4 水稻病害识别结果测试 病害识别模型的最后输出结果是待测样本感染病害的概率,因此嵌入式终端获得待测样本图像完成识别结果计算后,获得的是该样本感染某种病害的概率数值。由于病害检测系统处于功能设计阶段,嵌入式终端未进行界面设计,为了测试- 53 - 黑龙江大学硕士学位论文

终端对病害的检测准确率,将同一待测样本在PC机与终端上同时进行病害检测,并比较识别结果来判断模型在终端上的移植是否成功,同时对PC机上的检测过程进行可视化,测试模型对病害特征的提取效果。

5.4.1 病害识别终端测试

嵌入式平台下的病害检测实验分为两部分,第一部分是对系统终端的识别准确率进行测试,第二部分是测量系统完成一次病害识别所需要的时间。识别准确率测试包括样本识别概率与系统测试准确率,识别概率是对一张样本图片进行计算得到的结果,识别概率越高,系统整体的准确率就越高。

识别概率的测试包括两种,一是对同一个待测样本进行多次测量,二是对同一病害的多个样本进行测量。第一种测试方法是为了测试系统计算结果的稳定性,第二种测试方法是为了测试模型的好坏。由于识别结果的计算是通过终端CPU按照卷积神经网络的结构和权重计算得来的,所以对同一张样本图片进行多次检测所得到的结果一致。

图像采集设备采集的照片被保存在home/fa/save目录下,在进行同一种病害的多样本检测时,识别模型读取该目录下的图片文件并进行计算,对四种病害的各三张图片进行识别,计算最后的感染概率,计算结果如表5-1所示。

表5-1 待测样本识别概率

Table 5-1 Recognition results of samples to be tested

水稻病害种类 稻瘟病 纹枯病 胡麻斑病 黑粉病

样本1

样本2

样本3

96.15% 96.33% 96.88% 94.27% 95.86% 95.31% 96.32% 96.64% 96.47% 95.37% 95.42% 95.72%

使用系统终端对包含四组病害的200张水稻图像进行测量,每种病害的图像数量各为50张,统计其中成功被识别的样本数量,计算终端系统的准确率,计算结果如表5-2所示。

- 54 -

第5章 系统测试 表5-2 待测样本识别结果 Table 5-2 Recognition results of samples to be tested 水稻病害种类 稻瘟病 纹枯病 胡麻斑病 黑粉病 准确率 98% 94% 96% 96% 由表5-2中数据可知,在50张稻瘟病待测样本中,成功地识别了49张稻瘟病水稻图像,系统的识别准确率为98%;在50张纹枯病待测样本中,成功地识别了47张纹枯病水稻图像,系统的识别准确率为94%;在50张胡麻斑病待测样本中,成功地识别了48张胡麻斑病水稻图像,系统的识别准确率为96%;在50张黑粉病待测样本中,成功地识别了48张黑粉病水稻图像,系统的识别准确率为96%。 研究表明,系统检测效果的好坏由两点决定,一是识别的准确率,二是完成一次识别过程的时间。系统PC机训练出的模型大小为34M,转换为lite格式后大小为原来的1/4,经测试,完成一次病害识别的时间为2168ms。 5.4.2 病害识别PC端测试 待测图片的选择过程如图5-4所示。 图5-4 样本选择界面 Fig.5-4 Sample selection interface - 55 - 黑龙江大学硕士学位论文 为了测试模型在终端的移植是否成功,将使用PC训练的模型计算待测样本的患病概率与终端的识别结果进行比较,判断模型移植是否成功。PC的测试通过制作UI界面来直观形象的反应病害的识别结果,并且将病害图片的识别过程进行可视化。 从收集到的四种样本中选择待识别的水稻图像之后,进行识别测试,测试结果如图5-5所示。 a) b) c) d) 图5-5 识别结果界面显示 a)稻瘟病 b)纹枯病 c)胡麻斑病 d)黑粉病 Fig.5-5 Identification Result interface display a) Rice blast b) Sheath Blight c) Flax Spot Disease d) Smut 图5-5显示了在终端上进行测试的四种病害样本1的测试结果。由图可知,稻瘟病样本在PC机上的识别概率为96.15%,纹枯病样本在PC机上的识别概率为94.27%,胡麻斑病样本在PC机上的识别概率为96.37%,黑粉病样本在PC机上的识别概率为95.37%。将计算结果与表5-1所示的终端结果对比可知,PC机上的计算结果与终端的计算结果一致,说明终端模型移植成功。 - 56 - 第5章 系统测试

为了测试模型对水稻病斑特征的提取效果,本系统对病害识别的前向传播过程进行可视化,显示卷积神经网络的卷积层与池化层的特征图,识别的稻瘟病样本如图5-6所示。

图5-6 待测样图 Fig.5-6 Sample to be tested

改进的网络一共有7层,其中每层卷积层与池化层中间都经过激活函数与局部归一化函数处理,第一层卷积层一共有64个卷积核,每个卷积核大小为3×3,经过池化层后采样后特征图尺寸变为原来的一半,经过激活函数和归一化处理的第一层卷积层与池化层的特征图如图5-7所示。

a) b) c) d)

图5-7 第一层卷积层特征图

a) 第一层卷积层 b) 激活函数处理 c) 归一化处理 d) 池化处理

Fig.5-7 First layer convolution layer feature map

a) First layer of convolution b) Activation function processing

c) Normalized processing d) Pool processing

图5-7 a)给出了经过第一层卷积层后的64个特征图,每个特征图的大小与样本图的大小一致,并能够提取病斑的边缘特征与颜色特征,经过归一化与池化处理的特征图能够更明显的反应这两个特征。

第二层卷积层共有16个卷积核,卷积核大小为3×3,与第一层池化层相比第二层池化层并没有对特征图尺寸进行缩减,在最大值采样的前提下保留了第二层

- 57 -

黑龙江大学硕士学位论文

卷积层的特征图尺寸,经过激活函数和归一化处理的特征图如图5-8所示。

a) b) c) d)

图5-8 第二层卷积层特征图

a) 第二层卷积层 b) 激活函数处理 c) 归一化处理 d) 池化处理

Fig.5-8 Second layer convolution layer feature map a) First layer of convolution b) Activation function processing

c) Normalized processing d) Pool processing

图5-8 a)给出了经过第一层卷积层后的16个特征图,每个特征图的大小与样本图的大小一致,并能够提取病斑的边缘特征与颜色特征,经过归一化与池化处理的特征图能够更明显的反应这两个特征。

5.5 测试结果分析

5.5.1 系统识别准确率分析

水稻病害检测系统对不同样本进行测试的计算结果存在一定差异,但是都在允许的范围内。造成这一结果的原因主要有以下两点:

(1)即便是同一种类型的病害,发病时的病斑特征与纹理特征也不尽相同; (2)模型对病斑特征的提取能力来自于其对样本库的学习,样本库的样本数量与质量会影响最后的计算结果。

测试结果表明,系统的识别错误率在5%以下,能够较好的完成4种病害的分类识别工作。但是最后的测试结果并不是最好的情况,因为系统受限于终端的计算能力影响,无法采用较深的卷积神经网络结构来设计病害识别模型,同时系统的准确率与样本库的数量、质量有直接关系。本文用于训练的样本数量为1000张,在后续的工作中可以通过增加样本库的数量进一步提升系统的识别准确率。

- 58 -

第5章 系统测试

5.5.2 系统识别时间分析

衡量水稻病害检测系统好坏的指标除了系统的识别准确率,还有系统的识别时间。识别时间越短,系统的检测效率越高。系统的识别时间主要受以下几个方面的影响:

(1)病害识别模型的大小影响系统的识别时间。不同的网络结构参数训练出的模型大小存在差异,网络参数越大模型越大,前向传播过程的计算量就越多,完成一次识别过程的时间就越多。

(2)硬件资源影响系统的识别时间。硬件资源对计算速度的影响则由CPU决定,CPU的计算能力越强,完成识别计算结果的时间就越短。

本文使用S5P6818芯片作为系统的主控单元完成系统识别的计算,因此不考虑硬件资源对于识别时间的影响,病害识别的计算量主要集中在卷积层与全连接层的浮点运算与乘法运算,TensorFlow lite提供了一系列数量化和浮点的核心运算符,这些核心运算符已针对移动平台进行了优化。

5.6 本章小结

本章对水稻检测系统的图像采集功能、温湿度采集功能和识别结果进行测试。系统能够以25帧/秒的速度采集图像,采集的图像分辨率为640×480;湿度测量范围在0~99.9% RH,温度测量范围在-40~80℃;四种病害的识别准确率在95%以上,单一样本的识别概率在95%以上,终端系统完成一次病害识别时间为2168ms。

- 59 -

黑龙江大学硕士学位论文

结 论

本文应用人工智能领域的机器学习技术,对常见的四种水稻病害的识别方法进行研究,并根据嵌入式技术完成水稻病害检测系统的设计。通过测试集的样本识别实验,证明了基于人工智能的水稻病害检测系统的可行性,本研究的结论如下:

(1)根据人工智能理论与嵌入式技术,设计了一套能够完成水稻病害检测的智能系统,系统可以完成图像采集、温湿度采集、病害检测等基本功能

(2)水稻病害检测系统能够完成四种病害的检测,识别容错率在5%以下,单一图片的识别概率在95%以上,完成一次病害识别时间为2168ms。

系统虽然能够满足需求完成基本功能,但是还有以下几个方面需要改进: (1)S5P6818的计算方式为串行处理,对于卷积神经网络前向传播的计算速度没有并行的FPGA或DSP快,在执行前向传播的计算时CPU的占用率较大。在后期的优化过程中通过选取内部带有FPGA结构的计算能力更强的深度学习芯片或GPU进行代替。

(2)卷积神经网络的层数越多,对病斑图像特征的提取能力就越强,模型文件的大小也就越大。在以后的研究中,在不改变模型大小与识别精度的前提下,适当的增加网络的层数,提高对病斑的特征提取能力与网络泛化能力。

- 60 -

参考文献

参考文献

[1] 方梦瑞, 吕军, 姚波. 水稻病害自动诊断方法的研究进展[J]. 科技视界, 2018,

29:134.

[2] 许秀, 吴逸群. 水稻主要病害及其防治技术[J]. 四川农业科技, 2017, 3:27-29. [3] 陈向东, 李军辉. 人工智能技术在农业机械上的应用[J]. 农业机械, 2018,

12:66-68.

[4] 周驰燕, 朱宇涵, 姚照胜等. 基于信息技术的水稻病害识别与检测研究进展

[J]. 现代农业科技, 2019, 7:111-113.

[5] 刘涛, 仲晓春, 孙成明等. 基于计算机视觉的水稻叶部病害识别研究[J]. 中国

农业科学, 2014, 47(04):664-674.

[6] 黄双萍, 齐龙, 马旭等. 基于高光谱成像的水稻穗瘟病害程度分级方法[J]. 农

业工程学报, 2015, 31(01):212-219.

[7] Liu Z., Gao J., Yang G., et al. Localization and classification of paddy field pests

using a saliency map and deep convolutional neural network[J]. Scientific Reports, 2016, 6:20410.

[8] 袁媛, 陈雷, 吴娜等. 水稻纹枯病图像识别处理方法研究[J]. 农机化研究,

2016, 38(06):84-87.

[9] 刘庭洋, 李烨. 基于BP神经网络的稻瘟病预测预报研究[J]. 西南农业学报,

2017, 30(07):1546-1553.

[10] 刘婷婷, 王婷, 胡林. 基于卷积神经网络的水稻纹枯病图像识别[J]. 中国水稻

科学, 2019, 33(01):90-94.

[11] Huang S., Sun C., Qi L., et al. Rice panicle blast identification method based on deep

convolution neural network[J]. Transactions of the Chinese Society of Agricultural Engineering, 2017, 33(20):169-176.

[12] Xiao M., Ma Y., Feng Z., et al. Rice blast recognition based on principal component

analysis and neural network[J]. Computers and Electronics in Agriculture, 2018, 154:482-490.

- 61 -

黑龙江大学硕士学位论文

[13] 路阳, 郭丹, 沈贺. 基于深度学习的水稻叶部病害识别方法研究[J]. 信息记录

材料, 2018, 19(12):177-179.

[14] Sanyal P., Patel S. C.. Pattern recognition method to detect two diseases in rice

plants[J]. The Imaging Science Journal, 2008, 56(6):319-325.

[15] Phadikar S., Sil J. Rice disease identification using pattern recognition techniques

[C]. Computer and Information Technology, 2008, 420-423.

[16] Alvin R., Malicdem, Proceso L.. Fernandez. Rice blast disease forecasting for

northern philippines[J]. Wseas Transactions on Information Science and Applications, 2015, 12:120-129.

[17] Mohanty S. P., Hughes D. P., Salathe Marcel. Using deep learning for image-based

plant disease detection[J]. Frontiers in Plant Science, 2016, 7:1419.

[18] Amara J., Bouaziz B., Algergawy A.. A deep learning-based approach for banana

leaf diseases classification[C]. Datenbanksysteme Fur Business. Technologie Und Web, 2017, 79-88.

[19] Cruz A. C., Andrea L., Luigi D. B., et al. X-FIDO: An effective application for

detecting olive quick decline syndrome with deep learning and data fusion[J]. Frontiers in Plant Science, 2017, 8:1741.

[20] Yangseon K., Jae-Hwan R., Ha K.. Early forecasting of rice blast disease using long

short-term memory recurrent neural networks[J]. Sustainability, 2017, 10(2):34. [21] Jayme Garcia, Arnal Barbedo. Impact of dataset size and variety on the effectiveness

of deep learning and transfer learning for plant disease classification[J]. Computers and Electronics in Agriculture, 2018, 153:46-53.

[22] 邹蕾, 张先锋. 人工智能及其发展应用[J]. 信息网络安全, 2012, 2:11-13. [23] Cortes C., Vapnik V.. Support-vector networks[J]. Machine learning, 1995, 20(3):

273-297.

[24] 黄巧义, 张木, 李苹等. 支持向量机和最大类间方差法结合的水稻冠层图像分

割方法[J]. 中国农业科技导报, 2019, 21(04):52-60.

[25] 魏丽冉, 岳峻, 李振波等. 基于核函数支持向量机的植物叶部病害多分类检测

方法[J]. 农业机械学报, 2017, 48(S1):166-171.

- 62 -

参考文献

[26] 马娜, 李艳文, 徐苗. 基于改进SVM算法的植物叶片分类研究[J]. 山西农业

大学学报(自然科学版), 2018, 38(11):33-38.

[27] 李昌俊, 黄河, 李伟. 基于支持向量机的农业遥感图像耕地提取技术研究[J].

仪表技术, 2018, 11:5.

[28] Pan X., Yang H., Li L., et al. FPGA Implementation of SVM decision function based

on hardware-friendly kernel[C]. Fifth International Conference on Computational and Information Sciences, 2013, 133-136.

[29] Liu C., Wechsler H.. Gabor feature based classification using the enhanced fisher

linear discriminant model for face recognition[J]. Image processing, IEEE Transactions on, 2002, 11(4):467-476.

[30] 孙玉婷, 王映龙, 杨红云等. 基于支持向量机回归预测水稻叶片SPAD值[J].

科技通报, 2018, 34(09):55-59.

[31] Yin ming Lei, Xi mei Zhao, Wei-dong Guo. Cirrhosis recognition of liver ultrasound

images based on SVM and uniform LBP feature[C]. 2015 IEEE Advanced Information Technology Electronic and Automation Control Conference(IAEAC 2015), 2015, 382-387.

[32] Wen Miaoli. Face and Speech recognition fusion method based on penalty

coefficient and SVM[C]. 2015 IEEE Advanced Information Technology Electronic and Automation Control Conference(IAEAC 2015), 2015, 6-10.

[33] Min chai Hao, Zhen min Qiao. The discrimination of fluorescence spectra of mineral

oil based on the FASTICA and SVM[C]. Fifth International Conference on Instrumentation and Measurement, 2015, 1721-1724.

[34] 谭念, 孙一丹, 王学顺等. 基于主成分分析和支持向量机的木材近红外光谱树

种识别研究[J]. 光谱学与光谱分析, 2017, 37(11):3370-3374.

[35] LeCun Y., Boser B., Denker J. S., et al. Backpropagation applied to handwritten zip

code recognition[J]. Neural computation, 1989, 1(4):541-551.

[36] 王九清, 邢素霞, 王孝义. 基于卷积神经网络与高光谱的鸡肉品质分类检测

[J]. 肉类研究, 2018, 32(12):36-41.

[37] 许伟栋,赵忠盖. 基于卷积神经网络和支持向量机算法的马铃薯表面缺陷检测

- 63 -

黑龙江大学硕士学位论文

[J]. 江苏农业学报, 2018, 34(06):1378-1385.

[38] 曹婷翠, 何小海, 董德良. 基于CNN深度模型的小麦不完善粒识别[J]. 现代

计算机, 2017, 36:9-14.

[39] 周飞燕, 金林鹏, 董军. 卷积神经网络研究综述[J]. 计算机学报, 2017,

40(06):1229-1251.

[40] 刘新根, 陈莹莹, 朱爱玺. 基于深度学习的隧道裂缝识别方法[J]. 广西大学学

报(自然科学版), 2018, 43(06):2243-2251.

[41] 马素刚, 赵琛, 孙韩林. 一种基于卷积神经网络的哈欠检测算法[J]. 计算机科

学, 2018, 45(S1):227-230.

[42] 穆文秀, 洪蕾, 王瀚. 基于机器学习的智能昆虫分目识别算法应用[J]. 数字技

术与应用, 2018, 36(11):118-119.

[43] 张旭, 王斌, 张旭. CNN在农田杂草图像识别的可行性探讨[J]. 电脑知识与技

术, 2018, 14(22):187-189.

[44] 张小锋, 刘红铮. 基于卷积神经网络的花朵图片分类算法[J]. 计算机与现代

化, 2018, 9:52-55.

[45] 郑仕伟, 韩俊刚, 王怡斐. 基于卷积神经网络的掌纹识别方法[J]. 科学技术与

工程, 2017, 17(35):272-276.

[46] 胡泱. 一种改进型BP算法[J]. 信息系统工程, 2015, 6:111-112.

[47] Wang Hongkang, Li Li, Wu Yong, et al. Recurrent neural network model for

prediction of microclimate in solar greenhouse[J]. IFAC Papers On Line, 2018, 51(17):267-269.

[48] Jiang zhang Gan, Guo qiu Wen, Hao Yu, et al. Supervised feature selection by self-paced learning regression[J]. Pattern Recognition Letters, 2018.

[49] Leena Daniel, Krishna Teerath Chaturvedi, Mohan Lal Kolhe. Dynamic economic

load dispatch using levenberg marquardt algorithm[J]. Energy Procedia, 2018, 144:314-315.

[50] 刘淳, 周菁菁. 一种BP神经网络的改进算法及其应用[J]. 信息与电脑, 2018,

11:60-62.

- 64 -

参考文献

[51] 史畅, 王永茂. 水稻稻瘟病防治技术[J]. 河南农业, 2016, 14:21.

[52] 俞寅达, 孙婳珺, 夏志辉. 水稻纹枯病生物防控研究进展[J]. 分子植物育种,

2019, 17(02):600-605.

[53] 周素明. 水稻稻粒黑粉病的发病特点与防治措施[J]. 湖北植保, 2018, 4:35-36. [54] 任金平. 水稻胡麻斑病症状及防治[J]. 农药市场信息, 2014, 20:43.

[55] 乌海荣. 湿度传感器特性分类及发展趋势的分析研究[J]. 科技信息, 2012,

23:143.

[56] 田海军,薛家兴,薛彦杰. 电容式湿度传感器的设计[J]. 现代电子技术, 2017,

40(14):128-131.

[57] 李进. 电容式湿度传感器专利技术综述[J]. 科学技术创新, 2018, 25:51-52. [58] 贺晓金,张晋敏. NTC热敏电阻的研究现状及发展方向[J]. 电子技术与软件工

程, 2016, 10:130.

[59] 胡润峰. NTC热敏电阻温度传感器[J]. 传感器世界, 2001, 7:26-29.

[60] 蔡磊, 王赞超, 荆游. NTC热敏电阻掺杂后对电性能的影响[J]. 科技创新导报,

2015, 12(18):247-248.

[61] 范寒柏, 谢汉华. 基于NTC热敏电阻的三种高精度测温系统研究[J]. 传感技

术学报, 2010, 23(11):1576-1579.

- 65 -

黑龙江大学硕士学位论文

致 谢

岁月匆匆,时光静好,三年的硕士生涯行将结束,在此我要衷心地感激我的指导教师杜西亮教授。杜老师是一个面对科研、面对工作一丝不苟的学者,以其广博的专业知识为教学事业做着孜孜不倦的贡献。杜老师对学生更是关怀备至,小到校园生活大到职业发展,无不耳提面命,谆谆教诲!因为老师不辞辛劳的付出,不计时间的教诲,我才能顺利的完成学业,做出良好的职业规划。

其次,我还要感谢周围同学以及实验室学长们对我的帮助。他们的存在使得原本枯燥的求学过程变得丰富,变得充满了乐趣,平时的交流探讨促进了彼此的进步,使实验室的学习氛围变得浓郁起来。

- 66 -

独创性声明

独创性声明

本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得黑龙江大学或其他教育机构的学位或证书而使用过的材料。

学位论文作者签名: 签字日期: 年 月 日

学位论文版权使用授权书

本人完全了解黑龙江大学有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权黑龙江大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存、汇编本学位论文。

学位论文作者签名: 导师签名:

签字日期: 年 月 日 签字日期: 年 月 日

学位论文作者毕业后去向:

工作单位: 电话: 通讯地址: 邮编:

- 67 -

因篇幅问题不能全部显示,请点此查看更多更全内容