Ultralytics YOLO27:
Get Started

YOLO12: detecção de objetos centrada em atenção#

Visão geral#

Lançado no início de 2025, YOLO12 apresenta uma arquitetura centrada em atenção que se distancia das abordagens tradicionais baseadas em CNN usadas nos modelos YOLO anteriores, mas mantém a velocidade de inferência em tempo real essencial para muitas aplicações. Esse modelo alcança alta precisão na detecção de objetos por meio de novas inovações metodológicas nos mecanismos de atenção e na arquitetura geral da rede, mantendo o desempenho em tempo real. Apesar dessas vantagens, YOLO12 continua sendo um lançamento desenvolvido pela comunidade e pode apresentar instabilidade no treinamento, alto consumo de memória e menor taxa de processamento na CPU devido aos blocos de atenção pesados. Por isso, Ultralytics recomenda YOLO11 ou YOLO26 para a maioria das cargas de trabalho de produção.

Modelo da comunidade

YOLO12 é mantido principalmente para benchmarking e pesquisa. Se você precisa de treinamento estável, uso previsível de memória e inferência otimizada na CPU, escolha YOLO11 ou YOLO26 para implantação.



Assista: Como usar YOLO12 para detecção de objetos com o pacote Ultralytics | YOLO12 é rápido ou lento? 🚀

Principais funcionalidades#

  • Mecanismo de atenção por área: uma nova abordagem de autoatenção que processa campos receptivos grandes com eficiência. Ela divide mapas de características em l regiões de mesmo tamanho (4 por padrão), na horizontal ou na vertical, evitando operações complexas e mantendo um campo receptivo efetivo amplo. 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 e projetado para lidar com desafios de otimização, especialmente em modelos maiores centrados em atenção. R-ELAN introduz:
    • Conexões residuais no nível de bloco com escalonamento (semelhantes ao escalonamento de camadas).
    • Um método reformulado de agregação de características que cria uma estrutura semelhante a um gargalo.
  • Arquitetura de atenção otimizada: YOLO12 simplifica o mecanismo de atenção padrão para aumentar a eficiência e a compatibilidade com a estrutura YOLO. Isso inclui:
    • Uso de FlashAttention para minimizar a sobrecarga de acesso à memória.
    • Remoção da codificação posicional para criar um modelo mais simples e rápido.
    • Ajuste da proporção do MLP (de 4, o valor típico, para 1.2 ou 2) para equilibrar melhor a computação entre as camadas de atenção e de propagação direta.
    • Redução da profundidade dos blocos empilhados para melhorar a otimização.
    • Uso de operações de convolução (quando apropriado) por sua eficiência computacional.
    • Adição de uma convolução separável 7x7 (o "perceptor de posição") ao mecanismo de atenção para codificar informações posicionais implicitamente.
  • Suporte abrangente a tarefas: YOLO12 oferece suporte a várias tarefas essenciais 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 do que muitos modelos anteriores, demonstrando um equilíbrio melhor entre velocidade e precisão.
  • Implantação flexível: projetado para implantação em diversas plataformas, de dispositivos de borda à infraestrutura em nuvem.

Visualização da comparação do YOLO12

Tarefas e modos compatíveis#

YOLO12 oferece suporte a diversas tarefas de visão computacional. A tabela abaixo mostra o suporte a tarefas e os modos de operação (inferência, validação, treinamento e exportação) disponíveis para cada uma:

Disponibilidade de pesos pré-treinados

Somente pesos de detecção (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) são publicados em ultralytics/assets. As arquiteturas de segmentação, classificação, pose e OBB são definidas em ultralytics/cfg/models/12/. Portanto, essas variantes permitem treinamento do zero usando a configuração .yaml, mas, no momento, não há arquivos .pt pré-treinados disponíveis para elas. Para obter pontos de verificação pré-treinados de segmentação, pose, classificação ou OBB, Ultralytics recomenda YOLO11 ou YOLO26.

