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.
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:
Citações e agradecimentos
Se utilizares YOLOv5 ou YOLOv5u na tua investigação, cita o repositório Ultralytics YOLOv5 da seguinte forma:
Tem em atenção que os modelos YOLOv5 são fornecidos ao abrigo das licenças AGPL-3.0 e licenças Enterprise.