YOLO Vision 2026:

Explora o Ultralytics YOLOv8#

Visão geral#

O YOLOv8 foi lançado pela Ultralytics em 10 de janeiro de 2023, oferecendo desempenho de ponta em termos de precisão e velocidade. Com base nos avanços das versões anteriores do YOLO, o YOLOv8 introduziu novos recursos e otimizações que o tornam a escolha ideal para várias tarefas de object detection em uma ampla gama de aplicações.

YOLOv8 performance comparison charts



Watch: Ultralytics YOLOv8 Model Overview
Experimenta na Ultralytics Platform

Explore e execute modelos YOLOv8 diretamente na Ultralytics Platform.

Principais recursos do YOLOv8#

  • Arquiteturas Avançadas de Backbone e Neck: O YOLOv8 emprega arquiteturas de backbone e neck de última geração, resultando em melhor desempenho de feature extraction e object detection.
  • Head Ultralytics split sem âncoras: 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.
  • Tradeoff otimizado de 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 localização do modelo certo para o teu caso de uso específico.

Tarefas e modos suportados#

A série YOLOv8 oferece uma gama diversificada de modelos, cada um especializado em tarefas específicas em visão computacional. Esses modelos são projetados para atender a vários requisitos, desde detecção de objetos até tarefas mais complexas como instance segmentation, classificação, detecção de pose/pontos-chave e detecção de objetos orientados.

Cada variante da série YOLOv8 é otimizada para sua respectiva tarefa, garantindo alto desempenho e precisão. Além disso, esses modelos são compatíveis com vários modos operacionais, incluindo Inference, Validation, Training e Export, facilitando seu uso em diferentes estágios de implantaçã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ância
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 fornece uma visão geral das variantes do modelo YOLOv8, destacando sua aplicabilidade em tarefas específicas e sua compatibilidade com vários modos operacionais, como Inferência, Validação, Treinamento e Exportação. Ela demonstra a versatilidade e a robustez da série YOLOv8, tornando-os adequados para uma variedade de aplicações em computer vision.

Métricas de desempenho#

Desempenho

Consulta a Documentação 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

Exemplos de uso do YOLOv8#

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

Observe que o exemplo abaixo é para modelos YOLOv8 Detect de detecção de objetos. Para tarefas adicionais suportadas, consulte a documentação de Segment, Classify, Pose e OBB.

Exemplo

Modelos *.pt pré-treinados em PyTorch, 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")

Citaçõ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. Focamos 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 nosso GitHub repository e a documentation.

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

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}
}

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

FAQ#

  • O YOLOv8 foi projetado para melhorar o desempenho de detecção de objetos em tempo real com recursos avançados. Ao contrário das versões anteriores, o YOLOv8 incorpora um anchor-free split Ultralytics head, arquiteturas de backbone e neck de ponta, e oferece um equilíbrio otimizado entre accuracy e velocidade, tornando-o ideal para diversas aplicações. Para mais detalhes, confira as seções Overview e Key Features.

  • 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/pontos-chave, detecção de objetos orientados e classificação. Cada variante de modelo é otimizada para sua tarefa específica e compatível com vários modos operacionais, como Inference, Validation, Training e Export. Consulte a seção Supported Tasks and Modes para mais informações.

  • Os modelos YOLOv8 alcançam desempenho de ponta em vários conjuntos de dados de benchmark. Por exemplo, o modelo YOLOv8n atinge 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 detalhadas de desempenho para cada variante de modelo em diferentes tarefas e conjuntos de dados podem ser encontradas na seção Performance Metrics.

  • 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 epochs:

    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, visite a documentação de Training.

  • Sim, os modelos YOLOv8 podem ser submetidos a benchmarking de desempenho em termos de velocidade e precisão em vários formatos de exportação. Podes usar PyTorch, ONNX, TensorRT e mais para benchmarking. Abaixo estão exemplos de comandos para benchmarking usando Python e CLI:

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

    Para informações adicionais, consulte a seção Performance Metrics.

Comentários