基于改进YOLOv4的草莓果柄叶识别与定位*

2023-10-09 12:11黄家才汪涛张铎唐安高芳征
中国农机化学报 2023年9期
关键词:果柄双目果肉

黄家才,汪涛,张铎,唐安,高芳征

(南京工程学院工业中心,南京市,211167)

0 引言

草莓作为最早一批引入中国的水果,国内现有产地面积已经突破一百多千公顷,产量更是达到百万吨量级,我国已然成为全国最大的草莓生产国,满足国内草莓消费需求的同时还出口给周边国家[1]。随着全世界对草莓需求的不断增加,国内草莓产地面积也随之逐步增加,但是成熟草莓的采摘工作仍然依靠人工[2]。困扰草莓采摘机器人发展的主要因素在于作业环境的复杂度。准确识别草莓对象较为困难,同时由于草莓果肉娇嫩易损的特点,采摘机器末端的力度极难把控,会造成果肉损伤或采摘失败的结果[3]。

近年来,基于草莓采摘机械化需求的增加,科研工作者在各方面对草莓机器人进行了深入研究[4-8]。谢志勇等[5]提出了一种基于RGB彩色模型和CIE-XYZ颜色模型的草莓图像色调分割方法,并对分割后的图像进行形态学处理,如膨胀、腐蚀等,消除了孔洞现象。赵利平等[6]在图像处理的基础上,提出一种融合GA的三点定位算法,解决了夜间工作环境下苹果定位困难的问题。张继成等[7]利用神经网络中的残差网络,通过对草莓多角度的拍摄,提取丰富特征从而降低复杂背景的影响。李辉熠等[8]沿着机器学习的设计思路,构建具有西红柿特征的分类器,提出了一种基于多角度图像特征的西红柿识别方法。

上述工作都是在相对简单的采摘环境下进行的研究,在复杂的实际场景中应用效果不明显,鲁棒性相对较差[9-10],本文采用神经网络作为草莓识别手段,选择自主制作真实环境下草莓养殖的数据集用以训练,针对复杂环境搭建了合适的训练模型;同时,针对草莓果肉易损的特点,在识别的基础上提出了一种基于图像处理方案的果柄识别方法;最后融合双目测距结果以及测距传感器数据,得到果柄的三维坐标。

1 系统研究流程

草莓果柄叶识别流程如图1所示。

图1 系统流程图Fig. 1 System flowchart

首先对收集到的图片进行处理,制作针对实际复杂采摘环境下的数据集;然后送入轻量化后的神经网络训练测试以达到良好的预测模型;之后利用该模型预测实际场景下的草莓位置;接着提取神经网络预测到的草莓位置区域,并对其通过图像处理的手段分割出果肉与果柄叶的区域;随后在果柄叶区域的基础上找到合适的采摘点位置;最后通过相机与测距模块数据融合的手段,计算出实际采摘点的空间位置。

2 基于YOLOv4的草莓识别算法

2.1 数据集制作

本文为了使模型达到更好的识别效果,特别选取实际采摘环境下的图片作为数据源,通过网络爬取和实景拍摄的手段获取大量图片[11],其中网络爬取的图片需要人工进行二次筛选,删除理想环境下的草莓图片避免污染数据集。

实际环境图像拍摄于江苏省农博园,园内含有大片垄地草莓以及高架草莓,图片采集了实际采摘中可能遇到的各种情形的草莓生长状态,包含了足够的正面样本和负面样本。拍摄图像包括了各种复杂情况,如遮挡、重叠以及草莓聚集场景等,总共1 513张图片。

本文从上述手段获取的图像中筛选出了1 800张(其中500张来自网络,1 300张来自实际取景),使用LabelImg工具手动标注并保存为VOC数据格式。

2.2 改进YOLOv4神经网络

YOLOv4是一种卷积神经网络,与常规神经网络相比,该网络各层中的神经元都是三维向量(长、宽、高),可以有效解决展开图像丢失空间信息的问题,即使存在大量参数也不会出现训练效率低下、训练结果过拟合的情况。

