Descubra o poder dos Transformadores de Visão (ViTs) na visão por computador. Saiba 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 concebido para o processamento de linguagem natural (PNL), a tarefas de visão computacional (CV). Introduzidos por investigadores da Google no artigo "Uma imagem vale 16x16 palavras", os ViTs representam um afastamento significativo das arquitecturas dominantes das redes neuronais convolucionais (CNN). Em vez de processar imagens com filtros deslizantes, uma ViT trata uma imagem como uma sequência de retalhos, o que lhe permite captar relações globais entre diferentes partes de uma imagem utilizando o mecanismo de auto-atenção.
A ideia central por detrás de um ViT é processar uma imagem de forma a imitar a forma como os Transformers processam o texto. O processo envolve alguns passos fundamentais:
Embora tanto as ViTs como as CNNs sejam arquitecturas fundamentais na visão computacional, diferem significativamente na sua abordagem:
Os ViTs demonstraram um desempenho excecional em várias aplicações, especialmente quando a compreensão do contexto global é fundamental.
O sucesso dos ViTs também inspirou arquitecturas híbridas. Modelos como o RT-DETR combinam um backbone CNN para uma extração eficiente de caraterísticas com um codificador-descodificador baseado em Transformers para modelar relações entre objectos. Esta abordagem tem como objetivo obter o melhor de dois mundos: a eficiência das CNN e o conhecimento do contexto global dos Transformers.
Para muitos aplicativos em tempo real, especialmente em dispositivos de borda com recursos limitados, modelos baseados em CNN altamente otimizados, como a família Ultralytics YOLO (por exemplo, YOLOv8 e YOLO11), geralmente fornecem um melhor equilíbrio entre velocidade e precisão. Pode ver uma comparação pormenorizada entre o RT-DETR e o YOLO11 para compreender as vantagens e desvantagens. 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.