当前位置: 首页 > article >正文

每天一篇《目标检测》文献(三)

今天看的是《基于改进 YOLOv8 的被遮挡柑橘果实检测算法研究》。


目录

一、摘要

二、背景介绍

三、改进结构

四、空间定位算法

五、定位实验


一、摘要

为了获取柑橘果实的准确特征信息,实现被遮挡柑橘的准确识别和定位,达到精确采  摘的目的,提出了一种改进的被遮挡柑橘果实识别模型构建。该模型在 YOLOv8 目标检测模  型中引入了 BAM 注意力机制,解决了被遮挡柑橘识别效果较差的问题,并采用支持向量机  (SVM)实例分割模型提取被遮挡柑橘的精确轮廓,实现被遮挡柑橘果实的精确识别。仿真  试验结果表明,与 YOLOv8 目标检测模型相比,该改进定位模型在被遮挡柑橘果实的平均定  位误差和果径误差率分别降低了16.29mm和8.03%。

二、背景介绍

我国是柑橘原产地之一,传统检测通过采集果实纹理、形状及颜色等特征信息,提取过程相对繁琐,基于机器学习的目标检测仅在单一场景下果实识别率较高,基于深度卷积神经网络的果实检测依靠其强大的特征提取能力,在单一和遮挡的环境下检测率均较高。

目前,柑橘智能化采摘面临的主要问题就是柑橘果实被遮挡严重,难以实现精确识别,针对上述问题,本文提出在传统yolov8模型中引入BAM注意力机制。通过将输入图像进行数据增强,图像预处理、特征提取、回归预测和非极大值抑制,得到图像中柑橘的置信度和坐标信息,之后使用BAM对被遮挡柑橘果实特征信息进行重构,有效抑制背景特征,提高遮挡柑橘果实的识别效率和准确率。

YOLOv8的网络结构如下:

单阶段yolov8的检测模块主要包括:输入模块、主干网络、颈部检测头模块和输出模块。

Yolov8的工作原理如下:

  1. 输入图像首先通过图像增强、自适应处理进行预处理
  2. 主干网络特征提取时融合大部分背景信息,目标信息较少。C2f模块用以解决特征提取位置信息多、、目标特征弱的问题
  3. 颈部模块将分类和检测头分离,采用自底向上和自顶向下的双塔结构传递特征信息,将提取的信息对坐标和类别进行回归预测
  4. 输出模块将特征信息进行非极大值抑制,得到果实的置信度和坐标信息

C2f的结构如下:

三、改进结构

本文引入BAM注意力机制,注意力重构被忽略的信息,抑制被遮挡的背景信息,聚焦柑橘果实特征。BAM模块如下所示:

在yolov8的C2f模块后引入BAM模块,通过channel和spatial两个分离路径得到新的Attention Map,获得更加精确的柑橘果实特征。

结合通道和空间注意力模块,可以获得更好的重叠和被遮挡果实的轮廓锡信息,计算公式如下:

M(F)=\sigma (M_c(F)+M_s(F))

M_{c}(F)\epsilon R^{C}为通道注意力,M_{s}(F)\epsilon R^{R\times W}为空间注意力,F为输入特征图,R为激活函数,C为输入特征图通道数,H×W为高度×宽度。

 M_{c}(F)=BN(W_{1}(W_{0}Avgpool(F)+b_{0})+b_{1})

BN为批量归一化,W_{0}\epsilon R^{\frac{C}{r\times C}}为对输入特征图进行线性变换的权重矩阵,W _{1}\epsilon R^{\frac{C\times C}{r}}为1×1卷积核的权重矩阵,C/r为多层感知机第一层的神经元个数,C为多层感知机第二层神经元的个数,AVGPool为平均池化,b1、b0为偏置项,b_{1}\epsilon R^{C},b_{0}\epsilon R^{\frac{C}{r}}

M_{s}(F)=BN(f^{1\times 1}_{3}(f^{2\times 2}_{2}(f^{3\times 3}_{1}(f^{1\times 1}_{0}(F)))))

f为卷积操作,上标为卷积核大小,1×1为filter size为1,3×3是空洞卷积。

改进的模块结构如下图所示:

四、空间定位算法