近年来,关于卷积神经网络的研究不断取得突破,衍生出各种优秀的检测算法[12]。这些算法主要分别为两类:一类是以区域卷积神经网络(R-CNN,Region-Conventional Neural Network)为首的two-stage(两段式)算法;另一类的代表算法是YOLO(You Only Look Once)、SSD(Single Shot MultiBox Detector)这类one-stage(一段式)算法[13]。前者需要首先利用算法产生Region Proposal(候选区域),然后在该区域上对各部分实现分类回归;后者则是只需要通过一个卷积网络识别不同的目标类别与位置。

YOLO系列网络作为one-stage算法的代表,其核心思想是利用整张图作为网络的输入,直接在输出层回归Bounding box(预测框)的位置和Bounding box所属的类别。该算法采用一个单独的CNN模型实现end-to-end的目标检测,首先将输入图片尺寸统一压缩成608 dpi×608 dpi,然后输入卷积神经网络,之后通过网络反复计算得到不同区域不同大小的Boundingbox,最后利用非极大值抑制算法处理获得预测目标的信息。

考虑到草莓识别数量多,同时过多的卷积层会增加计算量影响检测速度,本文从快速性角度出发在YOLOv4算法的基础上替换了原有的BackBone(主干)网络,即使用VGG16(Visual Geometry Group)网络替换原始的CSPDarknet53,由原来的53层卷积层下降为16层卷积层,替换后计算量显著较少。

如图2所示为改进后的YOLOv4网络结构,主要包括输入端、BackBone、Neck以及预测端四个部分。其中输入端主要负责将训练集的图像尺寸缩放至608 dpi×608 dpi的大小,BackBone将图像送入16层卷积神经网络在不同细粒度上聚合并形成特征,Neck将不同细粒度形成的特征进行拼接融合形成更加丰富准确的图像特征,Head(预测端)对图像进行预测,生成Boundingbox并预测对象。BackBone输出了三种尺度(76 dpi×76 dpi、38 dpi×38 dpi和19 dpi×19 dpi)的特征图像,分别作为Neck的输入参与图像特征混合,具体做法是将小尺度的图像通过上采样的方法扩大尺度与相同尺度的图像进行拼接。不同于以往的混合手段,YOLOv4中图像特征的拼接方式保留了更加丰富的特征信息,一定程度上提升了目标识别的准确性,同时降低了计算量,从而更适应于移动端站署。

图2 改进YOLOv4网络结构Fig. 2 Improved YOLOv4 network structure

图3中,A点为预测目标的中心点,P框为YOLO算法的先验框(Anchorbox),B框为神经网络计算得出的预测框,下标w、h分别为对应框的宽和高,Cx和Cy为A点所在grid(网格)的左上角坐标,tx和ty是A点距离所在grid边界的相对距离,σ(x)一般使用Sigmoid函数处理,其计算公式如式(1)所示,目的是将数值限制在(0,1)的范围以减少计算量。

图3 Boundingbox计算示意图Fig. 3 Boundingbox calculation schematic

(1)

本文借鉴迁移学习的思想,将已经训练完成的算法模型作为本文学习任务的起点,这些模型都是基于大型数据集训练,通过迁移学习的手段导入已经发布的性能较好的模型建立自己的模型所用时间更短。

2.3 模型效果与预测结果

本文模型训练任务部署在戴尔Precision 5820 Twoer工作站,该硬件平台具有64 G运行内存,英伟达RTX3090显卡以及酷睿i9-10920X中央处理器。神经网络算法的完整过程包括训练和测试两个阶段,测试的目的在于表征一个模型在训练完成后对含有标注信息的数据集进行预测,并评价预测准确度。选择精度(P,Precision)、召回率(R,Recall)、全类平均正确率(mAP,mean Average Precision)以及F1分数作为测试指标。其中F1分数是一个综合性的指标,表达式分别如式(2)~式(5)所示。

(2)

(3)

(4)

(5)

式中:TP——本身是正确且识别结果判定也是正确的样本;

