YOLOv5 . YOLOv8: A evolução da detecção Ultralytics
O campo da visão computacional avançou rapidamente, impulsionado significativamente pela inovação contínua dentro da família YOLO You Only Look Once) de detetores de objetos. Duas das versões mais impactantes dessa linhagem são YOLOv5 e YOLOv8, ambas desenvolvidas pela Ultralytics. Enquanto YOLOv5 o padrão da indústria em termos de facilidade de uso e flexibilidade após o seu lançamento em 2020, YOLOv8 lançado em 2023) introduziu avanços arquitetónicos que redefiniram o desempenho de ponta.
Este guia fornece uma comparação técnica detalhada para ajudar programadores, investigadores e engenheiros a escolher o modelo certo para as suas necessidades específicas de aplicação, ao mesmo tempo que destaca os mais recentes avanços na área, como o YOLO26.
Ultralytics YOLOv5: O Padrão da Indústria
Lançado em junho de 2020, YOLOv5 marcou um momento crucial na democratização da IA. Ao contrário dos seus antecessores, que foram escritos principalmente em C (Darknet), YOLOv5 o primeiro nativo PyTorch , tornando-o excepcionalmente acessível à comunidade Python .
Principais Características e Arquitetura
YOLOv5 famoso pelo equilíbrio entre velocidade, precisão e design intuitivo. A sua arquitetura introduziu várias melhorias importantes em relação ao YOLOv4:
- CSPDarknet Backbone: Utiliza ligações parciais entre etapas para melhorar o fluxo gradiente e reduzir os parâmetros.
- Caixas âncora de autoaprendizagem: aprende automaticamente as dimensões ideais das caixas âncora para o conjunto de dados personalizado antes do início do treinamento.
- Aumento de dados em mosaico: uma técnica de treino que combina quatro imagens numa só, aumentando a capacidade do modelo de detect objetos detect e melhorando a generalização do contexto.
Especificações técnicas:
- Autores: Glenn Jocher
- Organização:Ultralytics
- Data: 2020-06-26
- GitHub:ultralytics/yolov5
Ultralytics YOLOv8: Definindo o estado da arte
Lançado em janeiro de 2023, YOLOv8 representou um avanço significativo na tecnologia de visão computacional. Ele se afastou da detecção baseada em âncoras usada no YOLOv5 um design sem âncoras, simplificando o processo de aprendizagem e melhorando a generalização entre diferentes formas de objetos.
Inovações Arquiteturais
YOLOv8 uma série de técnicas modernas que aumentaram tanto a velocidade quanto a precisão:
- Detecção sem âncora: elimina a necessidade de configuração manual da caixa de âncora, prevendo diretamente os centros dos objetos. Isso reduz o número de previsões de caixas e acelera a supressão não máxima (NMS).
- Módulo C2f: Substitui o módulo C3 do YOLOv5, oferecendo um fluxo de gradiente mais rico e ajustando os números dos canais para uma melhor extração de características.
- Cabeça desacoplada: separa as tarefas de objetividade, classificação e regressão em diferentes ramos, permitindo que cada uma converja de forma mais eficaz.
- Versatilidade de tarefas: Concebido desde o início para suportar não só a deteção, mas também a segmentação de instâncias, estimativa de pose, classificação e OBB (Oriented Bounding Box).
Especificações técnicas:
- Autores: Glenn Jocher, Ayush Chaurasia e Jing Qiu
- Organização:Ultralytics
- Data: 2023-01-10
- GitHub:ultralytics/ultralytics
Comparação de Desempenho
Ao comparar esses dois poderosos modelos, fica claro que YOLOv8 supera YOLOv5 tanto YOLOv5 precisão (mAP) quanto YOLOv5 latência em hardware comparável. No entanto, YOLOv5 um modelo altamente capaz e extremamente eficiente para sistemas legados.
A tabela abaixo destaca o desempenho no COCO . Os valores em negrito indicam o melhor desempenho em cada categoria.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Análise
YOLOv8n Nano) alcança um mAP significativamente mais alto mAP 37,3) em comparação com o YOLOv5n (28,0), com apenas um aumento marginal na contagem de parâmetros. Esse ganho de eficiência torna YOLOv8 escolha superior para aplicações de ponta modernas, onde cada porcentagem de precisão conta.
Treinamento e Ecossistema
Ambos os modelos beneficiam imensamente do Ultralytics , que prioriza a facilidade de uso.
Fluxo de trabalho de formação simplificado
A transição do YOLOv5 YOLOv8 introduziu uma CLI unificada CLI Python que suporta todas as tarefas. Enquanto YOLOv5 de scripts específicos (por exemplo, train.py, detect.py), YOLOv8 modelos subsequentes como YOLO26 use uma estrutura de pacotes modular.
YOLOv5 :
python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.pt
YOLOv8 :
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
A vantagem Ultralytics
Ambos os modelos integram-se perfeitamente à Ultralytics . Isso permite que os utilizadores visualizem execuções de treino, gerenciem conjuntos de dados e exportem modelos com um clique para formatos como ONNX, TensorRTe CoreML escrever scripts de conversão complexos.
Casos de Uso e Recomendações
A escolha entre estes dois modelos depende das suas restrições específicas, embora os modelos mais recentes sejam geralmente recomendados para novos projetos.
Cenários Ideais para YOLOv5
- Sistemas legados: Projetos já profundamente integrados com a YOLOv5 , onde os custos de migração são elevados.
- Suporte de hardware específico: Certos aceleradores de IA de ponta mais antigos podem ter kernels altamente otimizados, especificamente ajustados para as estruturas de camadas específicas YOLOv5.
- Simplicidade: Para fins puramente educativos, a estrutura explícita baseada em scripts do YOLOv5 pode ser mais fácil para iniciantes analisarem linha por linha.
Cenários Ideais para YOLOv8
- Requisitos de alta precisão: aplicações como imagens médicas ou inspeção de qualidade, nas quais a detecção de características sutis é fundamental.
- Aprendizagem multitarefa: projetos que exigem segmentação ou estimativa de pose juntamente com detecção.
- Preparação para o futuro: os programadores que iniciam novos projetos devem optar pelo YOLOv8 ou mais recente) para garantir suporte a longo prazo e compatibilidade com as ferramentas de implementação mais recentes.
O Futuro: Ultralytics YOLO26
Embora YOLOv5 YOLOv8 excelentes, o campo continuou a evoluir. Para os desenvolvedores que buscam o pico absoluto de desempenho em 2026, recomendamos fortemente Ultralytics .
Porquê escolher o YOLO26? O YOLO26 baseia-se no legado do v5 e do v8, mas introduz mudanças revolucionárias em termos de velocidade e eficiência:
- NMS de ponta a ponta: Ao eliminar a necessidade de supressão não máxima (NMS), o YOLO26 simplifica a lógica de implementação e reduz a latência de inferência, um conceito pioneiro no YOLOv10.
- MuSGD Optimizer: Um otimizador híbrido que traz estabilidade ao treinamento de LLM para modelos de visão, garantindo uma convergência mais rápida.
- Aprimorado para Edge: com a remoção do DFL e CPU específicas CPU , o YOLO26 funciona até 43% mais rápido em CPUs em comparação com as gerações anteriores.
- Detecção superior de pequenos objetos: as novas funções ProgLoss e STAL melhoram significativamente o desempenho em alvos pequenos, essencial para imagens de drones e aplicações de IoT.
Conclusão
Tanto YOLOv5 YOLOv8 conquistas monumentais na história da visão computacional. YOLOv5 continua a ser uma ferramenta confiável e com baixo consumo de memória para muitas aplicações existentes, celebrada pela sua estabilidade e menor consumo de recursos no treinamento. YOLOv8, no entanto, oferece versatilidade superior, maior precisão e um design arquitetónico mais moderno, alinhado com as tendências atuais de investigação.
Para aqueles que exigem o que há de mais moderno, olhando para YOLO26 ou YOLO11 proporcionará benefícios ainda maiores em termos de velocidade e precisão. Em última análise, o robusto Ultralytics garante que, independentemente do modelo escolhido, você terá as ferramentas, a documentação e o suporte da comunidade para ter sucesso.
Exemplo de Código: Executando Inferência
Experimente a simplicidade da Ultralytics . Este código funciona para os modelos YOLOv8, YOLO11 e YOLO26 de forma intercambiável.
from ultralytics import YOLO
# Load a pretrained model (choose yolov8n.pt or yolo26n.pt)
model = YOLO("yolov8n.pt")
# Run inference on an image from the web
results = model("https://ultralytics.com/images/bus.jpg")
# Process results list
for result in results:
boxes = result.boxes # Boxes object for bbox outputs
masks = result.masks # Masks object for segmentation masks
keypoints = result.keypoints # Keypoints object for pose outputs
probs = result.probs # Probs object for classification outputs
result.show() # display to screen
result.save(filename="result.jpg") # save to disk
Para obter mais detalhes sobre como integrar esses modelos ao seu fluxo de trabalho, consulte o nosso Guia de Início Rápido.