基于显著性特征的蝴蝶兰组培苗夹取点检测方法
2023-10-08王家豪赵明雪徐大伟
苑 朝,张 鑫,王家豪,赵明雪,徐大伟
(华北电力大学自动化系,保定 071000)
0 引言
蝴蝶兰为兰科蝴蝶兰属植物,其花型奇特,姿态优雅,素有“兰花皇后”之美誉,市场需求量越来越大。蝴蝶兰的传统繁殖方式为分株繁殖,但繁殖系数低、速度慢[1-2],不能满足日益增长的市场需求,组织培养作为植物无性繁殖的一种有效方法,其能够有效提高植物个体成活率并减少病毒传播范围,提高产量。因此,组培苗快速繁育技术开始广泛应用于蝴蝶兰培育[3]。
蝴蝶兰组培苗的扩繁流程较为复杂,主要分为4 个阶段,3 次移植。第1 次移植是将第1 个阶段母瓶中的蝴蝶兰幼苗从基部将芽团分开并切掉大主芽的顶端及叶片,移植到新的母瓶中进行第2 个阶段培养;第2 次移植是将第2 个阶段母瓶中的多个芽团分开成单芽,并将合格单芽移植入中母瓶中进行第3 阶段培养;第3 次移植是将中母瓶中的幼苗大于1 cm 的根全部切除,并切掉多余老叶片,留下新叶片,将切割好的蝴蝶兰幼苗移植进入子母瓶中;最后进行第4 个阶段室外培养。每次移植都需要将组培苗从培养瓶中取出,并进行剪切处理后再种入新的培养瓶。
然而,目前大部分的组培苗快速繁育工作主要由人工完成,存在工作强度大、重复性高、效率低下等问题[4-6]。在中国城镇化加快、农业领域从业人员大大减少、人工成本急剧上升的背景下,亟需发展组培苗自动化快速繁育技术,以解决人工不足、效率低下、生产成本高等问题,促进农业发展。
蝴蝶兰种苗组织培养过程中自动化移植操作关键在于能够准确快速的定位,以便机器人进行自动移植。蝴蝶兰组织快速繁育过程的每个阶段组培苗具有不同图像特征[7],因此给组培苗夹取点定位带来了困难。由于深度学习神经网络具有强大的特征提取与学习能力,常用于农作物目标检测,如YOLO 系列、Mask R-CNN 等算法被应用于红花丝[8]、苹果[9-12]、香蕉[13]、芒果[14]、荔枝[15]、番茄[16-18]的检测。XIAO 等[19]使用轻量级MobileNets 网络对蝴蝶兰组培苗的各阶段图像进行了分类,成功率达98.1%;李威等[20]采用YOLOv4 识别网络对中耕期幼苗进行了识别和定位;马翠花等[21]通过基于显著性检测与改进Hough 变换对番茄进行了检测,具有较好的普适性。然而,将显著性检测算法应用到组培苗夹取中的相关研究较少。
针对快速繁育过程各阶段蝴蝶兰种苗形态不同导致的夹取点识别困难问题,本文旨在分析夹取蝴蝶兰组培苗时需要满足的要求,并提出一种基于显著性检测的方法以定位夹取点,完成蝴蝶兰种苗移植。该方法首先通过显著性检测网络得到蝴蝶兰组培苗的显著性图像,然后对图像进行形态学分析,自动计算出各阶段组培苗的夹取点,最后使用机器人完成种苗培育各阶段移植任务。在组培苗图像显著性检测过程中,该方法仅需对图像中组培苗与背景做二分类,因此模型对语义信息不敏感,不需要种类丰富的样本进行训练,从而能够更快速高效完成组培苗的检测,有效完成蝴蝶兰组织培养中各个阶段的组培苗移植任务。
1 种苗移植方法
1.1 整体流程
组培苗移植系统由视觉检测模块、夹取点定位模块和机械臂控制模块构成,如图1 所示。该系统通过工业相机拍摄组培苗图像,并通过深度学习算法对其进行处理,得到组培苗与背景分割的显著性图像。然后,通过图像处理获取组培苗的待夹取点像素坐标,通过手眼标定算法将像素坐标转化为机械臂基坐标系下的世界坐标后再将其传输给机械臂,机械臂控制末端夹取装置完成组培苗移植。
图1 蝴蝶兰组培苗移植整体流程Fig.1 Overall flow of phalaenopsis tissue-cultured seedlings transplantation
1.2 视觉检测算法
由于本文的目标是针对蝴蝶兰组培苗进行夹取移植工作,在培育过程中,蝴蝶兰组培苗与背景区别明显。因此,通过将蝴蝶兰组培苗与背景图像分离完成二分类显著性检测,再处理显著性检测的结果以获得最终的夹取目标点。U2-Net[22]是一种高效的应用于图像显著性检测的深度网络。由于该网络参数量较大,所以本文在U2-Net的编码解码阶段均加入了MBConv 模块对U2-Net 进行改进,降低了模型的权重大小,提高了检测速度;本文在处理U2-Net 的基模块RSU 模块时,加入了深度可分离卷积(depth-wise separable convolutions),以进一步减少模型的参数量,增强了模型的可移植性,使其易于部署。
1.2.1 MBConv 模块
MBConv(mobile inverted bottleneck convolution)[23]是一种包含深度可分离卷积的倒置线性瓶颈层,其中加入了SENet 注意力机制模块[24],能够加强图像不同通道中的前景信息,并压缩背景信息。MBConv 模块的结构如图2 所示。从左至右,MBConv 模块包含以下部分:第1 部分是一个1×1 普通卷积模块,起到将特征图升维的作用,卷积核个数是输入特征图通道数的n(n∈{1,6})倍,n=1 时,该卷积不参与运算。第2 部分是一个k×k的深度可分离卷积模块,k通常取3 或5。第3 部分是一个SE 注意力模块,SE 由一个全局平均池化(压缩),两个全连接层(激励)构成;全局平均池化将H×W×C(高×宽×通道数)的特征图压缩至1×1×C;第1个全连接层的节点个数为MBConv模块的输入特征图的通道数的1/4,且使用Swish 激活函数,Swish 激活函数是一个平滑的、非单调的函数,常被用于深度网络,能够使网络稀疏化,减少参数间的耦合关系,能够一定程度缓解过拟合问题;第2 个全连接层的节点个数等于逐通道卷积的输出特征图的通道数,且使用Sigmoid 激活函数,得到输入特征图的各个通道的权重系数,后一个1×1 卷积将压缩后的特征图进行升维操作,并通过残差结构与输入特征图进行融合。第3 部分是一个1×1 普通卷积模块,起到将特征图降维的作用。最后一个部分是Dropout 层,起到减小模型参数量的作用。
图2 MBConv 模块结构图Fig.2 MBConv module structure diagram
1.2.2 改进型U2-Net 算法
大多数显著性检测算法使用了图像分类网络的骨干网络。这些带有骨干网络的算法的准确率很高,但往往过于复杂,因为其包含很多复杂的额外特征模块。此外,这些骨干网络最初是为图像分类任务而设计,主要用于提取图像中的语义信息。然而显著性检测任务的重点是提取图像的局部信息和全局对比信息。U2-Net 采用了一种两级嵌套的U 形结构[25],不需要使用任何预训练的骨干网络。该结构中的基本模块RSU 模块能够在不降低图像分辨率的情况下提取图像的多尺度特征,并获得良好的效果。但是,使用大量的U 形块以及残差的堆叠会增大计算量,并导致模型参数量增加。为实现组培苗夹取点提取的高效准确,需要对模型进行轻量化。本文提出了一种MBU2-Net+网络结构,将深度可分离卷积应用到每一个RSU 模块中,该模块称为DSCRSU-n,为了增加模型的感受野,在DSCRSU-n模块中使用扩张卷积(dilated convolution),该模块称为DSCRSU-nF,DSCRSU结构减少了计算量和参数量,使网络更加轻量化、更容易部署,结构如图3 所示。为了增加网络在处理各种尺度和复杂度特征时的表达能力,提高泛化性,在U2-Net的输入输出阶段加入了MBConv 模块,MBU2-Net+网络结构由多个DSCRSU-n或DSCRSU-nF 模块组成,如图4所示。在本文中,en4、de4 层的扩张卷积参数为2,en5、de5 的扩张参数为4,en6 的扩张参数为8。
图3 DSCRSU-n 与DSCRSU-nF 模块结构图Fig.3 DSCRSU-n and DSCRSU-nF module structure diagram
1.3 夹点定位算法
为了移植蝴蝶兰组织培养苗,需要对进入视觉传感器视野的蝴蝶兰组培苗进行准确的待夹取点计算。常用的目标检测算法计算待夹取点的坐标是使用目标检测框的中点作为待夹取点[26],或者对目标的各个部分进行检测,如根、茎、叶,再对检测图像进行处理得到夹取点坐标。然而,在蝴蝶兰组织培养过程中母瓶到子母瓶的移植阶段,理想夹取点范围如图5 所示。使用上述算法得到的夹取点坐标易不满足所在区域要求,并且上述算法在数据集种类不够(仅中母瓶到子母瓶移植阶段)时,夹取点提取的准确度较低,导致种夹取过程对组培苗造成损伤或因为夹取点提取错误导致移植失败。由于实际组培苗培育过程中,蝴蝶兰组培苗各阶段的背景信息简单且相对单一,所以可以通过显著检测网络将组培苗和背景分割,再对蝴蝶兰组培苗的显著性图进行分析得到夹取点。本文对显著性检测的二值化图进行处理,并得到组培苗图像处理过后的骨架图。通过对组培苗的结构进行分析,发现各阶段组培苗的夹取点常位于根茎的交叉处,而在骨架图上,该处是两个交叉点位置的中心。本文利用多种图像处理算法提取根茎的交叉位置中心作为待夹取点,使机械臂能够在不伤害蝴蝶兰组培苗的情况下,成功完成对各个阶段蝴蝶兰组培苗的移植。
图5 夹取点区域及夹取角度Fig.5 Grasping point area and grab angle
对蝴蝶兰组培苗结构进行分析得知,在根茎叶的连接处,所检测到的骨架图交叉点最多,而夹取点常位于根茎、茎叶连接点之间的茎处。通过这种分析,可确定骨架线交点的集合C(x,y)中的点为备选夹取点。为解决集合C中的点分布过于分散的问题,使用K 近邻(Knearest neighbor,KNN)算法对集合 的每个点p(xi,yi)进行聚类,当以p(xi,yi)为圆心,m个像素为半径的圆内的备选点个数小于j时,则将该点从备选点集合C(x,y)中删除。遍历结束后,通过随机抽样一致(random sample consensus,RANSAC)算法剔除掉噪声点并拟合夹具中心线投影,然后求取所有备选点的中点,即为待夹取点Co(xo,yo),并得到拟合中心线投影直线的斜率k,对斜率求反三角函数得到镊子中心线投影与水平方向夹角θ。
夹取点提取的流程如下:相机拍摄组培苗图像,首先对移植条件进行判断,在满足移植条件的情况下,将拍摄的组培苗图像送入显著性检测网络,得到显著性图像。若不满足移植条件,则持续拍摄图像直至满足条件。然后对显著性图像进行一系列滤波、降噪、图像增强,再使用ZHANG-SUEN[27]图像细化算法,得到组培苗的骨架图,对骨架图进行预处理后,再进行交点检测,得到骨架图中所有骨架线交点的集合C,对该集合使用KNN算法进行遍历,将位于图像边缘的交点剔除,然后更新集合C,再对C通过RANSAC 数据筛选并拟合夹具中心线投影,得到拟合中心线投影并计算更新后的集合C的中点(xo,yo)即待夹取点,以及直线斜率k,整体流程如图6 所示。
图6 夹取点定位流程Fig.6 Grasping point localization process
2 试验系统搭建
2.1 试验平台搭建
本文采用海康MV-CE060-10UC 彩色工业相机采集蝴蝶兰组培苗的图像。相机与机械臂以眼在手外的方式进行操作。本文使用ZHANG'S 标定法[28]标定相机参数,并通过眼在手外的手眼标定获得图像坐标系到机械臂基坐标系的转换矩阵。利用式(1)将相机坐标系下的像素点转化为机械臂基坐标下的空间坐标。
式中X、Y、Z为机械臂基坐标系下的x、y、z坐标,mm;Px、Py为相机坐标系下目标的像素坐标。
本文试验采用的机械臂为JAKA Zu3 六自由度协作机械臂,最大负载为3 kg,重复定位精度低于±0.03 mm,最大工作半径为639 mm。由于蝴蝶兰组培苗的结构特别且脆弱,需要将其移植进入培养皿中,当前常见的机械臂末端执行机构并不能完成当前任务,对此,本文设计了一种蝴蝶兰组培苗的移植末端。末端夹具与试验平台如图7 所示。夹具使用的镊子长为30 cm,材质为不锈钢,由电磁推杆控制开合。电磁推杆的推力为20 N。除电磁推杆和镊子外,本末端均为3D 打印制作,材料为ABS。末端连接件连接机械臂和工具,所有工具均布置在底盘上滑块能够调整镊子的位置,电磁推杆能够控制镊子开合。当检测到蝴蝶兰组培苗的夹取点时,控制机械臂使组培苗夹取点位于镊子中心,驱动电磁推杆使镊子闭合以完成夹取。
图7 末端夹具与试验平台Fig.7 End tool and experimental platform
2.2 数据采集与模型训练
数据集采用的是蝴蝶兰组培苗培育阶段中,从中母瓶到子母瓶切割组培苗前的图像,图像分辨率为3 072×2 048 像素,如图8 所示。由于蝴蝶兰花卉昂贵,且在培育过程中极易发生病变,影响其生长,因此数据集仅限于单一阶段的蝴蝶兰组培苗,导致数据集较小。通过图像增强,最终得到包含986 张图像的数据集。本文采用9:1 的训练集验证集比例对总体数据集进行随机抽样。数据集中的图像均包含清晰前景,即蝴蝶兰组培苗,且背景相对简单。本文使用Labelimg 工具对蝴蝶兰组培苗与背景进行分割,并将图片手动分成Mask 和Images 两部分。在视觉模型训练方面,本文使用Ubuntu18.04 操作系 统,64GB 内 存,Nvidia GeForceRTX3090 显 卡,pytorch1.9.1,CUDA11.1 环境。模型测试与机械臂夹取试验在Windows 操作系统下进行。在训练过程中,每个图像先被垂直翻转并裁剪为640×640 像素,使用Adam优化器来训练网络,初始学习率为0.01,所有模型均训练了360 个轮次。
图8 部分蝴蝶兰组培苗数据集Fig.8 Partial phalaenopsis seedling data set
2.3 算法验证
为了验证本算法的实际效果,选取4 组共112 颗蝴蝶兰组培苗进行夹取点提取试验。满足夹取点识别范围在主茎范围内条件,则可认为夹取点提取成功。采用室内试验的方式,相机采用眼在手外的安装方式,手动将蝴蝶兰组培苗放入相机视野内,每次间隔5 s,共计放入112 颗蝴蝶兰组培苗。
将相机所拍摄的原始图像传入MBU2-Net+模型中,对待移植的蝴蝶兰组培苗进行夹取试验,计算夹取点提取成功率,成功率S的计算式为
式中Cs为成功提取夹点组培苗数;Ca为总蝴蝶兰组培苗数。
3 结果与分析
3.1 模型训练结果
模型的性能指标由平均绝对误差(mean absolute error)和Fβ来体现。平均绝对误差是一种线性分数,它表示预测值和观测值之间的绝对误差的平均值。Fβ基于查准率(precision)、查全率(recall)的加权调和平均定义,能够表达出对查准率和查全率的不同侧重,用来综合评价查准率、查重率。平均绝对误差、Fβ的计算式如下:
式中r、c分别为特征图的行数、列数;P为预测概率图;G为图像标签。
式中Pr为查准率;R为查全率;β为常系数,当β=1 时为F1,β>1 时查全率有更大影响,0<β<1 时查准率有更大影响。
每秒帧数(frames per second,FPS)是测量用于保存、显示动态视频的信息数量。每秒钟帧数越高,所显示的动作就会越流畅。通常,为了保证画面动作流畅,需要达到30 帧/s。由于蝴蝶兰组培苗需要实时移植,因此该指标非常关键。
本文对U2-Net、U2-Net+、Res2Net-PoolNet 模型与本文提出的改进的MBU2-Net、MBU2-Net+模型分别进行了360 个轮次的训练。输入图像的分辨率为3 072×2 048 像素,batch size 为4,训练结果对比如表1 所示。
表1 不同模型性能对比Table 1 Performance comparison of different models
因为在实际的工业培育过程中,蝴蝶兰组培苗和背景有较为明显的区分度,所以蝴蝶兰数据集背景简单,在这种情况下,显著性检测任务并不困难,各类算法的性能指标较为接近。通过对比表1 中的5 种网络,其中使用骨干网络的Res2Net-PoolNet 的平均绝对误差为0.004,U2-Net+、MBU2-Net、MBU2-Net+的平均绝对误差均在0.002 左右,平均绝对误差最大差值为0.02,这是因为训练所使用的数据集较小并且背景并不复杂,各种网络的平均绝对误差指标差距不明显,但是在加入改进模块后,MBU2-Net、MBU2-Net+的最大F1分数较U2-Net、U2-Net+模型有一定提升,均提高到0.993。经过改进的MBU2-Net、MBU2-Net+虽然训练时间不是最低的,但是权重大小相比于U2-Net、U2-Net+有较大提升,其中MBU2-Net+权重大小仅为2.37 MB,更便于实际工业过程中的模型部署。此外,MBU2-Net+的帧率对比U2-Net+提升了5帧,大于30 帧,满足蝴蝶兰组培苗移植过程的实时性要求。综上所述,本文提出的MBU2-Net+在保证精度的同时推理速度更快,适用于蝴蝶兰组培苗夹取点的检测。
3.2 蝴蝶兰组培苗夹点提取试验结果
通过对112 颗蝴蝶兰组培苗进行4 组组培苗夹取点提取试验,结果见表2、图9。平均夹取点检测成功率达到85.71%。导致夹取点提取失败的原因是部分组培苗的老根老叶较多,骨架图得到的交点在根或叶处更密集。而第2 组组培苗夹取点提取的成功率低于平均水平是由于第二组有部分组培苗图像过曝,导致算法并未完整提取到显著性图像,从而导致夹取点计算错误。
表2 组培苗夹点提取试验结果Table 2 Results of tissue-cultured seedlings pinch test extracted
图9 部分试验结果Fig.9 Partial experimental results
3.3 夹点提取算法的适应性验证结果
为证明本文提出方法的普适性,本试验选取了蝴蝶兰组织培养过程中不同时期的组培苗,选择母瓶到中母瓶时期蝴蝶兰组培苗6 株,中母瓶到子母阶段2 株。制作了虚拟样本2 株模拟其他类型组培苗进行了试验,试验结果如表3、图10 所示。
表3 夹取点提取适应性试验结果Table 3 Result of pinch point extraction universality test
从表3 夹取点提取适应性试验结果可知,母瓶-中母瓶时期以及中母瓶-子母瓶的蝴蝶兰组培苗的夹取点提取成功率总体为81.82%,可以证明本文提出的算法在仅有中母瓶-子母瓶时期的未经过切除老叶的蝴蝶兰组培苗数据集的情况下,能够适用于蝴蝶兰组织培养全过程的蝴蝶兰组织培养苗的夹取点提取。从表3 的虚拟样本的夹取点识别成功率还可以看出本文提出的算法对于类似蝴蝶兰结构的组织培养苗的夹取点提取有一定的泛化性。
4 结论
1)本文针对蝴蝶兰组培苗培育过程中,部分图像识别算法对各阶段不同特征的组培苗识别适应性差的问题,提出了一种基于显著性特征的蝴蝶兰组培苗夹取点提取方法。通过组培苗夹点提取试验结果分析,使用本文构建的MBU2-Net+网络模型能够高效的提取组培苗夹取点,4 组共112 颗组培苗的平均提取成功率为85.71%;
2)对本文构建的MBU2-Net+网络进行夹点提取适应性试验。对于试验中所处的另外三种类型的组培苗,总体成功率为81.82%,结果表明,构建的MBU2-Net+网络具有一定的泛化性能;
3)通过引入MBConv 与深度可分离卷积对U2-Net+进行改进,试验与Res2Net-PoolNet、U2-Net、U2-Net+等网络对比,MBU2-Net+网络在准确率没有损失的情况下,有效减小了的模型参数量,并提高了检测速度,检测速度为33.99 帧/s;
对于形态各异的组培苗,仅使用2 维识别定位难免出现误差造成机械臂移植失败。下一步研究中,拟采用3 维识别定位的方案,提升组培苗移植的成功率。