Link to this sectionYOLO12: Deteção de Objetos Centrada em Atenção#
Link to this sectionVisão geral#
O YOLO12, lançado no início de 2025, introduz uma arquitetura centrada em atenção que se afasta das abordagens tradicionais baseadas em CNN utilizadas em modelos YOLO anteriores, mantendo contudo a velocidade de inferência em tempo real essencial para muitas aplicações. Este modelo alcança uma elevada precisão na deteção de objetos através de inovações metodológicas nos mecanismos de atenção e na arquitetura geral da rede, preservando o desempenho em tempo real. Apesar destas vantagens, o YOLO12 continua a ser um lançamento impulsionado pela comunidade que pode apresentar instabilidade no treino, consumo de memória elevado e menor rendimento no CPU devido aos seus blocos de atenção pesados, pelo que a Ultralytics recomenda o YOLO11 ou o YOLO26 para a maioria das cargas de trabalho de produção.
Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀
Link to this sectionPrincipais recursos#
- Mecanismo de Atenção de Área (Area Attention Mechanism): Uma nova abordagem de auto-atenção que processa grandes campos recetivos de forma eficiente. Divide os feature maps em l regiões de tamanho igual (definidas por defeito como 4), horizontal ou verticalmente, evitando operações complexas e mantendo um grande campo recetivo efetivo. Isto reduz significativamente o custo computacional em comparação com a auto-atenção padrão.
- Redes de Agregação de Camadas Eficientes Residuais (R-ELAN): Um módulo de agregação de características melhorado baseado em ELAN, concebido para resolver desafios de otimização, especialmente em modelos centrados em atenção de maior escala. O R-ELAN introduz:
- Ligações residuais ao nível de bloco com dimensionamento (semelhante ao dimensionamento de camadas).
- Um método redesenhado de agregação de características que cria uma estrutura semelhante a um estrangulamento (bottleneck).
- Arquitetura de Atenção Otimizada: O YOLO12 simplifica o mecanismo de atenção padrão para uma maior eficiência e compatibilidade com o framework YOLO. Isto inclui:
- Utilizar FlashAttention para minimizar a sobrecarga de acesso à memória.
- Remover a codificação posicional para um modelo mais limpo e rápido.
- Ajustar o rácio MLP (do típico 4 para 1.2 ou 2) para equilibrar melhor a computação entre as camadas de atenção e as camadas feed-forward.
- Reduzir a profundidade dos blocos empilhados para uma otimização melhorada.
- Aproveitar as operações de convolução (quando apropriado) pela sua eficiência computacional.
- Adicionar uma convolução separável 7x7 (o "percetor de posição") ao mecanismo de atenção para codificar implicitamente a informação posicional.
- Suporte Abrangente a Tarefas: O YOLO12 suporta uma variedade de tarefas principais de visão computacional: deteção de objetos, instance segmentation, image classification, estimativa de pose e deteção de objetos orientados (OBB).
- Eficiência Melhorada: Alcança uma maior precisão com menos parâmetros em comparação com muitos modelos anteriores, demonstrando um melhor equilíbrio entre velocidade e precisão.
- Implementação Flexível: Concebido para implementação em diversas plataformas, desde dispositivos edge até infraestruturas na nuvem.

