APP下载

基于VINS-MONO和改进YOLO v4-Tiny的果园自主寻筐方法

2023-08-22朱立成韩振浩周利明王瑞雪

农业机械学报 2023年8期
关键词:运输车置信度果园

朱立成 韩振浩 赵 博 周利明 王瑞雪 靳 晨

(1.中国农业机械化科学研究院集团有限公司, 北京 100083; 2.农业装备技术全国重点实验室, 北京 100083)

0 引言

我国作为世界上最大的果品生产国与消费国,水果产业已经成为国民经济和农民收入的重要来源。随着我国经济的发展与城镇化建设,高度依赖人工的生产模式已经成为水果产业发展的重要阻碍。为了进一步降低人工生产成本、提高果品生产效率,果园农机装备自动化、无人化、智能化成为未来发展的必然趋势。

自动驾驶作为智能农机装备的关键技术之一,是当前国内外学者的研究重点。果园环境中由于存在地形复杂与树冠遮挡等干扰因素,广泛应用于大田农机装备的卫星导航存在着多路径效应与信号遮挡等问题。视觉导航具有数据获取量大、语义信息丰富等特点,是当前果园导航的研究方向。

当前国内外学者针对果园视觉导航开展了大量研究。有学者基于天空、道路等图像特征直接生成导航线,进行了果园行驶路径识别研究,TORRES-SOSPEDRA等[1]在神经网络图像分割的基础上,通过霍夫变换提取边界直线,进而生成橘园导航信息;RADCLIFFE等[2]根据天空和树冠的差异,从树冠背景中分割天空识别导航路径;SHARIFI等[3]基于图分割理论将聚类后的图像进行分割,应用霍夫变换提取导航路径特征;韩振浩等[4]基于U-Net网络,进行果园道路语义分割,并识别行驶路径;彭顺正等[5]针对矮化密植枣园,提出了一种基于图像处理的枣园导航线生成基准算法。有学者为了给果园机器人自主导航提供参照依据,进行了果园环境中树干、树冠的识别研究,毕松等[6]提出了基于实例分割的果园机器人行驶偏航角、横向偏移和果树位置的计算方法;XUE等[7]为了准确检测树干,提出了一种基于视觉摄像机和二维激光扫描仪的数据融合算法;王辉等[8]基于Mask R-CNN神经网络模型,进行了单株柑橘树冠识别与分割;JUMAN等[9]基于KINECT传感器采集的彩色图像和深度信息,进行油棕种植园树干检测;崔永杰等[10]基于卷积层特征可视化,进行猕猴桃树干特征提取,用于道路导航线的拟合。通过分析现有研究可知,目前关于果园视觉导航的研究大多应用于果品采摘、果树植保以及园内巡检等作业场景,面向果品自主运输作业场景以果园运输机械为研究对象的视觉导航研究相对较少。传统的自走式果园运输机械往往无法进入柑橘园内部,因此果农采摘完柑橘后,多通过肩背人扛的方式将盛满果实的果筐、果桶往复运送至连接各个果树行行头的果园支路,劳动强度相对较大、作业效率相对较低。为解决该问题,课题组参考传统柑橘运输方案,在研制适用于柑橘园行间行驶运输的果园运输车行走底盘的基础上,提出了一种结合“自主寻筐+果农跟随+卫星导航”的机具辅助采摘运输方案。

为了进一步提升果品运输效率,为果园运输车自主作业提供研究参考,本文面向规范化缓坡宽皮柑橘园果品运输作业环境,拟提出一种基于VINS-MONO和改进YOLO v4-Tiny的果园自主寻筐方法。基于视觉惯性里程计算法VINS-MONO,进行果园运输车实时位置姿态估计。基于改进YOLO v4-Tiny目标检测算法,进行果筐实时检测并获取对应深度信息。根据运输车当前位置姿态、果筐深度信息以及深度相机内参,进行果筐识别、位置更新。基于B样条曲线拟合原理,进行寻筐路径实时拟合,进而引导果园运输车抵近果筐。

1 方法与模型

“自主寻筐+果农跟随+卫星导航”的机具辅助采摘运输方案如图1所示。

图1 机具辅助采摘运输方案Fig.1 Method of machine-assisted harvest and transport

