Meet YOLO26: next-gen vision AI.

Link to this sectionExplora o Ultralytics YOLOv8#

Link to this sectionVisão geral#

O YOLOv8 foi lançado pela Ultralytics em 10 de janeiro de 2023, oferecendo um desempenho de ponta em termos de precisão e velocidade. Com base nos avanços das versões anteriores do YOLO, o YOLOv8 introduziu novas funcionalidades e otimizações que o tornam a escolha ideal para várias tarefas de detecção de objetos numa vasta gama de aplicações.

Gráficos de comparação de desempenho do YOLOv8



Watch: Ultralytics YOLOv8 Model Overview
Experimente na Plataforma Ultralytics

Explora e executa modelos YOLOv8 diretamente na Plataforma Ultralytics.

Link to this sectionPrincipais Funcionalidades do YOLOv8#

  • Arquiteturas Avançadas de Backbone e Neck: O YOLOv8 emprega arquiteturas de backbone e neck de última geração, resultando num melhor desempenho de extração de características e detecção de objetos.
  • Head Ultralytics Split Sem Âncoras (Anchor-free): O YOLOv8 adota um head Ultralytics split sem âncoras, o que contribui para uma melhor precisão e um processo de detecção mais eficiente em comparação com abordagens baseadas em âncoras.
  • Compromisso Otimizado entre Precisão e Velocidade: Com foco em manter um equilíbrio ideal entre precisão e velocidade, o YOLOv8 é adequado para tarefas de detecção de objetos em tempo real em diversas áreas de aplicação.
  • Variedade de Modelos Pré-treinados: O YOLOv8 oferece uma gama de modelos pré-treinados para atender a várias tarefas e requisitos de desempenho, facilitando a busca pelo modelo certo para o teu caso de uso específico.

Link to this sectionTarefas e modos suportados#

A série YOLOv8 oferece uma gama diversificada de modelos, cada um especializado em tarefas específicas de visão computacional. Estes modelos são concebidos para atender a vários requisitos, desde a detecção de objetos até tarefas mais complexas como segmentação de instâncias, detecção de pose/keypoints, detecção de objetos orientados e classificação.

Cada variante da série YOLOv8 é otimizada para a sua respetiva tarefa, garantindo alto desempenho e precisão. Além disso, estes modelos são compatíveis com vários modos operacionais, incluindo Inferência, Validação, Treino e Exportação, facilitando o seu uso em diferentes fases de implementação e desenvolvimento.

ModeloNomes de arquivoTarefaInferência (Inference)ValidaçãoTreinamentoExport
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptDetecção
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptSegmentação de instância
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptPose/Pontos-chave
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptDetecção orientada
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptClassificação

Esta tabela fornece uma visão geral das variantes do modelo YOLOv8, destacando a sua aplicabilidade em tarefas específicas e a sua compatibilidade com vários modos operacionais, tais como Inferência, Validação, Treino e Exportação. Ela demonstra a versatilidade e robustez da série YOLOv8, tornando-os adequados para uma variedade de aplicações em visão computacional.

Link to this sectionMétricas de desempenho#

Desempenho

Consulte os Documentos de detecção para exemplos de uso com esses modelos treinados no COCO, que incluem 80 classes pré-treinadas.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
YOLOv8n64037.380.40.993.28.7
YOLOv8s64044.9128.41.2011.228,6
YOLOv8m64050.2234.71.8325.978.9
YOLOv8l64052.9375.22.3943.7165.2
YOLOv8x64053.9479.13.5368.2257.8

Link to this sectionExemplos de uso do YOLOv8#

Este exemplo fornece exemplos simples de treinamento e inferência com YOLOv8. Para a documentação completa sobre esses e outros modos, consulte as páginas de documentação de Predict, Train, Val e Export.

Observe que o exemplo abaixo é para modelos YOLOv8 Detect para detecção de objetos. Para outras tarefas compatíveis, consulte as documentações de Segment, Classify, OBB e Pose.

Exemplo

Modelos PyTorch pré-treinados *.pt, bem como ficheiros 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 YOLOv8n model
model = YOLO("yolov8n.pt")

# Display model information (optional)
model.info()

# 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 YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Link to this sectionCitações e Agradecimentos#

Publicação do Ultralytics YOLOv8

A Ultralytics não publicou um artigo de pesquisa formal para o YOLOv8 devido à natureza em rápida evolução dos modelos. Focamo-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, recursos e uso do YOLO, consulte o nosso repositório no GitHub e a nossa documentação.

Se usares o modelo YOLOv8 ou qualquer outro software deste repositório no teu trabalho, cita-o usando o seguinte formato:

Citação
@software{yolov8_ultralytics,
  author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
  title = {Ultralytics YOLOv8},
  version = {8.0.0},
  year = {2023},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

Por favor, nota que o DOI está pendente e será adicionado à citação assim que estiver disponível. Os modelos YOLOv8 são fornecidos sob licenças AGPL-3.0 e Enterprise.

Link to this sectionFAQ#

Link to this sectionO que é o YOLOv8 e como difere das versões anteriores do YOLO?#

O YOLOv8 foi concebido para melhorar o desempenho da detecção de objetos em tempo real com funcionalidades avançadas. Ao contrário das versões anteriores, o YOLOv8 incorpora um cabeçalho Ultralytics split sem âncoras, arquiteturas de backbone e neck de última geração, e oferece um equilíbrio otimizado entre precisão e velocidade, tornando-o ideal para diversas aplicações. Para mais detalhes, consulta as secções Visão geral e Principais funcionalidades.

Link to this sectionComo posso usar o YOLOv8 para diferentes tarefas de visão computacional?#

O YOLOv8 suporta uma ampla gama de tarefas de visão computacional, incluindo detecção de objetos, segmentação de instâncias, detecção de pose/keypoints, detecção de objetos orientados e classificação. Cada variante de modelo é otimizada para a sua tarefa específica e compatível com vários modos operacionais como Inference, Validation, Training e Export. Consulta a secção Tarefas e modos suportados para mais informações.

Link to this sectionQuais são as métricas de desempenho para os modelos YOLOv8?#

Os modelos YOLOv8 alcançam um desempenho de ponta em vários conjuntos de dados de referência. Por exemplo, o modelo YOLOv8n alcança um mAP (mean Average Precision) de 37.3 no conjunto de dados COCO e uma velocidade de 0.99 ms no A100 TensorRT. Métricas de desempenho detalhadas para cada variante de modelo em diferentes tarefas e conjuntos de dados podem ser encontradas na secção Métricas de desempenho.

Link to this sectionComo treino um modelo YOLOv8?#

O treinamento de um modelo YOLOv8 pode ser feito usando Python ou CLI. Abaixo estão exemplos para treinar um modelo usando um modelo YOLOv8 pré-treinado no COCO no conjunto de dados COCO8 por 100 épocas:

Exemplo
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Para mais detalhes, visita a documentação de Treinamento.

Link to this sectionPosso avaliar o desempenho dos modelos YOLOv8?#

Sim, os modelos YOLOv8 podem ser avaliados quanto ao desempenho em termos de velocidade e precisão em vários formatos de exportação. Podes usar PyTorch, ONNX, TensorRT e outros para avaliação. Abaixo estão exemplos de comandos para avaliação usando Python e CLI:

Exemplo
from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

Para mais informações, consulta a secção Métricas de desempenho.

Comentários