Tipo de modeloTarefaPesos pré-treinadosTreinamentoValidaçãoInferênciaExportar
YOLO12Detecção✅✅✅✅✅
YOLO12-segSegmentação❌✅✅✅✅
YOLO12-clsClassificação❌✅✅✅✅
YOLO12-posePose❌✅✅✅✅
YOLO12-obbOBB❌✅✅✅✅

Todas as arquiteturas YOLO12 oferecem suporte a todos os modos quando há um ponto de verificação treinado disponível. A coluna Pretrained Weights indica apenas se Ultralytics publica um .pt pré-treinado oficial em ultralytics/assets: para segmentação, pose, classificação e OBB, você precisa treinar seu próprio ponto de verificação a partir do .yaml correspondente antes de executar inferência, validação ou exportação.

Métricas de desempenho#

YOLO12 apresenta melhorias significativas de precisão em todas as escalas de modelo, com algumas concessões de 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 validação COCO:

Desempenho de detecção (COCO val2017)#

Desempenho
Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT
(ms)
parâmetros
(M)
FLOPs
(B)
Comparação
(mAP/velocidade)
YOLO12n64040.6-1.642.67.5+2.1%/-9% (em comparação com YOLOv10n)
YOLO12s64048.0-2.619.323.3+0.1%/+42% (em comparação com RT-DETRv2)
YOLO12m64052.5-4.8620.270.7+1.0%/-3% (em comparação com YOLO11m)
YOLO12l64053.7-6.7726.495.4+0.4%/-8% (em comparação com YOLO11l)
YOLO12x64055.2-11.7959.1208.9+0.6%/-4% (em comparação com YOLO11x)
  • Velocidade de inferência medida em uma GPU NVIDIA T4 com precisão FP16 do TensorRT precision.
  • As comparações mostram a melhoria relativa em mAP e a variação percentual na velocidade (valor positivo indica maior velocidade; valor negativo indica menor velocidade). As comparações são feitas com base nos resultados publicados para YOLOv10, YOLO11 e RT-DETR, quando disponíveis.

Exemplos de uso#

Esta seção apresenta exemplos de treinamento e inferência com YOLO12. Para obter documentação mais completa sobre esses e outros modos (incluindo validação e exportação), consulte as páginas específicas de previsão e treinamento.

Os exemplos abaixo se concentram nos modelos YOLO12 Detect (para detecção de objetos). Para outras tarefas compatíveis (segmentação, classificação, estimativa de pose e detecção de objetos orientados), consulte a documentação específica de cada tarefa: Segment, Classify, Pose e OBB.

Exemplo

Modelos *.pt pré-treinados (usando PyTorch) e arquivos de configuração *.yaml podem ser passados para a classe YOLO() para criar uma instância do modelo em Python:

from ultralytics import YOLO

# Carregar um modelo YOLO12n pré-treinado no COCO
model = YOLO("yolo12n.pt")

# Treina o modelo no conjunto de dados de exemplo COCO8 durante 100 épocas
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Executar inferência com o modelo YOLO12n na imagem 'bus.jpg'
results = model("path/to/bus.jpg")

Principais melhorias#

  1. Extração de características aprimorada:

    • Atenção por área: processa campos receptivos grandes com eficiência, reduzindo o custo computacional.
    • Equilíbrio otimizado: melhora o equilíbrio entre os cálculos de atenção e da rede de propagação direta.
    • R-ELAN: aprimora a agregação de características usando a arquitetura R-ELAN.
  2. 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 de integração de características em R-ELAN.
    • FlashAttention: incorpora FlashAttention para reduzir a sobrecarga de acesso à memória.
  3. Eficiência da arquitetura:

    • Menos parâmetros: alcança uma quantidade menor de parâmetros, mantendo ou melhorando a precisão em comparação com muitos modelos anteriores.
    • Atenção simplificada: usa uma implementação de atenção simplificada, sem codificação posicional.
    • Proporções de MLP otimizadas: ajusta as proporções de MLP para distribuir os recursos computacionais de forma mais eficaz.

