基于Kinect相机的穴盘苗生长过程无损监测方法
2021-03-20王纪章顾容榕
王纪章 顾容榕 孙 力 张 运
(江苏大学现代农业装备与技术教育部重点实验室, 镇江 212013)
0 引言
随着现代设施农业的发展,蔬菜集约化生产规模不断扩大,集中化育苗已成为必然趋势。穴盘育苗成本低、运输方便、效率高,对促进蔬菜产业的机械化、规模化和可持续发展具有重要意义[1]。穴盘苗的发芽率和形态参数可以为幼苗培育和生长环境参数调控提供参考依据。通过对穴盘苗生长特性的无损监测,实现幼苗生长过程监测和形状评估,对提高工厂化育苗的自动化和智能化水平具有重要意义[2-3]。
目前,研究人员将机器视觉、光谱等技术应用于高通量作物表型,实现了作物生理生态信息的自主监测、分析和应用[4-7]。如文献[8]的研究表明,对幼苗进行定量生长分析是监测幼苗生长的常用方法,定量生长分析形成一个反馈回路,可以控制植物灌溉、施肥,以及环境温度和湿度。文献[9]通过获取不同营养处理的幼苗彩色图像,利用参照物法计算幼苗叶片的投影面积。文献[10]采用传统的手动测量方法测量幼苗的质量和面积,具有侵入性和破坏性,既费时又容易出错。在穴盘苗移栽时,利用机器视觉技术可以识别穴盘孔内是否有幼苗、幼苗是否损坏,并且可对幼苗健康状况进行监测[11]。但是,由于缺乏对从发芽至移栽整个过程的监测和管理,导致穴盘苗的漏苗、徒长、病变等问题,给后续机械化移栽作业带来不便。此外,对幼苗的评价指标单一,仅根据株高[12-13]、茎粗[14]和叶面积[15-16]等单一指标无法综合判断幼苗的健康状况。同一植物幼苗各器官之间具有明显的相关性,不同器官的指标可以更好地反映幼苗的健壮性。因此,通过无损监测幼苗生长的多种形态参数,构建穴盘苗的壮苗评价指标,对于优化穴盘苗生长环境、提高穴盘苗品质具有重要意义。
微软的Kinect相机能同时捕获彩色(RGB)、红外(IR)和深度信息,Kinect V2 相机大幅提升了深度信息的扫描精度,已广泛应用于多种领域,目前研究人员已将其应用于植物表型监测的研究中[17-20]。在植物重建研究中,文献[21]重建了玉米、甜菜和向日葵的高度和叶面积,发现运动结构技术和Kinect相机的重建结果具有很强的一致性,并且该模型的计算值和地面真实信息具有良好的一致性和相关性。运动结构技术在重建末端细节和高度估计的准确性方面显示出更好的结果,而Kinect V2 相机具有获取时间短、重建速度快的优势。这些研究表明,Kinect V2 相机可用作捕获RGB-D信息的工具。文中以Kinect相机表示Kinect V2 相机。
本研究通过Kinect相机采集穴盘苗RGB-D信息,设计获取穴盘苗发芽率、株高、叶面积、壮苗指数的高效分析方法,并进行实验验证,以实现穴盘苗生长过程的无损监测。
1 材料与方法
1.1 穴盘苗育苗
实验在江苏大学农业装备工程学院人工气候室进行,发芽阶段设置温度为26~28℃,相对湿度为90%~95%;出芽后,设置白天温度为25℃,光照为255~315 μmol/(m2·s),夜间温度为18℃,湿度为80%~85%,以保证黄瓜穴盘苗的正常发芽与生长[22]。黄瓜种子品种为“中寿35号”,育苗基质中草炭、蛭石、珍珠岩质量比为6∶2∶2。播种时使用打孔器在穴格中心打孔,孔深1.5 cm,播种时将种子平放后播下[23]。
1.2 信息采集平台搭建
如图1所示,Kinect相机安装在三脚架上并连接到便携式计算机实现信息采集。调节Kinect相机距穴盘底部900 mm,并位于黄瓜植株正上方。相机镜头的水平调节采用Apple IOS12系统中的水平仪软件,将iPhone7手机放置在Kinect相机上方,并且将手机镜头放在Kinect相机外侧,打开水平仪软件,通过调节三脚架使水平仪显示为0°[24]。
通过在Microsoft Visual Studio 2013软件开发平台调用Kinect相机 V2 SDK和计算机视觉库OpenCV3.0.0,设计开发了黄瓜植株冠层RGB-D图像采集程序。由于Kinect相机的彩色图像尺寸为1 920像素×1 080像素,而深度图像尺寸为512像素×424像素,因此无法直接使用彩色和深度图像对穴盘苗进行处理以及彩色点云生成,需要进行彩色图和深度图配准。图像配准流程如下:
(1)获取彩色帧,并保存为彩色图像。
(2)获得深度帧,并保存为深度图像。
(3)使用基于双线性内插法原理,通过MapDepthFrameToColorSpace()函数和深度帧的信息计算深度图像和彩色图像的映射关系,获得尺寸为512像素×424像素的彩色图像。
彩色图像、深度图像和经过映射处理后的彩色图像如图2所示。
1.3 测量仪器
为了测定穴盘苗叶面积,采用EPSON DS-50000型扫描仪扫描摘下后铺平的幼苗叶片,并通过WinFOLIA图形分析系统计算幼苗的叶面积,精度为0.01 mm2;幼苗株高采用游标卡尺测量,精度为0.01 mm;茎粗采用游标卡尺通过“十字交叉法”测量,精度为0.01 mm。
2 穴盘苗无损监测方法
2.1 发芽率监测方法
发芽率是衡量穴盘苗品质的重要指标,观测幼苗发芽情况也是指引种子补播或补苗的重要技术手段。由于工厂化穴盘穴孔个数多,使用人工观察计数非常耗时且费力,并且很容易忽略刚刚发芽的小幼苗[25]。目前,大田幼苗发芽监测采用无人机低空数字图像诊断[26-27],但是需要昂贵的高分辨率相机。本研究中,对使用成本较低的Kinect相机采集到的彩色图像进行处理,通过统计发芽数实现发芽率监测,处理流程如图3所示。
(1)彩色图像灰度预处理。为了便于后期图像分割,消除由Kinect相机光电转换系统中感光构件灵敏度而引起的图像亮度分布不均匀问题,考虑幼苗为绿色的特征,通过增强绿色通道(G)数据,减弱红色通道(R)和蓝色通道(B)数据,进行超绿灰度化处理,以获得灰度图像增强的效果。公式为
(1)
式中f(u,v)——像素点(u,v)的灰度
(2)穴盘苗分割。为了加快分析速度,采用并行区域分割算法中的全局阈值分割,包括直方图法分割和Otsu阈值分割。直方图法分割是通过人工观察直方图中的灰度集合来确定目标和背景的分割阈值范围。Otsu阈值分割法是最大类间差法分割,自动选择阈值来将目标和背景类间方差最大化,该算法因为处理时间快、处理精度高而被广泛应用于实时性高、精度要求高的图像分割中。利用Matlab中的graythresh()函数实现Otsu计算全局灰度阈值,记为level,再通过调用im2bw()函数将分割出的图像进行二值化显示。
(3)小噪声点去除。在分割后,植株周围仍存在一些非目标小噪声点。通过调用形态学开运算open()函数进行去除。
(4)发芽率分析。对分割后的幼苗进行连通分量统计,输出连通分量目标数,即发芽数,将发芽数除以穴盘格数获得发芽率。
2.2 株高分析方法
株高是幼苗品质判别的关键因子,株高为从植株基部至主茎顶部即主茎生长点的距离。本文中株高H则定义为从植物主茎根部到顶端的垂直距离,采用土面法测量,即将穴盘格表面以上部分视为幼苗主茎根部的位置,以一株幼苗中2个叶片的中心点作为主茎生长点。如图4所示,Kinect相机平面至穴盘底面高度为h1,Kinect相机平面距离叶片中心点高度为h2,穴盘高度为h3,幼苗株高H计算公式为
H=h1-h2-h3
(2)
通过深度图像中地面所在区域,其所对应的深度为h1,穴盘高度h3为40 mm;为获取h2,需要先获得幼苗植株主茎点位置。由于幼苗叶片形态具有对称性,可以将幼苗2个叶片的中心作为幼苗植株主茎点位置。Kinect相机平面距离叶片中心点高度提取方法如下:
(1)叶片中心像素点坐标提取。将彩色图像在经过灰度预处理、分割、形态学变换后继续分析连通分量中心,获得整盘幼苗叶片连通分量中心的(x,y)像素坐标。
(2)彩色图像与深度图像匹配。根据深度图像和彩色图像的映射关系,将彩色图像中的各个穴孔中幼苗的中心像素点匹配到深度图像中对应的像素点位置矩阵M。
(3)叶片中心高度获取。导入深度图像,将中心像素点坐标矩阵M对应到深度图像中,中心像素点坐标对应的深度即为各个穴孔中幼苗的h2。
2.3 叶面积分析方法
叶面积是衡量植株长势的重要指标之一,对植物的生长发育有着显著影响[28]。常规叶片面积测量除了采用叶面积仪之外,还采用摄像头或扫描仪获取RGB图像,通过统计叶片像素点数再与标定物按比例比较计算叶面积,该方法停留在二维水平,对于弯曲等变形叶片的测量误差较大,只有将叶面展平或者摘下测量才能获得较高的精度[29]。扫描仪速度快,但是需要摘下叶子进行扫描,对植物造成损害[30]。因此,本文提出通过Kinect相机拍摄到的深度图像,利用叶表面重建结果和深度图像中的不同高度下的像素点面积求和来计算叶面积。叶面积获取过程为:
(1)深度图直通滤波
Kinect相机的数据采集范围为0.5~4.5 m,在被测植株以外,会包含很多背景噪声,通过直通滤波器去除被测幼苗植株深度外的深度像素,具体计算式为
(3)
式中 (u,v)——深度图像中像素的位置坐标
dst(u,v)——目标像素
src(u,v)——原始深度图像中像素
dmin——直通滤波器下限
dmax——直通滤波器上限
dmax取值为Kinect相机到穴盘上表面以上10 mm的距离,即dmax=h1-h2-10。
(2)深度图像条件滤波
在上述深度图像直通滤波后,植株周围还有三角架、边缘噪声等非目标物需要被滤除,设定幼苗穴盘所在区域作为条件滤波范围,通过遍历深度直通滤波后的深度图像中的像素,将幼苗穴盘所在区域内的像素深度值保留为原来的深度值,其余区域深度值置零。从而只保留穴盘内的深度数据,获得穴盘内包含幼苗植株的深度数据。
(3)深度图像边界保持滤波
经过上述直通滤波和条件滤波后,叶片周围还会存在部分孤立噪声点,为了不影响叶片边界,采用边界保持类滤波可清除孤立噪声点。常用的边界保持类滤波有K近邻均值滤波、K近邻中值滤波以及最小均方差滤波。
(4)深度图中像素分辨率计算
根据Kinect相机测量原理,各幼苗的高度不同,深度图像中,幼苗叶在不同高度处占据的像素的实际尺寸也不同。根据叶片表面像素点与相机之间的不同距离,结合Kinect相机的分辨率和视场角,可以计算出幼苗叶面积。
Kinect相机的分辨率为512像素×424像素,视角为70°×60°。当相机距离目标高度为h(h≥500 mm)时,记单位像素点的水平和垂直分辨率分别为P1和P2,单位为mm/像素,计算公式为
(4)
(5)幼苗叶面积计算
重建叶片表面,统计每株叶片表面像素个数,记为n。当一株幼苗表面有n个不同深度的像素时,该株幼苗的叶面积S计算方法为
(5)
式中i——幼苗叶片在深度图像中的像素点序号
hi——Kinect相机在像素点i的深度
2.4 幼苗壮苗指数计算方法
壮苗指标用于反映幼苗健壮程度,包括幼苗的外部形态指标和生理生化指标。外部形态指标可划分为简单指标、相对指标。简单指标是单项性状指标,包括株高、茎粗、叶片数、叶面积、各部分干物质质量等。简单指标虽简单易行,但缺乏对幼苗客观全面反映。相对指标是指2种单项性状指标的比值,如茎粗株高比、根冠质量比、冠质量茎高比、叶面积根体积比等。明村豪等[31]提出植株壮苗指数I的计算公式为
(6)
式中D——茎粗
叶片的长度、宽度和面积能够客观地反映秧苗品质,可以作为幼苗壮苗指标。文献[32]提出,茎粗、冠鲜质量对种苗品质有正向的决定作用,株高有负向的决定作用,可以根据茎粗、冠鲜质量和茎高的情况对穴盘苗品质做一个初步的判断。同一植株幼苗的各个器官之间具有明显的相关性,叶面积与茎粗之间呈现正相关性。根据以上结论,提出使用叶面积开方与株高的比值来作为壮苗指数,壮苗指数I表示为
(7)
3 实验结果及分析验证
根据上述监测方法,对发芽率、株高、叶面积的获取结果进行分析。同时对本方法提取的发芽率、株高、叶面积、壮苗指数进行实验验证。采用国际上惯用的RMSE模型验证方法,将本方法的获取值作为观测值,将其余验证方法的获取值作为真值,进行分析。
3.1 发芽率分析
3.1.1发芽率获取结果
Kinect相机获取的原始彩色图像如图5a所示,其灰度直方图如图5b所示,超绿灰度化处理后的灰度直方图如图5c所示。与预处理前灰度直方图相比,超绿灰度化能够突出植株绿色部分的灰度特征,能够明显区分出幼苗与背景。
直方图分割的阈值范围为110~250,分割结果如图5d所示,Otsu阈值分割结果如图5e所示。从结果可以看出,直方图分割需要观察灰度集区间来设置灰度范围,而Otsu阈值分割是自动选择阈值处理,处理效果较优。而且,直方图分割出来的穴盘苗周围含有更多的噪声点。因此,Otsu阈值分割适合用于后续穴盘苗分割。
图像分割后,通过形态学开运算去除小噪声点,如图5f所示,穴盘苗已经完全和背景分开,进行连通分量统计输出目标数目,即幼苗发芽个数,如图5g所示,最后得到穴盘格数后获得发芽率。
3.1.2发芽率测量结果分析
为验证本方法检测发芽率效果,通过本文方法和人工统计法分别统计穴盘规格为50、72、128、150、200格的穴盘苗在发芽后第3天、第5天和第7天的发芽个数,并计算发芽个数误差与发芽率误差,统计结果如表1所示。可以看出,在发芽后5 d内的发芽率误差不大于1.567%,在发芽后7 d的发芽率误差不大于12.66%。造成误差的原因是幼苗叶片遮挡严重,格数越多,穴盘孔越小,幼苗叶片遮挡越严重,导致不同株幼苗的叶片无法分开,在检测时检测到了一个连通分量,系统认为这些叶片属于同一个连通分量,如图6中红色方块标记处所示。因此,本文方法在叶片遮挡严重时,获取的连通分量数减少,得出的发芽率会小于实际发芽率。因此,本文方法进行发芽率分析的适宜时间是在发芽后5 d之内。
表1 发芽个数与发芽率误差Tab.1 Error of germination number and germination rate
3.2 株高分析
3.2.1株高提取结果
彩色图像中叶片中心像素点坐标提取结果如图7a所示,蓝色标记的位置为叶片中心。将叶片中心像素点坐标对应到深度图像中,根据式(2)可获得幼苗株高H,H的三维散点图如图7b所示。提取的72株幼苗株高分布在10~30 mm之间。
3.2.2株高测量结果分析
用测量精度为0.01 mm的游标卡尺测量幼苗高度时,测量主茎生长点至穴盘上表面的垂直距离,测3次取平均值。
2种方法下测得的72株幼苗的株高进行线性拟合分析,如图8所示,本文方法分析的株高与用游标卡尺测得的株高之间线性拟合方程为y=0.901 3x+2.189 8,拟合优度R2为0.875,RMSE为1.395 mm。从拟合效果可以看出,本文方法获得株高结果准确。
3.3 叶面积分析
3.3.1叶面积获取结果
为了使深度图像显示更加明显,对原始深度图像进行渲染,如图9a所示。为了滤除被测幼苗以外的无效背景,对深度图进行直通滤波,直通滤波器下限dmin设为500 mm,上限dmax设为845 mm。直通滤波后的深度图如图9b所示。可以看出,由于分析的植株高度大于10 mm,所以上限设置能够将穴盘以下部分滤除的同时又保留完整穴盘苗植株。
在深度直通滤波后,植株穴盘周围还有三角架和边缘噪声等非目标物,通过设置条件滤波范围为像素横坐标167~398像素,像素纵坐标75~190像素的区域,区域内的像素深度值保持不变,其余区域深度值置零,即可将其滤除。条件滤波后的深度图如图9c所示,对比深度直通滤波,条件滤波后的穴盘周围的非目标物被滤除。
条件滤波后的叶片周围还存在部分孤立噪声点,为了消除这些孤立噪声点又不影响叶片边界,比较K近邻均值滤波、K近邻中值滤波和最小均方差滤波3种边界保持类滤波清除孤立噪声点的效果,如图9d、9e、9f所示。可以发现K近邻中值滤波比K近邻均值滤波清除的噪声点多,而最小均方差滤波虽然能清除噪声点,却改变了植株间距,使得植株粘在一起,对植株分割造成影响。因此,K近邻中值滤波可以作为清除叶片周围孤立噪声点的有效滤波方法。
通过上述直通滤波、条件滤波、边界保持滤波后,幼苗植株叶片周围的噪声和背景基本被去除。对于滤波后的深度图,采用三维网格法对植株叶片表面进行重建,结果如图9g所示,取对数后如图9h所示。将滤波后的深度图像转换为点云,并进行点云处理,得到点云重建后的穴盘苗如图9i所示。由图9可以看出,经过直通滤波、条件滤波、K近邻中值滤波后,叶片深度图像每个像素点的深度没有出现较大的偏差,能够很好地重建叶面。
3.3.2叶面积计算结果误差分析
随机选择15株幼苗并记录所在穴格行列号。用EPSON DS-50000型扫描仪扫描幼苗叶片,并通过WinFOLIA图形分析系统计算幼苗的叶面积。通过扫描仪获得的叶面积、本方法重构获得的叶面积和文献[29]介绍的彩色图像素法分析的叶面积结果如表2所示,从表2中可以看出,彩色图像素法分析的叶面积小于其他两种方法。与扫描仪分析的叶面积相比,彩色图像素法计算的叶面积平均误差为6.28%,本文方法计算的叶面积平均误差为2.15%。本文提出的基于深度像素点提取叶面积的分析方法具有较好的提取效果。
表2 不同方法下的叶面积与误差Tab.2 Leaf area and error under different methods
3.4 壮苗指数验证分析
将本文提取的壮苗指数与文献[31]提出的茎粗与株高的比值作为植株壮苗指数的结果进行拟合分析,验证本文所提出的壮苗指数计算方法的可行性。采用游标卡尺十字交叉法测量随机抽取的15株幼苗的茎粗D1,使用游标卡尺测出这15株幼苗的株高H1,代入式(6)得到壮苗指数I1。将本文设计方法获得的叶面积S1和株高H2代入式(7)得到壮苗指数I2,对2种计算方法下的壮苗指数进行线性拟合,如图10所示,拟合优度R2为0.958。结果表明,所提出的壮苗指数可以用于穴盘苗壮苗分析。
4 结论
(1)根据工厂化穴盘苗无损测量需求,提出了利用Kinect相机构建基于颜色信息和深度信息的穴盘苗生长过程无损监测方法。
(2)对Kinect相机获取的彩色图像结合灰度预处理、Otsu阈值分割、形态学开运算、连通分量统计处理后获取发芽率。对不同规格的穴盘进行发芽率实验分析,在发芽后5 d内,发芽率误差不大于1.567%。
(3)通过提取彩色图像中幼苗叶片中心像素点坐标,实现了基于深度图像的穴盘苗株高获取,与人工测量的实际株高进行对比分析表明,株高和实际株高之间的拟合优度R2为0.875,RMSE为1.395 mm。
(4)将深度图像进行融合直通滤波、条件滤波、边界保持类滤波的算法处理,有效去除穴盘苗周围的背景噪声以及波动幅度大的深度数据,利用深度图实现了穴盘苗的叶面积测量,叶面积平均误差为2.15%。提出以叶面积开方与株高的比值作为壮苗指数,经实验验证,该方法与现有壮苗指数计算方法具有较好的拟合优度,壮苗指数拟合优度R2为0.958。说明基于Kinect相机的穴盘苗形态学指标监测方法可以用于穴盘苗的壮苗指数评价。