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.

Assista: Visão geral do modelo Ultralytics YOLOv8
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.
| Modelo | Nomes de arquivo | Tarefa | Treinamento | Validação | Inferência | Exportar |
|---|---|---|---|---|---|---|
| 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âncias | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | Classificação | ✅ | ✅ | ✅ | ✅ |
| 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 | ✅ | ✅ | ✅ | ✅ |
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#
Consulta a documentação de deteção para ver exemplos de utilização destes modelos treinados no COCO, que incluem 80 classes pré-treinadas.
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.
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#
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:
@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:
Exemplofrom 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:
Exemplofrom 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.