Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Vision Transformer (ViT)

Descubra o poder dos Vision Transformers (ViTs) em visão computacional. Aprenda como eles superam as CNNs ao capturar o contexto global da imagem.

Um Vision Transformer (ViT) é um tipo de arquitetura de rede neural que aplica o modelo Transformer de grande sucesso, originalmente projetado para processamento de linguagem natural (PNL), a tarefas de visão computacional (VC). Introduzido por pesquisadores do Google no artigo "An Image is Worth 16x16 Words", os ViTs representam um desvio significativo das arquiteturas dominantes de Redes Neurais Convolucionais (CNN). Em vez de processar imagens com filtros deslizantes, um ViT trata uma imagem como uma sequência de patches, permitindo que ele capture relacionamentos globais entre diferentes partes de uma imagem usando o mecanismo de autoatenção.

Como Funcionam os Vision Transformers

A ideia central por trás de uma ViT é processar uma imagem de forma a imitar como os Transformers processam o texto. O processo envolve algumas etapas principais:

  1. Patching de Imagem: A imagem de entrada é primeiramente dividida em uma grade de patches de tamanho fixo e não sobrepostos. Por exemplo, uma imagem de 224x224 pixels pode ser dividida em 196 patches, cada um com 16x16 pixels.
  2. Incorporação de Patch: Cada patch é achatado em um único vetor. Esses vetores são então projetados em um espaço de dimensão inferior para criar "incorporações de patch". Uma "incorporação posicional" aprendível é adicionada a cada incorporação de patch para reter informações espaciais.
  3. Codificador Transformer: Esta sequência de embeddings é alimentada num codificador Transformer padrão. Através das suas camadas de autoatenção, o modelo aprende as relações entre todos os pares de patches, permitindo-lhe capturar o contexto global em toda a imagem desde a primeira camada.
  4. Cabeçalho de Classificação: Para tarefas como classificação de imagem, uma incorporação extra aprendível (semelhante ao token [CLS] no BERT) é adicionada à sequência. A saída correspondente do Transformer é passada para uma camada de classificação final para produzir a previsão.

ViT Vs. CNNs

Embora as ViTs e as CNNs sejam arquiteturas fundamentais em visão computacional, elas diferem significativamente em sua abordagem:

  • Viés Indutivo: As CNNs possuem fortes vieses indutivos (suposições sobre os dados), como localidade e equivariância de translação, por meio de suas camadas de convolução e pooling. As ViTs têm vieses indutivos muito mais fracos, tornando-as mais flexíveis, mas também mais dependentes do aprendizado de padrões diretamente dos dados.
  • Dependência de Dados: Devido aos seus vieses mais fracos, os ViTs geralmente requerem conjuntos de dados massivos (por exemplo, ImageNet-21k) ou pré-treino extensivo para superar as CNNs de última geração. Com conjuntos de dados menores, as CNNs geralmente generalizam melhor. É por isso que a transfer learning é crítica para os ViTs.
  • Contexto Global vs. Local: As CNNs constroem características hierárquicas de padrões locais para globais. Em contraste, os ViTs podem modelar interações globais entre patches desde as primeiras camadas, potencialmente capturando um contexto mais amplo de forma mais eficaz para certas tarefas.
  • Custo Computacional: O treinamento de ViTs pode ser computacionalmente intensivo, muitas vezes exigindo recursos significativos de GPU. Frameworks como PyTorch e TensorFlow fornecem implementações para treinar esses modelos.

Aplicações e Modelos Híbridos

Os ViTs têm demonstrado um desempenho excecional em várias aplicações, especialmente onde a compreensão do contexto global é fundamental.

  • Análise de Imagens Médicas: ViTs são altamente eficazes para analisar exames médicos como ressonâncias magnéticas ou imagens de histopatologia. Por exemplo, na detecção de tumores, um ViT pode identificar relações entre tecidos distantes, ajudando a classificar tumores com mais precisão do que modelos que se concentram apenas em texturas locais.
  • Condução Autónoma: Em carros autónomos, os ViTs podem analisar cenas complexas para deteção de objetos e segmentação. Ao processar toda a cena globalmente, eles podem entender melhor as interações entre veículos, peões e infraestrutura, conforme detalhado por múltiplos estudos de IA automotiva.

O sucesso dos ViTs também inspirou arquiteturas híbridas. Modelos como o RT-DETR combinam um backbone CNN para extração eficiente de recursos com um codificador-decodificador baseado em Transformer para modelar relações de objetos. Esta abordagem visa obter o melhor de ambos os mundos: a eficiência das CNNs e a consciência do contexto global dos Transformers.

Para muitas aplicações em tempo real, especialmente em dispositivos de borda com recursos limitados, modelos altamente otimizados baseados em CNN, como a família Ultralytics YOLO (por exemplo, YOLOv8 e YOLO11), geralmente fornecem um melhor equilíbrio entre velocidade e precisão. Você pode ver uma comparação detalhada entre RT-DETR e YOLO11 para entender as compensações. A escolha entre um ViT e uma CNN depende, em última análise, da tarefa específica, dos dados disponíveis e do orçamento computacional.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora
Link copiado para a área de transferência