具体步骤为:柑橘收获时,果农将采摘后的果实放置于位于行间的果筐中,运输车在行间自主寻筐,发现果筐后抵近至目标附近;果农装载果筐至运输车后,运输车进行下一个果筐的寻找,直至所有果筐装载完毕,运输车巡线行驶至果树行行头;在卫星导航或果农跟随的引导下,运输车在果园支路自主行走,到达指定卸车位置从而完成机具辅助运输。相较于传统肩背人扛的柑橘运输方案,本文提出的机具辅助采摘运输方案能够让果农专注于果实采摘,通过运输车自主抵近装满果实的果筐,辅助果农在果树行完成果实装载,果农的作业半径将主要围绕各个果树,不需要手提装满果实的果筐、果桶往复穿梭于果树行间,能够最大程度降低果农劳动强度,节省人力作业成本。

自主寻筐、果农跟随和卫星导航是机具辅助运输方案中的重要环节。自主寻筐过程中,考虑到运输车在柑橘园行间行驶卫星定位信号会受树冠遮挡,本文拟通过视觉的方式开展自主寻筐问题的研究。由于机具在柑橘园行驶存在行间地形起伏、背景变化以及运输车自身视角摆动等干扰因素,通过视觉进行自主寻筐面临着难以保证果筐识别准确性和作业稳定性问题。

本文提出的果园运输车视觉自主寻筐方法主要由4部分组成:运输车位姿实时估计、果筐目标检测、果筐位置更新和寻筐路径拟合。

1.1 基于VINS-MONO的运输车位姿实时估计方法

受果筐摆放位置与行驶地形影响,果园运输车在进行自主寻筐的过程中,车体的俯仰角、滚转角以及偏航角会不断发生变化,由于相机视野范围有限,待寻找的果筐极易在相机视野中丢失进而造成果筐遗漏。为解决该问题,本文基于视觉惯性里程计算法进行果园运输车实时位置姿态估计,果筐识别完成后将所有果筐投影至参考坐标系对应位置,即使果筐在相机视野中丢失,也不会影响到下一个果筐的搜寻。

本文选择香港科技大学沈劭劼团队提出的VINS-MONO[11]视觉惯性里程计算法进行车体位置姿态的实时估计,通过融合相机与惯性测量单元测量的传感数据,相对于ORB-SLAM[12]、DSO[13]等纯视觉里程计具有更高的精度与初始化鲁棒性[11],更适合本文面向的作业场景。VINS-MONO算法整体由前端数据预处理、估计器初始化以及滑动窗口优化3部分组成,整体结构如图2所示。

图2 算法整体结构Fig.2 Overall structure of algorithm

算法运行时,前端数据预处理部分对单目相机和IMU采集的数据进行预处理操作,对相邻帧的图像数据进行特征识别与追踪,并判断新输入的图像是否是关键帧,同时对相邻帧的IMU数据进行预积分。预处理完成后,估计器初始化部分通过对齐IMU预积分和纯视觉SfM(Structure from motion)结果,得到估计器系统状态的初始值,其中包括对陀螺仪偏移标定、初始化速度、重力以及尺度因子。估计器初始化完成后,基于滑动窗口的紧耦合单目视觉惯性里程计进行系统状态的变量估计,分别对特征点深度、IMU误差以及关键帧位置姿态进行后端优化,并通过紧耦合重定位消除累计漂移,进而根据重定位结果通过全局位姿图优化部分对历史位姿进行全局一致配置,得到优化后的位姿数据。视觉惯性里程计算法运行效果如图3所示,其中红框为当前相机的位置姿态,绿线为里程计估计的历史轨迹,红线为后端优化后的部分轨迹,白点为当前帧追踪的特征点,绿点为历史特征点。通过EuRoC等数据集测试,该算法定位精度能够达到分米级[11],能够满足本文果园运输车在柑橘园环境中的果筐定位需求。

图3 视觉惯性里程计实时位姿估计结果Fig.3 Visual-inertial odometry for real-time position attitude estimation

1.2 基于改进YOLO v4-Tiny的果筐目标检测

柑橘园行间行驶环境复杂多变,人工提取特征识别果筐易受多种因素干扰。相较于传统图像处理算法,深度神经网络具有更好的鲁棒性、稳定性以及运行效率,更适用于本文面向的作业场景。

