Ultralytics YOLO11
Visão geral
YOLO11 é a iteração mais recente na série Ultralytics YOLO de detectores de objetos em tempo real, redefinindo o que é possível com precisão, velocidade e eficiência de ponta. Com base nos impressionantes avanços das versões anteriores do YOLO, o YOLO11 introduz melhorias significativas na arquitetura e nos métodos de treinamento, tornando-o uma escolha versátil para uma ampla gama de tarefas de visão computacional.
Ultralytics YOLO11 🚀 Podcast gerado por NotebookLM
Assista: Como usar o Ultralytics YOLO11 para detecção e rastreamento de objetos | Como realizar benchmarking | YOLO11 LANÇADO🚀
Principais Características
- Extração de Características Aprimorada: O YOLO11 emprega uma arquitetura de backbone e neck aprimorada, o que aumenta as capacidades de extração de características para uma detecção de objetos mais precisa e um desempenho de tarefas complexas.
- Otimizado para Eficiência e Velocidade: O YOLO11 introduz designs arquitetônicos refinados e pipelines de treinamento otimizados, oferecendo velocidades de processamento mais rápidas e mantendo um equilíbrio ideal entre precisão e desempenho.
- Maior Precisão com Menos Parâmetros: Com os avanços no design do modelo, o YOLO11m atinge uma Precisão Média Média (mAP) mais alta no conjunto de dados COCO, usando 22% menos parâmetros do que o YOLOv8m, tornando-o computacionalmente eficiente sem comprometer a precisão.
- Adaptabilidade em Vários Ambientes: O YOLO11 pode ser implementado perfeitamente em vários ambientes, incluindo dispositivos de borda, plataformas de nuvem e sistemas que suportam GPUs NVIDIA, garantindo máxima flexibilidade.
- Ampla Gama de Tarefas Suportadas: Seja detecção de objetos, segmentação de instâncias, classificação de imagens, estimativa de pose ou detecção de objetos orientados (OBB), o YOLO11 foi projetado para atender a um conjunto diversificado de desafios de visão computacional.
Tarefas e Modos Suportados
O YOLO11 se baseia na gama versátil de modelos introduzida no YOLOv8, oferecendo suporte aprimorado em várias tarefas de visão computacional:
Modelo | Nomes de arquivos | Tarefa | Inferência | Validação | Treinamento | Exportar |
---|---|---|---|---|---|---|
YOLO11 | yolo11n.pt yolo11s.pt yolo11m.pt yolo11l.pt yolo11x.pt |
Detecção | ✅ | ✅ | ✅ | ✅ |
YOLO11-seg | yolo11n-seg.pt yolo11s-seg.pt yolo11m-seg.pt yolo11l-seg.pt yolo11x-seg.pt |
Segmentação de Instância | ✅ | ✅ | ✅ | ✅ |
YOLO11-pose | yolo11n-pose.pt yolo11s-pose.pt yolo11m-pose.pt yolo11l-pose.pt yolo11x-pose.pt |
Pose/Keypoints | ✅ | ✅ | ✅ | ✅ |
YOLO11-obb | yolo11n-obb.pt yolo11s-obb.pt yolo11m-obb.pt yolo11l-obb.pt yolo11x-obb.pt |
Detecção Orientada | ✅ | ✅ | ✅ | ✅ |
YOLO11-cls | yolo11n-cls.pt yolo11s-cls.pt yolo11m-cls.pt yolo11l-cls.pt yolo11x-cls.pt |
Classificação | ✅ | ✅ | ✅ | ✅ |
Esta tabela fornece uma visão geral das variantes do modelo YOLO11, mostrando sua aplicabilidade em tarefas específicas e compatibilidade com modos operacionais como Inferência, Validação, Treinamento e Exportação. Essa flexibilidade torna o YOLO11 adequado para uma ampla gama de aplicações em visão computacional, desde detecção em tempo real até tarefas complexas de segmentação.
Métricas de Desempenho
Desempenho
Consulte a Documentação de Detecção para exemplos de uso com estes modelos treinados em COCO, que incluem 80 classes pré-treinadas.
Modelo | tamanho (pixels) |
mAPval 50-95 |
Velocidade CPU ONNX (ms) |
Velocidade T4 TensorRT10 (ms) |
parâmetros (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLO11n | 640 | 39.5 | 56.1 ± 0.8 | 1.5 ± 0.0 | 2.6 | 6.5 |
YOLO11s | 640 | 47.0 | 90.0 ± 1.2 | 2.5 ± 0.0 | 9.4 | 21.5 |
YOLO11m | 640 | 51.5 | 183.2 ± 2.0 | 4.7 ± 0.1 | 20.1 | 68.0 |
YOLO11l | 640 | 53.4 | 238.6 ± 1.4 | 6.2 ± 0.1 | 25.3 | 86.9 |
YOLO11x | 640 | 54.7 | 462.8 ± 6.7 | 11.3 ± 0.2 | 56.9 | 194.9 |
Consulte a Documentação de Segmentação para exemplos de uso com estes modelos treinados em COCO, que incluem 80 classes pré-treinadas.
Modelo | tamanho (pixels) |
mAPbox 50-95 |
mAPmask 50-95 |
Velocidade CPU ONNX (ms) |
Velocidade T4 TensorRT10 (ms) |
parâmetros (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-seg | 640 | 38.9 | 32.0 | 65.9 ± 1.1 | 1.8 ± 0.0 | 2.9 | 10.4 |
YOLO11s-seg | 640 | 46.6 | 37.8 | 117.6 ± 4.9 | 2.9 ± 0.0 | 10.1 | 35.5 |
YOLO11m-seg | 640 | 51.5 | 41.5 | 281.6 ± 1.2 | 6.3 ± 0.1 | 22.4 | 123.3 |
YOLO11l-seg | 640 | 53.4 | 42.9 | 344.2 ± 3.2 | 7.8 ± 0.2 | 27.6 | 142.2 |
YOLO11x-seg | 640 | 54.7 | 43.8 | 664.5 ± 3.2 | 15.8 ± 0.7 | 62.1 | 319.0 |
Consulte a Documentação de Classificação para exemplos de uso com estes modelos treinados em ImageNet, que incluem 1000 classes pré-treinadas.
Modelo | tamanho (pixels) |
acc top1 |
acc top5 |
Velocidade CPU ONNX (ms) |
Velocidade T4 TensorRT10 (ms) |
parâmetros (M) |
FLOPs (B) a 224 |
---|---|---|---|---|---|---|---|
YOLO11n-cls | 224 | 70.0 | 89.4 | 5.0 ± 0.3 | 1.1 ± 0.0 | 1.6 | 0.5 |
YOLO11s-cls | 224 | 75.4 | 92.7 | 7.9 ± 0.2 | 1.3 ± 0.0 | 5.5 | 1.6 |
YOLO11m-cls | 224 | 77.3 | 93.9 | 17.2 ± 0.4 | 2.0 ± 0.0 | 10.4 | 5.0 |
YOLO11l-cls | 224 | 78.3 | 94.3 | 23.2 ± 0.3 | 2.8 ± 0.0 | 12.9 | 6.2 |
YOLO11x-cls | 224 | 79.5 | 94.9 | 41.4 ± 0.9 | 3.8 ± 0.0 | 28.4 | 13.7 |
Consulte a Documentação de Estimativa de Pose para exemplos de uso com estes modelos treinados em COCO, que incluem 1 classe pré-treinada, 'pessoa'.
Modelo | tamanho (pixels) |
mAPpose 50-95 |
mAPpose 50 |
Velocidade CPU ONNX (ms) |
Velocidade T4 TensorRT10 (ms) |
parâmetros (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLO11n-pose | 640 | 50.0 | 81.0 | 52.4 ± 0.5 | 1.7 ± 0.0 | 2.9 | 7.6 |
YOLO11s-pose | 640 | 58.9 | 86.3 | 90.5 ± 0.6 | 2,6 ± 0,0 | 9.9 | 23.2 |
YOLO11m-pose | 640 | 64.9 | 89.4 | 187,3 ± 0,8 | 4,9 ± 0,1 | 20.9 | 71.7 |
YOLO11l-pose | 640 | 66.1 | 89.9 | 247,7 ± 1,1 | 6,4 ± 0,1 | 26.2 | 90.7 |
YOLO11x-pose | 640 | 69.5 | 91.1 | 488,0 ± 13,9 | 12,1 ± 0,2 | 58.8 | 203.3 |
Consulte a Documentação de Detecção Orientada para exemplos de uso com estes modelos treinados em DOTAv1, que incluem 15 classes pré-treinadas.
Modelo | tamanho (pixels) |
mAPteste 50 |
Velocidade CPU ONNX (ms) |
Velocidade T4 TensorRT10 (ms) |
parâmetros (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLO11n-obb | 1024 | 78.4 | 117,6 ± 0,8 | 4,4 ± 0,0 | 2.7 | 17.2 |
YOLO11s-obb | 1024 | 79.5 | 219,4 ± 4,0 | 5,1 ± 0,0 | 9.7 | 57.5 |
YOLO11m-obb | 1024 | 80.9 | 562,8 ± 2,9 | 10,1 ± 0,4 | 20.9 | 183.5 |
YOLO11l-obb | 1024 | 81.0 | 712,5 ± 5,0 | 13,5 ± 0,6 | 26.2 | 232.0 |
YOLO11x-obb | 1024 | 81.3 | 1408.6 ± 7.7 | 28.6 ± 1.0 | 58.8 | 520.2 |
Exemplos de uso
Esta seção fornece exemplos simples de treinamento e inferência do YOLO11. Para obter a documentação completa sobre estes e outros modos, consulte as páginas de documentação Predict, Train, Val e Export.
Observe que o exemplo abaixo é para modelos YOLO11 de Detecção para detecção de objetos. Para tarefas adicionais suportadas, consulte a documentação de Segment, Classify, OBB e Pose.
Exemplo
PyTorch pré-treinados *.pt
modelos, bem como a 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 YOLO11n model
model = YOLO("yolo11n.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 YOLO11n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Comandos da CLI estão disponíveis para executar os modelos diretamente:
# Load a COCO-pretrained YOLO11n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolo11n.pt data=coco8.yaml epochs=100 imgsz=640
# Load a COCO-pretrained YOLO11n model and run inference on the 'bus.jpg' image
yolo predict model=yolo11n.pt source=path/to/bus.jpg
Citações e Agradecimentos
Publicação Ultralytics YOLO11
A Ultralytics não publicou um artigo de pesquisa formal para o YOLO11 devido à natureza da rápida evolução dos modelos. Concentramo-nos em avançar a tecnologia e torná-la mais fácil de usar, em vez de produzir documentação estática. Para obter as informações mais atualizadas sobre a arquitetura, os recursos e o uso do YOLO, consulte nosso repositório GitHub e documentação.
Se você usar o YOLO11 ou qualquer outro software deste repositório em seu trabalho, cite-o usando o seguinte formato:
@software{yolo11_ultralytics,
author = {Glenn Jocher and Jing Qiu},
title = {Ultralytics YOLO11},
version = {11.0.0},
year = {2024},
url = {https://github.com/ultralytics/ultralytics},
orcid = {0000-0001-5950-6979, 0000-0003-3783-7069},
license = {AGPL-3.0}
}
Observe que o DOI está pendente e será adicionado à citação assim que estiver disponível. Os modelos YOLO11 são fornecidos sob as licenças AGPL-3.0 e Enterprise.
FAQ
Quais são as principais melhorias no Ultralytics YOLO11 em comparação com as versões anteriores?
O Ultralytics YOLO11 introduz vários avanços significativos em relação aos seus antecessores. As principais melhorias incluem:
- Extração de Recursos Aprimorada: O YOLO11 emprega uma arquitetura de backbone e neck aprimorada, aumentando as capacidades de extração de recursos para uma detecção de objetos mais precisa.
- Eficiência e Velocidade Otimizadas: Projetos arquitetônicos refinados e pipelines de treinamento otimizados oferecem velocidades de processamento mais rápidas, mantendo um equilíbrio entre precisão e desempenho.
- Maior Precisão com Menos Parâmetros: O YOLO11m alcança uma Precisão Média (mAP) mais alta no conjunto de dados COCO com 22% menos parâmetros do que o YOLOv8m, tornando-o computacionalmente eficiente sem comprometer a precisão.
- Adaptabilidade em Vários Ambientes: O YOLO11 pode ser implementado em vários ambientes, incluindo dispositivos de borda, plataformas de nuvem e sistemas que suportam GPUs NVIDIA.
- Ampla Gama de Tarefas Suportadas: O YOLO11 suporta diversas tarefas de visão computacional, como detecção de objetos, segmentação de instâncias, classificação de imagens, estimativa de pose e detecção de objetos orientados (OBB).
Como faço para treinar um modelo YOLO11 para detecção de objetos?
O treinamento de um modelo YOLO11 para detecção de objetos pode ser feito usando comandos Python ou CLI. Abaixo estão exemplos para ambos os métodos:
Exemplo
from ultralytics import YOLO
# Load a COCO-pretrained YOLO11n model
model = YOLO("yolo11n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Load a COCO-pretrained YOLO11n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolo11n.pt data=coco8.yaml epochs=100 imgsz=640
Para obter instruções mais detalhadas, consulte a documentação Train.
Quais tarefas os modelos YOLO11 podem executar?
Os modelos YOLO11 são versáteis e suportam uma ampla gama de tarefas de visão computacional, incluindo:
- Detecção de Objetos: Identificar e localizar objetos dentro de uma imagem.
- Segmentação de Instâncias: Detectar objetos e delinear seus limites.
- Classificação de Imagens: Categorizar imagens em classes predefinidas.
- Estimativa de Pose: Detectar e rastrear pontos-chave em corpos humanos.
- Detecção de Objetos Orientados (OBB): Detectar objetos com rotação para maior precisão.
Para obter mais informações sobre cada tarefa, consulte a documentação de Detecção, Segmentação de Instâncias, Classificação, Estimativa de Pose e Detecção Orientada.
Como o YOLO11 alcança maior precisão com menos parâmetros?
O YOLO11 alcança maior precisão com menos parâmetros por meio de avanços no design do modelo e técnicas de otimização. A arquitetura aprimorada permite uma extração e processamento de recursos eficientes, resultando em maior precisão média (mAP) em conjuntos de dados como o COCO, usando 22% menos parâmetros do que o YOLOv8m. Isso torna o YOLO11 computacionalmente eficiente sem comprometer a precisão, tornando-o adequado para implantação em dispositivos com recursos limitados.
O YOLO11 pode ser implementado em dispositivos edge?
Sim, o YOLO11 foi projetado para adaptabilidade em vários ambientes, incluindo dispositivos de borda. Sua arquitetura otimizada e capacidades de processamento eficientes o tornam adequado para implantação em dispositivos de borda, plataformas de nuvem e sistemas que suportam GPUs NVIDIA. Essa flexibilidade garante que o YOLO11 possa ser usado em diversas aplicações, desde a detecção em tempo real em dispositivos móveis até tarefas complexas de segmentação em ambientes de nuvem. Para obter mais detalhes sobre as opções de implantação, consulte a documentação Export.