Ultralytics YOLO27:

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



Watch: Ultralytics YOLOv8 Model Overview
Experimenta na Ultralytics Platform

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 ponta, resultando numa melhoria do desempenho de extração de características e de deteção de objetos.
  • Ultralytics Head dividido e sem âncoras: o YOLOv8 adota um Ultralytics head dividido e sem âncoras, o que contribui para uma melhor precisão e um processo de deteção mais eficiente em comparação com abordagens baseadas em âncoras.
  • Otimização do compromisso 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 gama de modelos pré-treinados para responder a várias tarefas e requisitos de desempenho, facilitando a escolha do modelo adequado para o teu caso de utilização específico.

Tarefas 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 foram concebidos para responder a vários 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 operacionais, incluindo Inferência, Validação, Treino e Exportação, facilitando a sua utilização em diferentes fases da implementação e do desenvolvimento.

ModeloNomes dos ficheirosTarefaTreinoValidaçãoInferênciaExportação
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.ptDeteçã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.ptDeteção orientada

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

Métricas de desempenho#

Desempenho

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

Modelotamanho
(píxeis)
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 o YOLOv8. Para consultar a documentação completa sobre estes e outros modos, vê as páginas de documentação Predict, Train, Val e Export.

O exemplo abaixo refere-se aos modelos YOLOv8 Detect para deteção de objetos. Para veres outras tarefas compatíveis, consulta a documentação de Segment, Classify, Pose e OBB.

Exemplo

Os modelos *.pt pré-treinados do PyTorch, bem como os ficheiros de configuração *.yaml, podem ser transmitidos à 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 investigação formal sobre o YOLOv8 devido à natureza em rápida evolução dos modelos. O nosso foco é avançar a tecnologia e facilitar a sua utilização, 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 no GitHub e a nossa 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 um Ultralytics head dividido e sem âncoras, arquiteturas de backbone e neck de ponta, e oferece um compromisso otimizado entre precisão e velocidade, tornando-o ideal para diversas aplicações. Para obteres mais detalhes, consulta as secções Visão geral e Principais funcionalidades.

  • O YOLOv8 é compatível com uma vasta gama de tarefas de visão computacional, incluindo deteção de objetos, segmentação de instâncias, deteção de pose/pontos-chave, deteçã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 Inferência, Validação, Treino e Exportação. Consulta a secção Tarefas e modos compatíveis para obteres mais informações.

  • 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 (precisão média) de 37,3 no conjunto de dados COCO e uma velocidade de 0,99 ms no A100 TensorRT. Podes encontrar métricas de desempenho detalhadas para cada variante de modelo, em diferentes tarefas e conjuntos de dados, na secção Métricas de desempenho.

  • Podes treinar um modelo YOLOv8 utilizando Python ou CLI. Abaixo encontram-se exemplos de treino de um modelo YOLOv8 pré-treinado em COCO no conjunto de dados COCO8 durante 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 obteres mais detalhes, consulta a documentação de Treino.

  • Sim, podes avaliar o desempenho dos modelos YOLOv8 em termos de velocidade e precisão, utilizando vários formatos de exportação. Podes utilizar PyTorch, ONNX, TensorRT, entre outros, para realizar a avaliação. Abaixo encontram-se exemplos de comandos para realizar a avaliação utilizando 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 obteres mais informações, consulta a secção Métricas de desempenho.

Comentários