YOLO v4-Tiny是一种基于深度回归模型的目标检测算法,具有多任务、端到端、注意力机制和多尺度的特点,本文基于该算法进行果筐实时识别,并根据实际任务特点进行部分算法调整[14]。YOLO v4-Tiny属于YOLO v4的轻量化模型,网络结构相对简单,参数量相对较小,硬件要求相对较低,更适用于边缘计算设备。YOLO v4-Tiny由主干特征提取网络、多尺度特征融合网络以及预测输出3部分组成,算法整体结构如图4所示。

图4 目标检测算法整体结构Fig.4 Overall structure of target detection algorithm

YOLO v4-Tiny首先通过CSPDarknet53-Tiny主干特征提取网络对输入图像进行特征提取,将引出的有效特征层传入多尺度特征融合网络。然后多尺度特征融合网络基于FPN特征金字塔思想,进行多尺度检测输出具有更高语义信息的有效特征层。最后根据特征层输出结果,通过检测头进行结果预测并解码,最终得到果筐识别框在输入图像中的位置。考虑到果园运输车自主寻筐过程中,果筐在画面中随着运输车的逐渐接近由小变大,为了适应不同尺度下的检测目标,本文在原算法2个检测头的基础上,额外增加1个检测头进行结果检测。对于分辨率为608像素×608像素×3通道的输入图像,本文YOLO v4-Tiny将分别输出19×19×255、38×38×255和76×76×255共3个检测头,其中检测头前2个维度代表图像划分的网格个数,适用于不同尺度的目标检测,网格数越少感受野越大,大目标的检测效果越好。第3个维度255代表3×(4+1+80),其中3代表每个网格对应的锚框数,每个锚框对应1个预测框,每个预测框在对应锚框的基础上进行目标位置尺寸的回归,4代表回归时预测框与锚框横纵向相对位置、横纵向尺寸相对大小,1代表置信度,80代表类别概率。

在不同尺度的网格划分下,每组锚框中心与对应网格中心的位置重合,锚框尺寸由训练集所有真实框K-means聚类获得。进行预测框回归时每个锚框对应的预测框位置(bx,by)和尺度(bw,bh)的表达式为

(1)

式中 (tx,ty,tw,th)——预测框与锚框相对位置

mx、my——锚框对应网格横、纵向位置

mw、mh——锚框聚类宽、高

检测头解码后对所有得到的预测框进行置信度得分排序,通过非极大抑制筛选去除同一目标重合的预测框,得到目标检测框在原图的位置尺寸。

通过式(1)可知,被检测目标的位置越靠近网格边缘,在sigmoid函数的作用下回归预测框所需的(tx,ty)越接近于无穷,因此会影响网络训练预测效果。为了避免该情况的出现,本文在式(1)的基础上增加了缩放因子s,使预测框位置(bx,by)可回归范围覆盖网格边缘,计算公式为

(2)

本文缩放因子s=2。

为了更快更好地获得网络最优权重参数,本文训练该网络时采用的损失函数由3部分组成,正样本坐标损失、正负样本置信度损失以及正样本分类损失,其中正样本坐标损失LN1的计算公式为

(3)

(4)

式中λcoord——正样本权重系数

K——单边网格个数

M——每个网格对应的预测框个数

wi、hi——预测框宽、高

IOU——预测框与真实框交并比

ρ2(b,bgt)——预测框与真实框欧氏距离

q——预测框真实框最小闭包区域对角线距离

β——长宽比一致性参数

γ——权衡参数

正负样本置信度损失LN2的计算公式为

(5)

式中λnoobj——负样本权重系数

Ci——预测置信度

正样本分类损失LN3的计算公式为

(6)

本文在式(3)正样本坐标损失中采用CIOU损失,相较于传统的IOU损失,CIOU损失在保留原有预测框和真实框交并比的基础上,考虑到两者之间的位置和宽高比。增加位置信息能够避免训练时因两者之间没有重叠造成IOU损失为0,进而出现反向传播失败的情况,同时增加宽高比信息能够让预测框对横纵向尺度更敏感,在相同的交并比下与真实框之间的重叠程度更高。

