YOLOv5 vs YOLO11#
Ao escolher a arquitetura de visão computacional certa para um novo projeto, é crucial compreender a evolução dos modelos de última geração. A progressão das arquiteturas anteriores para frameworks unificados modernos evidencia avanços significativos tanto na eficiência algorítmica quanto na experiência do desenvolvedor. Este guia apresenta uma comparação técnica aprofundada entre dois modelos emblemáticos desenvolvidos pela Ultralytics: o pioneiro YOLOv5 e o altamente refinado YOLO11.
Introdução aos modelos#
Ambas as arquiteturas representam marcos significativos no campo da deteção de objetos em tempo real, oferecendo vantagens distintas dependendo do teu ambiente de implementação e dos requisitos de compatibilidade com sistemas legados.
YOLOv5: O motor de trabalho do setor#
Lançado no verão de 2020, o YOLOv5 rapidamente se tornou um padrão do setor devido à sua implementação nativa em PyTorch, que reduziu drasticamente a barreira de entrada para treino e implementação. O modelo afastou-se dos complexos frameworks C do Darknet usados pelos seus predecessores, oferecendo uma abordagem Pythonic à construção de modelos.
- Autores: Glenn Jocher
- Organização: Ultralytics
- Data: 2020-06-26
- GitHub: ultralytics/yolov5
- Documentação: Documentação do YOLOv5
O YOLOv5 estabeleceu uma base sólida de facilidade de utilização e introduziu metodologias de treino poderosas, incluindo o avançado aumento de dados por mosaico e a ancoragem automática. Continua extremamente popular entre investigadores que desenvolvem sobre uma base de código bem documentada e amplamente testada.
YOLO11: o framework unificado de visão#
Com base em anos de feedback e investigação arquitetural, o YOLO11 foi introduzido como parte de um framework unificado capaz de lidar nativamente com várias tarefas de visão. Indo além das simples caixas delimitadoras, foi concebido desde o início para oferecer máxima versatilidade e eficiência.
- Autores: Glenn Jocher e Jing Qiu
- Organização: Ultralytics
- Data: 2024-09-27
- GitHub: ultralytics/ultralytics
- Documentação: Documentação do YOLO11
O YOLO11 oferece uma experiência de utilização simplificada através do pacote Python ultralytics, com uma API simples que unifica a deteção de objetos, a segmentação de instâncias, a classificação, a estimativa de pose e as caixas delimitadoras orientadas (OBB). O modelo alcança um equilíbrio altamente favorável entre velocidade e precisão, sendo ideal para diversos cenários de implementação no mundo real.
Ambos os modelos beneficiam do ecossistema bem mantido fornecido pela Ultralytics Platform. Este ambiente integrado simplifica a anotação de conjuntos de dados, o treino na nuvem e a exportação de modelos para vários destinos de hardware.
Comparação de desempenho e métricas#
Uma comparação direta destes modelos revela como os refinamentos arquiteturais se traduzem em ganhos de desempenho concretos. A tabela abaixo apresenta a precisão média (mAP) avaliada no conjunto de dados COCO, juntamente com as velocidades de inferência em CPU e GPU e o número de parâmetros.
| Modelo | tamanho (píxeis) | 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Análise dos resultados#
As métricas evidenciam um claro salto no equilíbrio de desempenho alcançado pelo YOLO11. Por exemplo, o modelo YOLO11n (nano) alcança 39,5% de mAP, em comparação com os 28,0% do YOLOv5n, reduzindo simultaneamente o tempo de inferência em CPU quando exportado através de ONNX. Além disso, o YOLO11 mantém requisitos de memória notavelmente inferiores durante o treino em comparação com modelos pesados baseados em Transformer, tornando-o altamente acessível para implementação em hardware de consumo e dispositivos de edge.
Diferenças arquiteturais#
As melhorias de desempenho do YOLO11 resultam de várias evoluções arquiteturais importantes. Enquanto o YOLOv5 utilizava um backbone CSPNet padrão com módulos C3, o YOLO11 introduziu blocos de extração de características mais eficientes, como C2f e, posteriormente, C3k2, que otimizam o fluxo de gradientes e reduzem a sobrecarga computacional.
O YOLO11 também apresenta uma head altamente refinada. Afastando-se do design baseado em âncoras dos modelos mais antigos, as arquiteturas mais recentes da Ultralytics adotam uma abordagem sem âncoras. Isto reduz o número de previsões de caixas, simplificando o pipeline de pós-processamento e melhorando a capacidade do modelo de generalizar entre diferentes escalas e proporções. Além disso, estes modelos oferecem uma eficiência de treino superior e pesos pré-treinados prontamente disponíveis, que aceleram a convergência de conjuntos de dados ajustados.
Implementação e exemplos de código#
Uma das características mais marcantes do ecossistema da Ultralytics é a sua simplicidade. Embora o YOLOv5 tenha popularizado a utilização de torch.hub para inferência rápida, o YOLO11 leva este conceito mais longe com o pacote Python unificado ultralytics.
Treino com YOLO11#
Carregar, treinar e validar um modelo requer uma quantidade mínima de código boilerplate. A API trata do ajuste de hiperparâmetros e da gestão de modelos de forma integrada.
from ultralytics import YOLO
# Load a pretrained YOLO11 model
model = YOLO("yolo11s.pt")
# Train on a custom dataset for 50 epochs
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run fast inference and display results
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Easily export the model to TensorRT for hardware acceleration
model.export(format="engine")Inferência legada com YOLOv5#
Se estiveres a manter um pipeline mais antigo, o YOLOv5 integra-se diretamente com o mecanismo de carregamento nativo do PyTorch, tornando trivial a sua inclusão em scripts de inferência existentes.
import torch
# Load a custom or pretrained YOLOv5 model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Perform inference on an image URL
results = model("https://ultralytics.com/images/zidane.jpg")
# Print prediction details to the console
results.print()Ambos os modelos suportam vários formatos de exportação. Quer tenhas como alvo um NVIDIA Jetson utilizando TensorRT, quer uma aplicação iOS utilizando CoreML, o processo de implementação está documentado em detalhe e é suportado pela comunidade.
Casos de Utilização Ideais#
A escolha entre estes modelos depende sobretudo da fase do ciclo de vida do teu projeto e dos requisitos específicos.
Quando escolher o YOLOv5#
- Manutenção de bases de código legadas: se o teu ambiente de produção estiver fortemente personalizado em torno da estrutura do repositório YOLOv5 ou de técnicas específicas de evolução de hiperparâmetros.
- Bases de referência académicas: quando publicas investigação que exige uma comparação direta com padrões estabelecidos de visão computacional de 2020–2022.
Quando escolher o YOLO11#
- Projetos multitarefa: quando a tua aplicação exige uma combinação de tarefas, como estimativa de pose e segmentação de instâncias, utilizando uma única API unificada.
- Implementações edge: para cenários de edge computing em que é fundamental maximizar o mAP dentro de um determinado orçamento computacional (FLOPs).
- Soluções comerciais de IA: ideais para aplicações empresariais no retalho e na segurança, aproveitando o suporte robusto da Ultralytics Platform.
A próxima geração: Ultralytics YOLO26#
Embora o YOLO11 represente um excelente equilíbrio entre velocidade e precisão, o campo da inteligência artificial evolui rapidamente. Para os programadores que iniciam novos projetos atualmente, recomendamos vivamente explorar o padrão mais recente em IA de visão: Ultralytics YOLO26.
Lançado em janeiro de 2026, o YOLO26 introduz avanços transformadores concebidos especificamente para as necessidades modernas de implementação:
- Design de ponta a ponta sem NMS: com base em conceitos pioneiros no YOLOv10, o YOLO26 é nativamente de ponta a ponta. Elimina a necessidade de pós-processamento de Supressão não máxima (NMS), simplificando significativamente os pipelines de implementação e reduzindo a latência.
- Otimizador MuSGD: inspirado nas inovações de treino de LLM de modelos como o Kimi K2 da Moonshot AI, este híbrido de SGD e Muon garante um treino incrivelmente estável e uma convergência significativamente mais rápida.
- Velocidade sem precedentes em CPU: ao remover a Perda Focal de Distribuição (DFL), o YOLO26 alcança uma inferência em CPU até 43% mais rápida, tornando-o a melhor escolha para dispositivos edge e ambientes sem GPUs dedicadas.
- Funções de perda avançadas: a integração de ProgLoss e STAL produz melhorias notáveis no reconhecimento de objetos pequenos, algo essencial para análise com drones, IoT e robótica.
- Melhorias específicas por tarefa: introduz otimizações especializadas, como a Estimativa de Log-Verossimilhança Residual (RLE) para pose e uma função de perda angular especializada para caixas delimitadoras orientadas, garantindo um desempenho superior em todas as tarefas de visão computacional.
Para utilizadores interessados em arquiteturas especializadas além da deteção de objetos padrão, também podes explorar modelos como o RT-DETR para deteção baseada em Transformer ou o YOLO-World para rastreamento e deteção com vocabulário aberto. A adoção destas ferramentas bem mantidas e altamente otimizadas garante que os teus pipelines de visão computacional permaneçam eficientes, escaláveis e na vanguarda.