ViT、DETR 和 Swin Transformer :基于 Transformer 的计算机视觉(CV)模型

1️⃣ Vision Transformer(ViT)

📌 主要特点:

  • 直接将图像切成固定大小的 Patch(如 16×16),然后展平并当作 Transformer 的输入(类似 NLP 处理 Token)。
  • 全局注意力(Self-Attention),可以看到整个图像,但计算复杂度高。
  • 用于图像分类任务(如 ImageNet 分类)。

📌 主要缺点:

  • 计算复杂度高,尤其是大图像时,O(N²) 复杂度
  • 不能自适应感受野(固定 Patch 大小)。

📌 适用场景:

  • 图像分类(如 ImageNet)
  • Fine-tuning 适用于医疗影像、卫星图像分析等

图像(224x224)
  ↓ 切成 16×16 小块
  ↓ 线性投影为 Patch Embedding
  ↓ 位置编码 + Transformer 层
  ↓ MLP 进行分类

2️⃣ DEtection TRansformer(DETR)

📌 主要特点:

  • 基于 Transformer 的目标检测模型,将检测问题转换为**集合匹配(Set Prediction)**问题。
  • 直接用 Transformer 替代了 CNN 目标检测中的 RPN(Region Proposal Network)
  • 使用二分匹配(Hungarian Matching) 来优化目标检测框的位置和类别。

📌 主要优点:

  • End-to-End 训练,不需要额外的后处理(如 NMS)。
  • 检测多个目标,不需要手工设计 Anchor Boxes(对小目标、遮挡目标更友好)。

📌 主要缺点:

  • 计算复杂度较高,尤其是在高分辨率图像上。
  • 收敛速度较慢,相比于传统的 Faster R-CNN 需要更长时间训练。

📌 适用场景:

  • 目标检测(Object Detection)
  • 实例分割(Instance Segmentation)
  • 行人检测、自动驾驶等

图像输入 → CNN Backbone(提取特征) → Transformer(全局注意力) → 输出目标检测框和类别

3️⃣ Swin Transformer

📌 主要特点:

  • 采用滑动窗口(Shifted Window)自注意力机制,减少计算量,适应大分辨率图像。
  • 层次化设计(Hierarchical Feature Representation),更接近 CNN 方式,适用于下游任务(目标检测、分割等)。
  • 可以在不同分辨率下提取特征,适合密集预测任务(如目标检测、分割)。

📌 主要优点:

  • 计算量更小,相比 ViT 适用于更大图像
  • 支持多尺度特征提取(类似 CNN 的 FPN 结构),适用于目标检测、语义分割。
  • 能够在 ImageNet 训练后迁移到其他任务,通用性更强。

📌 主要缺点:

  • 相比 ViT 复杂度更高(但比标准 Transformer 低)。
  • 由于窗口大小固定,可能在处理超大物体或小目标时不如 CNN+Transformer 组合方法。

📌 适用场景:

  • 图像分类
  • 目标检测(比 ViT 更适合 YOLO/Faster R-CNN 任务)
  • 语义分割(适用于城市、医学影像等)
  • 多任务 CV 任务(如 Action Recognition、Pose Estimation)

图像输入 → 线性 Patch Embedding → Swin Transformer Block(窗口注意力) → 多尺度特征提取 → 适用于分类、检测、分割

📊 总结对比

模型主要任务注意力机制计算复杂度适用场景
ViT图像分类全局注意力(O(N²))高(需要大数据)分类
DETR目标检测Transformer 全局注意力高(慢收敛)目标检测
Swin Transformer目标检测、分割、分类Shifted Window 注意力低(比 ViT 好)分类 + 检测 + 分割

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值