相较于其他作业场景的目标检测任务,本文由于需要识别的果筐数量相对较少,所以训练时正样本数量相比负样本数量少很多。正样本数量过少会造成训练效率降低,并且负样本梯度占主导,从而导致模型性能衰退。因此为了扩充正样本数量,本文从两个方面对现有算法进行调整:①原算法中,训练过程中每个网格只有与真实框交并比最大的锚框才能进行预测框的回归,本文设定交并比阈值,只要锚框大于交并比阈值均可进行回归,扩充了每个网格回归预测框的数量。②原算法中,只有真实框对应的网格才能进行预测框的回归,本文设定真实框对应网格的横纵向相邻网格,网格中心只要与真实框中心距离小于1个网格边,也可以进行预测框的回归,扩充了每个真实框对应网格的数量。本文通过这两步调整,能够增加每个检测目标真实框对应回归的网格数以及锚框数,正样本数量显著增加,能够平衡正负样本数量,从而提高模型训练效率以及识别精度。

1.3 果筐位置更新

为了实时更新果筐位置,为下一步路径拟合提供数据支撑,根据视觉惯性里程计估计的运输车实时位姿、目标检测算法识别的果筐图像位置以及相机内部参数,本文提出了一种果筐位置更新方法,在实时添加新识别果筐位置点的同时,剔除掉无效果筐位置点,算法整体流程图如图5所示。

图5 果筐位置更新方法流程图Fig.5 Fruit basket location update method

果筐位置更新方法的具体步骤为:

(1)如果目标检测算法在当前深度相机视野范围内成功识别果筐,根据果筐识别边框在彩色图像中的位置,遍历对应深度图中的每个像素,基于针孔相机模型将2.5D深度图转换为局部坐标系下的3D点云,同时剔除掉超出深度相机有效探测距离的无效深度点。深度信息至局部坐标系点云的转换公式为

(7)

(8)

z=d

(9)

式中 (u,v)——像素点坐标

(x,y,z)——局部坐标系坐标

fx、fy、cx、cy——相机内部参数

d——像素深度

(2)根据视觉惯性里程计估计的果园运输车位置姿态,将当前视野范围内的果筐点云从局部坐标系转换至全局坐标系,其中局部坐标系是相机自身作为参考系建立的移动坐标系,全局坐标系是每次视觉惯性里程计初始化时,以相机初始化位置为原点建立的固定坐标系。果筐点云的转换公式为

(10)

式中Pc——局部坐标系坐标

Pw——全局坐标系坐标

R——旋转矩阵T——平移向量

O——零向量

(3)为了获取当前视野范围内每个果筐的全局坐标位置,在半径滤波离群点剔除的基础上,通过欧氏聚类对转换后的果筐点云进行分割提取,然后对分割得到的每簇点云分别计算形心,并认为每个形心为每个果筐的全局坐标位置。将计算结果更新至全局果筐位置点当中,实现新果筐位置点的添加。算法运行过程中,目标检测算法一旦识别到果筐,均会将其位置点更新至全局位置点,即使运输车自主寻筐过程中部分果筐脱离相机视野,也不会丢失目标。

(4)为了避免相机视角不变的情况下同一个果筐累计过多重复位置点,影响下一步寻筐路径拟合效果,同一果筐识别框投影的历史全局位置点会被实时更新,只保留最新识别的果筐位置点。

(5)当运输车抵近装载完成一个果筐后,为了避免已装载的果筐位置点仍存在于全局位置点中,影响下一步路径拟合,当运输车距离果筐位置点小于0.5 m后,认为该果筐已被成功抵近,将该果筐位置点从全局果筐位置点中剔除。

(6)全局果筐位置点实时发布于话题中,供路径拟合节点订阅获取。

室外场景下,果筐位置更新效果如图6所示,从图6可以看出,1.2节通过目标检测算法识别的果筐,能够将其位置有效投影至全局坐标系中。

图6 果筐位置投影Fig.6 Position projection of fruit basket

根据果筐位置更新结果,可以得到全局坐标系下运输车待抵近的果筐位置,同时运输车位置已知,下一步即可进行果园运输车自主寻筐路径拟合。

1.4 基于三次B样条曲线的寻筐路径拟合方法

根据待抵近的果筐位置,直接生成折线路径需要运输车在每个果筐处原地转向,为了尽量提高运输车的行驶连贯性,本文将果园运输车位置、果筐位置作为控制顶点,连接折线作为B特征多边形,进行多段k次B样条曲线拟合,生成的曲线作为自主寻筐路径。

