YOLOv6:A Single-Stage Object Detection Framework for Industrial Applications

YOLOv6基于RepVGG设计了可重参数化、更高效的骨干网络

什么是 YOLOv6?

  • 1)受到硬件感知神经网络设计思想的启发,基于 RepVGG 设计了可重参数化、更高效的骨干网络 EfficientRep、RepPAN
  • 2)优化设计了更简洁有效 YOLOv6 的解耦头,在维持精度的同时,进一步降低了一般解耦头带来的额外延时开销
  • 3)在训练策略上,我们采用 Anchor-free无锚范式,同时 SimOTA标签分配策略、SIOUloss边界框回归损失来进一步提高检测精度

YOLOv6的网络结构?

  • 1)受到硬件感知神经网络设计思想的启发,基于 RepVGG 设计了可重参数化、更高效的骨干网络 EfficientRep、RepPAN
  • 2)优化设计了更简洁有效YOLOv6的解耦头,在维持精度的同时,进一步降低了一般解耦头带来的额外延时开销

YOLOv6的解耦头?

  • YOLOv5检测头是通过分类和回归分支融合共享的方式来实现的,而 YOLOX的检测头则是将分类和回归分支进行解耦,同时新增了两个额外的 3x3 的卷积层,虽然提升了检测精度,但一定程度上增加了网络延时
  • 在 YOLOv6 中,采用了解耦头结构,并对其进行了精简设计。采用 Hybrid Channels 策略重新设计了一个更高效的解耦头结构,在维持精度的同时降低了延时,缓解了解耦头中 3x3 卷积带来的额外延时开销

什么是 EfficientRep?

  • 基于以上 Rep 算子设计了一个高效的 Backbone。相比于 YOLOv5采用的 CSP-Backbone,该 Backbone 能够高效利用硬件(如 GPU)算力的 同时,还具有较强的表征能力

什么是 RepPAN?

  • 基于硬件感知神经网络设计思想,为 YOLOv6 设计了一个更有效的特征融合网络结构RepPAN
  • 基于PAN拓扑方式,用RepBlock替换了YOLOv5中使用的CSP-Block,同时对整体 Neck 中的算子进行了调整,目的是在硬件上达到高效推理的同时,保持较好的多尺度特征融合能力

什么是SimSPPF?

  • YOLOv6提出的模块,感觉SPPF只差了一个激活函数,简单测试了一下,单个ConvBNReLU速度要比ConvBNSiLU快18%

YOLOv6 的 SimOTA 标签分配策略?

  • 为了获得更多高质量的正样本,YOLOv6 引入了 SimOTA 动态分配正样本,进一步提高检测精度,YOLOv5 的标签分配策略是基于 Shape 匹配,并通过跨网格匹配策略增加正样本数量,从而使得网络快速收敛,但是该方法属于静态分配方法,并不会随着网络训练的过程而调整
  • 在YOLOX中,OT又简化为动态的top-k策略进行分配,也就是得到一个近似解的策略:动态样本匹配(SimOTA)。YOLOv6也沿用这个标签分配的方法

参考:

  1. 空间金字塔池化改进 SPP / SPPF / SimSPPF / ASPP / RFB / SPPCSPC / SPPFCSPC_空洞空间卷积池化金字塔_迪菲赫尔曼的博客-CSDN博客