Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLOv5#

Link to this sectionVisão geral#

YOLOv5u representa um avanço nas metodologias de detecção de objetos. Originado da arquitetura fundamental do modelo YOLOv5 desenvolvido pela Ultralytics, o YOLOv5u integra a cabeça dividida sem âncoras e sem objetividade, um recurso introduzido anteriormente nos modelos YOLOv8. Esta adaptação refina a arquitetura do modelo, resultando em um melhor equilíbrio entre precisão e velocidade em tarefas de detecção de objetos. Dados os resultados empíricos e seus recursos derivados, o YOLOv5u oferece uma alternativa eficiente para quem busca soluções robustas tanto em pesquisa quanto em aplicações práticas.

Arquitetura e desempenho do modelo de detecção de objetos YOLOv5

Modelos treinados com o repositório original YOLOv5 não são compatíveis com a biblioteca Ultralytics

A Ultralytics fornece uma variante sem âncoras do modelo YOLOv5. Modelos treinados com o repositório ultralytics/yolov5 não podem ser carregados com a biblioteca ultralytics/ultralytics. Para usar o YOLOv5 aqui, treine um novo modelo a partir de um checkpoint do Ultralytics YOLOv5u (por exemplo, yolov5su.pt).

Experimente na Plataforma Ultralytics

Explore e execute modelos YOLOv5 diretamente na Plataforma Ultralytics.

Link to this sectionPrincipais Recursos#

  • Cabeça Ultralytics dividida sem âncoras: Modelos tradicionais de detecção de objetos dependem de caixas âncora predefinidas para prever a localização dos objetos. No entanto, o YOLOv5u moderniza essa abordagem. Ao adotar uma cabeça Ultralytics dividida e sem âncoras, ele garante um mecanismo de detecção mais flexível e adaptável, melhorando consequentemente o desempenho em diversos cenários.

  • Equilíbrio otimizado entre precisão e velocidade: Velocidade e precisão frequentemente puxam para direções opostas. Mas o YOLOv5u desafia esse equilíbrio. Ele oferece um ajuste calibrado, garantindo detecções em tempo real sem comprometer a precisão. Esse recurso é particularmente inestimável para aplicações que exigem respostas rápidas, como veículos autônomos, robótica e análise de vídeo em tempo real.

  • Variedade de modelos pré-treinados: Entendendo que diferentes tarefas exigem conjuntos de ferramentas diferentes, o YOLOv5u oferece uma infinidade de modelos pré-treinados. Esteja você focado em inferência, validação ou treinamento, há um modelo feito sob medida esperando por você. Essa variedade garante que você não esteja apenas usando uma solução genérica, mas um modelo especificamente ajustado para o seu desafio único.

Link to this sectionTarefas e Modos Suportados#

Os modelos YOLOv5u, com vários pesos pré-treinados, destacam-se em tarefas de Detecção de Objetos. Eles suportam uma ampla gama de modos, tornando-os adequados para diversas aplicações, desde o desenvolvimento até a implantação.

Tipo de ModeloPesos Pré-treinadosTarefaInferênciaValidaçãoTreinamentoExportação
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6uDetecção de Objetos

Esta tabela fornece uma visão geral detalhada das variantes do modelo YOLOv5u, destacando sua aplicabilidade em tarefas de detecção de objetos e suporte a vários modos operacionais, como Inferência, Validação, Treinamento e Exportação. Este suporte abrangente garante que os usuários possam aproveitar totalmente as capacidades dos modelos YOLOv5u em uma ampla gama de cenários de detecção de objetos.

Link to this sectionMétricas de Desempenho#

Desempenho

Veja Documentação de Detecção para exemplos de uso com estes modelos treinados no COCO, que incluem 80 classes pré-treinadas.

ModeloYAMLtamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
A100 TensorRT
(ms)
parâmetros
(M)
FLOPs
(B)
yolov5nu.ptyolov5n.yaml64034.373.61.062.67.7
yolov5su.ptyolov5s.yaml64043.0120.71.279.124.0
yolov5mu.ptyolov5m.yaml64049.0233.91.8625.164.2
yolov5lu.ptyolov5l.yaml64052.2408.42.5053.2135.0
yolov5xu.ptyolov5x.yaml64053.2763.23.8197.2246.4
yolov5n6u.ptyolov5n6.yaml128042.1211.01.834.37.8
yolov5s6u.ptyolov5s6.yaml128048.6422.62.3415.324.6
yolov5m6u.ptyolov5m6.yaml128053.6810.94.3641.265.7
yolov5l6u.ptyolov5l6.yaml128055.71470.95.4786.1137.4
yolov5x6u.ptyolov5x6.yaml128056.82436.58.98155.4250.7