B样条曲线由多段曲线段组成,对于n+1个控制顶点P0、P1、 …、Pn,则k次B样条曲线的数学表达式为

(11)

其中Ni,k(g)是k次B样条曲线的基函数,通常采用Cox-deBoor递推公式,其数学表达式为

(12)

式中g——节点参数

i——节点序号

k——基函数次数

根据节点矢量中节点的分布情况,可以确定B样条曲线的具体类型,对于具有n+1个控制顶点P0、P1、 …、Pn的k次B样条曲线,都具有n+k+2个节点g0、g1、 …、gn+k+1,本文设置节点为等距分布,确定曲线类型为均匀B样条曲线。

基于3次B样条曲线的路径拟合效果如图7所示,从图7可以看出,拟合生成自主寻筐路径光滑平顺,能够有效提升果园运输车的行驶连贯性。

图7 寻筐路径拟合Fig.7 Fitting out path to find fruit basket

2 试验与结果分析

融合课题组自研果园运输车自动驾驶系统,基于Ubuntu与ROS进行程序开发,果园运输车自动驾驶系统整体的ROS系统架构如图8所示。本文在训练改进YOLO v4-Tiny果筐识别网络的基础上,分别进行果筐定位测试以及自主寻筐测试。

图8 果园运输车ROS系统架构图Fig.8 ROS system architecture for orchard transporter

2.1 试验条件

试验地点位于广州省江门市新会区新会柑种植园,果树种植行株距为3.5 m左右,果园道路宽度为4 m左右。基于课题组自研的山地果园运输车进行数据采集和试验。数据采集和试验日期为2022年9—12月,果园运输车田间信息采集与试验现场如图9所示。

图9 田间信息采集与试验现场Fig.9 Field information collection and test site

运输车车头前方安装有红外深度相机与鱼眼追踪相机,两相机空间转换关系已知,离地高度450 mm,其中红外深度相机采集运输车前方果园深度图像数据,用于果筐图像识别,型号采用Realsense D435i,图像分辨率为1 280像素×720像素,采集帧率为60 f/s,深度视场角(87°±3°)×(58°±1°)×(95°±3°),有效深度范围0.2~10 m。鱼眼追踪相机内部集成Bosch BMI055型惯性测量单元,采集鱼眼图像和姿态数据用于运输车的位置姿态估计,鱼眼镜头型号为Realsense T265,视场角163°±5°。运输车内部搭载NVIDIA Jetson Xavier NX边缘计算工控机用于图像数据的处理,试验时,通过连接在同一局域网的便携式计算机ssh远程登录工控机进行ROS节点的操作。

2.2 模型训练与验证

数据采集时,将果筐随机放置于果园道路两侧,通过人工遥控运输车行走进行ROS数据包录制。从数据包中截取1 423幅图像用于制作数据集,其中70%的图像用于训练,20%的图像用于验证,10%的图像用于测试,采用LabelImg进行图像标注,标签数字为 “0”。训练前为了防止过拟合、提升模型鲁棒性和泛化能力,采用Mosaic数据增强方法对训练数据进行处理[15],基本工作原理为:在训练集中随机抽取4幅图像,分别进行数据增广操作,其中包含翻转、缩放、色域变化以及偏移,然后分别截取固定区域拼接成新图像,从而作为模型的训练数据,新图像包含原始图像经坐标变换后的真实框。Mosaic增强后的图像如图10所示。

图10 数据增强示例Fig.10 Example of data augmentation

使用计算机(操作系统为Ubuntu 18.04,处理器型号为Intel Core i7-10870H,显卡型号为Nvidia GeForce RTX 2070 Super)开展训练,模型训练时,基于COCO数据集的预训练模型开展迁移学习,图像输入网络前统一将尺寸调整为608像素×608像素,梯度优化采用基于动量的随机梯度下降法,批量大小为16。初始学习率为0.01,学习率动量为0.937,训练周期为600轮。训练过程中当模型训练到379轮时已经收敛,其中最佳模型在279轮。正样本坐标损失LN1和正负样本置信度损失LN2如图11所示,由于只有1类标签,所以分类损失始终为0。

图11 模型训练损失值曲线Fig.11 Model training loss curves

