基于Mask R-CNN的番茄植株整枝操作点定位方法
2022-04-16冯青春李亚军王博文陈立平
冯青春,成 伟,李亚军,王博文,陈立平
(1. 北京市农林科学院智能装备技术研究中心,北京 100097;2. 国家农业智能装备工程技术研究中心,北京 100097;3. 农业智能装备技术北京市重点实验室,北京 100097)
0 引 言
番茄是全球广泛种植的大宗蔬菜,对于保障人类营养需求具有重要作用。中国番茄种植规模和产量居全球首位,全国种植面积约100万hm,年产量约6 100万t,占全球番茄总产量的35%,产值占中国蔬菜总产值的12%,是菜农增收、蔬菜产业发展的重要支撑。整枝打叶是番茄栽培管理的必要环节,几乎贯穿整个生产周期。及时摘除成熟变色果实区域的侧枝叶片,可以调节植株营养和生殖生长平衡,改善通风透光条件,降低病虫害发生风险,对于提高番茄产量和品质具有重要意义。然而每周2~3次的人工整枝打叶,是目前工厂化番茄种植过程中操作最复杂、效率最低、人力投入最大的生产环节之一,约消耗人力成本总投入的40%~60%。研发温室番茄整枝打叶机器人,代替人工作业,对于提升番茄种植效益具有重要意义。
近年来,欧美国家果蔬整枝打叶机器人研发应用成果显著,部分产品初步实现了产业应用。准确识别和定位植株主茎和侧枝目标是机器人整枝的必要依据。然而番茄植株主茎、叶片与侧枝色彩相近、丛生交错、无序生长,基于有限特征阈值的传统分类方法较难实现图像目标区域的准确分割。融合色彩、形态以及纹理特征的多尺度信息建立自适应语义分割模型,可以有效改善番茄茎秆目标的识别和分割效果。
以多层卷积特征提取网络为核心的深度学习模型,其“端到端”的模型结构和算法的可迁移性,避免了传统机器学习模型的复杂构建过程,并且具有更高的识别精度,对于农业作业对象复杂视觉信息的感知具有独特优势。目标识别方面,孙哲等提出了一种基于Faser R-CNN的自然环境下西兰花幼苗检测方法,平均精度达到91%;Henry等提出了一种基于全卷积网络的奇异果识别方法,并应用于采摘机器人,对密集果实的探测准确率达到76.3%;赵德安等提出了基于YOLOv3深度卷积神经网络的苹果定位方法,果实识别准确率为97%;孙红等建立了基于SSDLite-MobileDet轻量化网络模型的玉米冠层识别模型,识别精度为91%,检测帧频89帧/s。目标分割方面,Yu等通过对Mask R-CNN语义分割模型的迁移训练,实现了对重叠草莓图像区域的识别,分割准确率为89.5%;邓颖等建立了基于改进Mask R-CNN的柑橘花朵分割模型,平均精度36.3%,花量计数误差11.9%;龙洁花等引入CSPNet改进Mask R-CNN的ResNet,对不同成熟度番茄果实识别正确率为90%;Loyani等基于Mask R-CNN识别番茄叶片赤霉病斑,精度达到85.67%;Liu等采用改进的Mask R-CNN对近色背景下的黄瓜果实进行分割,识别精度1值为89.47%。目前基于深度学习模型的植物花、叶和果目标识别,主要以固定尺度和视角场景为主。然而番茄侧枝随机分布于高大植株不同区域,摄像机需要以动态变化的视场尺度和视角采集图像。因此,了解深度学习模型对于不同远近视场尺度和拍摄视角场景下茎秆的识别分割效果,是构建整枝机器人视觉系统的必要依据。
本文以工厂化番茄植株为研究对象,以不同生长阶段、远近视场尺度和拍摄视角的植株图像为样本,建立基于Mask R-CNN的茎秆分割模型,研究以离散主茎和侧枝位置关系为约束的整枝操作点定位方法,并通过试验评估算法对不同场景下目标的识别定位效果,从而为整枝机器人研发提供技术依据。
1 番茄植株整枝原理
1.1 工厂化温室番茄整枝规范
中国工厂化温室番茄普遍采用单杆整枝栽培方式,即只保留植株主茎,植株底部枝叶全部摘除。单次整枝打叶需要摘除植株成熟变色果实上方的2~3片侧枝(图1)。在植株结果生产期间,果实沿主茎自下而上依次生长和成熟,需要定期对植株不同区域进行整枝打叶。
图1 番茄植株整枝打叶Fig.1 Tomato plant pruning
1.2 整枝操作点
整枝操作需要在植株侧枝和主茎的结合点处,通过折拧或者切割的方式将二者分离,以摘掉侧枝。因此,侧枝与主茎的结合点即为整枝操作点。如图2所示,该目标点为主茎和侧枝中心线交点沿侧枝中心线偏移主茎半径距离后得到的点。识别分割主茎和侧枝像素区域,是对整枝操作点定位的必要前提。
图2 整枝操作点定位原理Fig.2 Principle of locating pruning point
2 基于Mask R-CNN的番茄茎秆图像分割
2.1 Mask R-CNN算法原理
番茄植株图像中茎杆与叶片和果实背景颜色相近、姿态各异、丛生交错,传统的阈值分割和色差分割算法难以对其进行准确识别和分割。鉴于深度卷积模型具备特征提取和识别的独特优势,本文选用Mask R-CNN对番茄主茎和侧枝两类茎秆目标进行识别和分割。Mask R-CNN算法流程如图3所示,主要包括以下步骤:
1)通过特征提取网络ResNet50+FPN对输入图像数据进行多尺度信息的提取和融合,并生成一系列特征图。
2)根据特征图与输入图像的映射关系,设置各种尺度比例和形态的矩形锚点框,区域建议网络(Region Proposal Network,RPN)对特征图进行滑窗扫描,对框内目标和轮廓进行初步判断,形成候选目标区域。
3)为了匹配后端全连接层固定数量的输入节点,RoIAlign(Region of Interest Align network)算法对各个候选区域的特征图规格进行标准化变换,将RPN网络获得的目标候选区域与特征图进行匹配对齐。
4)标准化的候选区域特征图,分别输入目标检测和分割两个分支网络。前者通过全连接层(Full Connection,FC)识别主茎和侧枝目标类别,并定位其各自边界框位置;后者通过全卷积网络(Fully Convolutional Networks,FCN)对主茎和侧枝目标像素区域进行分割。
图3 Mask R-CNN模型架构Fig.3 Mask R-CNN model architecture
2.2 图像样本采集和标注
除了自身外观特征,目标在图像中的成像特征还决定于拍摄角度和成像距离。鉴于番茄整枝几乎贯穿整个生长周期,自然生长的主茎和侧枝个体之间位置和形态各不相同,本文选用的植株样本包括生长期植株(侧枝目标主要生长于主茎底部区域,如图4a所示)和生产期植株(主茎底部侧枝已经被去除,侧枝主要生长于植株中部区域,如图4b所示);样本图像视场尺度分为远景视场(包含3个以上侧枝)和近景视场(包含1~2个侧枝);样本图像的拍摄角度分为仰视视场(从侧枝下方采集图像)和正视视场(从水平正视方向采集图像)。如图4所示,番茄植株图像数据集可分为8组图像样本。
图4 图像样本举例Fig.4 Example of image samples
在温室内共采集各组图像1 500幅,为了提高模型训练和检测效率,图像样本设置为720×720像素规格。通过随机添加高斯噪声,将样本扩充至3 000幅。按照8∶2的比例划分为训练集与验证集,8组图像样本训练集和验证集样本数量均分别为300和75。
由茎秆图像观察可知,主茎与侧枝相间生长,主茎呈竖直倾斜姿态,侧枝在其两侧生长,呈横向倾斜姿态。为了模型能够充分解析二者的特征,将侧枝之间的离散主茎标注为一类目标,侧枝及其与主茎的连接区域标注为另一类目标。采用Labelme标注工具,通过沿主茎和侧枝轮廓多边形描点方式,对图片内的目标区域分别进行标注,并生成json文件保存标注信息。
2.3 Mask R-CNN模型迁移训练
本文选用的Mast RCNN预训练模型,来自于香港中文大学Multimedia Laboratory开发的基于PyTorch的开源对象检测工具箱MMDetection。深度学习工作站主要硬件配置包括Intel i7-10700K CPU、NVIDIA 1080TI GPU、DDR4 16GB内存。
训练方法采用微调迁移训练方法,具体步骤包括:1)以预训练模型的特征提取网络权值对Mask R-CNN网络进行初始化,而后端目标分类、边框回归和全卷积网络参数为随机初始化;2)冻结特征提取网络权值参数,设置学习率0.02对后端网络进行训练;3)设置学习率0.002,对整个网络权值参数进行微调训练。
对2 400个训练集图像样本进行200次重复训练,模型更新迭代12万次(单次迭代样本批量为4),每次迭代耗时0.12 s,总耗时30 h。当迭代5万次时,将学习率调整至0.1倍,最终10万次迭代以后,模型各项损失下降趋于平稳。模型各项损失函数和总体识别精确度随模型迭代次数变化如图5所示,最终总体损失函数值为0.126、平均精度均值(mean Average Precision,mAP)为0.866。
图5 损失函数与平均精度均值变化曲线Fig.5 Loss function and mean Average Precision (mAP) curve
模型对茎秆目标类别识别和区域分割效果如图6所示,主茎区域被标注为蓝色掩膜,侧枝区域被标注为红色掩膜。
图6 Mask R-CNN识别结果Fig.6 Identification result of Mask R-CNN
3 整枝操作点定位
3.1 离散茎秆位置关系判别
在同一植株上,且处于相邻位置的主茎和侧枝中心线交点才能作为整枝操作参考点。对于图像中属于不同植株,随机分布的主茎和侧枝,明确离散主茎和侧枝目标区域相对植株的从属关系和位置关系,是对整枝操作点进行定位的必要依据。
图7 主茎与侧枝位置关系判别Fig.7 Relative location estimation of main stem and lateral branch
3.2 茎秆中心线拟合
图8 中心线拟合与整枝操作点定位Fig.8 Centerline fitting and pruning point locating
4 试验及结果分析
4.1 试 验
为了验证整枝操作点的识别定位效果,结合工厂化番茄温室实际作业工况条件特点,进一步采集番茄植株图像,建立与训练集样本构成相同比例的测试集,包括远景和近景视场、正视和仰视视角、生长期和生产期植株图像样本80幅。模型自动输出和保存对图像中主茎和侧枝离散区域的识别和分割结果,并记录整枝操作点的图像坐标。
1)主茎和侧枝目标识别精度评估
2)整枝操作点定位精度评估
以操作点自动识别定位结果与人工标注结果的图像坐标偏差,评价模型对操作点的定位精度。鉴于坐标绝对偏差在不同远近尺度图像内表示的物理距离不同,无法定量表征真实定位误差。假设番茄植株整枝区域主茎的物理直径是常数,表示主茎在不同远近尺度图像样本中的像素宽度。以自动识别和人工标注整枝操作点图像像素偏差距离与的比值,表征操作点图像定位误差。
4.2 结果与分析
对测试集80幅图像进行人工检测,其中每个场景分组各10幅。测试集茎秆目标分布涉及94株番茄植株,其中14幅图像包含2株以上。测试集共包含离散主茎区域224个、侧枝区域163个、标定整枝操作点163个。每幅图像平均包含主茎区域2.80个、侧枝2.03个。具体统计如表1所示。
表1 测试集茎秆目标人工标注统计Table 1 Manual identification results on test set
1)主茎和侧枝目标识别结果与分析
将测试集图像分别输入自动识别模型,根据图像场景特征对识别结果进行分组统计。模型对测试集图像样本内的主茎和侧枝目标识别分类结果如表2所示。
表2 测试集中主茎和侧枝目标识别结果Table 2 Identification results for main stems and lateral branches in test sample set
以人工检测结果为对照,正确识别主茎和侧枝数量分别为211和154、误判数量分别为6和19、未被识别的数量为13和9,其中近景仰视图像中错误和未被识别的主茎和侧枝数量均为0,远景仰视图像中错误和未被识别的侧枝数量为0。
对于全体测试集样本,主茎识别错误率(0.08)低于侧枝(0.17)。生长期植株的仰视远景图像和生产期植株的正视近景图像中主茎识别错误较大,分别为0.17和0.16,主要原因为:1)前者植株底部叶片较多,主茎受到叶片遮挡(图9a),识别难度增大,从而导致未识别的主茎较多(29个主茎中6个未被识别);2)后者枝叶普遍相对较粗(图9b),4个侧枝或叶柄被错判为主茎。生产期远近景的正视图像中侧枝识别错误均较大,分别为0.43和0.31,主要原因为:正视条件下果柄被误判为侧枝(图9c),随着生产期植株果实数量增加,识别错误率更高。此外,生产期植株的远景正视图像中,受其他枝叶遮挡(图9d),8个侧枝未被识别,导致错误率较高为0.28。
图9 目标错误识别结果Fig.9 False identification results
如表3所示,模型对于主茎和侧枝的总体识别错误率、精确率和召回率分别为0.12、0.93和0.94,并且对于生长期和生产期的近景仰视图像样本均具有最好的识别效果,即模型对于近景仰视的番茄植株场景具有较好的适应性。该场景下主茎和侧枝受到遮挡较少,同时仰视条件下果柄被果实遮挡,在图像中出现较少,从而避免了被误判为侧枝。
表3 目标识别精度统计Table 3 Targets identification accuracy statistics
2)整枝操作点定位结果与分析
本文将不同尺度图像中整枝操作点定位像素偏差与主茎像素宽度的比值作为其定位误差,统计如表4所示。全体测试集样本图像中,整枝操作点的图像定位误差平均值为0.34。不同场景中最大误差平均值为0.47、最小误差平均值为0.11。对于生长期植株的正视远景图像,误差最大为0.76,生产期植株的仰视近景图像,误差最小为0.03。由于与生产期植株相比,生长期植株的主茎较细,因此生长期植株图像样本的操作点定位误差普遍偏大。同时,由于近景图像样本具有较高的目标分割精度,因此近景图像的操作点定位精度较高。此外,相比正视场景,仰视场景图像中侧枝自身弯曲特征被弱化,侧枝中心线拟合较为准确,整枝操作点的定位误差较小。
表4 整枝操作点图像定位误差统计Table 4 Pruning point location pixel error statistics
假设番茄主茎直径为15 mm(人工测量统计的平均值),由表4可知,整枝操作点的绝对定位误差平均值为5.12 mm、最大误差11.4 mm、最小误差0.45 mm。考虑到侧枝平均直径约为10 mm、可夹持长度约150 mm,为了包容整枝操作点定位误差,侧枝夹持手爪有效行程最大增加11.4 mm。该额外行程的增加对手爪构型设计、运动控制方面构成的技术风险较小,因此认为本文定位精度可以满足整枝机器人的作业需要。
5 结 论
针对番茄智能化整枝茎秆目标视觉信息获取需要,综合考虑植株生长阶段、远景视场以及拍摄角度等因素,建立了番茄植株茎秆图像样本数据集,采用微调迁移训练方法,建立了基于Mask R-CNN的主茎和侧枝目标识别分割模型。通过离散茎秆区域图像位置关系判别,实现了整枝操作点的定位。
试验结果表明,对于不同场景的图像样本,Mask R-CNN模型对主茎和侧枝识别的错误率、准确率和召回率分别为0.12、0.93和0.94,并且对于仰视近景视场具有更好识别效果。对于整枝操作点定位误差的平均值、最大值和最小值与对应主茎像素宽度的比值分别为0.34、0.76和0.03。若设定主茎直径为15 mm,枝操作点的定位误差平均值为5.12 mm、最大误差11.4 mm、最小误差0.45 mm,同样在仰视近景场景下定位精度较高。因此,仰视近景图像信息获取有利于整枝目标视觉信息的准确获取,本文研究结论为后期开展整枝机器人视觉系统研发提供了设计依据。
此外,由于本文算法仅限于二维图像特征处理,缺乏茎秆形态立体信息融合,对于整枝操作点定位方法和精度评估试验,尚有待改进之处,可进一步采用深度相机获取茎秆立体位姿信息,以得到更加精确定位效果。