Link to this sectionExemplos de Utilização#

Este exemplo fornece exemplos simples de treinamento e inferência do YOLOv5. Para a documentação completa sobre estes e outros modos, consulte as páginas de documentação de Predição, Treinamento, Validação e Exportação.

Exemplo

PyTorch pretrained *.pt models as well as configuration *.yaml files can be passed to the YOLO() class to create a model instance in python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.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 YOLOv5n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Link to this sectionCitações e Agradecimentos#

Publicação do Ultralytics YOLOv5

A Ultralytics não publicou um artigo de pesquisa formal para o YOLOv5 devido à natureza em rápida evolução dos modelos. Focamos em promover a tecnologia e torná-la mais fácil de usar, em vez de produzir documentação estática. Para as informações mais atualizadas sobre a arquitetura, recursos e uso do YOLO, consulte nosso repositório GitHub e documentação.

Se você usar o YOLOv5 ou YOLOv5u em sua pesquisa, cite o repositório Ultralytics YOLOv5 da seguinte forma:

Citação
@software{yolov5,
  title = {Ultralytics YOLOv5},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

Observe que os modelos YOLOv5 são fornecidos sob licenças AGPL-3.0 e Enterprise.

Link to this sectionPerguntas Frequentes#

Link to this sectionO que é o Ultralytics YOLOv5u e como ele difere do YOLOv5?#

O Ultralytics YOLOv5u é uma versão avançada do YOLOv5, integrando a cabeça dividida sem âncoras e sem objetividade que melhora o equilíbrio entre precisão e velocidade para tarefas de detecção de objetos em tempo real. Diferente do YOLOv5 tradicional, o YOLOv5u adota um mecanismo de detecção sem âncoras, tornando-o mais flexível e adaptável em diversos cenários. Para informações mais detalhadas sobre seus recursos, você pode consultar a Visão Geral do YOLOv5.

Link to this sectionComo a cabeça Ultralytics sem âncoras melhora o desempenho da detecção de objetos no YOLOv5u?#

A cabeça Ultralytics sem âncoras no YOLOv5u melhora o desempenho da detecção de objetos ao eliminar a dependência de caixas âncora predefinidas. Isso resulta em um mecanismo de detecção mais flexível e adaptável que pode lidar com vários tamanhos e formas de objetos com maior eficiência. Esse aprimoramento contribui diretamente para um equilíbrio entre precisão e velocidade, tornando o YOLOv5u adequado para aplicações em tempo real. Saiba mais sobre sua arquitetura na seção Principais Recursos.

Link to this sectionPosso usar modelos pré-treinados do YOLOv5u para diferentes tarefas e modos?#

Sim, você pode usar modelos pré-treinados do YOLOv5u para várias tarefas, como Detecção de Objetos. Esses modelos suportam múltiplos modos, incluindo Inferência, Validação, Treinamento e Exportação. Essa flexibilidade permite que os usuários aproveitem as capacidades dos modelos YOLOv5u em diferentes requisitos operacionais. Para uma visão geral detalhada, verifique a seção Tarefas e Modos Suportados.

Link to this sectionComo as métricas de desempenho dos modelos YOLOv5u se comparam em diferentes plataformas?#

As métricas de desempenho dos modelos YOLOv5u variam dependendo da plataforma e do hardware utilizado. Por exemplo, o modelo YOLOv5nu atinge um mAP de 34,3 no conjunto de dados COCO com uma velocidade de 73,6 ms em CPU (ONNX) e 1,06 ms em A100 TensorRT. Métricas de desempenho detalhadas para diferentes modelos YOLOv5u podem ser encontradas na seção Métricas de Desempenho, que fornece uma comparação abrangente entre vários dispositivos.

Link to this sectionComo posso treinar um modelo YOLOv5u usando a API Python da Ultralytics?#

Podes treinar um modelo YOLOv5u carregando um modelo pré-treinado e executando o comando de treino com o teu conjunto de dados. Aqui tens um exemplo rápido:

Exemplo
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.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)

Para instruções mais detalhadas, visita a secção Usage Examples.

Comentários