为了量化果园运输车果筐识别任务的实际效果,需要考虑目标检测网络的精度,采用平均精度均值(mAP50)作为模型识别的精度指标,由于标签只有1类,所以平均精度均值(mAP50)的计算公式为

(13)

式中P——精准率R——召回率

置信度阈值影响着模型精准率P和召回率R,置信度阈值越大,模型对预测值更有信心,精准率升高,相对的召回率降低。置信度阈值越小,模型放过的真实值越少,精准率降低,但是召回率增高。本模型的置信度与精准率P和召回率R之间的关系如图12所示。

图12 精准率和召回率曲线Fig.12 Precision and recall curves

选取0~1的置信度阈值,可以在PR坐标系下得到对应PR点,该模型的PR曲线如图13所示。根据公式(13)可得模型的mAP50为93.96%。

图13 模型PR曲线Fig.13 Model PR curve

在当前硬件条件下,处理1幅图像(608像素×608像素×3通道)的时间为14.7 ms,其中平均预处理时间为0.7 ms、平均推理时间为12.5 ms、平均后处理时间为1.5 ms。在训练本文所用YOLO v4-Tiny目标检测网络的同时,分别训练原始YOLO v4-Tiny、YOLO v4、SSD、EfficientDet和Faster R-CNN 5种目标检测网络模型进行对比[16-18],训练结果如表1所示。

表1 性能指标对比Tab.1 Performance index comparison

由表1可知,改进YOLO v4-Tiny虽然检测速度相较于原始YOLO v4-Tiny稍慢,但平均精度相对提高7.45个百分点,因此证明了本文针对原算法改进的有效性。对于YOLO v4、SSD、EfficientDet、Faster R-CNN目标检测网络,SSD和Faster R-CNN的平均精度和检测速度均不如改进YOLO v4-Tiny算法,虽然YOLO v4和EfficientDet的平均精度相对较高,但是检测速度与改进YOLO v4-Tiny相比仍存在较大差距,不能胜任果园运输车移动端对于寻筐路径更新的实时性需求。

为了检验不同光照条件下的模型目标检测效果,加载训练后权重分别在弱光、普通光、强光测试集进行测试,果园行间和果园道路的果筐识别检测效果如图14所示,检测结果如表2所示。

表2 不同光照下的性能指标对比Tab.2 Performance index comparison under different lighting conditions

图14 果筐识别检测效果Fig.14 Fruit basket recognition detection effects

从图14可以看出,本文训练的目标检测网络模型在果园行间和果园道路两种作业场景下均具有良好的果筐检测效果。果筐与运输车的距离影响图像中果筐识别目标的尺寸,观察检测效果可知,该模型适合检测不同距离下的果筐,能够满足运输车自主寻筐功能需求。同时可以发现,果园运输车在进行自主寻筐的过程中,即使摆放方式、地形起伏、视角变化造成果筐在图像中显示不完整、姿态不规律,也不会影响模型的实际检测效果。

根据表2可知,模型受光照变化的干扰相对较小,在测试集中能够保持良好的识别精度。这得益于模型训练过程中采用Mosaic方法进行数据增强,通过对训练数据进行明亮度、饱和度、色调变化,提高模型在不同光照条件下的鲁棒性。

通过以上研究可以发现,本文采用的目标检测模型能够有效预测果筐在图像中的位置和尺寸,但是由于实际场景下的果筐姿态随机,所以预测框内部会存在较大面积的背景。本文在1.3节中提出的果筐位置更新会获取目标检测框中所有像素的深度信息,因此如果检测过程中出现较大面积的背景,同时果筐周边杂草长势旺盛,预测框会返回较多杂草深度信息,从而影响果筐位置定位精度。为了尽量避免这种情况的出现,本文通过传统的图像处理方法过滤预测框中的无效像素,尽量只返回果筐像素对应的深度信息,进一步提高果筐位置计算的准确性。

本文使用的果筐为蓝色,通过HSV颜色模型可知,蓝色色调分量的范围为100~124,饱和度分量的范围为43~255,亮度分量的范围为46~255。考虑到算法处理的实时性,本文通过传统图像处理方法中的阈值分割—膨胀—腐蚀操作对预测框中的像素进行处理[19],预测框中处理前和处理后的果筐像素如图15所示。