Requisitos#

Por padrão, a implementação Ultralytics YOLO12 não exige FlashAttention. No entanto, é possível compilar FlashAttention e usá-lo opcionalmente com YOLO12. Para compilar FlashAttention, você precisa de uma das seguintes GPUs NVIDIA:

Citações e agradecimentos#

Se usares YOLO12 na tua pesquisa, cita o trabalho original da University at Buffalo e da University of Chinese Academy of Sciences:

Citação
@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 do NeurIPS 2025, com uma pré-publicação no arXiv.

Perguntas frequentes#

  • O YOLO12 incorpora várias inovações importantes para equilibrar velocidade e precisão. O mecanismo de atenção por área processa eficientemente grandes campos recetivos, reduzindo o custo computacional em comparação com a autoatenção padrão. As redes de agregação de camadas residuais eficientes (R-ELAN) melhoram a agregação de características e resolvem desafios de otimização em modelos maiores centrados em atenção. A arquitetura de atenção otimizada, que inclui o uso de FlashAttention e a remoção da codificação posicional, aumenta ainda mais a eficiência. Estas funcionalidades permitem ao YOLO12 alcançar uma precisão de última geração mantendo a velocidade de inferência em tempo real, essencial para muitas aplicações.

  • O YOLO12 é um modelo versátil que suporta uma ampla variedade de tarefas essenciais de visão computacional. Destaca-se na deteção de objetos, segmentação de instâncias, classificação de imagens, estimativa de pose e deteção de objetos orientados (OBB) (ver detalhes). Este suporte abrangente a tarefas faz do YOLO12 uma ferramenta poderosa para diversas aplicações, desde robótica e condução autónoma até imagiologia médica e inspeção industrial. Nota que os pesos .pt pré-treinados estão atualmente publicados apenas para deteção; as arquiteturas de segmentação, pose, classificação e OBB são disponibilizadas como configurações .yaml para treino do zero.

  • O YOLO12 demonstra melhorias significativas de precisão em todas as escalas de modelo em comparação com modelos YOLO anteriores, como YOLOv10 e YOLO11, com algumas concessões de velocidade em relação aos modelos anteriores mais rápidos. Por exemplo, o YOLO12n alcança uma melhoria de +2,1% em mAP em relação ao YOLOv10n e de +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% em mAP e um aumento substancial de +42% na velocidade. Estas métricas destacam o forte equilíbrio entre precisão e eficiência do YOLO12. Consulta a secção de métricas de desempenho para comparações detalhadas.

  • Por predefinição, a implementação do Ultralytics YOLO12 não requer FlashAttention. No entanto, podes compilar e usar FlashAttention opcionalmente com YOLO12 para minimizar a sobrecarga de acesso à memória. Para compilar FlashAttention, precisas de uma das seguintes GPUs NVIDIA: GPUs Turing (ex.: T4, série Quadro RTX), GPUs Ampere (ex.: série RTX30, A30/40/100), GPUs Ada Lovelace (ex.: série RTX40) ou GPUs Hopper (ex.: H100/H200). Esta flexibilidade permite aproveitar os benefícios do FlashAttention quando os recursos de hardware o permitem.

  • Esta página apresenta exemplos de uso básicos para treino e inferência. Para obter documentação abrangente sobre estes e outros modos, incluindo Validação e Exportação, consulta as páginas específicas de Predição e Treino. Para informações específicas de cada tarefa (segmentação, classificação, estimativa de pose e deteção de objetos orientados), consulta a documentação correspondente: Segmentação, Classificação, Pose e OBB. Estes recursos oferecem orientações detalhadas para utilizar YOLO12 eficazmente em vários cenários.

Comentários