Ir para o conteúdo

YOLO12: Detecção de Objetos Centrada na Atenção

Visão geral

O YOLO12 introduz uma arquitetura centrada na atenção que se afasta das abordagens tradicionais baseadas em CNN usadas em modelos YOLO anteriores, mas mantém a velocidade de inferência em tempo real essencial para muitas aplicações. Este modelo alcança precisão de detecção de objetos de última geração por meio de inovações metodológicas inovadoras em mecanismos de atenção e arquitetura de rede geral, mantendo o desempenho em tempo real.



Assista: Como usar YOLO12 para Detecção de Objetos com o Pacote Ultralytics | YOLO12 é Rápido ou Lento? 🚀

Principais Características

  • Mecanismo de Atenção de Área: Uma nova abordagem de autoatenção que processa campos recetivos grandes de forma eficiente. Divide os mapas de características em l regiões de igual tamanho (o padrão é 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 autoatenção padrão.
  • Redes de Agregação de Camadas Eficientes Residuais (R-ELAN): Um módulo de agregação de recursos aprimorado baseado em ELAN, projetado para lidar com desafios de otimização, especialmente em modelos maiores centrados na atenção. O R-ELAN introduz:
    • Conexões residuais em nível de bloco com escalonamento (semelhante ao escalonamento de camada).
    • Um método de agregação de recursos redesenhado, criando uma estrutura semelhante a um gargalo.
  • Arquitetura de Atenção Otimizada: YOLO12 otimiza o mecanismo de atenção padrão para maior eficiência e compatibilidade com a estrutura YOLO. Isso inclui:
    • Usando FlashAttention para minimizar a sobrecarga de acesso à memória.
    • Remoção da codificação posicional para um modelo mais limpo e rápido.
    • Ajustando a proporção MLP (do típico 4 para 1.2 ou 2) para equilibrar melhor a computação entre a atenção e as camadas de feed-forward.
    • Redução da profundidade de blocos empilhados para otimização aprimorada.
    • Aproveitando as operações de convolução (quando apropriado) para sua eficiência computacional.
    • Adicionando uma convolução separável 7x7 (o "perceptor de posição") ao mecanismo de atenção para codificar implicitamente informações posicionais.
  • Suporte Abrangente de Tarefas: O YOLO12 oferece suporte a uma variedade de 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: Atinge 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 de nuvem.

Visualização comparativa do YOLO12

Tarefas e Modos Suportados

O YOLO12 oferece suporte a 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 um:

Tipo de Modelo Tarefa Inferência Validação Treinamento Exportar
YOLO12 Detecção
YOLO12-seg Segmentação
YOLO12-pose Pose
YOLO12-cls Classificação
YOLO12-obb OBB

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)

Desempenho

Modelo tamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT
(ms)
parâmetros
(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 variação percentual na velocidade (positivo indica mais rápido; negativo indica mais lento). As comparações são feitas com resultados publicados para YOLOv10, YOLO11 e RT-DETR, quando disponíveis.

Exemplos de uso

Esta seção fornece exemplos para treinamento e inferência com YOLO12. Para obter documentação mais abrangente sobre estes e outros modos (incluindo Validação e Exportação), consulte as páginas dedicadas de Previsão e Treinamento.

Os exemplos abaixo se concentram nos modelos YOLO12 Detect (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 da tarefa respectiva: Segment, Classify, OBB e Pose.

Exemplo

Pré-treinado *.pt modelos (usando PyTorch) e configuração *.yaml os arquivos podem ser passados para o YOLO() class 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")

Comandos da Interface de Linha de Comando (CLI) também estão disponíveis:

# Load a COCO-pretrained YOLO12n model and train on the COCO8 example dataset for 100 epochs
yolo train model=yolo12n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLO12n model and run inference on the 'bus.jpg' image
yolo predict model=yolo12n.pt source=path/to/bus.jpg

Melhorias Chave

  1. Extração de Características Aprimorada:

    • Atenção de Área: Lida eficientemente com grandes campos recetivos, reduzindo o custo computacional.
    • Equilíbrio Otimizado: Equilíbrio aprimorado entre a atenção e os cálculos da rede feed-forward.
    • R-ELAN: Melhora a agregação de recursos 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 Recursos: Implementa um método aprimorado para integração de recursos dentro do R-ELAN.
    • FlashAttention: Incorpora FlashAttention para reduzir a sobrecarga de acesso à memória.
  3. Eficiência Arquitetônica:

    • Parâmetros Reduzidos: Atinge uma contagem de parâmetros menor, mantendo ou melhorando a precisão em comparação com muitos modelos anteriores.
    • Atenção Otimizada: Utiliza uma implementação de atenção simplificada, evitando a codificação posicional.
    • Relações MLP Otimizadas: Ajusta as relaçõ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:

Citações e Agradecimentos

Se você usar o YOLO12 em sua pesquisa, cite o trabalho original da University at Buffalo e da University of Chinese Academy of Sciences:

@article{tian2025yolov12,
  title={YOLOv12: 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 = {YOLOv12: Attention-Centric Real-Time Object Detectors},
  year = {2025},
  url = {https://github.com/sunsmarterjie/yolov12},
  license = {AGPL-3.0}
}

FAQ

Como o YOLO12 consegue realizar a detecção de objetos em tempo real, mantendo alta precisão?

O YOLO12 incorpora várias inovações importantes 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 recursos, abordando desafios de otimização em modelos maiores centrados na 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 precisão de última geração, mantendo 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 oferece suporte a uma ampla gama de tarefas essenciais de visão computacional. Ele se destaca em detecção de objetos, segmentação de instâncias, classificação de imagens, estimativa de pose e detecção de objetos orientados (OBB) (ver detalhes). Este suporte abrangente de 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. Cada uma dessas tarefas pode ser executada nos modos de Inferência, Validação, Treinamento e Exportação.

Como o YOLO12 se compara a outros modelos YOLO e concorrentes como o RT-DETR?

O YOLO12 demonstra melhorias significativas na precisão em todas as escalas de modelo em comparação com modelos YOLO anteriores, como 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. Comparado a 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. Consulte 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 compilado e usado opcionalmente 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 para o YOLO12?

Esta página fornece exemplos básicos de uso para treinamento e inferência. Para documentação abrangente sobre estes e outros modos, incluindo Validação e Exportação, consulte as páginas dedicadas de Predição e Treinamento. Para informações específicas da tarefa (segmentação, classificação, detecção de objetos orientados e estimativa de pose), consulte a documentação respectiva: Segmentação, Classificação, OBB e Pose. Estes recursos fornecem orientação detalhada para utilizar eficazmente o YOLO12 em vários cenários.



📅 Criado há 4 meses ✏️ Atualizado há 19 dias

Comentários