采摘机器人的目标定位和测量技术

2023-06-25 01:19杨佳贺
关键词:双目定位特征

付 斌,杨佳贺

(哈尔滨商业大学 轻工学院,哈尔滨 150028)

采摘自动化对农业智能化的发展具有重要意义.20世纪60年代,美国率先开展了农业智能和智能收割机器人的研究.随着研究成果的应用,越来越多的国家开始开展农业智能化研究.

E·J·VanHenten(2003)在温室中对黄瓜机器人进行了开发和测试.试验中,四台机器人在温室中代替人类工作.对四台独立的实验机器人进行了测试.平均成功率为74.4%.对于柑橘,Y·Edan, T·Flash(1990)依靠有效的算法计算决定采摘时机器人的运动序列,尽量减少柑橘识别时间.使用 TSP 技术,尽量减少成本来确定所有水果的位置,以及附近最小时间路径,仿真结果表明,算法大大减少了果实识别的时间.

我国也对此进行相关研究,司永胜,乔军等(2010)提出了通过归一化处理的红色和绿色差(R-G)/(R+G)分割苹果的方法.对不同光照下拍摄的苹果图像进行内容识别,对识别出的图像进行预处理,得到苹果的轮廓图像.从轮廓图像中提取水果的质心和半径.

本文使用Yolov5检测算法来检测水果.自2012年AlexNet以来,目标检测算法在深度学习领域得到了快速发展.Yolo算法最突出的特点是高速.随着Yolo算法的不断优化,精度也越来越高.

Yolov3仅使用卷积层,作者提出一个新的特征提取网络,Darknet-53.包含53个卷积层,每个后面跟随着batch normalization层和leaky ReLU层.使用步幅为2的卷积层替代池化层进行特征图的降采样阶段,如此能够起到阻止因为池化层导致的低层级特征的损失.Yolov4在训练中改进了输入端,结合了各种新方法,包括:CSPDarknet53号、Mish激活函数、Dropblock.目标检测网络通常在BackBone和最终输出层之间插入一些层.输出层的锚框架机制与Yolov3相同.第一个改进是训练期间的损失函数CIOU_Loss,预测框架筛选出的nms成为DIOUnms.Yolov5锚点框是根据训练数据集自动学习的,而Yolov4没有自适应锚点框.Yolov5使用的激活函数包括leakyReLU和Sigmoid.Yolov5的中间隐藏层使用leakyReLU激活函数,最后一个检测层使用Sigmoid激活功能.Yolov4使用mish和leakyReLU激活函数,骨干网络使用mish.mish激活函数具有很高的复杂性.在Yolov5的训练时间非常快,速度远远快于Yolov4.

1 基于深度学习的水果检测算法分析

采摘机器人在采摘水果时,首先要确定图像中的目标类别,然后对识别结果进行空间定位,并将定位信息的结果传递给采摘机器人的控制单元.为了避免因枝叶遮挡、阳光干扰和距离等原因造成的漏摘和错摘,本文采用自制的数据集来训练模型,提高准确率.

1.1 Yolov5检测算法

Yolov5是一种单阶段目标检测算法,Yolov5可以分为Backbone,FPN以及Yolo Head三部分.

Backbone是Yolov5的主干特征提取网络,也被称为CSPDarknet.首先在主干网络中连续提取输入图像.经过多次卷积后,提取的特征是输入图像的特征集,即特征层.在CSPDarknet中将获得了三个有效的特征层.

颈部网络是Yolov5的增强特征提取网络,也称为FPN.这一部分将对CSPDarknet输出的三个有效特征层进行特征融合,并进一步提取输入的有效特征层.在颈部网络中,对特征进行上采样特征融合,并进行特征下采样实现特征融合.见图1.

图1 Yolov5网络结构图Figure 1 Yolov5 network structure

Yolo Head是分类器与回归器.通过以上两步,可以获得三个加强过的有效特征层,可以看作一个又一个特征点的集合,Yolo Head会对特征点进行判断,是否有物体与其对应,分类和回归在一个1×1卷积里运行.

Yolov5网络对大中型、显著分明的目标识别具有良好的识别性能.

图2中,Yolov5对小目标的检测效果不佳.针对Yolov5的不足,本实验对Yolov5网络结构进行优化.

图2 Yolov5识别结果Figure 2 Yolov5 recognition results

1.2 Yolov5结构优化

Yolov5不能很好地检测小目标的一个原因是因为小目标的尺寸很小,而Yolov5相对较大的下采样倍数使得采样率太高,小物体甚至无法占据一个像素点.较深的特征图很难获取小目标的特征信息.针对此点不足,本次实验在Yolov5网络结构中增加小目标检测层.

Yolov5中默认保存了一些预设锚定框,在原始Yolov5网络结构的骨干网络中,只有三个特征层,对应三个原始Anchor值,Anchors参数共有# P3/8、# P4/16、# P5/32三行,当输入图像尺寸为640×640时,会得到三个不同尺寸的输出:# P3/8(80×80)、# P4/16(40×40)、# P5/32(20×20).

其中#P3/8(80×80)代表浅层特征图,包含更多低层级的信息,适合检测小目标,因此这一特征图用的Anchors尺度较小.# P5/32(20×20)代表深层的特征图,包含更高层级的信息,适合检测大目标.所以这一特征图用的Anchors尺度较大.#P4/16(40×40)介于两者之间,适合检测中目标

优化后的网络结构在Anchor处进行修改,新加一层#P2/4(160×160),这是一层比# P3/8(80×80)包含更多低层级信息的特征图,这一特征图所用的Anchors尺度更小,因此#P2/4(160×160)对小目标的检测效果比 # P3/8(80×80)更好.