图15 预测框果筐像素处理Fig.15 Processing fruit basket pixels inside prediction box

本文选取HSV分割范围为[95, 43, 10]至[124, 255, 255],由于蓝色果筐在果园背景中相对较为明显,因此观察图15中的第1行和第2行可以发现,在不同光照条件下,通过传统处理方法可以有效提取预测框中的果筐像素。如果果筐周边杂草生长较为茂盛,部分杂草遮挡了果筐部分像素,如第3行所示,采用本文提出的方法,也可以在一定程度上滤除大部分杂草,为本文1.3节中的果筐定位减少拼接点云时的噪点数量,提高果筐定位精度。

2.3 果筐定位精度测试

果筐定位精度影响着运输车自主寻筐的稳定性,其中包括果筐与深度相机之间的距离和偏航角。考虑到本文运输车为履带式行走机构且行驶速度相对较慢,同时深度相机采集帧率相对较高,运动状态下采集到的图像大部分清晰,因此本文主要开展静态定位精度测试。

订阅ROS测距节点对果筐开展距离测试,取100次测量结果与手测距离进行对比。课题组开展实际测试时发现,虽然传感器的有效深度获取范围为10 m,但是在当前果园测试环境下,当果筐距离超过4 m后,ROS测距节点返回的深度测量值开始不稳定且跳动幅度逐渐增大,考虑到越远的果筐对于运输车临近导航路线的影响越小,对实际寻筐效果影响不大,所以只对距离较近的果筐进行定位精度测试,0~4 m果筐距离测试结果如图16所示[20]。

图16 果筐距离定位精度测试Fig.16 Position accuracy test of fruit basket

根据图16可知,在0~4 m范围内待抵近果筐的距离定位误差在4.02%以内,能够满足果筐距离定位精度需求。随着行进过程中果园运输车与果筐之间的距离逐渐缩小,果园运输车临近导航路径将趋于稳定,即使稍远距离的果筐距离定位存在一定误差,也不会影响寻筐实际效果。

Realsense D435i型深度相机的水平视场范围为69.4°±3°,考虑到果筐在图中所占面积,所以针对偏航角±30°以内的果筐开展测试,取100次测量结果与手测角度进行对比,角度测试结果如图17所示,其中果筐距离相机3 m。根据测试结果可知,果筐角度测量误差均在3°之内。考虑到果筐尺寸为56 mm×42 mm×30 mm,当运输车抵近距离最近的果筐时,即使存在少量角度误差,只要运输车能够到达果筐指定距离,也不会影响果农实际操作,因此该角度测量精度能够满足当前作业场景。

图17 果筐角度定位精度测试Fig.17 Angle accuracy test of fruit basket

2.4 田间测试

为了验证本文算法的实际作业效果,结合自研果园运输车自动驾驶系统,分别在行间和道路两种场景下开展自主寻筐试验。试验开始前,果筐交错放置于运输车行驶道路两旁,相邻果筐间距不超过10 m,行驶尽头放置1个果筐用于终点定位。果园运输车在寻筐过程中,如果果筐距离运输车小于0.5 m,认为该果筐搜寻成功,运输车此时停止行进,直至人工将果筐搬运至载物台上。载物台配备压力传感器,如果载物台负载质量增加,认为果筐成功装载,然后果园运输车继续恢复行进,直至抵近到终点定位果筐,此时认为果园运输车完成果筐搜寻任务。为了避免果园运输车自主寻筐的过程中与两侧树冠发生剐蹭,本文同时参考文献[4],采用U-Net语义分割算法进行可通行道路识别,如果算法识别的果筐寻筐路径不在可通行道路区域内,果园运输车将停止行进,试验终止。两种场景下的试验现场如图18所示。

图18 田间试验现场Fig.18 Field experiment site

丘陵山地果园道路崎岖不平,行驶路况相对较差,现场试验时较难通过直接对比路径的方式,得到算法拟合路径与实际最优搜寻路径之间的定量导航误差。因此为了定性地展示果园运输车果筐实际搜寻效果,本文通过视觉惯性里程计记录果园运输车的空间行驶轨迹,并记录每个被成功抵近果筐最后刷新的空间位置。由于视觉惯性里程计返回的行驶轨迹为三维空间点的组合,为了更直观地展示果筐搜寻效果,本文对所有三维点进行空间平面拟合,将得到的平面作为xy坐标系平面,然后将所有三维空间点沿z轴投影至xy坐标系平面之上,作为自主寻筐轨迹。投影后的果园运输车自主寻筐轨迹如图19所示,其中蓝线为行驶轨迹,红点为果筐最后的刷新位置点,果筐识别置信度为80%。