Link to this sectionTarefas e modos suportados#
O YOLO12 suporta uma variedade de tarefas de visão computacional. A tabela abaixo mostra o suporte de tarefas e os modos operacionais (Inferência, Validação, Treino e Exportação) ativados para cada uma:
Apenas os pesos de deteçã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/, pelo que essas variantes suportam treino do zero a partir da configuração .yaml, mas não existem atualmente ficheiros .pt pré-treinados disponíveis para elas. 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 | Validação | Treinamento | Exportar |
|---|---|---|---|---|---|---|
| YOLO12 | Detecção | ✅ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-seg | Segmentação | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-pose | Pose | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-cls | Classificação | ❌ | ✅ | ✅ | ✅ | ✅ |
| YOLO12-obb | OBB | ❌ | ✅ | ✅ | ✅ | ✅ |
Todas as arquiteturas YOLO12 suportam todos os modos assim que um checkpoint treinado está disponível. A coluna Pretrained Weights indica apenas se a Ultralytics publica um .pt pré-treinado oficial em ultralytics/assets: para segmentação, pose, classificação e OBB, deves treinar o teu próprio checkpoint a partir do .yaml correspondente antes de executar inferência, validação ou exportação.
Link to this sectionMétricas de desempenho#
O YOLO12 demonstra melhorias significativas na accuracy em todas as escalas de modelo, com algumas concessões em termos de velocidade em comparação com os modelos YOLO anteriores mais rápidos. Abaixo estão os resultados quantitativos para object detection no conjunto de dados de validação COCO:
Link to this sectionDesempenho de Deteçã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 num GPU NVIDIA T4 com precision TensorRT FP16.
- As comparações mostram a melhoria relativa no mAP e a variação 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, quando disponíveis.
Link to this sectionExemplos de uso#
Esta secção fornece exemplos para treino e inferência com o YOLO12. Para documentação mais abrangente sobre estes e outros modos (incluindo Validation e Export), consulta as páginas dedicadas a Predict e Train.
Os exemplos abaixo focam-se nos modelos Detect do YOLO12 (para deteção de objetos). Para outras tarefas suportadas (segmentação, classificação, deteção de objetos orientados e estimativa de pose), consulta a documentação específica da respetiva tarefa: Segment, Classify, OBB e Pose.
Modelos *.pt pré-treinados (usando PyTorch) e ficheiros de configuração *.yaml podem ser passados para a classe YOLO() para criar uma instância do 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")Link to this sectionPrincipais Melhorias#
-
Feature Extraction Melhorada:
- Area Attention: Gere eficientemente grandes receptive fields, reduzindo o custo computacional.
- Equilíbrio Otimizado: Equilíbrio melhorado entre as computações de atenção e da rede feed-forward.
- R-ELAN: Melhora a agregação de características utilizando a arquitetura R-ELAN.
-
Inovações de Otimização:
- Ligações Residuais: Introduz ligações residuais com dimensionamento para estabilizar o treino, especialmente em modelos maiores.
- Integração de Características Refinada: Implementa um método melhorado para integração de características dentro do R-ELAN.
- FlashAttention: Incorpora FlashAttention para reduzir a sobrecarga de acesso à memória.
-
Eficiência Arquitetural:
- Parâmetros Reduzidos: Alcança um menor número de parâmetros enquanto mantém ou melhora a precisão em comparação com muitos modelos anteriores.
- Atenção Simplificada: Utiliza uma implementação de atenção simplificada, evitando a codificação posicional.
- Rácios MLP Otimizados: Ajusta os rácios MLP para alocar mais eficazmente os recursos computacionais.
Link to this sectionRequisitos#
A implementação do Ultralytics YOLO12, por predefinição, não requer FlashAttention. No entanto, o FlashAttention pode ser opcionalmente compilado e utilizado com o YOLO12. Para compilar o FlashAttention, é necessário um dos seguintes GPUs NVIDIA:
- Turing GPUs (por exemplo, T4, série Quadro RTX)
- Ampere GPUs (por exemplo, série RTX30, A30/40/100)
- Ada Lovelace GPUs (por exemplo, série RTX40)
- Hopper GPUs (por exemplo, H100/H200)
Link to this sectionCitações e Agradecimentos#
Se utilizares o YOLO12 na tua investigação, por favor cita o trabalho original da University at Buffalo e da University of Chinese Academy of Sciences:
@inproceedings{tian2025yolov12,
title={YOLOv12: Attention-Centric Real-Time Object Detectors},
author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
booktitle={Advances in Neural Information Processing Systems},
volume={38},
pages={78433--78457},
year={2025},
url={https://proceedings.neurips.cc/paper_files/paper/2025/file/7103444259031cc58051f8c9a4868533-Paper-Conference.pdf}
}
@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}
}O artigo sobre YOLO12 foi publicado nos anais da NeurIPS 2025, com um preprint no arXiv.
Link to this sectionFAQ#
Link to this sectionComo é que o YOLO12 alcança a deteção de objetos em tempo real mantendo uma elevada precisão?#
O YOLO12 incorpora várias inovações chave para equilibrar velocidade e precisão. O Attention mechanism de Área processa eficientemente grandes campos recetivos, reduzindo o custo computacional em comparação com a auto-atençã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 centrados em atenção maiores. A Arquitetura de Atenção Otimizada, incluindo a utilização de FlashAttention e a remoção da codificação posicional, aumenta ainda mais a eficiência. Estas funcionalidades permitem que o YOLO12 alcance uma precisão de topo enquanto mantém a velocidade de inferência em tempo real crucial para muitas aplicações.
Link to this sectionQue tarefas de computer vision é que o YOLO12 suporta?#
O YOLO12 é um modelo versátil que suporta uma vasta gama de tarefas principais de visão computacional. Destaca-se na detection de objetos, segmentation de instâncias, classification de imagem, pose estimation e deteção de objetos orientados (OBB) (ver detalhes). Este suporte abrangente a tarefas torna o YOLO12 uma ferramenta poderosa para diversas aplicações, desde robotics e condução autónoma até imagiologia médica e inspeção industrial. Nota que os pesos .pt pré-treinados são atualmente publicados apenas para deteção; as arquiteturas de segmentação, pose, classificação e OBB são fornecidas como configurações .yaml para treino do zero.
Link to this sectionComo é que o YOLO12 se compara a outros modelos YOLO e concorrentes como o RT-DETR?#
O YOLO12 demonstra melhorias de precisão significativas em todas as escalas de modelo em comparação com modelos YOLO anteriores, como o YOLOv10 e o YOLO11, com alguns compromissos em velocidade em relação aos modelos anteriores mais rápidos. Por exemplo, o YOLO12n alcança uma melhoria de +2,1% de mAP em relação ao YOLOv10n e +1,2% em relação ao YOLO11n no conjunto de dados COCO val2017. Comparado a modelos como o RT-DETR, o YOLO12s oferece uma melhoria de +1,5% de 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.
Link to this sectionQuais são os requisitos de hardware para executar o YOLO12, especialmente para usar o FlashAttention?#
Por predefinição, a implementação do Ultralytics YOLO12 não requer FlashAttention. No entanto, o FlashAttention pode ser opcionalmente compilado e utilizado com o YOLO12 para minimizar a sobrecarga de acesso à memória. Para compilar o FlashAttention, é necessário um dos seguintes GPUs NVIDIA: Turing GPUs (por exemplo, T4, série Quadro RTX), Ampere GPUs (por exemplo, série RTX30, A30/40/100), Ada Lovelace GPUs (por exemplo, série RTX40) ou Hopper GPUs (por exemplo, H100/H200). Esta flexibilidade permite aos utilizadores aproveitar os benefícios do FlashAttention quando os recursos de hardware o permitem.
Link to this sectionOnde posso encontrar exemplos de utilização e documentação mais detalhada para o YOLO12?#
Esta página fornece exemplos de utilização básicos para treino e inferência. Para documentação abrangente sobre estes e outros modos, incluindo Validation e Export, consulta as páginas dedicadas a Predict e Train. Para informações específicas sobre tarefas (segmentação, classificação, deteção de objetos orientados e estimativa de pose), consulta a documentação respetiva: Segment, Classify, OBB e Pose. Estes recursos fornecem orientações aprofundadas para utilizar eficazmente o YOLO12 em vários cenários.