Explora o Ultralytics YOLOv8
Visã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.

Watch: Ultralytics YOLOv8 Model Overview
Explora e executa modelos YOLOv8 diretamente na Plataforma Ultralytics.
Principais 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.
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 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.
| Modelo | Nomes de arquivo | Tarefa | Inferência (Inference) | Validação | Treinamento | Export |
|---|---|---|---|---|---|---|
| YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt | Detecção | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt | Segmentação de instância | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt | Pose/Pontos-chave | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt | Detecção orientada | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | Classificaçã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.
Métricas de desempenho
Consulte os Documentos de detecção para exemplos de uso com esses modelos treinados no COCO, que incluem 80 classes pré-treinadas.
Exemplos 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.
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")Citações e Agradecimentos
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:
@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.
FAQ
O 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.
Como 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.
Quais 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.
Como 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:
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.
Posso 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:
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.