深圳Yolo 视觉
深圳
立即加入
词汇表

视觉Transformer (ViT)

探索 Vision Transformer (ViT) 在计算机视觉中的强大功能。了解它们如何通过捕获全局图像上下文来超越 CNN。

视觉Transformer (ViT)是一种 是一种深度学习架构,它将 的原理直接应用于图像序列。它最初用于 自然语言处理(NLP)、 变换器通过使用允许模型权衡输入数据不同部分重要性的机制,在该领域掀起了一场革命。 输入数据不同部分的重要性。ViT 是由Google 研究院在论文中提出的 "一幅图像胜过 16x16 个单词 "一文中提出,作为标准的 标准 卷积神经网络(CNN) 的替代方案。与使用局部滤波器处理像素的 CNN 不同,ViT 将图像视为一系列 与使用局部滤波器处理像素的 CNN 不同,ViTs 将图像视为一连串固定大小的斑块,因此能从第一层开始就利用自我注意捕捉全局上下文和长距离依赖关系。 使用自我注意

Vision Transformer 的工作原理

ViT 的结构代表了机器处理视觉信息方式的重大转变。工作流程 涉及将图像分解成更小的组件,这些组件的处理方式类似于句子中的单词。

  1. 补丁分割:将输入图像分割成网格状的非重叠斑块(如 16x16 像素)。这一步骤可将二维图像转换为一维向量序列,从而有效地标记视觉数据。
  2. 扁平斑块的线性投影:将每个补丁平铺并投影到一个 在低维空间中创建嵌入,以 代表该特定区域的视觉特征。
  3. 位置嵌入:由于Transformer 架构本身无法理解序列的顺序 序列的顺序,因此可学习的位置嵌入被添加到补丁嵌入中,以保留关于每个补丁在原始图像中位置的空间信息。 每个补丁在原始图像中的位置信息。
  4. Transformer 编码器:将嵌入序列输入标准Transformer 编码器。在这里 注意机制允许模型 学习每个补丁与其他补丁之间的关系,而不管它们在图像中的距离如何。 图像之间的关系。
  5. 分类头:对于图像分类等任务 图像分类等任务 添加到序列中,并将其最终状态输入多层感知器(MLP)头,以预测类别标签。 标签。

ViT 与 CNN 架构对比

虽然这两种架构都是现代 计算机视觉 (CV) 的基础,但它们依赖于不同的 归纳偏差。CNN 利用卷积操作 优先考虑局部交互和平移不变性(无论物体的位置如何都能识别)。这 这使得 CNN 在处理较小的数据集时非常高效。相比之下,ViTs 的图像特定结构较少,并且依赖于 直接从大规模数据集(如 ImageNet

当对大量数据进行训练时,ViT 通常会表现出色,因为它们可以模拟复杂的全局关系,而 CNN 可能会忽略这些关系。 CNN 可能忽略的复杂全局关系建模。然而,这种全局范围往往以较高的训练计算要求和较慢的推理速度为代价。 在资源有限的边缘设备上进行推理的速度较慢。 边缘设备上的推理速度较慢。混合模型,如 RT-DETR等混合模型试图弥合这一差距。 骨干网来实现高效特征提取,并结合 用于全局上下文的Transformer 编码器。

实际应用

视觉转换器在一些领域取得了成功,在这些领域中,理解场景的整体背景比理解低级纹理细节更为重要。 比低级纹理细节更重要的领域中取得了成功。

  • 医学图像分析:在医疗图像分析等领域 在医学图像分析等领域,ViT 可用于 detect 核磁共振扫描或 X 射线中的异常。例如,在 肿瘤检测、 例如,在肿瘤检测中,ViT 可以关联器官远处的特征,从而识别出单独看起来正常的恶性组织,提高诊断准确性。 提高诊断准确性
  • 遥感和卫星图像:有效利用 ViT 分析 卫星图像 用于环境监测。它们处理全球背景的能力有助于区分类似的 地形类型,例如区分不同的农作物田或追踪大面积地理区域的城市扩张。 等。

将变压器与Ultralytics一起使用

"(《世界人权宣言》) ultralytics 该软件包支持RT-DETR (实时检测Transformer等Transformer架构。 Transformer)等基于Transformer的架构。 物体检测.基于 CNN 的模型,如 推荐 YOLO11 对于实时 在优先考虑高精度和全局背景的情况下,RT-DETR 提供了一种稳健的替代方案。

from ultralytics import RTDETR

# Load a pretrained RT-DETR model (Transformer-based architecture)
model = RTDETR("rtdetr-l.pt")

# Perform inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")

# Display the results with bounding boxes
results[0].show()

展望未来,效率创新至关重要。Ultralytics 目前正在开发 YOLO26,旨在提供与变压器相关的高精度 变压器的高精度,同时保持 CNN 的速度。此外,即将推出的 Ultralytics 平台将简化在各种环境中训练和部署这些先进模型的工作流程。 此外,即将推出的 Ultralytics Platform 将简化从云服务器到边缘硬件等各种环境中训练和部署这些高级模型的工作流程。主要框架,如 PyTorchTensorFlow继续扩大对 对 ViT 变体的支持,推动了该领域的进一步研究。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入