FP——本身是错误判定是正确的样本;

FN——本身是正确判定是错误的样本。

测试集效果指标如图4所示。当置信度阈值为0.5时,对应的精确度为94.70%,召回率为78.57%,F1值为0.86,可以看出该模型对检测目标有着很好地识别效果。

(a) P曲线

(b) R曲线

(c) mAP曲线

(d) F1曲线图4 效果指标曲线图Fig. 4 Performance indicator graph

3 果柄叶识别

将采摘草莓时的施力点放在果柄叶的位置,可以防止采摘时草莓果肉受外力的破坏,同时对果柄叶的识别还可以降低采摘机器人执行末端的要求。但由于采摘草莓时复杂环境的影响,不管是传统图像处理还是神经网络技术都很难将果柄叶准确识别出来[14]。因此本文首先使用YOLOv4神经网络技术提取出完整草莓在图像中的区域作为待处理区域,之后对该区域进行图像处理,通过聚类区域特征划分出草莓果肉、果柄叶以及背景区域。

提取神经网络检测出的目标框作为ROI(Region of Interest)区域,并将多余的区域剔除,即使用RGB模型中的黑色(0,0,0)进行填补。

如图5所示,仅将含有草莓的区域提取出来,完全地剔除了多余的背景,以降低背景的复杂程度。接着将提取到的ROI区域图进行图像处理,包括图像预处理、区域分割、去噪。图像处理流程如图6所示。

(a) 原图

(b) ROI提取图5 区域提取前后图对比Fig. 5 Region extraction plot comparison

图6 图像处理流程Fig. 6 Image processing process

根据果肉和果柄叶的区别选取划分指标,并确定二值化阈值。由于成熟果肉和果柄叶有明显的颜色区别,因此将特征点放在颜色通道上。计算机将颜色分为RGB、HSV、YCrCb等空间模型,本文使用OpenCV库对同一张图片在不同颜色模型通道上做了试验,结果显示在RGB模型上区别更加明显。

如图7所示,在确定RGB三色特征作为划分指标以后,本文选定阈值对图像进行二值化处理,初步划分出草莓果肉、草莓果柄叶以及背景三个区域,再使用合适的滤波算法以及形态学处理算法对三个区域实现准确划分。处理结果如图8所示。对果肉区域和果柄叶区域相接的边缘做圆弧线性拟合得到线段L,之后沿着该圆弧圆心和弧线中点的方向逐渐腐蚀果柄区域(移动线段L′),最后得到如图8(b)所示的采摘点P。

(a) R通道

(b) G通道

(c) B通道图7 RGB通道分割Fig. 7 RGB channel splitting

(a) 果肉区域

(b) 果柄叶区域图8 图像区域分割Fig. 8 Image area segmentation

同时还需要对识别到的果肉区域进行边缘轮廓检测,并绘制最大内切圆,如图9所示。由于草莓本身的形状特征,本文利用绘制的最大内切圆的直径近似为草莓剖面最大径向尺寸。

(a) 轮廓检测

4 果柄叶定位

在采摘草莓的过程中,对果柄叶的准确定位可以极大程度降低对果肉的损害。在理想环境下单纯采用视觉测距的手段,在近距离的情况下,可以达到3 mm的误差[15]。

本文通过双目视觉定位以及激光传感器融合的方法[16],获取果柄叶的空间坐标。定位流程图如图10所示。

图10 果柄叶定位流程图Fig. 10 Stem leaf positioning flowchart

4.1 机械结构

本文采用双目相机与传感器联合定位的方法,即在果柄叶遭到遮挡的情况下,使用双目相机对果肉的测量数据进行补偿的方法提高定位精度。机械结构如图11所示。

图11 机械结构示意图Fig. 11 Schematic diagram of the structure

为了获取准确的三维坐标,首先需要建立双目相机和测距传感器的空间变换矩阵,在保证双目相机与测距传感器在同一平面的前提下,由于相机、传感器与机械臂均可看作刚体,相对位置不会改变,因此只需要求解平移矩阵即可。

