Ultralytics YOLO27:
Get Started

Explora o Ultralytics YOLOv8#

Visão geral#

O YOLOv8 foi lançado pelo Ultralytics a 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 uma escolha ideal para várias tarefas de deteção de objetos numa vasta gama de aplicações.

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



Assista: Visão geral do modelo Ultralytics YOLOv8
Experimenta na plataforma Ultralytics

Explora e executa modelos YOLOv8 diretamente na Ultralytics Platform.

Principais funcionalidades do YOLOv8#

  • Arquiteturas avançadas de backbone e neck: o YOLOv8 utiliza arquiteturas de backbone e neck de última geração, resultando em melhor desempenho na extração de características e na deteção de objetos.
  • Cabeça Ultralytics dividida sem âncoras: o YOLOv8 adota uma cabeça Ultralytics dividida sem âncoras, o que contribui para uma maior precisão e um processo de deteção mais eficiente em comparação com as abordagens baseadas em âncoras.
  • Equilíbrio 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 deteção de objetos em tempo real em diversas áreas de aplicação.
  • Variedade de modelos pré-treinados: o YOLOv8 oferece uma variedade de modelos pré-treinados para atender a diferentes tarefas e requisitos de desempenho, facilitando a escolha do modelo certo para o teu caso de uso específico.

Tarefas e modos compatíveis#

A série YOLOv8 oferece uma variedade de modelos, cada um especializado em tarefas específicas de visão computacional. Estes modelos foram concebidos para atender a diversos requisitos, desde a deteção de objetos até tarefas mais complexas, como segmentação de instâncias, classificação, deteção de pose/pontos-chave e deteção de objetos orientados.

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

ModeloNomes de arquivoTarefaTreinamentoValidaçãoInferênciaExportar
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âncias✅✅✅✅
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptClassificação✅✅✅✅
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✅✅✅✅

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

Métricas de desempenho#

Desempenho

Consulta a documentação de deteção para ver exemplos de utilização destes modelos treinados no COCO, que incluem 80 classes pré-treinadas.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
A100 TensorRT
(ms)
parâmetros
(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.1
YOLOv8x64053.9479.13.5368.2257.8

Exemplos de utilização do YOLOv8#

Este exemplo apresenta exemplos simples de treino e inferência com YOLOv8. Para consultar a documentação completa destes e de outros modos, vê as páginas de documentação de Predição, Treino, Validação e Exportação.

Nota: o exemplo abaixo destina-se a modelos YOLOv8 de deteção de objetos. Para consultar outras tarefas suportadas, vê a documentação de Segmentação, Classificação, Pose e OBB.

Exemplo

Os modelos *.pt pré-treinados em PyTorch, assim como os ficheiros de configuração *.yaml, podem ser passados à classe YOLO() para criar uma instância do modelo em Python:

from ultralytics import YOLO

# Carrega um modelo YOLOv8n pré-treinado com COCO
model = YOLO("yolov8n.pt")

# Exibir informações do modelo (opcional)
model.info()

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

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

Citações e agradecimentos#

Publicação do Ultralytics YOLOv8

A Ultralytics não publicou um artigo de investigação formal sobre o YOLOv8 devido à rápida evolução dos modelos. O nosso foco é fazer avançar a tecnologia e torná-la mais fácil de utilizar, em vez de produzir documentação estática. Para obteres as informações mais atualizadas sobre a arquitetura, as funcionalidades e a utilização do YOLO, consulta o nosso repositório do GitHub e a documentação.

Se utilizares o modelo YOLOv8 ou qualquer outro software deste repositório no teu trabalho, cita-o utilizando 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}
}

Tem em atenção que o DOI está pendente e será adicionado à citação assim que estiver disponível. Os modelos YOLOv8 são disponibilizados ao abrigo das licenças AGPL-3.0 e Enterprise.

Perguntas frequentes#

  • O YOLOv8 foi concebido para melhorar o desempenho da deteção de objetos em tempo real através de funcionalidades avançadas. Ao contrário das versões anteriores, o YOLOv8 incorpora uma cabeça Ultralytics dividida 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 informações, consulta as secções Visão geral e Principais funcionalidades.

  • O YOLOv8 suporta uma vasta gama de tarefas de visão computacional, incluindo deteção de objetos, segmentação de instâncias, classificação, deteção de pose/pontos-chave e deteção de objetos orientados. Cada variante do modelo é otimizada para a sua tarefa específica e compatível com vários modos de operação, como Inferência, Validação, Treino e Exportação. Consulta a secção Tarefas e modos suportados para mais informações.

  • Os modelos YOLOv8 alcançam desempenho de última geração em vários conjuntos de dados de referência. Por exemplo, o modelo YOLOv8n atinge um mAP (precisão média) de 37,3 no conjunto de dados COCO e uma velocidade de 0,99 ms em A100 TensorRT. Podes consultar métricas de desempenho detalhadas de cada variante do modelo, em diferentes tarefas e conjuntos de dados, na secção Métricas de desempenho.

  • Podes treinar um modelo YOLOv8 utilizando Python ou CLI. Seguem-se exemplos de treino de um modelo com um YOLOv8 pré-treinado com COCO no conjunto de dados COCO8 durante 100 épocas:

    Exemplo
    from ultralytics import YOLO
    
    # Carrega um modelo YOLOv8n pré-treinado com COCO
    model = YOLO("yolov8n.pt")
    
    # Treina o modelo no conjunto de dados de exemplo COCO8 durante 100 épocas
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    Para mais detalhes, consulta a documentação de treino.

  • Sim, podes comparar o desempenho dos modelos YOLOv8 em termos de velocidade e precisão, usando vários formatos de exportação. Podes utilizar PyTorch, ONNX, TensorRT e outros para fazer comparações. Seguem-se exemplos de comandos para comparar modelos utilizando Python e CLI:

    Exemplo
    from ultralytics.utils.benchmarks import benchmark
    
    # Benchmark na GPU
    benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)

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

Comentários