APP下载

苹果采摘机器人目标识别与定位方法研究

2023-08-02黄明辉

南方农机 2023年16期
关键词:标定嵌入式苹果

黄明辉,程 忠

(长安大学工程机械学院,陕西 西安 710064)

0 引言

经过多年的快速发展,2019 年中国成为世界最大的苹果生产国,苹果种植面积和产量均占世界50%以上。目前,我国苹果采摘作业仍主要依靠人工完成,但随着中国城镇化的发展,农业从业人口急剧减少,人工成本大大增加,给苹果产业的快速发展带来了不利影响[1]。因此,应用采摘机器人实现苹果的自动化采摘是必然趋势。近年来,计算机视觉技术已经被广泛地应用于农业自动化生产中[2],视觉系统是采摘机器人的重要组成部分,利用视觉系统对目标苹果进行识别与定位,是机器人进行采摘任务的关键环节之一,要想实现采摘机器人的高效采摘必须实现对目标苹果的准确、快速识别与定位。

目前,许多学者对苹果的目标识别和定位方法进行了研究。曹春卿等[3]通过融合YOLOv3 和双目视觉算法,实现了多种自然场景下苹果的精准识别和三维定位。赵德安等[4]提出一种基于YOLO 深度卷积神经网络的复杂背景下机器人采摘苹果的定位方法,采用优化的YOLOv3 深度卷积神经网络定位苹果,实现了复杂环境下的苹果识别与定位。张恩宇等[5]提出了一种SSD 深度学习算法与U 分量阈值分割法相结合的方法,取得了较好的识别效果。上述方法在高性能平台上都能较为准确地识别出不同场景下的苹果目标,但需要大量的计算能力,难以在算力资源有限的嵌入式设备上进行快速、准确的识别与定位。

苹果采摘机器人识别与定位系统常部署在算力资源有限的嵌入式设备上,为了实现在算力资源有限的嵌入式设备上对目标苹果进行快速、准确的识别与定位,本文提出了一种苹果采摘机器人目标识别与定位方法,对YOLOv4 进行轻量化改进,使用MobileNet V3 替换原有的CSPDarknet53 主干网络,减少模型的计算量,并结合ZED 双目相机与定位算法构建一种准确、快速的苹果采摘机器人目标识别与定位方法。

1 材料与方法

1.1 总体实现方法

苹果目标识别与定位的总体实现方法如图1 所示,首先,进行苹果数据集的收集与处理,并使用数据集进行模型训练,对苹果的特征进行提取;其次,通过改进的YOLOv4 网络模型实现苹果的目标检测;最后,对ZED 相机进行标定与校正,并通过立体匹配算法获取视差图,得到苹果目标的三维坐标,从而实现苹果目标的识别与定位。

图1 总体实现方法

1.2 苹果数据集采集与处理

由于果园中苹果生长的自然环境较为复杂,为了提高苹果识别与定位的准确性,在收集苹果数据集时需要考虑以下几种状况:树叶对苹果的遮挡、枝干对苹果的遮挡、混合遮挡、果实之间的重叠、不同时间与不同角度的苹果图像、顺光与逆光角度下的苹果图像等[6]。本文针对上述几种状况,共收集苹果数据集1 600 幅,部分数据集样本如图2 所示。对数据集进行处理,将苹果图片统一转化为jpg 格式,使用LabelImg 标注工具对数据集中每张图片进行标注,将苹果标注为英文单词apple,并保存标注后生成的XML 格式文件。最后将数据集按照8∶1∶1 划分为训练集、验证集和测试集。

图2 苹果样本图像

2 苹果目标识别与定位原理

2.1 YOLOv4网络模型

YOLOv4 算法[7]的检测精度高,在实时检测模型中具有领先地位。在网络结构中,YOLOv4 在上代版本的基础上主要进行了三大改进:1)将主干网络从Darknet53 替换为CSPDarknet53,作为特征提取网络,增强了特征提取的能力;2)采用空间金字塔池化模块SPP(Spatial Pyramid Pooling)结构,在最后一个特征层的输出中进行四个不同尺度的最大池化处理,有效提高了感受野,能够提取出最显著的上下文特征;3)将特征金字塔网络FPN(Feature Pyramid Network)修改为路径聚合网络PANet(Path Aggregation Network),在FPN 的自底向上结构中加入自顶向下结构,进一步提取和融合特征信息。

2.2 改进后的YOLOv4网络模型

虽然YOLOv4 算法的检测精度高,但算法本身的总参数量大,由于苹果采摘机器人常使用嵌入式设备进行任务部署,算力资源有限,影响模型的检测速度,难以满足实时性要求。因此,为了有效提高模型的运行速度,本文对YOLOv4模型进行轻量化改进。

MobileNet V3[8]模型是谷歌针对嵌入式设备提出的一种轻量级的神经网络模型。本文将YOLOv4原有的CSPDarknet53 网络替换为MobileNet V3,作为特征提取的主干网络。MobileNet V3 使用特有的bneck 结构进行特征提取,提高了网络对于特征通道的敏感程度;同时,在深层网络中使用性能更好的h_swish 激活函数,代替传统计算耗时较长的swish 激活函数,减少了网络的计算量。改进后的网络结构图如图3 所示,在进行苹果目标检测时,首先,输入像素大小为416×416 的图像,并采用尺度为52×52×40、26×26×112、13×13×160 的特征图作为有效特征层。其次,将13×13×160 层输入SPP 层进行最大池化处理,增大感受野,提高检测精度。最后,将三个特征层输入PANet 模块,进一步提取和融合特征信息,并通过Yolo Head 得到预测结果[9-10]。

