Vision Transformer (ViT)
Explora o poder dos Vision Transformers (ViT). Aprende como o self-attention e a tokenização de patches revolucionam a visão computacional além das CNNs com o Ultralytics.
Um Vision Transformer (ViT) é uma arquitetura de aprendizado profundo que adapta os mecanismos de autoatenção originalmente projetados para Processamento de Linguagem Natural (NLP) para resolver tarefas visuais. Ao contrário de uma Rede Neural Convolucional (CNN) tradicional, que processa imagens através de uma hierarquia de grades de pixels locais, um ViT trata uma imagem como uma sequência de patches discretos. Esta abordagem foi popularizada pelo artigo de pesquisa histórico "An Image is Worth 16x16 Words", que demonstrou que arquiteturas puras de Transformer poderiam alcançar um desempenho de ponta em visão computacional (CV) sem depender de camadas de convolução. Ao aproveitar a atenção global, os ViTs conseguem capturar dependências de longo alcance em toda a imagem desde a primeira camada.
Link to this sectionComo funcionam os Vision Transformers#
A inovação fundamental do ViT é a forma como estrutura os dados de entrada. Para tornar uma imagem compatível com um Transformer padrão, o modelo decompõe a informação visual em uma sequência de vetores, imitando como um modelo de linguagem processa uma frase de palavras.
-
Tokenização de Patch: A imagem de entrada é dividida em uma grade de quadrados de tamanho fixo, tipicamente 16x16 pixels. Cada quadrado é achatado em um vetor, tornando-se efetivamente um token visual.
-
Projeção Linear: Esses patches achatados passam por uma camada linear treinável para criar embeddings densos. Este passo mapeia os valores de pixel brutos para um espaço de alta dimensão que o modelo consegue processar.
-
Codificação Posicional: Como a arquitetura processa sequências em paralelo e carece de uma compreensão inerente de ordem ou espaço, codificações posicionais aprendíveis são adicionadas aos embeddings de patch. Isso permite que o modelo retenha informações espaciais sobre onde cada patch pertence na imagem original.
-
Mecanismo de Autoatenção: A sequência entra no codificador Transformer, onde a autoatenção permite que cada patch interaja com todos os outros patches simultaneamente. Isso permite que a rede aprenda o contexto global, entendendo como um pixel no canto superior esquerdo se relaciona com um no canto inferior direito.
-
Cabeça de Classificação: Para tarefas como classificação de imagem, um "token de classe" especial é frequentemente adicionado ao início da sequência. O estado de saída final deste token serve como a representação agregada da imagem, que é então alimentada em um classificador, como um perceptron multicamadas (MLP).
Link to this sectionVision Transformers vs. CNNs#
Embora ambas as arquiteturas visem compreender dados visuais, elas diferem significativamente em sua filosofia operacional. As CNNs possuem um forte "viés indutivo" conhecido como invariância de tradução, o que significa que assumem inerentemente que características locais (como bordas e texturas) são importantes independentemente da sua posição. Isso torna as CNNs altamente eficientes em termos de dados e eficazes em datasets menores.
Por outro lado, os Vision Transformers têm menos viés específico de imagem. Eles precisam aprender relações espaciais do zero usando quantidades massivas de dados de treinamento, como os datasets JFT-300M ou ImageNet completos. Embora isso torne o treinamento mais computacionalmente intensivo, permite que os ViTs escalem notavelmente bem; com dados e poder computacional suficientes, eles podem superar as CNNs ao capturar estruturas globais complexas que convoluções locais poderiam ignorar.
Link to this sectionAplicações no Mundo Real#
A capacidade de entender o contexto global torna os ViTs particularmente úteis para ambientes complexos e de alto risco.
- Análise de Imagem Médica: Em IA na saúde, os ViTs são usados para analisar exames de alta resolução, como ressonâncias magnéticas ou lâminas de histopatologia. Por exemplo, na detecção de tumores, um ViT pode correlacionar anomalias texturais sutis no tecido com mudanças estruturais mais amplas em toda a lâmina, identificando padrões malignos que o processamento local poderia ignorar.
- Imagens de Satélite e Sensoriamento Remoto: Os ViTs destacam-se na análise de imagens de satélite, onde as relações entre objetos abrangem grandes distâncias. Por exemplo, conectar um local de desmatamento a uma estrada de exploração madeireira distante exige a compreensão do "panorama geral" de uma paisagem, uma tarefa onde a atenção global de um ViT supera o campo de visão limitado das CNNs padrão.
Link to this sectionUtilizando Transformers com Ultralytics#
A biblioteca ultralytics suporta arquiteturas baseadas em Transformer, mais notavelmente o RT-DETR (Real-Time Detection Transformer). Embora o carro-chefe YOLO26 seja frequentemente preferido pelo seu equilíbrio entre velocidade e precisão em dispositivos de borda, o RT-DETR oferece uma alternativa poderosa para cenários que priorizam o contexto global.
O exemplo a seguir em Python demonstra como carregar um modelo baseado em Transformer pré-treinado e executar inferência:
from ultralytics import RTDETR
# Load a pre-trained RT-DETR model (Vision Transformer-based)
model = RTDETR("rtdetr-l.pt")
# Run inference on an image source
# The model uses self-attention to detect objects globally
results = model("https://ultralytics.com/images/bus.jpg")
# Display the detection results
results[0].show()Link to this sectionPerspectiva Futura#
A pesquisa está evoluindo rapidamente para lidar com o alto custo computacional dos ViTs. Técnicas como FlashAttention estão tornando esses modelos mais rápidos e com melhor eficiência de memória. Além disso, arquiteturas híbridas que combinam a eficiência das CNNs com a atenção dos Transformers estão se tornando comuns. Para equipes que buscam gerenciar esses fluxos de trabalho avançados, a Plataforma Ultralytics oferece um ambiente unificado para anotar dados, treinar modelos complexos via nuvem e implantá-los em diversos endpoints.






