李 莉 蓝 天 赵奇慧 孟繁佳
(1.中国农业大学农业信息获取技术农业农村部重点实验室, 北京 100083;2.中国农业大学现代精细农业系统集成研究教育部重点实验室, 北京 100083)
基质栽培番茄的氮元素含量直接影响番茄生长状况和果实品质。番茄苗期、花期、果期3个时期的正常生长对氮元素含量有不同的需求[1-4]。其中花期最容易产生氮元素缺乏现象,原因是这一阶段既需要完成第1花序开花坐果,又需要保证植株茎干和叶片生长以及第2、3花序开花,因此需要在花期进行实时监测以保障番茄的正常生长[5-10]。
通过叶绿素含量、叶片光谱数据等参数结合叶片颜色、形状特征能很好地判别氮元素缺乏程度[11-18]。胡昊等[19]利用手持式GreenSeeker型作物传感器和SPAD-502型叶绿素仪分析不同氮处理条件下冬小麦叶片SPAD和冠层NDVI,结果表明三者相关系数均很高。郑一力等[20]采用波段为350~2 500 nm的地物光谱仪获取金镶玉竹叶片光谱数据,对比4种估测模型校验,结果表明在光谱反射率的对数一阶微分变化下,采用拓扑结构为6-10-1的基于主成分分析的BP神经网络估测模型,校验环节决定系数为0.838,均方根误差为0.045 2。王远等[21]利用数码相机依据水稻数字图像绿色通道和红色通道差值设定阈值对图像进行分割,分割后图像中提取的红光标准化NRI与SPAD值、叶片含氮量相关系数达到-0.87和-0.65。基于光谱学判断植物组织氮含量设备价格昂贵,测量过程易受环境光线因素制约。
CHEN等[22]基于静态扫描技术获取稻米叶片和鞘的图像颜色和形状特征,通过支持向量机(SVM)鉴定水稻氮含量4个不同生长阶段准确率分别为94%、98%、96%和100%,使用不同年份数据进行验证,识别准确率分别为88%、98%、90%和100%。提取的形状特征虽然增加了识别准确率,但是采集过程过于繁琐且仅能在实验室环境采集。
上述研究只关注信息获取和处理本身,并未考虑叶片本身生理特征对图像信息的影响。经研究发现,春季育苗、夏季种植的番茄幼苗半数以上会在表面覆盖有粘质腺毛。若采取原有的颜色特征建模判别会降低模型准确率。本文以温室番茄叶片为研究对象,基于形状特征和颜色特征采用随机森林机器学习算法,开展番茄叶片氮含量差异分析,建立氮含量缺乏分级预测模型,以指导科学施肥。
2020年3—7月在中国农业大学精细农业研究中心的日光温室进行了番茄氮元素缺乏程度判别试验。所用氮肥为四水合硝酸钙和硝酸钾。采集不同氮离子浓度施肥策略下番茄叶片表面RGB图像和SPAD-502型叶绿素仪测定的番茄叶片氮含量。
灌溉系统采用中国农业大学日光温室封闭式栽培水肥智能调控系统。利用JZH-0xx型集成传感器采集温室内光照强度、空气相对湿度、空气温度。采集时间为每天07:00—21:00,采集间隔为1 h。连续采集番茄花期开始前至结束后共40 d(包含花期30 d)环境参数数据。2020年春季,温室内部平均温度保持在(23.7±0.3)℃(白天)/(19.7±0.1)℃(夜晚),相对湿度为52%。2020年夏季,温室保持平均温度为(28.3±0.2)℃(白天)/(23.5±0.4)℃(夜晚),相对湿度为69%。白天光照强度在1 125~9 543 lx范围内变化。
番茄幼苗高度为15~20 cm(包含根系长度),两个品种幼苗区别是植株表面是否覆盖粘质腺毛(白色绒毛)。盆栽容量为7 L,基质配比按体积分数分别为20%珍珠岩、20%蛭石、60%泥炭。
当植株生长至第一花序开花即番茄花期开始时,将所有植株分成3个试验组,使用质量浓度70、140、210 mg/L营养溶液分别对3组植株进行施肥灌溉。质量浓度210 mg/L氮营养溶液配方见表1。每周在固定时间用新配置肥料溶液对番茄植株施肥,其余时间每隔1 d用去离子水灌溉保证植株水分供需。依据以上施肥灌溉策略,可保证不同试验组番茄植株中组织氮水平具备明显差异。
表1 营养溶液各物质种类和含量Tab.1 Types and dosages of various substances in nutrient solution
现场图像数据采集使用树莓派3b+微处理器,树莓派官方8×106像素摄像模块,树莓派锂电池扩展模块以及塑料树莓派外壳共同组成RGB图像采集单元。通过直径41 mm的圆形云台和三脚架调节图像采集单元的高度和角度。树莓派上安装Apache Web服务器用来为RPi-Cam-Web-Interface提供服务,使其通过唯一的地址连接树莓派。智能手机使用RPi-Cam-Web-Interface控制树莓派捕获番茄植株RGB彩色图像。智能手机与图像采集单元和本地计算机使用WiFi或4G网络进行交互连接。图像获取系统结构如图1所示。
为了尽量消除环境光线对RGB彩色图像的影响,在番茄开花期30 d内固定每日11:00采集不同氮浓度处理下番茄主干中部枝杈上生长的叶片图像。采集图像中至少包括该枝杈最前端叶片在内6片叶子。调节三脚架高度保证RGB图像采集摄像头清晰聚焦,拍摄位置保持在植物斜侧方距目标叶片约0.3 m处,图像分辨率为3 648像素×2 736像素。为了准确提取叶片形状特征,拍摄时需要使用厚度为3 mm长方形透明亚克力板置于叶片背面使叶片尽可能平整展开。采集的图像以特定文件名传输至云平台存储。
整个番茄花期,每日16:00使用SPAD-502型叶绿素仪分别对番茄植株的目标叶片进行叶绿素含量测定。每棵植株至少选取主干中部的两个枝杈上各5个叶片,总计10个叶片进行采集。重复测量每个叶片3次取平均值以降低因仪器操作带来的误差,最大程度保证叶绿素含量准确测量。
分割植物前需要消除采集图像时因阴天、多云、少云等天气原因造成环境光线过暗对图像亮度的影响,使用直方图均衡化或对数变化方法只提高图像亮度,不改变图像色度。从背景中分割植物分为2个步骤:①使用OpenCV中的TenenGrad评价函数实现图像分割。②使用“2g-r-b”算法[23]得到背景为黑色仅含有目标叶片的RGB彩色图像。图像预处理流程如图2所示。
覆盖粘质腺毛的番茄叶片单个叶面积、周长均小于未覆盖粘质腺毛的番茄叶片,并且前者叶片在整个花期因组织氮素缺乏产生颜色变化程度明显低于后者。若将二者提取出的输入特征共同放入判别模型会极大降低模型准确率,因此需要在输入特征中添加形状特征(叶面积和叶片周长)进行种类区分。此处选取单个枝叶(尖端叶片)提取形状特征。形状特征提取分为4个步骤:①高斯模糊消除图像中的噪点。②二值化得到叶片对象。③形态学闭操作(先腐蚀后膨胀)填充叶片中间的小洞。④RETR_EXTERNAL函数确定叶片轮廓后,用contourArea函数和arcLength函数分别计算叶片像素面积和像素周长。
颜色特征通过RGB彩色图像获取,分别使用minMaxLoc函数、mean函数、meanStdDev函数获得R、G、B三通道各自最大值、平均值、标准差共9个变量颜色特征作为模型输入特征参数。获取叶片纹理特征同样仅使用尖端叶片,过程见图3。
番茄花期图像采集时间为2020年3月14日—4月15日(共32 d);夏季番茄花期图像采集时间为2020年5月15日—6月17日(共32 d)。整个番茄花期共获得576幅不同氮元素浓度的RGB彩色图像。其中覆盖粘质腺毛和未覆盖粘质腺毛番茄植株图像分别为192幅和384幅,包含3个不同营养液离子梯度。整个图像采集周期内不同营养液离子梯度下两种番茄叶片图像如图4所示。
由图4可知,营养溶液中所含氮元素减少,叶片黄化过程加快,反之叶片逐渐变成深绿。同时能够看出植株表面是否覆盖粘质腺毛对其产生的影响。
随机森林属于集成学习的一个重要分支,特点是将各个没有依赖关系的弱学习器(CART决策树)并行拟合以提升整体模型分级判别准确率,如图5所示。
对于一个样本,它在含m个样本的训练集随机采样中,每次被采集到的概率为1/m。不被采集到的概率是1-1/m。m次采样都没有被采集到的概率是(1-1/m)m。当m趋近于无穷大时,(1-1/m)m趋近于1/e,约等于0.368。Bagging每轮随机采样中,数据集中约有36.8%的数据没有被采样集采集到。对于这部分约36.8%的没有被采样到的数据,称之为袋外数据(Out of bag, OOB)。这些数据没有参与训练集模型的拟合,因此可以用来检测模型的泛化能力。
传统随机森林模型每棵决策树投票权重相等,低分级准确率的单棵决策树会影响整个森林分级准确率。解决这一问题的方法是提前确定每棵树的权重,投票时每棵树均乘以对应权重。获得对应权重需要将训练样本分为两部分,即训练集和测试集。训练完成后对每棵树进行测试,分类正确率计算式为
式中Xright,i——第i棵树分类正确样本数
Xi——测试部分样本数
分类正确率即为对应权重。基于传统穷举搜索的网格寻优无法匹配机器学习种类愈发繁多的超参数,而基于随机搜索的贝叶斯优化恰好可解决这一问题。本文使用其优化模型参数,使判别准确率达到最优[24-27]。使用2020年春季试验数据集中的384幅未覆盖粘质腺毛番茄图像构成第1类数据集,并依据叶面颜色特征进行氮元素缺乏分级建模。再将2020年夏季试验数据集中192幅覆盖粘质腺毛番茄图像和192幅未覆盖粘质腺毛番茄图像组成第2类数据集,使用同样方式建模。分别使用真正率和假正率作为纵坐标和横坐标绘制ROC曲线,计算ROC曲线下面积(Area under the curve,AUC)作为模型评价标准。
ROC曲线越接近纵坐标轴点(0,1)且AUC越接近1,则模型分级效果越好。SVM是机器学习经典分级算法,将其作为对照模型。使用准确率对两种数据模型进行多次测试,结果如图6所示。
由图6可以得出,图6a整体ROC曲线面积远高于图6b且ROC曲线更加靠近点(0,1)。图6a模型测试准确率均值0.82,图6b测试准确率均值仅0.65。
氮含量通过叶片中叶绿素含量可间接反映,见图7。叶绿素含量作为监督学习模型的响应变量确定判别准确率。其中,SPAD值大于33时定义为高氮输出变量,SPAD值在28~33内定义为中氮输出变量,SPAD值小于28定义为低氮输出变量。
同第2类数据集相同的384幅图像构成第3类数据集,依据训练集和测试集7∶3比例划分。训练集包含269幅图像,测试集115幅图像,将训练集269幅图像按照7∶3再次划分得到加权随机森林模型相应权重。将反映该组特征的11个参数(颜色特征9个,形状特征2个)作为模型的自变量,依据叶绿素仪判别出的植物组织氮缺乏程度作为响应变量,建立番茄花期组织氮含量缺乏程度加权随机森林判别模型,并将加权模型判别结果同随机森林模型及SVM模型判别结果进行对比。使用sklearn库中RandomForestClassifier函数,乘以相应权重实现加权随机森林分类算法。为了确保模型分类准确率,需要进行贝叶斯参数(n_estimators、max_depth、max_features、min_samples_leaf)调优。加权随机森林模型输入特征参数调整后ROC曲线如图8所示。SVM模型、随机森林模型、加权随机森林模型在3类数据集上的AUC如图9所示。
由图8、9可知,SVM模型、随机森林模型和加权随机森林模型在添加形状参数后模型整体ROC曲线和AUC都有提高;加权随机森林模型在3类数据集上表现优于SVM和随机森林模型。加权随机森林模型训练集判别准确率为0.84~0.88,测试集判别准确率为0.80~0.83。比第2类数据集单独使用颜色特征作为模型自变量提升判别准确率近0.2。
(1)建立了一种基于树莓派摄像模块、RPi-Cam-Web-Interface软件以及云平台的温室番茄叶片图像采集单元,图像采集单元可以通过智能手机控制树莓派摄像模块采集所需图像。试验结果表明,该图像采集单元能够适用温室环境,操作简便易学。相比基于光谱学图像采集单元受环境光线影响较小。
(2)番茄因为植株表面覆盖粘质腺毛会对不同氮离子浓度营养溶液产生不同的叶片形状和颜色特征变化。原因是覆盖粘质腺毛番茄对氮元素需求量较少,整个缺素试验期内叶片叶绿素含量相对未覆盖粘质腺毛叶片更高。通过增加叶片周长和叶面积两个形状参数有效解决覆盖粘质腺毛番茄叶片影响整体模型判别准确率的问题,加权随机森林判别模型测试集准确率可达0.80~0.83。