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

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 好)分类 + 检测 + 分割

 


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

相关文章:

  • k8s中PAUSE容器与init容器比较 local卷与hostpath卷比较
  • docker-compose install nginx(解决fastgpt跨区域)
  • ModBus TCP/RTU互转(主)(从)|| Modbus主动轮询下发的工业应用 || 基于智能网关的串口服务器进行Modbus数据收发的工业应用
  • 基于SpringBoot的在线拍卖系统
  • RK3568笔记七十九:Web通信处理
  • 清华大学第12弹:《DeepSeek政务应用场景及解决方案》
  • 7种数据结构
  • 生成PDF文件:从html2canvas和jsPdf渲染到Puppeteer矢量图
  • 鸿蒙路由 HMRouter 配置及使用 三 全局拦截器使用
  • SWPU 2021 新生赛
  • 深入探讨TK矩阵系统:创新的TikTok运营工具
  • CVE-2018-2628(使用 docker 搭建)
  • MyBatis 基础使用指南
  • 分布式架构下的RPC解决方案
  • LeetCode-274.H 指数
  • 在事上练工作和生活的边界感
  • openEuler系统迁移 Docker 数据目录到 /home,解决Docker 临时文件占用大问题
  • 虚幻基础:移动组件
  • 电鱼智能EFISH-RK3576-SBC工控板已适配Android 14系统
  • 深度学习-148-langchain之如何使用with_structured_output()从模型中返回结构化数据