果实与背景类间方差较大,通常采用最大类间方差法(Otsu’s Method,Ostu法),该方法按被遮挡果实灰度特性,将果实和背景区分,方法简单,噪声干扰较大,难以区分果实的精准轮廓。本文应用SVM分割模型对柑橘果实进行轮廓提取。

SVM主要包括提示编码器,图像编码器、掩码编码器,结构如下所示:

工作原理如下:

图像编码器首先通过卷积层和池化层,提取被遮挡柑橘果实的抽象特征,提示编码器将预测图像信息与图像编码器信息融合,掩码编码器将图像、提示两个编码器输出转换成像素的分割掩码。改进yolo检测模型后获得的目标区域内,应用SVM分割后,采用Canny算子对其轮廓提取。

柑橘近似椭圆,采用最小二乘法进行椭圆拟合,设果实中心坐标(x0,y0),半长轴、半短轴、长轴偏角分别为a、b、θ,其一般方程为:

x^{2}+Axy+By^{2}+Cx+Dy+E=0

\left\{\begin{matrix} x_{0}=\frac{2BC-AD}{A^{2}-4B}\\ y_{0}=\frac{2D-AD}{A^{2}-4B}\\ a=\sqrt{\frac{2(ACD-BC^{2}-D^{2})}{(A^{2}-4B)(B+\sqrt{A^{2}+(1-B)^{2}+1})}}\\ \theta =acrtan(\sqrt{\frac{a^{2}-b^{2}B}{a^{2}B-b})}\\ \end{matrix}\right.

ABCDE均为常数,多个采集点坐标,所得目标函数为:

F(A,B,C,D,E)=\sum_{i=1}^{n}(x^{2}_{i}A+Bx_{i}y_{i}+Cx_{i}+Dy_{i}+E)^{2}

对上式求偏导F对每一个变量的偏导都应该等于零。

五、定位实验

柑橘果实拟合轮廓内部像素为Qi,人工标被遮挡柑橘果实轮廓区域内部像素Q,两者重合度为C,评价指标为

C=\frac{\left | Q\cap Q_{i} \right |}{Q}\times 100%

由于果实形心难以精确定位,不适合用空间位置误差评价算法定位精度,故定位误差为:

\Delta =\sqrt{(x_{i}-x_{j})^{2}+(y_{i}-y_{j})^{2}+(z_{i}-z_{j})^{2}}

下标i和j分别代表未遮挡和被遮挡的果实推断空间坐标。

采用改进yolov8识别图像,得到的定位结果如下:

从左至右分别是原图像、改进后识别图像、特征提取后图像、补充后图像和人工拟合图像。

和原yolov8算法计算被遮挡的形心坐标和果实直径,定位和果经误差对比如下:

被遮挡和果实重叠情况下,平均定位误差减少16.29mm,平均果经误差降低了8.03%。


http://www.kler.cn/a/583333.html

相关文章:

  • Python----数据可视化(Pyecharts一:介绍安装,全局配置,系列配置)
  • Vue 组件通信 - 子传父
  • ctfhub-web-SSRF通过攻略
  • ffmpeg实用技巧:使用ffmpeg命令行从视频文件中提取帧画面并保存为图片
  • 桂链:什么是区块链账本?
  • 为什么 HTTP GET 方法不使用请求体?
  • [笔记.AI]KAG(知识增强生成 Knowledge Augmented Generation)
  • Vue:class与style绑定
  • 【科研绘图系列】python绘制分组点图(grouped dot plot)
  • LiveGBS流媒体平台GB/T28181常见问题-视频流安全控制HTTP接口鉴权勾选流地址鉴权后401Unauthorized如何播放调用接口流地址校验
  • 从Spring容器中获取bean
  • C#实现本地Deepseek模型及其他模型的对话v1.4
  • Python Flask 从 HTTP 请求中解包参数
  • 内检实验室LIMS系统在汽车制造行业的应用
  • 【每日学点HarmonyOS Next知识】粘贴板、异步、用户权限、锁屏事件、对话框
  • [网络爬虫] 动态网页抓取 — Selenium 入门操作
  • FANUC机器人字符串寄存器及指令介绍
  • yolov8在昇腾芯片上的测试
  • Python与Solidity联手:从跨语言智能合约开发到区块链生态跃迁
  • 塔能科技:智能机箱,为城市安防 “智” 造坚实堡垒