Salta para o conte√ļdo

YOLOv5

Vis√£o geral

O YOLOv5u representa um avan√ßo nas metodologias de dete√ß√£o de objectos. Com origem na arquitetura fundamental do modelo YOLOv5 modelo desenvolvido por Ultralytics, o YOLOv5u integra a cabe√ßa dividida sem √Ęncoras e sem objectos, uma carater√≠stica anteriormente introduzida nos YOLOv8 modelos. Esta adapta√ß√£o aperfei√ßoa a arquitetura do modelo, conduzindo a uma melhor rela√ß√£o precis√£o-velocidade em tarefas de dete√ß√£o de objectos. Tendo em conta os resultados emp√≠ricos e as suas caracter√≠sticas derivadas, o YOLOv5u constitui uma alternativa eficiente para quem procura solu√ß√Ķes robustas tanto na investiga√ß√£o como em aplica√ß√Ķes pr√°ticas.

Ultralytics YOLOv5

Características principais

  • Split sem √Ęncoras Ultralytics Head: Os modelos tradicionais de dete√ß√£o de objectos baseiam-se em caixas de √Ęncoras predefinidas para prever a localiza√ß√£o dos objectos. No entanto, o YOLOv5u moderniza esta abordagem. Ao adotar uma cabe√ßa dividida sem √Ęncoras Ultralytics , assegura um mecanismo de dete√ß√£o mais flex√≠vel e adapt√°vel, melhorando consequentemente o desempenho em diversos cen√°rios.

  • Troca optimizada entre precis√£o e velocidade: A velocidade e a precis√£o s√£o muitas vezes opostas. Mas o YOLOv5u desafia esta troca. Oferece um equil√≠brio calibrado, garantindo detec√ß√Ķes em tempo real sem comprometer a precis√£o. Esta carater√≠stica √© particularmente valiosa para aplica√ß√Ķes que exigem respostas r√°pidas, tais como ve√≠culos aut√≥nomos, rob√≥tica e an√°lise de v√≠deo em tempo real.

  • Variedade de modelos pr√©-treinados: Compreendendo que diferentes tarefas requerem diferentes conjuntos de ferramentas, o YOLOv5u fornece uma infinidade de modelos pr√©-treinados. Quer te estejas a concentrar na Infer√™ncia, Valida√ß√£o ou Treino, h√° um modelo feito √† medida √† tua espera. Esta variedade garante que n√£o est√°s apenas a utilizar uma solu√ß√£o √ļnica, mas um modelo especificamente ajustado ao teu desafio √ļnico.

Tarefas e modos suportados

Os modelos YOLOv5u, com v√°rios pesos pr√©-treinados, s√£o excelentes em tarefas de dete√ß√£o de objectos. Suportam uma gama abrangente de modos, o que os torna adequados para diversas aplica√ß√Ķes, desde o desenvolvimento at√© √† implementa√ß√£o.

Tipo de modelo Pesos pré-treinados Tarefa Inferência Validação Formação Exportação
YOLOv5u yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u Deteção de objectos ✅ ✅ ✅ ✅

Esta tabela fornece uma visão detalhada das variantes do modelo YOLOv5u, destacando a sua aplicabilidade em tarefas de deteção de objectos e suporte para vários modos operacionais, tais como Inferência, Validação, Treino e Exportação. Este suporte abrangente garante que os utilizadores podem aproveitar totalmente as capacidades dos modelos YOLOv5u numa vasta gama de cenários de deteção de objectos.

Métricas de desempenho

Desempenho

Consulta os Documentos de deteção para obteres exemplos de utilização com estes modelos treinados em COCO, que incluem 80 classes pré-treinadas.

Modelo YAML tamanho
(pixéis)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
yolov5nu.pt yolov5n.yaml 640 34.3 73.6 1.06 2.6 7.7
yolov5su.pt yolov5s.yaml 640 43.0 120.7 1.27 9.1 24.0
yolov5mu.pt yolov5m.yaml 640 49.0 233.9 1.86 25.1 64.2
yolov5lu.pt yolov5l.yaml 640 52.2 408.4 2.50 53.2 135.0
yolov5xu.pt yolov5x.yaml 640 53.2 763.2 3.81 97.2 246.4
yolov5n6u.pt yolov5n6.yaml 1280 42.1 211.0 1.83 4.3 7.8
yolov5s6u.pt yolov5s6.yaml 1280 48.6 422.6 2.34 15.3 24.6
yolov5m6u.pt yolov5m6.yaml 1280 53.6 810.9 4.36 41.2 65.7
yolov5l6u.pt yolov5l6.yaml 1280 55.7 1470.9 5.47 86.1 137.4
yolov5x6u.pt yolov5x6.yaml 1280 56.8 2436.5 8.98 155.4 250.7

Exemplos de utilização

Este exemplo fornece exemplos simples de treinamento e inferência em YOLOv5 . Para obter a documentação completa sobre estes e outros modos, consulta as páginas de documentação Predict, Train, Val e Export.

Exemplo

PyTorch pr√©-treinado *.pt modelos, bem como a configura√ß√£o *.yaml podem ser passados para o YOLO() para criar uma inst√Ęncia de modelo em 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")

CLI estão disponíveis para executar diretamente os modelos:

# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv5n model and run inference on the 'bus.jpg' image
yolo predict model=yolov5n.pt source=path/to/bus.jpg

Cita√ß√Ķes e agradecimentos

Se utilizares YOLOv5 ou YOLOv5u na tua investigação, cita o repositório Ultralytics YOLOv5 da seguinte forma:

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

Tem em atenção que os modelos YOLOv5 são fornecidos ao abrigo das licenças AGPL-3.0 e licenças Enterprise.



Created 2023-11-12, Updated 2024-06-10
Authors: glenn-jocher (12), Burhan-Q (1)

Coment√°rios