YOLO v6(学习笔记)

目录

1.网络改进

2.网络结构

(1)EffificientRep

(2)Rep-PAN

(3)高效解耦头

2.损失函数

(1)分类损失

(2)回归损失

(3)obj损失(未选择)


1.网络改进
  • 网络设计:Backbone:与其他主流架构相比,RepVGG骨干网络在推理速度相近的情况下,在小型网络中具备更多的特征表示能力,而由于参数和计算成本的爆炸性增长,它很难被扩展以获得更大的模型。YOLO v6把RepBlock作为我们小型网络的构建模块。对于大型模型,我们修改了一个更有效的CSP块,名为CSPStackRep块。Neck:YOLOv6的颈部采用了YOLOv4和YOLOv5之后的PAN拓扑结构。用RepBlocks或CSPStackRep Blocks来增强颈部,以实现Rep-PAN。Head:简化了解耦头,使其更加有效,称为高效解耦头。
2.网络结构
  • 依旧由backbone、neck和head组成。
  • backbone:设计了一个高效的可重新参数化的骨干,称为EffificientRep
  • neck:Rep-PAN
  • head:高效解耦头
(1)EffificientRep
  • RepVGG 主干在小型网络中具有更强的特征表示能力,但是随着参数和计算成本的爆炸式增长, RepVGG 在大模型中难以获得较高的性能,所以设计了一个高效的可重新参数化的骨干,称为EffificientRep
  • 将 Backbone 中 stride=2 的普通 Conv 层替换成了 stride=2 的RepConv层
  • 将原始的 CSP-Block 都重新设计为 RepBlock,其中 RepBlock 的第一个 RepConv 会做 channel 维度的变换和对齐
  • 将原始的 SPPF 优化设计为更加高效的 SimSPPF
(2)Rep-PAN
  • Rep-PAN 基于 PAN 拓扑方式,用 RepBlock 替换了 YOLOv5 中使用的 CSP-Block,对整体 Neck 中的算子进行了调整
(3)高效解耦头
  • YOLOv5的检测头是一个耦合头,而FCOS和YOLOX的同类产品则将这两个分支解耦,并且在每个分支中引入额外的两个3×3卷积层以提高性能。在YOLOv6中,我们采用混合通道策略来建立一个更有效的解耦头。
  • 具体来说,我们将中间的3×3卷积层的数量减少到只有一个。头部的宽度由骨干和颈部的宽度乘数共同缩放。这些修改进一步降低了计算成本,以实现更低的推理延迟。
2.损失函数
  • YOLO v6的损失也由 分类损失回归损失 组成
(1)分类损失
  • 针对正负样本有不平衡的问题和正样本中不等权的问题,来发现更多有价值的正样本。因此选择 VariFocal Loss 作为分类损失
(2)回归损失
  • SIoU Loss在小模型上提升明显, GIoU Loss在大模型上提升明显,因此选择SIoU (for n/t/s) / GIoU (for m/l) 损失作为回归损失。

  • SIoU 损失是使用距离成本、形状成本IoU成本定义的。角度成本在距离成本中使用。以下是SIoU公式:

  • Distance cost(距离损失):描述了中心点之间的距离,其惩罚代价与角度代价呈正相关,当𝛼→0时,Distance cost的贡献大大降低。相反,𝛼越接近pi/4,Distance cost贡献越大。

  • 角度成本:

  • Shape cost(形状损失):形状成本是处理纵横比不匹配的部分。作者考虑的两框之间的长宽比,是通过计算两框之间宽之差和二者之间最大宽之比(长同理)来定义的,大体思路和CIOU类似,只不过CIOU可以的考虑是两框整体形状的收敛,而SIoU是以长、宽两个边收敛来达到整体形状收敛的效果。

(3)obj损失(未选择)
  • 作为一个像FCOS和YOLOX一样的anchor-free框架,我们已经在YOLOv6中尝试了object loss。不太幸运的是,它并没有带来很多好的效果,所以选择丢弃了obj损失。
相关推荐
☆cwlulu6 小时前
论文精读:3D Self-Localization of Drones using a Single Millimeter-Wave Anchor 无人机在黑暗室内的精准定位
目标检测·无人机
前网易架构师-高司机10 小时前
带标注的瓶盖识别数据集,识别率99.5%,可识别瓶盖,支持yolo,coco json,pascal voc xml格式
人工智能·yolo·数据集·瓶盖
一勺汤12 小时前
YOLO26 改进、魔改| 部分通道注意力模块PAT,以轻量化并行结构融合局部卷积与增强型通道注意力,提升小目标、遮挡目标的检测效果。
yolo·注意力机制·轻量化·小目标·yolo26·yolo26改进·复杂场景
Techblog of HaoWANG19 小时前
目标检测与跟踪(13)-- Jetson Xavier NX / Orin NX 松灵机械臂PiPer SDK、ROS功能包、官方文档解读
人工智能·目标检测·计算机视觉·机械臂·智能机器人·松零·piper
skywalk81631 天前
参考paddlex的图像识别和目标检测,做一个精简的寻物小助手的推理服务器后台
服务器·人工智能·目标检测
fl1768311 天前
智慧工业玻璃瓶容器缺陷检测数据集VOC+YOLO格式2149张28类别
yolo
_假正经1 天前
YOLOV8/11分割与分类输出参数说明
人工智能·yolo·分类
鹭天1 天前
【目标检测学习笔记】 yolov2
笔记·学习·目标检测
Techblog of HaoWANG2 天前
目标检测与跟踪(12)-- Jetson Xavier NX / Orin NX ROS及视觉检测环境配置、移植、部署指南
人工智能·目标检测·计算机视觉·机器人·视觉检测·控制