4.2 双目测距

基于双目相机的三维空间坐标测算方法,是使用三角测量的数学模型,利用两幅图像对同一个目标点的观测角度不同,求解出该目标点的空间坐标。

如图12所示为双目测距原理,点P为需要测量的目标点,OL与OR分别为双目相机的左右光心,PL与PR分别为P在左右相机成像平面上映射的像素点(坐标信息已知),XL与XR分别为PL与PR像素点在图像坐标系的横坐标(P点在Z轴左边为负数,右边为正数),f代表相机焦距,Baseline(B)为左右相机光心的物理距离,Z为P到相机的深度值,X为P到相机左相机视野中心的距离。

假设PL到PR点的距离为D,则

D=B-(XL-XR)

(6)

根据三角形相似的原理可得

(7)

(8)

(9)

由式(7)~式(9)可得

(10)

因此,只需要获取视差值(XR-XL),就能够获取到目标点的深度信息。本文通过双目测距的方法,获取到果肉区域的内接圆心的深度数据,然后加上由图像中内接圆半径的长度转化所得的空间距离r得到相机平面到果柄叶的垂直距离dc。

4.3 相机成像

双目测距的原理也就是目标点到图像像素点之间的转换关系,此关系可以通过数学工具转换为成像模型,该模型本质上是三维世界目标点到平面世界的投影,即多个坐标系之间的转换,包括世界坐标系(Ow,Xw,Yw,Zw)、相机坐标系(Oc,Xc,Yc,Zc)、像素坐标系(Op,U,V)以及图像坐标系(Oi,X,Y)。成像原理如图13所示。

图13 相机成像原理Fig. 13 Camera imaging principles

图13中图像坐标系中的p点是世界坐标系中的P点在相机中的投影,建立P点到p点的坐标转换需要以下步骤。

1) 世界坐标系到相机坐标系。坐标系之间的相互转换可以看作刚体变换,因此可以通过平移旋转矩阵表示两者之间的关系。

假设(tx,ty,tz)为坐标原点之间在三个坐标轴下的平移距离,(α,β,γ)为坐标轴之间的旋转角度,(xc,yc,zc)为相机坐标系下的P点坐标,P点的相机坐标(xc,yc,zc)与P点的世界坐标(xw,yw,zw)以及相机的外部参数(R,T)的关系式如式(11)所示。

(11)

将其改为齐次方程,得到式(12)。

(12)

其中相机外部参数(R,T)的计算公式如式(13)所示。

(13)

2) 相机坐标系到图像坐标系。如图13所示,改变换关系可以看作透视投影的过程,假设像素坐标系下投影点p的坐标为(xi,yi),则由三角形相似所构建的矩阵如式(14)所示。

(14)

改为齐次方程有

(15)

3) 图像坐标系到像素坐标系。如图13所示,假设像素坐标系下点Oi的坐标为(uo,vo),投影点p的坐标为(u,v),dx与dy分别为对像素值xi与yi的微分,则p的图像坐公式如式(16)所示。

(16)

转化为齐次方程如式(17)所示。

(17)

联系式(11)、式(14)和式(16)可得式(18)。

(18)

(19)

上述方程中,相机内部参数(fx,fy,uo,vo)以及外部参数(R,T)均可通过相机标定得到。

4.4 数据融合

根据相机与测距传感器的相对位置关系以及像素与空间距离的比例系数,可以寻找到图像中测量点的像素坐标。识别到果柄叶区域中采摘点的像素坐标以后,对齐采摘点与测量点的像素坐标,具体做法是以测量点为原点建立坐标系,按照采摘点在该坐标系下的位置计算平移距离并发送指令使执行末端平移到指定位置。此时,传感器获取到的数据则是执行末端到采摘点的直线距离ds,也是相机平面到采摘点的垂直距离。

利用双目相机测到的距离以及传感器获取的数据,假设融合之后的深度信息为d,所建立公式如式(20)所示。

d=αds+(1-α)dc

(20)

