YOLO12: Detecção de Objetos Centrada em Atenção
Visão geral
O YOLO12, lançado no início de 2025, introduz uma arquitetura centrada em atenção que se distancia das abordagens tradicionais baseadas em CNN usadas nos modelos YOLO anteriores, mantendo a velocidade de inferência em tempo real essencial para muitas aplicações. Este modelo alcança alta precisão na detecção de objetos através de inovações metodológicas em mecanismos de atenção e na arquitetura geral da rede, mantendo o desempenho em tempo real. Apesar dessas vantagens, o YOLO12 continua sendo um lançamento orientado pela comunidade que pode apresentar instabilidade de treinamento, maior consumo de memória e throughput de CPU mais lento devido aos seus blocos de atenção pesados, por isso a Ultralytics recomenda o YOLO11 ou o YOLO26 para a maioria das cargas de trabalho em produção.
Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀
Principais recursos
- Mecanismo de Atenção de Área: Uma nova abordagem de autoatenção que processa grandes campos receptivos de forma eficiente. Ela divide mapas de características em l regiões de tamanho igual (padrão de 4), horizontal ou verticalmente, evitando operações complexas e mantendo um grande campo receptivo efetivo. Isso reduz significativamente o custo computacional em comparação com a autoatenção padrão.
- Redes de Agregação de Camadas Eficientes Residuais (R-ELAN): Um módulo de agregação de características aprimorado baseado em ELAN, projetado para resolver desafios de otimização, especialmente em modelos maiores centrados em atenção. O R-ELAN introduz:
- Conexões residuais em nível de bloco com escalonamento (similar ao escalonamento de camadas).
- Um método de agregação de características redesenhado criando uma estrutura semelhante a um gargalo.
- Arquitetura de Atenção Otimizada: O YOLO12 simplifica o mecanismo de atenção padrão para maior eficiência e compatibilidade com o framework YOLO. Isso inclui:
- O uso de FlashAttention para minimizar a sobrecarga de acesso à memória.
- A remoção da codificação posicional para um modelo mais limpo e rápido.
- O ajuste da proporção MLP (de 4 para 1.2 ou 2) para equilibrar melhor a computação entre as camadas de atenção e de feed-forward.
- A redução da profundidade de blocos empilhados para uma otimização aprimorada.
- O aproveitamento de operações de convolução (onde apropriado) por sua eficiência computacional.
- A adição de uma convolução separável 7x7 (o "perceptor de posição") ao mecanismo de atenção para codificar implicitamente as informações posicionais.
- Suporte Abrangente a Tarefas: O YOLO12 suporta uma variedade de tarefas principais de visão computacional: detecção de objetos, segmentação de instâncias, classificação de imagens, estimativa de pose e detecção de objetos orientados (OBB).
- Eficiência Aprimorada: Alcança maior precisão com menos parâmetros em comparação com muitos modelos anteriores, demonstrando um equilíbrio aprimorado entre velocidade e precisão.
- Implantação Flexível: Projetado para implantação em diversas plataformas, desde dispositivos de borda até infraestrutura em nuvem.