图3 改进后的YOLOv4网络结构图

2.3 模型评价标准

本文用平均精度(AP)来评价模型检测精度的好坏,如公式(1)所示。并使用FPS 评价模型的检测速度。

式中,P为精确率,R为召回率。

2.4 相机定位原理

ZED双目相机是通过左右相机的视差图来计算深度信息的[9],测距原理如图4 所示。假设左右两个成像平面共面、光轴平行,两成像点只在x坐标轴上存在偏移。某个目标点M的深度Z可由公式(2)计算。

图4 相机测距原理

其中,f为焦距,B为两相机的基线距离,xl、xr分别为M点在左、右两个图像中像素点的横坐标,xl-xr为视差值,Ml、Mr是M点在左、右相机成像平面中对应的成像点,Ol、Or是左、右相机的光心。由公式可以看出,深度Z的变化与基线成正比,与视差成反比。

由公式(2)计算出的是图像中某个目标点的深度值,若计算出图像中所有像素点的深度值就可以得到一幅深度图,通过ZED 相机采集的一幅深度图如图5所示。深度图是以灰度图的方式展现的,图中灰度值的范围为0~255,深度图像中越白的地方代表着灰度值越大,也代表着距离越近[10]。

图5 ZED相机获取深度图

2.5 相机标定

为了获取像素坐标和世界坐标系下的坐标变换关系,需对相机进行标定,获取相机的内外参数。本文使用的相机为ZED 双目相机,其在生产过程中已预先对参数进行了专业标定和校准,通过查阅设备的官方网站,查询到通过A P I 函数getCameraInformation()可获取相机的标定参数,调用API函数即可得到相机的标定参数,如表1 所示。

表1 ZED双目相机标定参数

3 实验与结果分析

3.1 实验平台和模型训练

本文提出的模型训练在Ubuntu 18.04 操作系统、GPU为NVIDIA GeForce RTX 3050的计算机上进行,并配置了Cuda 11.3、Cudnn 8.2.1、Pytorch 1.10.2、Python 3.6 等。模型测试平台除上述高性能计算机外,还配置了一台搭载了Cuda 10.2、Cudnn 8.0.0 的嵌入式平台NVIDIA Jetson TX2。

设置训练轮次为200 轮,初始学习率为0.01,处理批次大小为32,使用的是Adam 优化算法,记录训练过程中的损失值(Loss),得到改进的YOLOv4 模型训练的Loss 曲线,如图6 所示。可以看出,Loss 曲线在训练轮次达到140次左右趋于收敛。

图6 改进后训练的Loss曲线

3.2 模型性能分析

模型训练后,得到模型权重文件的大小以及在测试集上的AP值,模型性能分析如表2所示。

表2 模型性能分析

由表2 可知,虽然改进后的YOLOv4 模型的平均精度较原模型降低了2.95%,但模型的大小降低了79%。其中,部分苹果目标识别结果如图7 所示,可以看出,采用改进的YOLOv4 模型对上述不同状况苹果目标的整体识别精度较好,存在误检与漏检的情况很少。因此,改进的YOLOv4 模型更适合部署在算力有限的嵌入式设备中进行苹果采摘任务。

图7 苹果目标识别结果

3.3 苹果目标定位实验分析

通过改进的YOLOv4 算法获取苹果的类别和边界框坐标后,还需要通过相机获取苹果到相机的真实距离。为了验证ZED 相机对苹果目标定位的可靠性,在嵌入式平台NVIDIA Jetson TX2 上进行ZED双目相机测距实验,部分实验效果如图8 所示。在嵌入式平台上使用改进的YOLOv4 算法后,平均检测速度为15 FPS 左右,优于改进前的6 FPS。因此,改进的YOLOv4 算法能够更好地进行苹果采摘任务。同时,通过多次测距实验求平均值的方式获取的测距误差在0.02 m 以内,可以有效地获取苹果目标的距离信息。

4 结论

1)本文对采摘机器人的目标识别与定位方法进行了研究。在目标识别方面,以YOLOv4 网络模型为基础,对YOLOv4 进行轻量化改进,使用MobileNet V3 作为特征提取的主干网络。改进后模型的平均检测精度为87.32%,模型的大小为53.76 MB,较改进前大小降低了79%,更适合部署在算力有限的嵌入式设备中进行苹果采摘任务。

2)采用ZED 相机结合测距算法,在嵌入式平台上进行了苹果目标定位实验。ZED 双目相机的测距误差可控制在0.02 m 以内,同时改进的YOLOv4 算法的平均检测速度为15 FPS 左右,能够满足苹果采摘任务的实时性要求。

猜你喜欢

标定嵌入式苹果
使用朗仁H6 Pro标定北汽绅宝转向角传感器
搭建基于Qt的嵌入式开发平台
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
嵌入式软PLC在电镀生产流程控制系统中的应用
收获苹果
船载高精度星敏感器安装角的标定
拿苹果
会说话的苹果
基于Harris-张正友平面标定法的摄像机标定算法
Altera加入嵌入式视觉联盟