# anchors

anchors:

-[5,6, 8,14, 15,11] #P2/4(160×160)

-[10,13, 16,30, 33,23] # P3/8(80×80)

-[30,61, 62,45, 59,119] # P4/16(40×40)

-[116,90, 156,198, 373,326] # P5/32(20×20)

(1)

如图3所示,Yolov5在网络结构中增加小目标检测层后,对小目标和半遮挡目标的识别率明显改善.

图3 Yolov5优化后识别结果Figure 3 Recognition results after Yolov5 optimization

2 基于双目相机目标水果定位技术

在完成目标检测后,获取果实的空间立体坐标是采摘机器人进行准确摘取工作的前提条件.依据双目测距原理,根据同一空间点在两个相机图像中的坐标计算得到空间点的深度信息.双目相机立体成像原理如图4所示.

图4 双目相机立体成像原理Figure 4 Stereo image principle of binocular camera

空间中P点能够同时被两个相机捕获,在两个图像中对应点的坐标分别是P1(u1,v1)和P2(u2,v2),那么根据相似三角形原理,P点在左侧相机的相机坐标系中的深度Z满足式中的条件.

(2)

将式化简,可推导出深度Z的解析式如式(3)所示.

(3)

据式(3)可知,在一个双目相机系统中,像素点的深度只与该点在左右两个图像中的像素坐标的差值有关,这个差值称为“视差”.视差是通过处理两幅图像中的信息获得的,这两幅图像与摄像机采集的图像有关.式(3)中的分子与双目视觉系统的内部参数有关,参数f可以通过单独标定每个摄像机获得,参数B与双目系统的两个摄像机的放置位置有关.因此,有必要校准双目视觉系统,以确定两个相机坐标系原点之间的距离.双目测距的基本过程如图5所示.

图5 双目测距流程Figure 5 Binocular ranging process

3 果实样本制作与实验过程

想要提升检测的准确率,需要优化权重参数得到稳定可靠的模型,需要大量数据训练.检测实验过程如图6所示.

图6 果实检测实验流程图Figure 6 Flow chart of fruit detection experiment

3.1 数据集制作

本实验数据部分取自网络,部分数据来自人工实地采集,在不同环境和角度下拍摄,共采集原始数据2 500.为提高训练效果,现将数据集进行预处理,对原始数据做数据增强,增强后的数据集共用17 500张图片.对不同大小、角度、颜色的苹果进行处理.包括Blur, change brightness, add noise, rotate, flip几种处理,如表1所示.

表1 数据集增强后图像Table 1 Dataset enhanced images

3.2 训练并实验

本实验模型的构建,优化,训练和测试均在Pytorch框架下完成,实验运行环境见表2.

表2 实验运行环境Table 2 Experimental operating environment

Precision(精度):

(4)

Recall(召回率):

(5)

其中:TP为正样本被正确识别为正样本;FP为假的正样本,即负样本被错误识别为正样本;FN为假的负样本,即正样本被错误识别为负样本. 如图7,在模型训练时,在训练200个迭代周期后,精度和召回率逐渐达到收敛状态.

图7 训练可视化结果Figure 7 Training visualization results

使用训练后的权重,对随机选择的5 250张水果图片进行检测测试,如图8所示. 可以对远距离小目标和有部分遮挡的果实进行准确的分类识别,对水果的识别的平均精度达到了92.4%.模型的稳定性和权重配比效果良好,识别一张照片的平均用时0.09 s,识别速度较快,符合平均精度和识别速度的要求.双目立体定位实验结果如图9所示.

图8 识别结果Figure 8 Recognition results

图9 双目相机定位结果Figure 9 Positioning results of binocular camera

4 定位误差分析

为了验证基于双目相机和Yolov5的果实定位的实际效果,现对本次实验的定位进行误差分析,本次定位结果分析步骤如下:

1)将已测出的目标位置信息作为原始数据;

2)双目相机向远离目标的方向移动固定距离d,移动后对目标再次定位,记录两次定位的差值Δd,固定距离d减去该差值Δd即为定位误差s.

s=d-Δd

(6)

误差率即误差s与移动距离的比值.

(7)

对目标重复n次步骤2),并记录数据,计算平均定位误差和误差率.

根据上述分析步骤进行实验分析,本次实验取d=10 cm,n=5.如表3所示,实验并记录数据,计算得到定位误差和误差率的均值.

表3 定位结果数据Table 3 Positioning result data

由表3可以看出,定位的平均误差为0.18 cm,平均误差率为1.8%,低于2%.考虑到实际果实在卡具固定过程中具有柔性位移,因此,该测量精度在引导机械手末端捕捉并固定果实时,可满足需求.

5 结 语

本文提出了一种基于深度学习网络Yolov5算法的识别方法.该算法在小目标检测的基础上增加了小目标检测层.通过建立数据集和调整参数,对模型进行训练,并使用该算法检测水果目标.水果识别的平均准确率为92.4%.识别照片的平均时间为0.09 s,检测精度和速度良好.

基于双目视觉的相关知识,对摄像机进行标定,并通过标定后获得的参数对目标进行匹配和定位.并返回目标的三维坐标,即深度信息.实验结果表明,在一定范围内,平均误差的位置为0.18 cm,平均误差率的位置为1.8%.平均误差率符合实际需要.

猜你喜欢
双目定位特征
《导航定位与授时》征稿简则
Smartrail4.0定位和控制
如何表达“特征”
基于双目测距的卡尔曼滤波船舶轨迹跟踪
不忠诚的四个特征
找准定位 砥砺前行
抓住特征巧观察
基于双目视觉图像的长度测量方法
青年择业要有准确定位
基于双目视觉的接触线几何参数测量方法