Ultralytics YOLO27:
Get Started

Início rápido da YOLOv5 🚀#

Começa a tua jornada pelo dinâmico universo da deteção de objetos em tempo real com a Ultralytics YOLOv5! Este guia foi criado para servir como ponto de partida abrangente para entusiastas e profissionais de IA que pretendem dominar a YOLOv5. Desde a configuração inicial até às técnicas avançadas de treino, ajudamos-te em todas as etapas. No final deste guia, terás os conhecimentos necessários para implementar a YOLOv5 nos teus projetos com confiança, usando métodos de aprendizagem profunda de última geração. Vamos pôr os motores a trabalhar e partir à descoberta da YOLOv5!

Instalação#

Prepara-te para começar clonando o repositório YOLOv5 e configurando o ambiente. Assim, garantimos que todos os requisitos necessários estão instalados. Confirma que tens Python>=3.8.0 e PyTorch>=1.8 prontos para arrancar. Estas ferramentas fundamentais são essenciais para executar a YOLOv5 de forma eficaz.

git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependencies

Inferência com PyTorch Hub#

Descobre a simplicidade da inferência da YOLOv5 com o PyTorch Hub, que transfere facilmente os modelos da versão mais recente da YOLOv5. Este método tira partido do poder do PyTorch para carregar e executar modelos facilmente, simplificando a obtenção de previsões.

import torch

# Carregamento do modelo
model = torch.hub.load("ultralytics/yolov5", "yolov5s")  # Pode ser 'yolov5n' - 'yolov5x6' ou 'custom'

# Inferência em imagens
img = "https://ultralytics.com/images/zidane.jpg"  # Pode ser um ficheiro, Path, PIL, OpenCV, numpy ou uma lista de imagens

# Executar inferência
results = model(img)

# Apresentar resultados
results.print()  # ou .show(), .save(), .crop(), .pandas(), etc.

Inferência com detect.py#

Use detect.py para realizar inferências versáteis em várias fontes. O script obtém automaticamente modelos da versão mais recente do YOLOv5 e guarda os resultados com facilidade. Este script é ideal para uso na linha de comandos e para integrar o YOLOv5 em sistemas maiores, oferecendo suporte a entradas como imagens, vídeos, diretórios, webcams e até transmissões ao vivo.

python detect.py --weights yolov5s.pt --source 0                              # webcam
python detect.py --weights yolov5s.pt --source image.jpg                      # image
python detect.py --weights yolov5s.pt --source video.mp4                      # video
python detect.py --weights yolov5s.pt --source screen                         # screenshot
python detect.py --weights yolov5s.pt --source path/                          # directory
python detect.py --weights yolov5s.pt --source list.txt                       # list of images
python detect.py --weights yolov5s.pt --source list.streams                   # list of streams
python detect.py --weights yolov5s.pt --source 'path/*.jpg'                   # glob pattern
python detect.py --weights yolov5s.pt --source 'https://youtu.be/LNwODJXcvt4' # YouTube video
python detect.py --weights yolov5s.pt --source 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream

Treinamento#

Reproduz os benchmarks do conjunto de dados COCO do YOLOv5 seguindo as instruções de treino abaixo. Os modelos e conjuntos de dados necessários (como coco128.yaml ou o coco.yaml completo) são obtidos diretamente da versão mais recente do YOLOv5. O treino do YOLOv5n/s/m/l/x numa GPU V100 costuma demorar 1/2/4/6/8 dias, respetivamente (tem em conta que as configurações de treino com várias GPUs são mais rápidas). Maximiza o desempenho usando o --batch-size mais elevado possível ou usa --batch-size -1 para a funcionalidade AutoBatch do YOLOv5, que encontra automaticamente o tamanho do lote ideal. Os tamanhos de lote seguintes são ideais para GPUs V100 de 16 GB. Consulta o Resumo da arquitetura para obteres detalhes sobre os ficheiros de configuração do modelo (*.yaml).

# Train YOLOv5n on COCO128 for 3 epochs
python train.py --data coco128.yaml --epochs 3 --weights yolov5n.pt --batch-size 128

# Train YOLOv5s on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5s.yaml --batch-size 64

# Train YOLOv5m on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5m.yaml --batch-size 40

# Train YOLOv5l on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5l.yaml --batch-size 24

# Train YOLOv5x on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5x.yaml --batch-size 16
YOLOv5 training curves for COCO dataset

Em conclusão, o YOLOv5 não é apenas uma ferramenta de ponta para a deteção de objetos, mas também um testemunho do poder da aprendizagem automática para transformar a forma como interagimos com o mundo através da compreensão visual. À medida que avanças neste guia e começas a aplicar o YOLOv5 aos teus projetos, lembra-te de que estás na vanguarda de uma revolução tecnológica, capaz de alcançar feitos notáveis em visão computacional. Se precisares de mais informações ou do apoio de outros visionários, visita o nosso repositório no GitHub, onde se encontra uma comunidade ativa de programadores e investigadores. Explora outros recursos, como a Ultralytics Platform, para gerir conjuntos de dados e treinar modelos sem código, ou consulta a nossa página de Soluções para conhecer aplicações reais e encontrar inspiração. Continua a explorar, continua a inovar e desfruta das maravilhas do YOLOv5. Boa deteção! 🌠🔍

Perguntas frequentes#

  • Não para inferência. O PyTorch Hub transfere o código e os pesos quando necessário com torch.hub.load("ultralytics/yolov5", "yolov5s"). É necessário clonar o repositório para executar os scripts train.py, val.py, detect.py e export.py.

  • yolov5s.pt oferece o melhor equilíbrio entre velocidade e precisão para a maioria dos projetos. Usa yolov5n.pt para dispositivos de borda, yolov5m.pt a yolov5x.pt quando a precisão é mais importante do que a velocidade e as variantes P6, como yolov5s6.pt, para treinar com 1280 píxeis. Consulta a tabela de checkpoints pré-treinados para ver a lista completa.

  • Coloca as imagens e as etiquetas no formato YOLO em pastas paralelas images/ e labels/, descreve-as num dataset.yaml e executa python train.py --data dataset.yaml --weights yolov5s.pt. O tutorial Treinar com dados personalizados explica cada etapa.

  • O YOLOv5 é estável e continua a ter suporte completo no repositório autónomo, mas já não é o modelo mais recente. Para novos projetos, o YOLO26 no pacote ultralytics é mais rápido, mais preciso e exporta de ponta a ponta sem NMS, utilizando o mesmo fluxo de trabalho pip install ultralytics descrito no Guia de início rápido.

Comentários