YOLOv8目标检测创新改进与实战案例专栏
专栏目录: YOLOv8有效改进系列及项目实战目录 包含卷积,主干 注意力,检测头等创新机制 以及 各种目标检测分割项目实战案例
专栏链接: YOLOv8基础解析+创新改进+实战案例
介绍
摘要
本文提出了一种新型视觉Transformer
,称为Swin Transformer
,它能够作为计算机视觉的通用骨干网络。将Transformer从语言领域适应到视觉领域时面临的挑战源于两个领域之间的差异,例如视觉实体的尺度变化大以及图像中像素的高分辨率相比文本中的单词。为了解决这些差异,我们提出了一种分层Transformer,其表示是通过移位窗口计算得出的。移位窗口方案通过将自注意力计算限制在非重叠的局部窗口内,同时也允许跨窗口连接,从而带来更高的效率。这种分层架构具有在不同尺度上建模的灵活性,并且其计算复杂度与图像大小呈线性关系。Swin Transformer
的这些特性使其与广泛的视觉任务兼容,包括图像分类(在ImageNet-1K
上的top-1
准确率为87.3)和密集预测任务,如目标检测(在COCO test-dev
上的框准确率为58.7,掩码准确率为51.1)以及语义分割(在ADE20K val
上的mIoU
为53.5)。其性能大幅超越了之前的最佳水平,在COCO上框准确率提高了+2.7,在掩码准确率提高了+2.6,在ADE20K
上mIoU
提高了+3.2,展示了基于Transformer模型作为视觉骨干网络的潜力。分层设计和移位窗口方法也证明对所有MLP
架构都有益。
创新点
-
引入类似于CNN的层次化构建方式构建Transformer模型;
-
引入locality思想,对无重合的window区域进行单独的self-attention计算。
文章链接
论文地址:论文地址
代码地址:代码地址
基本原理
Swin Transformer(Liu et al., 2021)是一种基于 Transformer 的深度学习模型,在视觉任务中具有最先进的性能。与之前的 Vision Transformer (ViT) (Dosovitskiy et al., 2020) 不同,Swin Transformer 效率高且精度更高。由于这些理想的特性,Swin Transformers 被用作当今许多基于视觉的模型架构的骨干。
Swin Transformer引入了两个关键概念来解决原始ViT(视觉变换器)所面临的问题——层次化特征图和移位窗口注意力机制。实际上,Swin Transformer的名称来源于“移位窗口变换器”。Swin Transformer的整体架构如下所示。
请注意,在论文中,第一个块使用了“块划分”(patch partition)。为了简化,这个图中将第一个块标为“块合并”(patch merging),因为它们的操作是相似的。
如我们所见,“块合并”(Patch Merging)模块和“Swin Transformer模块”是Swin Transformer中的两个关键构建块。