式中:α——距离数据的因子,值域为(0,1)。

考虑到遮挡情况,令x=|dc-ds|,则α的公式如式(21)所示。

(21)

式中:x——双目测距与传感器数据误差绝对值。

当x较小时,则判定为无遮挡或遮挡不严重的情况,就以双目相机测算的距离作为补偿提高传感器数据的精确度。当x较大时,则认为完全遮挡的情况,传感器数据的置信度指数级降低。

5 分析与讨论

实际场景下,轻量化YOLOv4网络模型的预测结果如图14所示(包括高架和垄地两种种植方式的草莓识别),可以看到改进后的算法对成熟草莓的检测效果十分理想,图14中不管在高架还是垄地培植的草莓,可采摘的成熟草莓均能被检测出来,而尚未成熟的草莓则没有被列为识别对象,由此可以看出该模型的优越性。

(a) 高架草莓

(b) 垄地草莓图14 识别结果图Fig. 14 Identify the result plot

在提高识别效果和效率的前提下,本文还设计了不同程度遮挡下的定点测量试验。在普通光照条件下,选取30颗带有果柄叶的草莓,模拟实际采摘环境进行放置,平均分成三组对果柄叶遮挡程度的测量试验,分别为遮挡、部分遮挡与完全遮挡。

本文设计的试验硬件设备采用了实感相机和基于VL53L0X设计的Gravity测距传感器。在保证不同程度的遮挡均能识别出草莓的条件下,试验结果如表1所示。

表1 不同程度遮挡实验结果Tab. 1 Different degrees obscure experimental results

可以看出,在不同程度的遮挡条件下,当实际距离在100 mm之内时,所测得的距离误差可以控制在2 mm以内;当实际距离在250 mm之内时,所测得的距离误差不超过5 mm,此时的条件满足实际采摘环境下的要求。

同时在实际场景下,针对不同遮挡程度的情况,草莓果柄叶定位试验的效果如图15所示。图中分别框出了改进YOLOv4模型所成功识别到的草莓和经过区域分割计算后得到的采摘点位置,并提供了相应的采摘点坐标数据。试验结果表明,对遮挡程度不高的成熟果实,本方法也能较为准确地定位果柄叶的位置,且测得距离与实际距离的偏差可以通过修改刀具参数补足。

6 结论

针对草莓果肉极易损伤的特点,本文将采摘点放在草莓果柄叶上,提出了一种基于神经网络和传统图像处理技术相结合的技术方案,实现了在复杂的实际采摘场景下的草莓果柄识别与定位,所提方法具有以下优点。

1) 本文搭建的基于YOLOv4的神经网络,检测率达到80%以上,同时轻量化的改进提高了每帧图像的草莓识别速度,在同一PC端分别使用YOLOv4和改进后的轻量化的模型对5 000张照片进行检测,后者用时比前者快了30%,即使是在实际复杂的采摘环境下,也能满足实际检测需求。

2) 将草莓所在区域划分为ROI区域后,剔除了多余且复杂背景的影响,显著降低了后续图像处理的难度。在分割出明显的果肉和果柄叶区域后,进一步通过图像处理计算出原图中采摘点的坐标。采用双目相机和激光测距相结合的方法,将误差控制在5 mm以内,也提高了草莓采摘的成功率。

3) 本文设计的方案在降低硬件成本和机械设计难度的前提下,使用双目相机和测距传感器数据融合的方式,提高草莓果柄叶定位精度,降低了采摘时对草莓果肉的损坏程度。

猜你喜欢
果柄双目果肉
库尔勒香梨不同类型果柄差异比较
采果方法对贮藏期猕猴桃果实品质劣变和抗氧化能力的影响
刺梨果柄分离特性研究及有限元分析
基于双目测距的卡尔曼滤波船舶轨迹跟踪
My Favourite Fruit
不同成熟度花生果柄节点力学性能研究
秋天的礼物
“萌萌”的 火 龙 果 盆栽
基于双目视觉图像的长度测量方法
橙子新吃法