每天一篇《目标检测》文献(三)
今天看的是《基于改进 YOLOv8 的被遮挡柑橘果实检测算法研究》。
目录
一、摘要
二、背景介绍
三、改进结构
四、空间定位算法
五、定位实验
一、摘要
为了获取柑橘果实的准确特征信息,实现被遮挡柑橘的准确识别和定位,达到精确采 摘的目的,提出了一种改进的被遮挡柑橘果实识别模型构建。该模型在 YOLOv8 目标检测模 型中引入了 BAM 注意力机制,解决了被遮挡柑橘识别效果较差的问题,并采用支持向量机 (SVM)实例分割模型提取被遮挡柑橘的精确轮廓,实现被遮挡柑橘果实的精确识别。仿真 试验结果表明,与 YOLOv8 目标检测模型相比,该改进定位模型在被遮挡柑橘果实的平均定 位误差和果径误差率分别降低了16.29mm和8.03%。
二、背景介绍
我国是柑橘原产地之一,传统检测通过采集果实纹理、形状及颜色等特征信息,提取过程相对繁琐,基于机器学习的目标检测仅在单一场景下果实识别率较高,基于深度卷积神经网络的果实检测依靠其强大的特征提取能力,在单一和遮挡的环境下检测率均较高。
目前,柑橘智能化采摘面临的主要问题就是柑橘果实被遮挡严重,难以实现精确识别,针对上述问题,本文提出在传统yolov8模型中引入BAM注意力机制。通过将输入图像进行数据增强,图像预处理、特征提取、回归预测和非极大值抑制,得到图像中柑橘的置信度和坐标信息,之后使用BAM对被遮挡柑橘果实特征信息进行重构,有效抑制背景特征,提高遮挡柑橘果实的识别效率和准确率。
YOLOv8的网络结构如下:
单阶段yolov8的检测模块主要包括:输入模块、主干网络、颈部检测头模块和输出模块。
Yolov8的工作原理如下:
- 输入图像首先通过图像增强、自适应处理进行预处理
- 主干网络特征提取时融合大部分背景信息,目标信息较少。C2f模块用以解决特征提取位置信息多、、目标特征弱的问题
- 颈部模块将分类和检测头分离,采用自底向上和自顶向下的双塔结构传递特征信息,将提取的信息对坐标和类别进行回归预测
- 输出模块将特征信息进行非极大值抑制,得到果实的置信度和坐标信息
C2f的结构如下:
三、改进结构
本文引入BAM注意力机制,注意力重构被忽略的信息,抑制被遮挡的背景信息,聚焦柑橘果实特征。BAM模块如下所示:
在yolov8的C2f模块后引入BAM模块,通过channel和spatial两个分离路径得到新的Attention Map,获得更加精确的柑橘果实特征。
结合通道和空间注意力模块,可以获得更好的重叠和被遮挡果实的轮廓锡信息,计算公式如下:
为通道注意力,
为空间注意力,F为输入特征图,R为激活函数,C为输入特征图通道数,H×W为高度×宽度。
BN为批量归一化,为对输入特征图进行线性变换的权重矩阵,
为1×1卷积核的权重矩阵,C/r为多层感知机第一层的神经元个数,C为多层感知机第二层神经元的个数,AVGPool为平均池化,b1、b0为偏置项,
f为卷积操作,上标为卷积核大小,1×1为filter size为1,3×3是空洞卷积。
改进的模块结构如下图所示:
四、空间定位算法
果实与背景类间方差较大,通常采用最大类间方差法(Otsu’s Method,Ostu法),该方法按被遮挡果实灰度特性,将果实和背景区分,方法简单,噪声干扰较大,难以区分果实的精准轮廓。本文应用SVM分割模型对柑橘果实进行轮廓提取。
SVM主要包括提示编码器,图像编码器、掩码编码器,结构如下所示:
工作原理如下:
图像编码器首先通过卷积层和池化层,提取被遮挡柑橘果实的抽象特征,提示编码器将预测图像信息与图像编码器信息融合,掩码编码器将图像、提示两个编码器输出转换成像素的分割掩码。改进yolo检测模型后获得的目标区域内,应用SVM分割后,采用Canny算子对其轮廓提取。
柑橘近似椭圆,采用最小二乘法进行椭圆拟合,设果实中心坐标(x0,y0),半长轴、半短轴、长轴偏角分别为a、b、θ,其一般方程为:
ABCDE均为常数,多个采集点坐标,所得目标函数为:
对上式求偏导F对每一个变量的偏导都应该等于零。
五、定位实验
柑橘果实拟合轮廓内部像素为Qi,人工标被遮挡柑橘果实轮廓区域内部像素Q,两者重合度为C,评价指标为
%
由于果实形心难以精确定位,不适合用空间位置误差评价算法定位精度,故定位误差为:
下标i和j分别代表未遮挡和被遮挡的果实推断空间坐标。
采用改进yolov8识别图像,得到的定位结果如下:
从左至右分别是原图像、改进后识别图像、特征提取后图像、补充后图像和人工拟合图像。
和原yolov8算法计算被遮挡的形心坐标和果实直径,定位和果经误差对比如下:
被遮挡和果实重叠情况下,平均定位误差减少16.29mm,平均果经误差降低了8.03%。