Explore o poder dos Vision Transformers (ViT). Saiba como a autoatenção e a tokenização de patches revolucionam a visão computacional além das CNNs com Ultralytics.
Um Vision Transformer (ViT) é uma arquitetura de aprendizagem profunda 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 marcante "An Image is Worth 16x16 Words"(Uma imagem vale 16x16 palavras), que demonstrou que arquiteturas transformadoras puras podiam alcançar desempenho de ponta em visão computacional (CV) sem depender de camadas convolucionais. Ao aproveitar a atenção global, os ViTs podem capturar dependências de longo alcance em toda uma imagem desde a primeira camada.
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 divide as informações visuais em uma sequência de vetores, imitando a forma como um modelo de linguagem processa uma frase de palavras.
Embora ambas as arquiteturas tenham como objetivo compreender dados visuais, elas diferem significativamente na sua filosofia operacional. As CNNs possuem um forte «viés indutivo» conhecido como invariância de translação, o que significa que elas 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 conjuntos de dados 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 grandes quantidades de dados de treino, como o JFT-300M ou o ImageNet . Embora isso torne o treinamento mais intensivo em termos computacionais, permite que os ViTs sejam escalonados de forma notavelmente boa; com dados e poder computacional suficientes, eles podem superar as CNNs ao capturar estruturas globais complexas que as convoluções locais podem deixar passar.
A capacidade de compreender o contexto global torna as ViTs particularmente úteis para ambientes complexos e de alto risco.
O ultralytics A biblioteca suporta arquiteturas baseadas em Transformer, mais notavelmente o
RT-DETR Transformador de Detecção em Tempo Real). Enquanto o
carro-chefe YOLO26 é frequentemente preferido pelo seu equilíbrio entre velocidade
e precisão em dispositivos de ponta, RT-DETR uma alternativa poderosa para cenários que priorizam o contexto global.
O seguinte Python mostra como carregar um modelo pré-treinado baseado em Transformer e executar a 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()
A investigação está a evoluir rapidamente para lidar com o elevado custo computacional dos ViTs. Técnicas como FlashAttention estão a tornar esses modelos mais rápidos e mais eficientes em termos de memória. Além disso, arquiteturas híbridas que combinam a eficiência das CNNs com a atenção dos Transformers estão a tornar-se comuns. Para equipas que procuram gerir estes fluxos de trabalho avançados, a Ultralytics oferece um ambiente unificado para anotar dados, treinar modelos complexos através da nuvem e implementá-los em diversos pontos finais.