基于ResNeXt单目深度估计的幼苗植株高度测量方法
2022-04-16焦义涛宋怀波
宋 磊,李 嵘,焦义涛,宋怀波
(1. 西北农林科技大学机械与电子工程学院,杨凌 712100;2. 农业农村部农业物联网重点实验室,杨凌 712100;3. 陕西省农业信息感知与智能服务重点实验室,杨凌 712100)
0 引 言
集中批量化育苗是现代设施农业发展的必然趋势。幼苗高度是幼苗培育过程中的重要性状之一,对于幼苗生长状况监测和优良性状幼苗的筛选具有重要参考作用。当前幼苗植株高度数据主要依靠人工测量获取,工作量大、效率低且易对幼苗造成损伤。如何准确、快速地获取幼苗高度信息,对于提高工业化幼苗培育的现代化水平具有重要研究意义。
目前植株高度的自动测量方法大致可分为:1)通过有参标定的空间计算获取植株高度信息;2)通过激光雷达获取植株三维点云信息从而获取植株高度信息;3)通过深度相机获取深度信息从而获取植株高度信息。基于有参标定的空间计算方法通常需要标定真实数据,然后通过空间计算构建植株三维信息,从而获取植株高度。何晶通过标定相机的空间位置,将拍摄的棉花植株二维图像转化成世界坐标系中的三维信息,从而获取植株高度信息,测量误差在1 cm左右。张慧春等采用彩色标定板进行空间坐标系的标定,通过运动恢复结构法对多幅图像序列构建植株三维信息,主茎测量高度平均相对误差(Average Relative Error,)为9.83%。佘银海等通过标定双目立体视觉平台来获取植株左右视图从而获取植株空间三维信息及植株高度,总体相对误差为1.5%。但有参标定方法一般只适用于特定环境,空间自由性不高。
基于激光雷达的植株高度测量不受外界光照环境影响,可以快速、准确地获取植株高度信息。Corte等将激光雷达搭建在无人机上获取树木的三维点云信息,并通过滤波将其分为地面点与非地面点,从而计算出树木的实际高度。Jimenez等将激光雷达用于快速无损地估计小麦冠层高度和地上生物量。程曼等利用地面激光雷达获取花生的三维点云数据,以此计算出花生冠层高度。但是激光雷达一般用于较大植株的点云数据获取,对于幼苗这类小目标物体的数据采集效果较差,容易出现幼苗点云缺失现象,不适用于幼苗高度获取工作。
在基于深度信息获取植株高度研究方面,场景深度可以分为绝对深度和相对深度。绝对深度是指场景中任意点距图像采集器竖直平面的真实距离,相对深度描述的是场景中各目标间的相对位置关系。杨斯等通过RGB-D相机获取俯视视角下黄瓜苗盘的彩色图像和深度图像,通过滤波和聚类算法获取单株幼苗点云数据从而获得植株高度,测量结果的为7.69%。王纪章等利用Kinect V2深度相机获取穴盘的深度图像,分别获得地面深度值和单株幼苗深度值,从而得出幼苗实际高度,测量高度与实际株高的拟合优度为0.875。基于深度信息的植株高度计算方法通过使用硬件设备获取植株深度信息,且该深度为绝对深度。该方法具有信息获取时间短、重建速度快等优势。但该方法获取的深度图像易受环境影响,光照不稳定会导致深度图像存在噪声且其输出图像分辨率较低。当目标距离深度相机过近时会导致目标深度丢失,并且在对小目标物体进行深度采集时,容易出现目标边缘和内部的深度丢失,不利于幼苗的高度获取工作。
随着深度学习技术的不断发展,基于深度学习的单目图像深度估计方法日益完善。Eigen等将卷积神经网络用于单目图像的深度估计,通过融合不同尺度的深度信息获得较为精确的深度图像。Liu等将深度卷积网络和条件随机场相结合,通过建立超像素块之间的条件随机场完成深度图像的优化。Laina等首次将ResNet应用于单目图像的深度估计,通过更深的卷积网络和上采样模块获得更好的深度估计结果。相较于有参标定算法、激光雷达和深度相机3种幼苗高度获取方式,基于单目图像的深度估计方法对拍摄环境和拍摄设备要求较低,更易于工厂批量化架设,更适合工厂集中化育苗的测量需求。本研究拟提出一种基于单目深度估计的幼苗高度无损检测方法,通过普通RGB相机获取幼苗图像,采用深度学习算法从单幅图像中恢复场景深度并分割出幼苗深度区域,将该区域的平均深度值转化为实际距离,再结合幼苗图像的像素高度从而计算出幼苗高度,以期为批量化幼苗高度测量提供借鉴。
1 幼苗高度数据获取及试验方法
1.1 幼苗高度数据获取与深度估计数据集制备
1.1.1 幼苗植株数据获取
1)幼苗培育
幼苗培育、数据采集和试验均在西北农林科技大学农业农村部农业物联网重点实验室(34°16'56.24"N,108°4'27.95''E)进行。本研究选取的3种幼苗涵盖了大部分幼苗的形态特点,以验证该方法对不同类型幼苗植株的适用性。幼苗植株选取杨凌大学生种苗培育基地统一培育至幼苗期的番茄、辣椒和甘蓝幼苗进行数据采集。番茄幼苗72株,品种为普罗旺斯,培育时长50 d左右,植株高度范围为10.6~28.3 cm,幼苗形态为粗茎、大叶、直立生长;辣椒幼苗20株,品种为加长6号,培育时长50 d左右,植株高度范围为13.7~20.0 cm,幼苗形态为细茎、小叶、直立生长;甘蓝幼苗20株,品种为甄绿,培育时长35 d左右,植株高度范围为11.9~17.5 cm,幼苗形态为短茎,大叶,开展生长。为方便数据采集,将每株幼苗单独移植在纸杯中并进行编号。育苗基质采用山东芯喜乐生物科技有限公司的有机活性基质I。数据采集期间采用达斯卡特公司的人工气候箱RGL-P500进行培育,白天温度设置为23 ℃,光照设置为4级,夜间温度设置为15 ℃,湿度统一设置为60%。
2)幼苗高度数据采集平台搭建
单目图像的深度估计主要是从物体与物体之间的相对位置关系中提取特征,但由于近大远小的光学传播特点,网络易将近距离的小目标识别为远位置的大目标,因此,本研究在数据采集时使用黑色有绒布料作为拍摄背景,以减少背景物品和光源散射带来的影响,为不同光照强度下的幼苗高度测量提供稳定环境。
幼苗高度数据采集平台如图1所示,其中幼苗数据拍摄环境如图1a所示,本研究采用手机相机作为拍摄设备安装在三角架上,该拍摄设备可用图像分辨率不低于640×480像素的RGB相机进行替换。拍摄界面如图1b所示,相机镜头与拍摄幼苗目标平齐,相机镜头的水平调节采用手机自带的水平仪进行调整,镜头水平时屏幕中心的横线为实线。幼苗高度测量平台由底座,测高夹板和刻度尺组成。将幼苗放置平台底座上,移动夹板至植株顶端,读取刻度值即可获取幼苗真实高度数据。
图1 幼苗高度数据采集平台Fig.1 Seedling height data acquisition platform
3)幼苗高度数据采集
本研究幼苗高度数据采集于封闭且有稳定光源的室内环境。相机和幼苗的距离在45~150 cm之间调整,每隔15 cm设置1个拍摄点,共8个拍摄点。相机感光度设置50、100、125、160、200、250、320和400共8个级别,用于控制图像亮度。
幼苗图像信息统计结果如表1所示,本数据采集过程共拍摄图像大小为4 000×3 000像素的番茄幼苗图像1 728幅,辣椒幼苗图像160幅,甘蓝幼苗图像160幅,并手动测量植株顶端到容器底端的水平投影距离,3次取平均作为幼苗真实高度。其中番茄幼苗图像用于幼苗高度测量方法的可行性验证。辣椒和甘蓝幼苗图像用于普适性验证。为探究不同光照强度对本研究方法的影响,本试验在相同光源不同感光度下拍摄番茄幼苗图像160幅用于试验验证。为探究多目标幼苗植株高度检测效果,在拍摄距离60 cm、感光度160的条件下采集5种不同的多目标幼苗植株共200幅。
表1 幼苗图像信息统计Table 1 Seedling image used in this research
1.1.2 单目深度估计数据集制备
NYU Depth Dataset V2深度数据集是使用Kinect深度相机获得的室内深度数据集,深度范围10 m,在大部分深度估计任务中均可使用。该数据集包含464个场景,其中训练场景249个,测试场景215个,共1 449幅图像,图像尺寸为640×480像素,且均有对应的深度图像作为训练过程中的真实数据。为使模型具有更好的表达能力,本研究对该数据集进行了数据增强。已有研究表明,当数据集达到万级别时,训练集、验证集和测试集的比例约为98∶1∶1时效果最佳,因此,本研究数据增强结果如表2所示。通过镜像、平移、尺度变换后将训练集扩展到50 688幅,测试集和验证集分别扩展到654幅。
表2 单目深度估计数据集信息统计Table 2 Monocular depth estimation data set used in this research
1.2 基于单目深度估计的多目标幼苗高度无损测量
基于单目深度估计的多目标幼苗高度无损测量模型构建流程如图2所示。本研究采用YOLOv5s网络完成多目标的检测和提取。深度估计模块采用基于深度学习的单目深度估计网络整体结构为U型结构,ResNeXt 101网络作为编码器主要部分,实现深度特征提取功能。解码器整体为一个上采样过程,通过双线性内插法完成深度信息和空间分辨率的复原。本研究采用超绿灰度化和大津法完成植株区域的分割并获取植株深度信息。通过对相对深度中某一点进行标定,完成相对深度到绝对深度的转化,以此获得植株到相机的真实距离,根据该距离可以计算当前距离下的视场角度。在获取真实距离和视场角度后,根据图像中植株像素高度即可完成幼苗高度测量。
图2 基于单目深度估计的幼苗高度测量流程图Fig.2 Flow chart of seedling height detection based on monocular depth estimation
1.2.1 单目深度估计网络构建
在基于单目图像的深度估计任务中,如何更好地提取出图像中深度的细节信息至关重要。单目深度估计网络模型结构如图3a所示,本研究以U型网络为主体结构,ResNeXt 101网络作为特征提取网络,在解码器的上采样部分采用跳跃连接以增加深度图像中的细节信息,进而更好地完成单目图像深度估计任务。其中跳跃连接模块、上采样模块和输出模块具体结构如图3b所示。
图3 基于ResNeXt的单目深度估计网络模型结构图Fig.3 Structure diagram of monocular depth estimation network model of ResNeXt
ResNeXt layer1~4是编码器的主要部分,用于从单目图像中获取场景深度信息。在跳跃连接部分加入了跳跃连接模块用于更好地提取深度特征和对齐网络通道。解码器部分为一个上采样过程,旨在预测图像的深度细节信息和恢复图像的空间分辨率。上采样部分参考残差网络结构将深度信息进一步融合,并通过双线性内插法进行上采样,以增加特征图的细节信息。
1.2.2 幼苗高度测量模型构建
幼苗高度测量模型构建流程如图4所示,主要由不同距离下相对深度和视场角标定;植株区域深度信息提取;植株像素高度提取和植株真实高度计算4部分组成。
图4 幼苗高度测量模型构建流程Fig.4 Construction process of seedling height detection model
1)不同距离下相对深度和视场角的标定
在单目深度估计任务中,通过深度学习获取的深度信息为相对深度,可以通过对图像中任意点的真实距离进行标定来完成相对深度到绝对深度的转化。根据Kinect深度相机的成像原理,相对深度和目标到相机的真实距离(cm)的计算关系如式(1)所示。
式中=7.5 cm,为Kinect中红外发射器和红外摄像机之间的距离,F= 367.749是红外摄像机在水平方向的焦距长度。为深度图像中的最大相对深度值,由于本研究将深度图像进行线性拉伸导致实际的大于深度图像中的最大深度值,因此需要对进行重新标定。
本研究从1 728幅番茄幼苗的深度图像中随机选取8个不同拍摄距离下的深度图像各1幅,通过植株区域的平均深度值和拍摄距离以式(1)进行不同距离下的标定,标定结果如表3所示。该标定结果可用于后续所有研究内容中的拍摄距离计算。
在光学成像领域中视场角会随着相机焦距的变化而改变。在实际数据采集过程中,由于植株和相机距离的不断变化,拍摄焦距的自动调整导致图像成像的视场角发生改变,这点在本研究后续的实际高度计算中得到了验证。因此需要对不同距离下的视场角进行标定。本研究拍摄8幅不同距离下的幼苗高度测量平台的RGB图像用于角度标定。视场角(°)和拍摄距离(cm)的几何关系如式(2)所示。
式中H=H/,其中取35 cm,h(pixel)为图像中35 cm的像素高度,标定结果如表3所示。该标定结果可用于后续所有研究内容中的幼苗高度计算。
表3 不同距离下相对深度和视场角标定结果Table 3 Calibration results of relative depth and field angle at different distances
2)植株区域的深度信息提取
①深度线性拉伸。本研究采用黑色有绒布料作为拍摄背景,以减少复杂背景和光源散射对深度估计的影响。由于背景单一且和植株目标距离较近,导致深度图像中的背景和植株目标的深度值相近。因此本研究通过线性灰度拉伸将深度图像中的深度范围映射到0~255,以增大深度图像的表达能力。
②植株区域分割和深度提取。本研究根据植株的颜色特征,对缩小后的植株图像进行超绿灰度化,完成植株区域的灰度增强,如图4所示。超绿灰度化计算如式(3)所示。
式中、、分别对应RGB图像中的红、绿、蓝通道。
通过对超绿灰度化结果进行阈值分割获取仅含植株区域的分割图像。将深度线性拉伸结果和超绿灰度化分割结果相乘获得植株的深度区域。最后读取植株深度区域的深度信息计算得出植株区域的平均相对深度值。该平均相对深度值可用于后续植株与相机真实距离的计算。
3)植株像素高度提取
通过超绿灰度化分割对植株区域进行通道增强获得更容易分割的通道增强图像。再通过大津法阈值分割获取整体植株区域,从而获得植株的像素高度。该像素高度用于植株真实高度(cm)的计算。
4)植株真实高度计算
植株高度计算原理如图5所示,本研究中的植株高度(cm)定义为纸杯底端到植株叶部生长最高点的垂直距离(cm)减去纸杯高度(cm),其中纸杯高度为9 cm。植株高度计算公式如式(4)所示。
图5 植株高度计算示意图Fig.5 Schematic diagram of plant height calculation
含容器的植株高度计算如式(5)所示
式中为当前距离(cm)下垂直分辨率,表示在该距离下每个像素表示的实际距离,m/pixel。(pixel)为植株的像素高度。
1.2.3 评价指标与对比模型
深度估计结果与幼苗高度测量计算密切相关,因此本研究采用Eigen等使用的、RMSE、平均对数误差(Logarithm Deviation,LG)和准确率()对深度估计结果进行评价分析,以验证本研究结果的适用性。其中、RMSE、LG描述的是预测深度和真实深度之间的偏差程度,值越小越好。描述的是预测深度和真实深度在指定阈值thr范围内的像素点占全部像素点的百分比,值越大越好。具体计算公式如式(6)~(9)所示。
式中和分别为真实和预测的相对深度,为测试图像数,thr为准确率阈值,有1.25,1.25和1.25共3个值。
为验证本模型性能,引用和本研究模型结构相似的3种深度估计模型(Eigen等提出的多尺度卷积神经网络深度估计模型、Liu等提出的基于条件随机场深度估计模型和U型网络结构下评价结果最好的Laina等提出的基于ResNet网络模型)进行对比。
为实现多目标植株高度测量需求,本研究采用精确率,召回率和平均准确率均值(Mean Average Precision,mAP)对多目标检测结果进行评价分析。
为验证植株高度测量结果的准确性,本研究采用平均植株高度比例、MAE、RMSE进行评价分析。其中描述的是计算植株高度和实际植株高度的相似度,MAE和RMSE描述的是计算和实际植株高度的偏差程度。
2 结果与分析
2.1 基于YOLOv5s多目标检测训练结果
本研究将表1所示的1 728幅番茄幼苗图像按6∶2∶2分为训练集、验证集和测试集,对YOLOv5s网络进行训练。并对多目标植株图像进行测试,模型精确率为98.20%,召回率为0.98,mAP(0.95)为84.6%。表明采用YOLOv5s网络可以很好地完成多目标检测提取任务。
2.2 单目深度估计网络模型训练结果
本研究采用表2所示的NYU Depth Dataset V2进行训练,批大小(Batch size)设置为4,训练次数(Epoch)设置为20,初始学习率设置为0.001,训练时间约为32 h。
本研究采用上述4个评价指标和3种不同的深度估计模型进行对比分析,测试结果如表4所示。
表4 不同模型评价结果对比Table 4 Comparison of evaluation results of different models
从误差评价指标和准确率评价指标可以看出,本研究模型可以较好地完成单目图像深度估计任务。本设计模型在各项指标上基本优于Eigen等提出的多尺度卷积神经网络深度估计模型和Liu等提出的基于条件随机场深度估计模型。相较于Laina等模型的评测结果,本模型在RMSE指标上减小了71.2%,有着明显的提升。对比其他指标虽然没有达到最佳,但基本持平,相差最大的指标仅差0.05。表明本模型可以较好地完成植株深度信息的估计任务。
2.3 植株高度测量模型测试结果
本研究使用的植株高度评价指标为平均植株高度比例、MAE、RMSE。其中计算植株高度和实际植株高度H越接近,越接近1,MAE和RMSE越小。
采用表1所示的8种距离共1 728幅番茄幼苗图像进行植株高度测量模型测试,测试结果如表5所示。
表5 不同距离下植株高度测量结果Table 5 Detection results of plant height at different distances
由表5可知,在45~105 cm内,平均深度计算距离的MAE为0.62 cm,即通过单目图像深度估计计算出的拍摄距离平均误差为厘米级别,因此该距离计算方法可以保持较好的准确度。针对番茄幼苗,当拍摄距离在105 cm内时,平均为1.005,MAE的平均值为0.569 cm,RMSE的平均值为0.829 cm,表明本研究模型在105 cm内具有较好的植株高度测量能力。当拍摄距离在60和75 cm位置时,植株高度测量效果最好,MAE和RMSE分别为0.472、0.439和0.635、0.702 cm。随着实际拍摄距离的增大,即拍摄距离大于105 cm时,平均深度计算距离发生了较大程度的畸变,导致后续的高度计算误差增大。这是因为随着拍摄距离的增加,植株区域占图像总比例减少,导致植株区域在深度估计中的特征提取权重降低,植株的深度信息出现丢失。此时的计算距离更接近于相机到黑色背景布的距离,而不是植株的实际拍摄距离。
因此本研究提出的植株高度测量方法在105 cm拍摄距离内具有较高的准确度,每株幼苗的平均计算时间为2.01 s,可以完成幼苗植株高度的精确、快速检测任务。
为探究不同植株的高度测量效果,本研究采用如表1所示的8种拍摄距离下160幅辣椒图像和160幅甘蓝图像进行植株高度测量方法的普适性验证。由表5可知,辣椒幼苗高度测量结果MAE和RMSE在105 cm内的平均值分别0.616和0.672 cm,甘蓝幼苗高度测量结果MAE和RMSE在105 cm内的平均值分别0.326和0.389 cm。测试结果表明在105 cm内本研究方法对形态差异较大的幼苗植株具有普适性。
不同拍摄距离下辣椒幼苗、甘蓝幼苗和番茄幼苗的均在1附近,105 cm前该比例处于平稳状态。随着距离增加,比例振荡幅度增大,且呈现上升趋势。这是因为拍摄距离增加,导致植株区域在图像中的占比减小,使得目标区域的深度特征更接近于背景深度,出现深度丢失现象,如图6所示。
图6 深度丢失现象Fig.6 Depth loss phenomenon
2.4 不同光照强度对检测结果的影响
为尽可能保证试验环境变量仅有光照强度,本研究选取了生长高度相似的20株番茄幼苗作为试验目标,拍摄距离采用表5中测试效果较好的拍摄点0.6 m进行数据采集。由于光照强度控制难以实现,因此本试验数据采用8个不同感光度进行数据采集,采集结果如图7所示。
对不同感光度下160幅番茄幼苗图像的测试结果表明,光照强度对植株区域分割结果和图像相对深度估计有较大影响。如图7所示,随着感光度的增大,植株区域的分割效果越好,更易于植株深度信息的提取。不同感光度下植株高度测量结果如表6所示,光照强度对植株高度测量结果影响较大,当感光度大于160时,绝对深度和MAE均会产生较大误差;当感光度在160以内时,平均绝对深度接近真实深度;当感光度为100时MAE最小为0.720 cm,感光度在160以内的平均MAE为0.81 cm。可见该方法在不同光照强度下仍有较好的准确度。
图7 不同感光度下的番茄幼苗图像Fig.7 Images of tomato seedlings under different sensitivity
表6 不同感光度下植株高度测量结果Table 6 Results of plant height under different sensitivity
2.5 多目标幼苗植株高度检测结果
本研究对含有2、3、4、5和6株幼苗的单幅图像进行多目标植株高度检测,检测结果如表7所示。由表7可知,随着单幅图像中目标个数的增加,、MAE和RMSE均有所增大。这是由于在初始角度和距离的标定过程中,标定物是位于图像中心位置,因此当图像中植株数量增加时,靠近图像边缘区域的植株深度相较于图像中心的植株深度会产生较大误差。当单幅图像中植株个数处于5以内时,、MAE和RMSE的平均值分别为1.001、0.652 cm和0.829 cm,因此本研究方法对多目标幼苗植株高度检测仍具有较好的效果。
表7 多目标幼苗植株高度检测结果Table 7 Results of plant height under multi target seedlings
3 结 论
为满足工厂批量化育苗需求,本研究提出了一种基于单目图像深度估计的幼苗高度无损检测方法。主要结论如下:
1)该方法可以较准确地从单幅幼苗图像中检测植株的高度信息。本研究通过对番茄,辣椒和甘蓝三种表型差异较大的幼苗植株进行高度测量,在105 cm内番茄、辣椒和甘蓝的MAE分别为0.569、0.616、0.326 cm;RMSE分别为0.829、0.672、0.389 cm;说明该方法具有可行性和普适性。
2)该方法采用普通RGB相机进行数据采集,通过上传图像数据完成植株高度检测,摆脱了深度相机设备的空间局限。且该方法在单幅图像中植株个数在5以内时,、MAE和RMSE的平均值分别为1.001、0.652 cm和0.829 cm。当感光度为160以内时,植株高度的MAE为0.81 cm。因此对于多目标和不同光照环境,均可以完成植株的高度测量,提高了该方法的实用性。
3)该方法可以通过单幅图像实现幼苗高度的批量化检测,但是当单幅图像中植株数量较多时效果不佳。且当幼苗遮挡严重时,植株的重叠会导致无法准确估计目标植株的深度值。因此本研究对密集植株的高度检测尚需进一步完善。