资源描述:
第38卷 第23期 农 业 工 程 学 报 Vol 38 No 23 112 2022年 12月 Transactions of the Chinese Society of Agricultural Engineering Dec 2022 基于改进Mask R CNN的番茄侧枝修剪点识别方法 梁喜凤1 章鑫宇1 王永维2 1 中国计量大学机电工程学院 杭州 310018 2 浙江大学生物系统工程与食品科学学院 杭州 310058 摘 要 为解决番茄枝叶修剪机器人无法准确识别番茄侧枝修剪点的问题 提出基于改进Mask R CNN模型的番茄侧枝 修剪点的识别方法 将Mask R CNN的主干网络ResNet50替换为MobileNetv3 Large来降低模型复杂度和提升运行速度 并对部分特征图添加ECA Efficient Channel Attention 注意力机制 以提升模型精度 通过改进的Mask R CNN模型预 测番茄侧枝与主枝的分割掩膜和边框位置 针对部分单根枝条被分割成多段掩膜的问题 通过掩膜边界框宽高比区分侧 枝和主枝 分析同一枝条相邻掩膜约束条件 然后将符合约束条件的掩膜进行合并连接 根据修剪点在主枝附近的特点 确定修剪点所在端 确定靠近修剪端端点的中心点作为侧枝的修剪点 试验结果表明 改进的Mask R CNN模型平均分 割图片时间为0 319 s 召回率和精确率分别为91 2 和88 6 掩膜平均合并成功率为86 2 修剪点识别平均准确率为 82 9 该研究为番茄枝叶修剪机器人的研发提供参考 关键词 模型 图像识别 目标检测 Mask R CNN 侧枝 主枝 修剪点 doi 10 11975 j issn 1002 6819 2022 23 012 中图分类号 TP391 41 文献标志码 A 文章编号 1002 6819 2022 23 0112 10 梁喜凤 章鑫宇 王永维 基于改进Mask R CNN的番茄侧枝修剪点识别方法 J 农业工程学报 2022 38 23 112 121 doi 10 11975 j issn 1002 6819 2022 23 012 http www tcsae org Liang Xifeng Zhang Xinyu Wang Yongwei Recognition method for the pruning points of tomato lateral branches using improved Mask R CNN J Transactions of the Chinese Society of Agricultural Engineering Transactions of the CSAE 2022 38 23 112 121 in Chinese with English abstract doi 10 11975 j issn 1002 6819 2022 23 012 http www tcsae org 0 引 言 番茄是世界上栽培最为普遍的果蔬之一 中国是世 界上番茄生产总量最多国家之一 1 2 枝叶修剪是番茄种 植过程中的重要环节 及时修剪枝叶可以改善植株通透 性 降低病害率和提高番茄经济效益 3 由于叶子生长在 侧枝上 目前番茄枝叶修剪主要通过人工割断或掰断侧 枝实现 这样不仅增加了人工成本 在割断或掰断过程 中还会造成番茄植株的损伤 4 5 规模化种植的番茄植株 间的行距较为宽阔 适合枝叶修剪自动化作业 6 因此 研发番茄枝叶修剪机器人代替人工摘叶是可行且有必要 的 而要实现番茄枝叶修剪自动化作业 番茄侧枝 主 枝的检测与修剪点的识别十分重要 目前 学者们在植株枝条自动化修剪和果蔬采摘方 面进行了相关研究 荷兰Priva公司在2017年发布了一 款番茄枝叶修剪机器人 可实现番茄枝叶自动化修剪 7 宁政通等 8 通过改进Mask R CNN对葡萄果梗进行识别 与分割 葡萄果梗的识别平均精确率为88 严亚飞 9 为了解决枸杞枝条自然环境下识别干扰多的问题 采用 k means 聚类分割法识别出枸杞枝条 韦锦等 10 采用 DA2 YOLOv4模型识别绿篱 检测速度为83 1帧 s 平 均精确率为98 5 Peng等 11 采用DeepLab v3 分割荔枝 收稿日期 2022 9 16 修订日期 2022 11 11 基金项目 国家自然科学基金资助项目 31971796 作者简介 梁喜凤 博士 教授 研究方向为农业机器人 Email lxfcjlu 枝条 模型分割的平均交并比为76 5 Zhang等 12 采用 R CNN检测苹果分支 平均召回率与准确率分别为91 5 和85 5 Qi等 13 采用TC YOLO模型检测茶菊花 检 测平均精度为92 49 检测速度为47 23帧 s 该算法在 复杂和非结构化环境下仍表现出较高鲁棒性 马志艳等 14 采用改进的Mask R CNN模型分割茎秆杂质 分割识别 准确度可达91 12 平均处理时间为3 57 s Palacios等 15 结合VGG19与Segnet对葡萄花穗进行检测与分割 F1 分数分别为0 93和0 73 Afonso等 16 建立了基于Mask R CNN的成熟番茄和未成熟番茄识别模型 识别准确率 分别为95 和94 陈锋军等 17 采用改进的EfficientDet 模型检测油橄榄果实的成熟度 精确率和召回率分别为 92 89 和93 59 Liang等 18 采用YoloV3与U Net相结 合的方法检测与分割夜间环境下的荔枝与果梗 试验表 明精确度与鲁棒性较高 上述研究表明 植株枝条自动化修剪和果蔬采摘领 域已经有了一定的进展 而番茄侧枝修剪点识别方面的 研究较少且以传统图像处理方法为主 传统图像处理方 法和卷积神经网络检测方法是常见的目标识别方法 由 于番茄植株侧枝 主枝 叶片与未成熟果实颜色相近 采用基于阈值特征的传统图像处理方法无法进行有效区 分和分割 而卷积神经网络模型可以基于目标的颜色 形态和纹理特征检测出番茄植株的主枝和侧枝 本文以规模化种植的番茄植株为研究对象 为解决 传统图像处理方法难以将枝条从近色背景中有效分割的 问题和保证不同环境下识别的鲁棒性 采用 MobileNetv3 Large替换Mask R CNN模型的主干网络 农业信息与电气技术 第23期 梁喜凤等 基于改进Mask R CNN的番茄侧枝修剪点识别方法 113 并引入ECA Efficient Channel Attention 注意力机制 以此建立了一种基于改进Mask R CNN的番茄主枝与侧 枝的检测分割模型 利用同一枝条相邻掩膜约束合并被 分割成多段掩膜的单根枝条 通过侧枝修剪点在主枝附 近的特点识别修剪点 为番茄枝叶修剪机器人修剪点的 识别提供了技术支持 1 模型检测分割 1 1 建立数据集 图像数据采集于杭州传化来春农场 在2022年4 7 月期间拍摄晴天和阴天条件下番茄植株枝条800张图片 采样距离为300 600 mm 图片尺寸调整为960 704像 素 为了提升模型的泛化能力和鲁棒性 通过镜像 平 移 添加高斯噪声的方式进行数据增强 最终得到3 200 张图片 随机选择1 000张图片作为数据集 其中800张 为训练集 200张为测试集 番茄植株整株枝条形态不一 将植株上的所有枝条 视作一个整体进行标记不利于神经网络提取枝条的形状 特征 所以本文采用如图1所示的分段标记方式进行标 注 即将每根枝条视作一个单独的标记目标 由于侧枝 是修剪作业对象 主枝是作为后续修剪点识别的辅助对 象 所以选择侧枝和主枝作为标记训练对象 类别均为 branch 侧枝与主枝后续可通过边界框宽高比区分 图 1a 中番茄植株有3个标记对象 包括1个主枝和2个侧枝 分段标记后生成了与枝条对应的3段标记掩码 如图1b a 原图 a Original image b 枝条分段标记掩码 b Label of marking branch separately 图1 标记侧枝和主枝 Fig 1 Mark lateral branch and main branch 1 2 改进的Mask R CNN模型 Mask R CNN 19 是何凯明提出的一种实例分割网络 可用于目标检测与分割 但该网络参数过多 计算量大 因此本文提出了一种基于MobileNetv3 Large骨干网络和 ECA注意力机制的改进Mask R CNN模型 其网络结构 如图2所示 注 C2 C5代表MobileNetv3 Large网络特征图 P2 P5代表经特征金字塔网络FPN特征融合后的特征图 GAP代表全局平均池化 C代表通道数 H代 表高度 W代表宽度 单位为像素 Note C2 C5 represent MobileNetv3 Large feature maps P2 P5 represent feature maps by Feature Pyramid Network feature fusion GAP represents global average pooling C represents channel H represents height W represents width and the unit is pixel 图2 改进Mask R CNN模型结构 Fig 2 Improved Mask R CNN structure 首先将数据增强后的数据集输入到改进的Mask R CNN网络中 采用MobileNetv3 Large网络对输入的图 像进行特征提取 获取特征图C2 C3 C4 C5 然后将 C3和C4输入到ECA注意力模块中进行特征加强 并与 特征图C2 C5输入到特征金字塔网络FPN中对提取的 枝条特征进行融合 区域建议网络RPN Region Proposal Network 分别采用卷积核大小为1 1的卷积层对兴趣区 域进行分类和回归 获得枝条的初步候选区域 不同尺 寸的候选区域特征层通过兴趣区域对齐调整到相同尺 寸 最后输入到头部网络中 全连接层用于检测侧枝与 主枝的种类与边界框回归 全卷积网络用于检测侧枝与 主枝的掩膜 农业工程学报 http www tcsae org 2022年 114 1 2 1 主干网络MobileNetv3 Large 考虑枝叶修剪机器人在移动端场景中工作 本文采 用MobileNetv3 Large替代原始Mask R CNN模型骨干网 络ResNet50来降低模型复杂度 提升运行速度 MobileNetv3 Large是谷歌提出的1种轻量神经网络 模型 基本单元是深度可分离卷积 通过两个超参数 宽 度因子 和分辨率因子 来调节网络速度和准确度 20 21 该网络使用1个3 3的标准卷积和多个bneck层进行特 征提取 使用1 1的卷积代替全连接层 最后通过最大 池化层完成分类 MobileNetV3 Large结构如表1所示 表1 MobileNetV3 Large结构 Table 1 MobileNetV3 Large structure 输入 Input 操作 Operation exp size out SE NL s 2242 3 Conv2d 16 HS 2 1122 16 benck 3 3 16 16 RE 1 1122 16 benck 3 3 64 24 RE 2 562 24 benck 3 3 72 24 RE 1 562 24 benck 5 5 72 40 RE 2 282 40 benck 5 5 120 40 RE 1 282 40 benck 5 5 120 40 RE 1 282 40 benck 3 3 240 80 HS 2 142 80 benck 3 3 200 80 HS 1 142 80 benck 3 3 184 80 HS 1 142 80 benck 3 3 184 80 HS 1 142 80 benck 3 3 480 112 HS 1 142 112 benck 3 3 672 112 HS 1 142 112 benck 5 5 672 160 HS 2 72 160 benck 5 5 960 160 HS 1 72 160 benck 5 5 960 160 HS 1 72 160 Conv2d 1 1 960 HS 1 72 960 pool 7 7 1 12 960 Conv2d 1 1 NBN 1280 HS 1 12 1280 Conv2d 1 1 NBN K 1 注 Conv2d为普通卷积层 pool为池化层 benck为瓶颈层 exp size代表 膨胀系数 out代表输出特征图的通道数 SE表示是否引入注意力模块 NL表示激活函数的类型 HS代表h swish激活函数 RE代表RELU激活 函数 NBN为无批标准化 s表示步长 K表示目标类别数目 Note Conv2d is ordinary convolution layer pool is pooling layer benck is bottleneck layer exp size represents expansion factor out represents channel of output feature maps SE represents whether there is a Squeeze And Excite in that block NL represents the type of nonlinearity HS represents h swish RE represents ReLU NBN represents no batch normalization s represents stride K represents number of target category bneck层继承了MobileNet V1中的深度可分离卷积 与MobileNet V2 22 中的具有线性瓶颈的逆残差结构 部 分bneck块引入SE Squeeze And Excite 23 注意力机制 为了减少运算量和提升运行速度 使用h swish代替激活 函数swish 使用h sigmoid 代替激活函数sigmoid h sigmoid h swish的计算公式如下 ReLU6 min max 0 6 ReLU6 3 h swish X 6 ReLU6 3 h sigmoid 6 X XX XX 1 式中X为输入张量 ReLU6为激活函数ReLU6 1 2 2 ECA注意力机制 为了保证模型复杂度降低的同时仍具有较高的精 度 引入ECA注意力机制对MobileNetv3 Large提取的 特征图C3 C4中枝条特征进行加强 ECA是Wang等 24 在2020年提出的一种轻量级通道注 意力机制 能够有效捕捉局部跨通道交互信息 ECA原理 如图2中ECA具体结构部分 该机制不进行降维操作 直接进行全局平均池化 然后通过自适应选择的尺寸为k 的快速一维卷积来进行局部跨通道连接 之后使用sigmoid 函数获得每个通道权重 将原始输入特征与通道权重结合 获得具有通道注意力的特征 其中k的取值表示为 2odd odd log C bk t 2 式中 oddt 为离t最近的奇数 C为当前总通道数 和b 为固定值 通常分别取值为2和1 2 同一枝条掩膜合并 将图片输入到改进的Mask R CNN模型中进行预测 部分图片的预测结果中出现一根枝条被分割成多段掩膜 的情况 这会对后续枝条修剪点的识别产生干扰 因此 需要将属于同一枝条的多个掩膜合并为一个掩膜 2 1 同一枝条相邻掩膜约束分析 为了将属于同一枝条的多个掩膜合并为一个掩膜 本文选取测试集中被分割成多段掩膜的单根枝条进行分 析 确定同一枝条相邻掩膜约束条件 1 同一枝条相邻掩膜重叠约束条件 同一枝条相邻的两个掩膜间存在重叠区域 因此 对于任意两个掩膜A与B 若属于同一枝条相邻掩膜 需要满足约束条件 存在重叠区域 该条件等价为 255 25 5Ax yB xx y y 使 3 式中x y为像素点坐标 A x y 为掩膜A二值图象在 x y 处像素值 B x y 为掩膜B二值图象在 x y 处像素值 2 同一枝条相邻掩膜极点约束条件 将被分割成多段的侧枝和主枝上的掩膜简化为图3 侧枝和主枝上相邻掩膜极点约束条件有所不同 需要分 开讨论 注 MA1与MB1为一侧枝上的两个相邻掩膜 L1 R1分别为MA1的左右 极点 L2 R2分别为MB1的左右极点 V1为MA1与MB1重叠区域 MA2与MB2为一主枝上的两个相邻掩膜 T1 B1分别为MA2的上下极点 T2 B2分别为MB2的上下极点 V2为MA2与MB2重叠区域 Note MA1 and MB1 are two adjacent masks on a lateral branch L1 and R1 are left and right poles of MA1 respectively L2 and R2 are left and right poles of MB1 respectively and V1 is an overlapping area of MA1 and MB1 MA2 and MB2 are two adjacent masks on a main branch T1 and B1 are the upper and lower poles of MA2 respectively T2 and B2 are upper and lower poles of MB2 respectively and V2 is the overlapping area of MA2 and MB2 图3 同一枝条相邻掩膜简化 Fig 3 Simplify the same branch s adjacent masks 第23期 梁喜凤等 基于改进Mask R CNN的番茄侧枝修剪点识别方法 115 对于侧枝 由图3观察确定了同一枝条相邻掩膜满 足极点约束条件 K1 2 4 式中K1为L1 R1 L2 R2在重叠区域V1上的个数 对于主枝 同理确定了同一枝条相邻掩膜满足极点 约束条件 K2 2 5 式中K2为T1 B1 T2 B2在重叠区域V2上的个数 2 2 同一枝条掩膜合并 基于同一枝条相邻掩膜约束条件 本文提出了一种 同一枝条掩膜合并算法 其合并过程如图4所示 具体 步骤如下 图4 同一枝条掩膜合并过程 Fig 4 Merging process of masks that belong to same branch 1 将图片输入模型中 获取枝条边界框 掩膜二值 图相关信息 计算每个掩膜边框宽高比n 然后对掩膜进 行分类 通过对侧枝与主枝掩膜边界框进行统计 结果 如图5所示 所以确定分类依据为 当n 0 6 掩膜为 偏水平掩膜 侧枝掩膜 当n 0 6 掩膜为偏竖直掩膜 主枝掩膜 宽高比n表示为 1 2 1 2 x xn y y 6 式中x1 y1为边界框左上角顶点坐标 x2 y2为边界框右 下角顶点坐标 2 合并被分割多次的侧枝掩膜 将侧枝掩膜两两组 合且不重复 根据式 3 初步筛选出符合重叠约束条件 的组合及获取重叠区域 利用Opencv 25 查找初步筛选出 的组合内每张掩膜图的轮廓并获取左右极点坐标 计算4 个极点在重叠区域内的个数 根据式 4 筛选出符合极 点约束的掩膜组合并进行掩膜合并 掩膜合并表示为 1 merge maskm j j 7 式中merge为合并后掩膜 m为合并前同一枝条上掩膜 个数 maskj为合并前同一枝条上第j个掩膜 3 为合并后的侧枝掩膜生成新边界框 设合并前同 一枝条上的第g g 1 2 m 个掩膜边界框的左上角顶点 坐标 右下角顶点坐标分别为xg1 yg1 xg2 yg2 则新边 界框生成方式表示为 a 侧枝 a Lateral branch b 主枝 b Main branch 图5 主枝与侧枝宽高比 Fig 5 Aspect ratio of lateral branch and main branch 农业工程学报 http www tcsae org 2022年 116 new1 11 21 1 new1 11 21 1 new2 12 22 2 new2 12 22 2 min min max max m m m m x x x x y y y y x x x x y y y y 8 式中xnew1 ynew1 xnew2 ynew2依次为新边界框的左上角顶 点横纵坐标 右下角顶点横纵坐标 4 合并被分割多次的主枝掩膜和生成新边界框 主 枝掩膜合并实现方式与步骤2 类似 但是计算对象为初 步筛选出的组合内掩膜上下极点在重叠区域中的个数 然后对满足式 5 的掩膜组合并进行掩膜合并 主枝新 边界框生成式同上式 8 3 枝条修剪点识别 为确定修剪点的坐标位置 本文提出了一种基于主 枝辅助的修剪点识别方法 首先根据侧枝修剪点靠近主 枝的特点确定修剪点在侧枝的左端还是右端 然后在修 剪点所在端进行修剪点坐标的计算 侧枝有左端点和右端点 修剪侧枝哪端取决于哪个 端点在主枝附近范围中 将模型枝条检测结果简化为 图 6 对于Mask1 右端点D1在主枝附近范围F内 确 定修剪点J1在Mask1的右端部分 对于Mask2 左端点 E2在范围F内 确定修剪点J2在Mask2的左端部分 为了确保识别出更多修剪点 结合侧枝掩膜分割结果 主枝附近范围F为 F X1 70 X2 70 9 式中X1 X2分别为主枝掩膜的边界框Box3左上角顶点 右下角顶点横坐标 注 Mask1 Mask2为侧枝的分割掩膜 Edge1 Edge2分别为对应边缘 Box1 Box2分别为对应边界框 J1 J2分别为对应修剪点 D1 E1为Mask1 的左右端点 D2 E2为Mask2的左右端点 S1 S2为边缘Edge1上的2个 边缘点 位于D1左侧且水平方向上与D1间距15像素 S3 S4为边缘Edge2 上的2个边缘点 位于E2右侧且水平方向与E2间距距离15像素 Note Mask1 and Mask2 are segmentation masks of lateral branches Edge1 and Edge2 are corresponding edges Box1 and Box2 are corresponding bounding boxes and J1 and J2 are corresponding pruning points D1 and E1 are left and right end points of Mask1 D2 and E2 are left and right end points of Mask2 S1 and S2 are two edge points on Edge1 which are located on the left side of D1 and are 15 pixels apart from D1 in the horizontal direction S3 and S4 are two edge points on Edge2 which are located on the right side of E2 and are 15 pixels apart from E2 in the horizontal direction 图6 模型枝条检测结果简化 Fig 6 Simplify model detection result of branch 修剪点具体位置的确定 若修剪点在侧枝掩膜右端 如图6中点J1 修剪点坐标计算公式为 1 20 1 20 2 2 s ss t tt 10 式中s0 t0为修剪点J1的坐标 s1 t1为边缘点S1坐标 s2 t2为边缘点S2坐标 若修剪点在侧枝掩膜左端 如图6中点J2 修剪点 坐标计算公式为 4 53 4 53 2 2 s ss t tt 11 式中s3 t3为修剪点J2的坐标 s4 t4为边缘点S3坐标 s5 t5为边缘点S4坐标 根据上面原理 基于主枝辅助的修剪点识别过程如 图7所示 具体步骤如下 图7 修剪点识别过程 Fig 7 Pruning point recognition process 首先 按照式 9 计算主枝附近修剪点横坐标可能 存在的范围 然后 对每个侧枝掩膜二值图进行边缘提 取 边缘为黑色 按列获取侧枝轮廓边缘点坐标 第1 个边缘点为侧枝左端端点 最后1个边缘点为侧枝右端 端点 其中边缘点坐标满足式 12 f x y 0 12 式中f x y 表示掩膜边缘图中坐标为 x y 像素点的像素值 然后 通过判断左端端点和右端端点的横坐标是否 在范围F中 确定修剪点位于枝条哪端 最后 若修剪 点在侧枝右端 按照式 10 计算修剪点的坐标 若修 剪点在侧枝左端 按照式 11 计算修剪点的坐标 第23期 梁喜凤等 基于改进Mask R CNN的番茄侧枝修剪点识别方法 117 4 结果与分析 4 1 模型训练 本文试验环境为 Intel i7 10875H的CPU NVIDIA GeForce RTX 2060的GPU 运行内存为16GB 软件环境 为Windows10 深度学习框架Tensorflow1 16 模型训练 方式为迁移学习 训练初始学习率为0 001 权值衰减系 数为0 000 1 动量因子为0 9 共训练200个epoch 4 2 模型对主枝与侧枝识别评估 采用以ResNet50为主干的原始Mask R CNN模型 以MobileNetv3 Large为主干的Mask R CNN 模型和基 于MobileNetv3 Large 并添加ECA注意力机制的改进 Mask R CNN模型进行对比试验 评价模型对主枝与侧枝 识别效果的指标主要包括召回率 R 和精确率 P 各评价指标计算为 TP 100 TP FNR 13 TP 100 TP FPP 14 式中TP表示正样本预测为正的个数 FP表示负样本预 测为正的个数 FN表示正样本预测为负的个数 TN表 示负样本预测为负的个数 模型运行速度用单张图片平均分割时间表示 最终 得到不同模型下的侧枝和主枝检测分割效果和对比结果 如表2和图8所示 表2 不同模型检测对比结果 Table 2 Detection comparison result of different models 模型 Models 主干网络 Backbone network 注意力机制 Attention mechanism 主干网络参数量 Backbone network Parameters M 召回率 Recall 精确率 Precision 平均分割时间 Average segmentation time s Mask R CNN ResNet50 25 6 87 9 93 3 0 357 Mask R CNN MobileNetv3 Large 5 4 85 8 85 6 0 304 改进Mask R CNN Improved Mask R CNN MobileNetv3 Large ECA 5 4 91 2 88 6 0 319 测试1 Test1 测试2 Test2 测试3 Test3 测试4 Test4 a 原图 a Original image b Mask R CNN模型 b Mask R CNN model c Mask R CNN 模型 c Mask R CNN model d 改进Mask R CNN模型 d Improved Mask R CNN model 图8 不同模型检测分割 Fig 8 Detection and segmentation in different models 由表2和图8可知 原始Mask R CNN的召回率 精确率和平均分割时间分别为87 9 93 3 和0 357 s 主干网络MobileNetv3 Large 参数量仅为ResNet50 的 21 1 以MobileNetv3 Large为主干的Mask R CNN 模 型相比于以ResNet50为主干的原始Mask R CNN模型召 回率 精确率和平均分割时间分别下降2 1 7 7个百分 点和0 053 s 说明仅将原始Mask R CNN模型主干 ResNet50替换为MobileNetv3 Large可以降低模型参数和 提升模型的运行速度 但是模型召回率和精确率均有下 降会影响枝条检测 在改进主干网络的基础上进一步添 农业工程学报 http www tcsae org 2022年 118 加ECA注意力机制最终得到改进Mask R CNN模型 改 进Mask R CNN模型相比于Mask R CNN 模型召回率 精确率和平均分割时间分别增加5 4 3 0 个百分点和 0 015 s 说明ECA注意力机制的添加可以改善Mask R CNN 模型仅改进主干网络造成的召回率和精确率下 降的问题 改进Mask R CNN的召回率 精确率和平均 分割时间分别为91 2 88 6 和0 319 s 与原始Mask R CNN相比 改进Mask R CNN模型平均分割时间降低 了0 038 s 召回率提高3 3个百分点 召回率的提升使改 进Mask R CNN模型较原始Mask R CNN检测出更多的 侧枝 降低枝条漏识别情况的发生 平均分割时间的降 低使模型能更快检测枝条 总体上 与原始Mask R CNN 相比 改进Mask R CNN在降低模型参数和速度提升的 同时对枝条仍具备较好的检测性能 能够更快 更多检 测到枝条 4 3 合并效果评估 为评估单根枝条是否合并成功 即单根枝条分割掩 膜数量是否为1 本文随机选取被模型分割成多段掩膜的 侧枝和主枝 采用同一枝条掩膜合并算法合并掩膜 合 并结果和效果如表3和图9 表3 同一枝条掩膜合并结果 Table 3 Result of merging masks that belong to the same branch 枝条种类 Branch category 枝条数量 Branch number N1 N2 N3 侧枝Lateral branch 32 67 37 26 主枝Main branch 26 52 28 24 侧枝 主枝 Lateral branch and main branch 58 119 65 50 注 N1 N2 N3分别表示合并前枝条掩膜 合并后枝条掩膜和合并后仅有1 个掩膜的枝条总数 Note N 1 N2 N3 are total number of branch masks before merging branch masks after merging and branches with only one mask after merging 图9 掩膜合并前后对比 Fig 9 Masks before and after the merger comparison 由表3可知 利用掩膜合并算法对被分割成多段掩 膜的侧枝和主枝进行合并 侧枝 主枝掩膜合并成功率 分别为81 3 和92 3 侧枝合并成功率比主枝合并成功 率低主要是因为侧枝的形态更具多样性 其曲状特征更明 显 侧枝与主枝掩膜平均合并成功率为86 2 由图9 可知 采用同一枝条掩膜合并算法合并效果较好 可有 效避免后续修剪点识别时单根枝条因被分割成多段掩膜 而造成的存在多个修剪点的情况 4 4 修剪点识别评估 机器人末端执行器修剪作业方式如图10a 考虑到机器 人末端执行器的尺寸和容错性 确定了修剪点是否识别准 确的评价标准 1 修剪点在侧枝上 2 修剪点水平方向 上距离主枝95像素以内 满足以上2个标准的修剪点视为 识别准确 以图10b为例 Z3识别准确 Z1 Z2识别错误 注 Z1 Z2和Z3为侧枝修剪点 Note Z1 Z2 and Z3 are lateral branch pruning points 图10 修剪作业与评估 Fig 10 Operation and evaluation of pruning 第23期 梁喜凤等 基于改进Mask R CNN的番茄侧枝修剪点识别方法 119 随机选取测试集中图片进行修剪点识别 结果如表4 和图11 表4 侧枝修剪点识别结果 Table 4 Result of lateral branch pruning point recognition 环境 Environment 实际数目 Actual number 准确识别数目 Accurate identification number 晴天Sunny day 126 110 阴天Cloudy 90 69 晴天 阴天 Sunny and cloudy days 216 179 由表4和图11可知 晴天和阴天条件下修剪点识别 成功率分别为87 3 和76 7 修剪点未能成功识别主要 原因为 1 部分侧枝分割掩膜与侧枝发生偏移 导致 识别出的修剪点不在侧枝上 见图11b中样例1与样例4 2 背景中的其余目标误识别为侧枝 导致修剪点在栏线 等其余目标中 见图11b中样例2 3 侧枝遮挡过于严 重 导致侧枝被误判不在主枝附近而无法识别 见图11b 中样例3 4 被分割成多段掩膜的侧枝掩膜合并失败 导致单根侧枝有多个修剪点 见图11b中样例2 针对修 剪点识别失败的情况在未来可进一步研究 阴天条件下修剪点平均识别成功率较晴天低 这是 因为阴天条件下受光照强度影响枝条特征不明显 针对 光照较弱时识别成功率下降的问题未来可从光源选择 算法改进等角度进一步研究 晴天和阴天条件下修剪点 平均识别成功率为82 9 可为番茄植株的侧枝修剪自动 化作业提供技术依据 成功样例 Successful samples 失败样例 False samples a 样例1 阴天 a Sample 1 Cloudy day b 样例2 阴天 b Sample 2 Cloudy day c 样例3 晴天 c Sample 3 Sunny day d 样例4 晴天 d Sample 4 Sunny day 注 红点为修剪点 红色框代表识别失败 Note Red points represent pruning points Red boxes represent false recognition 图11 修剪点识别 Fig 11 Pruning point recognition 5 结 论 本文基于MobileNetv3 Large和ECA注意力机制提 出了一种用于枝条检测分割的改进Mask R CNN的模型 以保证模型降低复杂度的同时具有较好的检测性能 采 用同一枝条掩膜合并算法以解决部分单根枝条被分割成 多段掩膜的问题 最后提出一种基于主枝辅助的修剪点 识别方法确定修剪点坐标 1 原始Mask R CNN的召回率 精确率和平均分割 时间分别为87 9 93 3 和0 357 s 改进Mask R CNN 的召回率 精确率和平均分割时间分别为91 2 88 6 和0 319 s 表明改进Mask R CNN在速度提升的同时对枝 条仍具备较好的检测性能 实现更快 更多的检测枝条 2 采用同一枝条掩膜合并算法合并被分割多次的主 枝与侧枝 由于侧枝形态曲状特征更明显 主枝合并成 功率高于侧枝 侧枝与主枝平均合并成功率为86 2 表 明该合并算法可有效解决部分枝条被多次分割的情况 3 采用基于主枝辅助的修剪点识别方法 先确定修 剪点所在端 然后确定靠近修剪端端点的中心点作为侧 枝的修剪点 对晴天和阴天条件下的图片进行修剪点识 别测试 阴天条件下修剪点平均识别成功率较晴天低 修剪点平均识别准确率为82 9 可为番茄枝叶修剪机器 人研发提供
展开阅读全文