二、项目方案:
1.国家自然科学基金项目:低空航拍图像融合田间环境及气象信息立体构建甘蔗长势、品质及产量预测模型(31760342),2018.01-2021.12主持;
2. 国家自然科学基金项目:光谱学方法反演甘蔗叶片氮含量及氮钾磷间的交互效应机理的研究(31401290),2015.01-2017.12,主持;
3. 广西创新驱动发展专项科技重大专项:“互联网+”智慧香蕉种植管理系统的研发与应用子课题(桂科AA18118037)子课题主持人
三、学校提供条件:
指导老师为本项目提供实验研发场地与器材,并指以专业技术应用指导。
四、预期成果:
植物叶片叶绿素含量能够反应植物的光合速率与生存能力,显示植物的健康和营养状况,当植物缺乏叶绿素时会影响光合作用速率且叶片会出现不同程度的损伤。叶绿素检测在科研上有重要应用,叶绿素能够在科研上提供数据支撑,常测定叶绿素含量以表征作物生长状况,作为数据研究以提高植物生存能力;生产上叶绿素含量对土壤中的氮素含量相当敏感,测定叶绿素含量对指导用肥、避免盲目投入具有重要作用,也往往依据叶绿素含量的变化作为看苗诊断和肥水管理的重要指标,为指导农民生产提供依据。因此对植物叶绿素含量进行测定和研究显得尤其重要。当前对植物叶绿素含量的检测主要有分光光度计法、叶绿素测量仪检测法。分光光度计法对植物叶绿素含量的检测需要在实验室进行,实验过程繁琐,操作不当容易造成误差,且会对叶片造成损伤。叶绿素检测仪测量每次只能对叶片一小块部分进行测定,而且价格昂贵,主要专利都掌握在国外公司手上。所以开发一种能够运用手机APP进行无损、便利且精确的测量出植物叶绿素含量的技术具有巨大的研究潜力。这种技术能够广大适用于群众,以解决由于理论知识、设备条件不足而进行实验困难以及测量所需经济方面的问题。
五、经费预算:
1.项目整体设计
本项目的整体设计可分为CS_BP人工神经网络的训练以及支持向量机回归模型(SVM)的训练,并设计一款手机APP,通过手机拍照便可以检测出植物叶片的叶绿素含量。当模型与APP都完成后,将两个训练好的模型和APP都部署到服务器上,系统整体的运行效果为:首先,手机拍照,在APP中调用OpenCV进行图像获取、阈值分割、图像平滑等图像处理得到有用区域,再利用训练好的CS_BP人工神经网络模型对处理后的图像进行颜色校正。然后,再次调用OpenCV对校正好的图像进行处理与颜色特征参数R、G、B值的提取。最后,利用训练好的支持向量机回归模型(SVM)实现R、G、B与叶绿素a、叶绿素b、叶绿素(a+b)、SPAD值的拟合相关性分析,得出叶绿素含量值与SPAD值并分级,并将信息反馈回手机APP中。反馈的信息不仅在科研上具有很大的应用性,在农业生产上也有很大的指导意义,如叶绿素a与叶绿素b的含量比值可以反映植物对光能利用的程度;对于大部分植物而言,SPAD值与氮含量一般呈极显著的正相关关系,通过反馈的SPAD值及分级信息可以指导施肥,以防止过量施肥导致的浪费与破坏种植环境现象的发生。
图1 系统整体框架
2. 实验数据获取
对植物叶绿素含量的精确测量,是保证我们本项目用支持向量机回归模型(SVM)准确预测叶绿素含量的关键。指导老师为我们提供整套的精确测量叶绿素含量检测仪器,并且我们项目每位组员均已完成使用精确仪器检测叶绿素含量的实验,具备获取数据的条件。我们拥有丰富的数据源,校内的植物实验基地和广西农科新城实验基地拥有大量的植物,且都可以作为我们采集叶片的场地。采集后的叶片在我们设计的“球形人工暗箱”通过手机拍照获取该叶片图像信息,并且通过精确仪器测量其叶绿素含量,将仪器测量的叶绿素含量值用于支持向量机回归模型(SVM)的训练以达到通过手机APP拍照便能准确预测该叶片叶绿素含量的目的。
3.基于CS_BP神经网络进行图像颜色校正
随着数字图像设备的广泛应用,颜色重现的一致性已逐渐成为当前研究的一个热点。颜色校正的目标是研究在各种光照条件及不同的拍照设备下获取到的图像如何描述物体本征颜色。影响图像失真的因素主要与光源、图像采集设备和图像显示设备有关,且难以避免。颜色校正的方法有许多,但都具有较大的局限性。如“参考白”映射法过于简单,精确度不高。基于光谱反射率还原的方法由于实际场景光照往往不稳定,获得光谱功率分布困难而受到限制。而通用的多项式回归法则由于方程的复杂度较高,得出结果所需时间较长,随着次数的增加而降低了推广性。而 BP 神经网络在校正中存在依赖初始值与易收敛到局部最小的问题,每次训练后得到的参数变化较大,导致校正后的结果不一致。为了降低外界光照条件的影响,本项目拟设计一种“球形人工暗箱”,为了摆脱利用BP人工神经网络进行颜色校正的需要依赖初值和易收敛到局部最小的缺点,在BP的基础上引入了布谷鸟搜索算法,提出一种基于CS_BP神经网络的颜色校正算法。
同一种颜色在不同光源条件下产生差异的原因主要是由光源的色温及光源不同造成的。本项目拟设计一种“球形人工暗箱”,内部采用均匀分布环形LED白光灯泡的设计,其色温是接近日光色温的人工标准光源,且由电路控制恒流恒压。暗箱内表面为磨砂,使光在其中以漫反射的形式存在。该设计可以有效的降低光源条件不同造成的干扰。
图2 “球形人工暗箱”设计图
BP算法的基本思想是学习过程中的信号的正向传播和误差的反向传播,正向传播的过程从输入样本开始,依次经过输入层、各隐藏层到输出层,如果得到的输出和期望输出不符,则开始误差反向传播过程,反向误差将输出误差从输出层经过各隐藏层,最后传播到输入层,将误差分摊给各层所有单元,修正各单元的权值。
图3 BP神经网络设计示意图
实验中所需要用到的三个最常用的激发函数:阶跃函数hardlim(x),线性转移函数purelin(x),对数S型函数logsig(x)。
图4 激发函数图
本项目运用神经网络对颜色进行校正分为训练阶段和测试阶段:
①训练阶段
本项目拟在Google Colab创建TensorFlow采用x-rite24色卡色块值进行BP人工神经网络训练,色卡的标准值是已知的,将其作为监督值。在“球形人工暗箱”装置的辅助下,为了消除不同型号的手机拍照的影响,我们要用不同型号的手机拍色卡来综合训练网络,拍出的图像由于不可避免的颜色失真而需要校正,从待校正的色卡图片上提取出RGB值作为输入,经过隐含层,最后输出校正后的RGB值,作为BP校正的结果,和色卡的标准值进行比较,计算误差,然后反向传播,修正各层的权值,再循环前述操作,直到达到终止标准,训练阶段结束。训练的BP网络即各层连接线上的权值和各神经元激发函数。
图5 x-rite24色卡
②测试阶段
利用训练阶段训练好的BP网络,我们可选择任一种先前训练所用到的型号的手机拍照叶片图像,对待校正的叶绿素图片每个像素值进行代入网络计算,RGB指的是叶片图像的红光值(R)、绿光值(G)、蓝光值(B)。每个像素的RGB值是一个输入,输出为该像素校正之后图像的RGB值。叶片图像的所有像素值都经过BP网络计算完后,校正之后的叶片图像即BP网络输出值组成的新图像。
由于BP神经网络每次训练后的权值和阈值都在发生改变,导致校正后的叶片图像不稳定,会出现模糊,且BP神经网络一直存在易收敛到局部最优的问题,鲁棒性不佳,适应性不高。本项目在其基础上用CS(布谷鸟搜索算法)对传统的BP神经网络进行了优化。CS算法主要是通过模拟布谷鸟的巢寄生性和levy飞行机制来有效求解最优化问题,CS算法具有良好的全局搜索能力,不易陷入局部最优。为了模拟布谷鸟的巢寄生性我们需要假定三个理想状态:①每只布谷鸟一次只下一个蛋,并随即选择一个鸟巢存放;②在寻窝的过程中,放有优质蛋的鸟巢将会保存到下一代;③可用鸟巢的数量固定不变,一旦布谷鸟被寄主鸟发现,寄主鸟就丢弃鸟巢,将重新寻找鸟巢,避免影响寻找优化问题的解。
在这三个理想状态的基础上,布谷鸟寻优搜索的位置和路径的更新公式如下 (1)
图6 CS_BP人工神经网络算法示意图
为了验证所训练的CS_BP人工神经网络的正确性和有效性,本项目拟采用颜色恒常性研究中普遍使用的色差计算方法,色差是在Lab颜色空间中对颜色差异的度量,用ΔE表示,公式如下:
4.图像分割与平滑
当前许多研究都是通过图像直方图获取叶片图像 RGB值。这种方法虽然简单快捷,但是在采集和传输叶片图像过程中出现的各类噪声会导致图像质量下降,因此拍摄叶片图像后对其进行数字图像处理是十分必要的。本项目为了获取叶片检测图像,首先需要对图像进行阈值分割提取叶片轮廓。图像阈值分割主要是通过设定一个最佳阈值,然后根据图像每个像素的值是高于阈值还是低于阈值将青冈栎叶片图像分成背景和检测目标两部分。阈值处理得到的二值图像常常由于拍摄光线不足,图像中会出现明显的极大值或极小值区域,而这些部分并不是叶片区域,从而影响后期图像RGB值的检测。而开运算处理后的图像,其图像边缘并不平滑,图像中的各类噪点会影响图像质量和图像结构。图像中值滤波能消除这些随机噪声,对叶片二值图像进行中值滤波处理会使图像变的模糊,但是能够去除噪声且图像主要结构能够保存。 本项目通过最大类间方差法(OTSU)获取最佳阈值。
图7 图像处理与平滑算法示意图
5.颜色特征信息提取
当获得完整较好的叶片二值图像后可以通过与原图像对比,获得叶片图像的检测图像。思路如下:①RGB彩色图像实质就是一个多通道数组,将多通道数组拆分为三个独立通道数组,将叶片彩色图像分割为 RGB三个分量的灰度图像,并将RGB各个分量与叶片二值图像进行与运算。②将RGB三个分量图像进行合并处理,获得叶片检测图像,并进行相应的图像形态学处理和滤波。③忽略拍摄背景区域即RGB值为0的黑色区域,遍历图像各像素点,取叶片区域RGB均值作为整幅图像的RGB值。
6.采用向量机回归模型(SVM)对叶绿素含量进行估测
本项目为了数据集的准确性和可靠性,皆由团队在实验室进行叶绿素测量实验获取。对每一种植物,试验样本数据本项目拟设置500个,随机分为400个训练集,100个验证集,采用决定系数(R2)、均方误差(RMSE)、相对误差(RE)指标对预测模型进行精度校验。通过前述步骤,我们可得到该种植物叶片500个数据样本各自的RGB值。每个样本的R、G、B根据算法组合可得出28种颜色参数。如颜色原值参数(R、G、B),颜色差值参数(R-B、R-G和G-B),颜色比值参数(B/R、B/G等),标准化参数(G/(R+G+B)、B/(R+G+B)等),归一化参数((G-B)/(G+B)、(R-G)/(R+G)等)。而对于叶绿素含量的实验测定,本项目拟采用分光光度计法测得各样本叶绿素含量CHl.a,CHl.b,CHl.(a+b)的值,拟采用SPAD-502叶绿素计测量各样本的SPAD值。
图8 实验仪器图
将R、G、B组合得到的28种颜色参数分别与CHl.a,CHl.b,CHl.(a+b)和SPAD值进行相关分析,以相关系数(r)来判断哪些颜色参数的相关性较高。选取9个相关系数较高的颜色参数作为叶片颜色的敏感参数。
与传统的单变量回归模型不同,本项目拟采用支持向量机回归模型(SVM)。单变量回归模型对颜色参数的单独判断具有较大的偶然性和不确定性,可靠性需要完善,且其预测精度要低于支持向量机回归模型的预测精度。支持向量机回归模型(SVM)是 20 世纪 90 年代由 Vapnik 提出的,是目前发展最快的机器学习方法。它基于结构风险小的优势,较好地解决了非线性、过学习、维数灾害、局部极小点、小样本等实际问题。本项目拟在Google Colab创建TensorFlow训练支持向量机回归模型。
对400个训练集样本进行训练,以与叶绿素含量相关系数较高的9个颜色参数为自变量综合预测叶片叶绿素含量并加以分级,并以R2、RMSE、RE来评判估测效果,模型评估指标均需通过P=0.01的极显著检验水平。为检验估测模型的适应性和可靠性,利用100组同期验证集数据进行验证,对实测值和预测值之间的拟合程度进行精度校验。我们的目标是训练模型和验证模型都有理想的估测效果,训练模型的评估指标要与验证模型的误差较小。
图9 支持向量机回归模型建立流程图
7.手机软件设计
通过 Java 语言编写具有良好的人机交互的APP,可以实现与服务器的信息连接与传递,实现基于Android 手机的图像颜色校正、图像获取、图像处理和叶绿素含量检测等功能。本项目拟在Google Colab创建并训练TensorFlow模型在APP中链接OpenCV库实现图像获取和图像处理功能;使用TensorFlow训练CS_BP人工神经网络和支持向量机回归模型(SVM),并通过TensorFlow添加已经训练好的AI模型并部署到服务器中。由于本项目采用两种不同的AI模型,先利用CS_BP人工神经网络模型进行颜色校正,再利用支持向量机回归模型对叶绿素含量进行预测,所以在TensorFlow中,我们把所有操作对象都包装到相应的Session中,想要使用不同的模型就需要将这些模型加载到不同的Session中并在使用的时候申明是哪个Session,从而避免由于Session和想使用的模型不匹配导致的错误。