图19 果筐搜寻轨迹Fig.19 Fruit basket searching track

由图19可以发现,行间寻筐轨迹弯折幅度相对较小,主要原因在于果树行距为3.5 m左右,而运输车本体宽度为1.2 m,因此在果园行间横向空间的限制下,寻筐轨迹弯折幅度相对较小。同时也可以发现部分轨迹接近于直线,主要原因在于,如果深度相机在当前视野范围内只识别到1个果筐,此时样条曲线相当于只有2个控制点,因此只能拟合直线轨迹。

田间测试时发现,果筐识别置信度是影响运输车寻筐的关键指标,增大置信度虽然能够提高果筐识别准确率,但是遗漏果筐会导致寻筐过早停止。减小置信度虽然能够避免果筐遗漏,但是果筐误识别会让算法拟合错误路径,让果园运输车去寻找本不存在的果筐。针对不同果筐识别置信度进行寻筐测试,结果如表3所示。

表3 果筐个数Tab.3 Numbers of fruit baskets

根据表3可知,当果筐识别置信度为80%时,果园运输车的寻筐效果相对较好。实际测试时发现,在果园行间等可通行区域较窄的场景,如果发生了果筐误识别,算法拟合的路径可能会将运输车引导至不可通行区域,也会导致果筐搜寻提前终止。根据测试结果可知,置信度过高过低都会影响寻筐效果,理想值需要通过现场试验获得。因此本文提出的寻筐方法下一步可以和可通行路径识别结合,如果两种算法同时参与果园运输车导航决策,即使发生了果筐误识别或果筐遗漏,可通行路径识别也会引导运输车正常行进。

经田间测试可知,本文提出的视觉寻筐方法能够有效引导果园运输车自主抵近果筐,在果园行间与道路均有良好的环境适应性。果园运输车实测平均行驶速度为3.3 km/h,果筐搜寻拟合路径的平均更新时间为0.092 s,能够满足果园运输车自主寻筐时的实时性要求。

3 结论

(1)面向缓坡宽皮柑橘园果品采摘运输作业场景,提出了一种基于“自主寻筐+果农跟随+卫星导航”的机具辅助采摘运输方案,针对其中的自主寻筐问题,提出了一种基于VINS-MONO和改进YOLO v4-Tiny的果园自主寻筐方法,该方法由运输车位姿估计、果筐目标检测、果筐位置更新以及寻筐路径拟合4部分组成。

(2)综合考虑现有目标检测算法的准确性、鲁棒性以及实时性,提出了一种基于改进YOLO v4-Tiny的果筐目标检测方法。结果表明,训练后模型平均识别精度为93.96%,检测时间14.7 ms,相较于YOLO v4-Tiny以及YOLO v4、SSD、EfficientDet和Faster R-CNN识别效果更好,能够满足本课题作业场景下的果筐识别需求。

(3)受地形起伏、相机视野限制等因素影响,果园运输车寻筐的过程中极易丢失果筐视野造成果筐遗漏,针对该问题提出了一种基于VINS-MONO的果园运输车位置姿态估计方法和果筐位置实时更新方法。结果表明,4 m内的果筐距离定位误差小于4.02%,角度定位误差小于3°,能够满足本课题作业场景下的果筐定位精度要求。

(4)田间试验表明,当果筐识别置信度为80%时,果园运输车的寻筐效果相对较好。果园运输车实测平均行驶速度为3.3 km/h,单帧图像平均处理时间为0.092 s,能够满足果园运输车自主寻筐实时性要求。

猜你喜欢

运输车置信度果园
天、空、地一体化“未来果园”看一下
硼铝复合材料硼含量置信度临界安全分析研究
秋天的果园
呼噜猪的大果园
陆空双栖运输车
正负关联规则两级置信度阈值设置方法
我家果园丰收了
中置轴车辆运输车来了
破“阻”——制定快递运输车标准
置信度条件下轴承寿命的可靠度分析