Tarefas e modos suportados
O YOLO12 suporta uma variedade de tarefas de visão computacional. A tabela abaixo mostra o suporte a tarefas e os modos operacionais (Inferência, Validação, Treinamento e Exportação) habilitados para cada uma:
Apenas os pesos de detecção (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) são lançados em ultralytics/assets. As arquiteturas de segmentação, classificação, pose e OBB estão definidas em ultralytics/cfg/models/12/, portanto essas variantes suportam treinamento do zero a partir da configuração .yaml, mas não há arquivos .pt pré-treinados disponíveis para elas atualmente. Para checkpoints pré-treinados de segmentação, pose, classificação ou OBB, a Ultralytics recomenda o YOLO11 ou o YOLO26.
| Tipo de Modelo | Tarefa | Pesos Pré-treinados | Inferência (Inference) | Validação | Treinamento | Export |
|---|---|---|---|---|---|---|
| YOLO12 | Detecção | ✅ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-seg | Segmentação | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-pose | Pose | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-cls | Classificação | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-obb | OBB | ❌ | ✅ | ✅ | ✅ | ✅ |
All YOLO12 architectures support every mode once a trained checkpoint is available. The Pretrained Weights column indicates only whether Ultralytics publishes an official pretrained .pt on ultralytics/assets: for segmentation, pose, classification, and OBB, you must train your own checkpoint from the corresponding .yaml before running inference, validation, or export.
Métricas de desempenho
O YOLO12 demonstra melhorias significativas de precisão em todas as escalas de modelo, com algumas compensações em velocidade em comparação com os modelos YOLO anteriores mais rápidos. Abaixo estão os resultados quantitativos para detecção de objetos no conjunto de dados de validação COCO:
Desempenho de Detecção (COCO val2017)
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT (ms) | params (M) | FLOPs (B) | Comparação (mAP/Velocidade) |
|---|---|---|---|---|---|---|---|
| YOLO12n | 640 | 40,6 | - | 1.64 | 2.6 | 6,5 | +2.1%/-9% (vs. YOLOv10n) |
| YOLO12s | 640 | 48.0 | - | 2.61 | 9.3 | 21,4 | +0.1%/+42% (vs. RT-DETRv2) |
| YOLO12m | 640 | 52.5 | - | 4.86 | 20.2 | 67.5 | +1.0%/-3% (vs. YOLO11m) |
| YOLO12l | 640 | 53.7 | - | 6.77 | 26.4 | 88.9 | +0.4%/-8% (vs. YOLO11l) |
| YOLO12x | 640 | 55.2 | - | 11.79 | 59.1 | 199.0 | +0.6%/-4% (vs. YOLO11x) |
- Velocidade de inferência medida em uma GPU NVIDIA T4 com precisão TensorRT FP16.
- As comparações mostram a melhoria relativa no mAP e a mudança percentual na velocidade (positivo indica mais rápido; negativo indica mais lento). As comparações são feitas em relação aos resultados publicados para YOLOv10, YOLO11 e RT-DETR onde disponíveis.
Exemplos de Uso
Esta seção fornece exemplos para treinamento e inferência com o YOLO12. Para uma documentação mais abrangente sobre esses e outros modos (incluindo Validação e Exportação), consulte as páginas dedicadas de Previsão e Treinamento.
Os exemplos abaixo focam nos modelos Detect do YOLO12 (para detecção de objetos). Para outras tarefas suportadas (segmentação, classificação, detecção de objetos orientados e estimativa de pose), consulte a documentação específica de cada tarefa: Segmentar, Classificar, OBB e Pose.
Modelos *.pt pré-treinados (usando PyTorch) e arquivos de configuração *.yaml podem ser passados para a classe YOLO() para criar uma instância de modelo em Python:
from ultralytics import YOLO
# Load a COCO-pretrained YOLO12n model
model = YOLO("yolo12n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLO12n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")Principais Melhorias
-
Extração de Características Aprimorada:
- Atenção de Área: Lida de forma eficiente com grandes campos receptivos, reduzindo o custo computacional.
- Equilíbrio Otimizado: Equilíbrio aprimorado entre computações de atenção e de rede feed-forward.
- R-ELAN: Aprimora a agregação de características usando a arquitetura R-ELAN.
-
Inovações de Otimização:
- Conexões Residuais: Introduz conexões residuais com escalonamento para estabilizar o treinamento, especialmente em modelos maiores.
- Integração Refinada de Características: Implementa um método aprimorado para integração de características dentro do R-ELAN.
- FlashAttention: Incorpora FlashAttention para reduzir a sobrecarga de acesso à memória.
-
Eficiência Arquitetônica:
- Parâmetros Reduzidos: Alcança uma contagem de parâmetros menor enquanto mantém ou melhora a precisão em comparação com muitos modelos anteriores.
- Atenção Simplificada: Usa uma implementação de atenção simplificada, evitando codificação posicional.
- Proporções MLP Otimizadas: Ajusta as proporções MLP para alocar recursos computacionais de forma mais eficaz.
Requisitos
A implementação do Ultralytics YOLO12, por padrão, não requer FlashAttention. No entanto, o FlashAttention pode ser opcionalmente compilado e usado com o YOLO12. Para compilar o FlashAttention, uma das seguintes GPUs NVIDIA é necessária:
- GPUs Turing (por exemplo, T4, série Quadro RTX)
- GPUs Ampere (por exemplo, série RTX30, A30/40/100)
- GPUs Ada Lovelace (por exemplo, série RTX40)
- GPUs Hopper (por exemplo, H100/H200)
Citações e Agradecimentos
Se você usar o YOLO12 em sua pesquisa, por favor, cite o trabalho original da University at Buffalo e da University of Chinese Academy of Sciences:
@article{tian2025yolo12,
title={YOLO12: Attention-Centric Real-Time Object Detectors},
author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
journal={arXiv preprint arXiv:2502.12524},
year={2025}
}
@software{yolo12,
author = {Tian, Yunjie and Ye, Qixiang and Doermann, David},
title = {YOLO12: Attention-Centric Real-Time Object Detectors},
year = {2025},
url = {https://github.com/sunsmarterjie/yolov12},
license = {AGPL-3.0}
}FAQ
Como o YOLO12 alcança a detecção de objetos em tempo real enquanto mantém alta precisão?
O YOLO12 incorpora várias inovações fundamentais para equilibrar velocidade e precisão. O mecanismo de Atenção de Área processa eficientemente grandes campos receptivos, reduzindo o custo computacional em comparação com a autoatenção padrão. As Redes de Agregação de Camadas Eficientes Residuais (R-ELAN) melhoram a agregação de características, resolvendo desafios de otimização em modelos maiores centrados em atenção. A Arquitetura de Atenção Otimizada, incluindo o uso de FlashAttention e a remoção da codificação posicional, aumenta ainda mais a eficiência. Esses recursos permitem que o YOLO12 alcance uma precisão de ponta enquanto mantém a velocidade de inferência em tempo real crucial para muitas aplicações.
Quais tarefas de visão computacional o YOLO12 suporta?
O YOLO12 é um modelo versátil que suporta uma ampla gama de tarefas principais de visão computacional. Ele se destaca na detecção de objetos, segmentação de instâncias, classificação de imagens, estimativa de pose e detecção de objetos orientados (OBB) (veja detalhes). Esse suporte abrangente a tarefas torna o YOLO12 uma ferramenta poderosa para diversas aplicações, desde robótica e direção autônoma até imagens médicas e inspeção industrial. Observe que os pesos .pt pré-treinados são publicados atualmente apenas para detecção; as arquiteturas de segmentação, pose, classificação e OBB são fornecidas como configurações .yaml para treinamento do zero.
Como o YOLO12 se compara a outros modelos YOLO e concorrentes como o RT-DETR?
O YOLO12 demonstra melhorias significativas de precisão em todas as escalas de modelo em comparação com modelos YOLO anteriores como o YOLOv10 e YOLO11, com algumas compensações em velocidade em comparação com os modelos anteriores mais rápidos. Por exemplo, o YOLO12n alcança uma melhoria de +2.1% no mAP em relação ao YOLOv10n e +1.2% em relação ao YOLO11n no conjunto de dados COCO val2017. Em comparação com modelos como o RT-DETR, o YOLO12s oferece uma melhoria de +1.5% no mAP e um aumento substancial de +42% na velocidade. Essas métricas destacam o forte equilíbrio do YOLO12 entre precisão e eficiência. Veja a seção de métricas de desempenho para comparações detalhadas.
Quais são os requisitos de hardware para executar o YOLO12, especialmente para usar o FlashAttention?
Por padrão, a implementação do Ultralytics YOLO12 não requer FlashAttention. No entanto, o FlashAttention pode ser opcionalmente compilado e usado com o YOLO12 para minimizar a sobrecarga de acesso à memória. Para compilar o FlashAttention, uma das seguintes GPUs NVIDIA é necessária: GPUs Turing (por exemplo, T4, série Quadro RTX), GPUs Ampere (por exemplo, série RTX30, A30/40/100), GPUs Ada Lovelace (por exemplo, série RTX40) ou GPUs Hopper (por exemplo, H100/H200). Essa flexibilidade permite que os usuários aproveitem os benefícios do FlashAttention quando os recursos de hardware permitirem.
Onde posso encontrar exemplos de uso e documentação mais detalhada sobre o YOLO12?
Esta página fornece exemplos de uso básicos para treinamento e inferência. Para uma documentação abrangente sobre esses e outros modos, incluindo Validação e Exportação, consulte as páginas dedicadas de Previsão e Treinamento. Para informações específicas de cada tarefa (segmentação, classificação, detecção de objetos orientados e estimativa de pose), consulte a documentação respectiva: Segmentar, Classificar, OBB e Pose. Esses recursos fornecem orientação aprofundada para utilizar o YOLO12 de forma eficaz em vários cenários.