YOLOv5 vs YOLO11#
Ao escolher a arquitetura de visão computacional adequada para um novo projeto, é essencial compreender a evolução dos modelos de última geração. O percurso das arquiteturas anteriores até às estruturas unificadas modernas evidencia avanços significativos tanto na eficiência algorítmica como na experiência de desenvolvimento. Este guia apresenta uma comparação técnica aprofundada entre dois modelos de referência desenvolvidos pela Ultralytics: o pioneiro YOLOv5 e o YOLO11, altamente aperfeiçoado.
Introdução aos modelos#
Ambas as arquiteturas representam marcos importantes no domínio da deteção de objetos em tempo real e oferecem vantagens distintas, consoante o ambiente de implementação e os requisitos dos sistemas legados.
YOLOv5: o cavalo de batalha do setor#
Lançado no verão de 2020, o YOLOv5 tornou-se rapidamente um padrão do setor graças à sua implementação nativa em PyTorch, que reduziu drasticamente as barreiras à entrada para o treino e a implementação. Abandonou as complexas estruturas C do Darknet utilizadas pelos antecessores e ofereceu uma abordagem de construção de modelos própria de Python.
- Autores: Glenn Jocher
- Organização: Ultralytics
- Data: 2020-06-26
- GitHub: ultralytics/yolov5
- Documentação: Documentação do YOLOv5
O YOLOv5 estabeleceu uma referência sólida em facilidade de utilização e introduziu metodologias de treino poderosas, incluindo o aumento avançado de dados por mosaico e a geração automática de âncoras. Continua a ser extremamente popular entre investigadores que desenvolvem sobre uma base de código bem documentada e amplamente testada.
YOLO11: a estrutura unificada de visão#
Com base em anos de feedback e investigação arquitetónica, o YOLO11 foi apresentado como parte de uma estrutura unificada capaz de executar nativamente várias tarefas de visão. Concebido desde o início para proporcionar versatilidade e eficiência máximas, vai além das simples caixas delimitadoras.
- 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). Oferece um equilíbrio especialmente 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 disponibilizado 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 entre estes modelos revela como os aperfeiçoamentos arquitetónicos se traduzem em ganhos de desempenho concretos. A tabela abaixo apresenta a precisão média (mAP) avaliada no conjunto de dados COCO, bem como as velocidades de inferência em CPU e GPU e o número de parâmetros.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.6 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.1 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 87.2 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 195.3 |
Análise dos resultados#
As métricas evidenciam uma clara melhoria 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, um ganho de 11,5 pontos com apenas mais 0,7 M de parâmetros. Além disso, o YOLO11 mantém requisitos de memória durante o treino significativamente inferiores aos dos modelos pesados baseados em Transformers, tornando-o bastante acessível para implementação em hardware de consumo e dispositivos de borda.
Diferenças arquitetónicas#
As melhorias de desempenho do YOLO11 resultam de várias evoluções arquitetónicas importantes. Enquanto o YOLOv5 utilizava uma estrutura principal CSPNet padrão com módulos C3, os modelos mais recentes da Ultralytics introduziram blocos de extração de características mais eficientes, como C2f (YOLOv8) e C3k2 (YOLO11), que otimizam o fluxo de gradientes e reduzem a sobrecarga computacional.
O YOLO11 também apresenta uma cabeça de deteção substancialmente aperfeiçoada. Ao abandonarem a conceção baseada 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, simplifica o pipeline de pós-processamento e melhora 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 facilmente disponíveis, que aceleram a convergência dos conjuntos de dados ajustados.
Implementação e exemplos de código#
Uma das características de destaque do ecossistema Ultralytics é a sua simplicidade. Embora o YOLOv5 tenha popularizado a utilização de torch.hub para inferência rápida, o YOLO11 vai mais longe com o pacote Python unificado ultralytics.
Treino com YOLO11#
Carregar, treinar e validar um modelo requer muito pouco código repetitivo. A API gere os hiperparâmetros e os modelos de forma simples e integrada.
from ultralytics import YOLO
# Carrega um modelo YOLO11 pré-treinado
model = YOLO("yolo11s.pt")
# Treina com um conjunto de dados personalizado durante 50 épocas
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Executa uma inferência rápida e apresenta os resultados
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Exporta facilmente o modelo para TensorRT para aceleração por hardware
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, sendo muito simples de incorporar nos scripts de inferência existentes.
import torch
# Carrega um modelo YOLOv5 personalizado ou pré-treinado a partir do PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Executa a inferência num URL de imagem
results = model("https://ultralytics.com/images/zidane.jpg")
# Imprime os detalhes da previsão na consola
results.print()Ambos os modelos suportam uma vasta gama de formatos de exportação. Quer estejas a direcionar a implementação para um NVIDIA Jetson com TensorRT ou para uma aplicação iOS com CoreML, o processo de implementação está amplamente documentado e é apoiado pela comunidade.
Casos de utilização ideais#
A escolha entre estes modelos depende, em grande medida, 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 muito personalizado em torno da estrutura do repositório YOLOv5 ou de técnicas específicas de evolução de hiperparâmetros.
- Referências académicas: ao publicar investigação que exija comparação direta com os padrões de visão computacional estabelecidos entre 2020 e 2022.
Quando escolher YOLO11#
- Projetos com várias tarefas: quando a tua aplicação precisar de combinar tarefas, como estimativa de pose e segmentação de instâncias, através de uma única API unificada.
- Implementações em dispositivos de borda: para cenários de computação de borda em que é fundamental obter o máximo de mAP dentro de um determinado orçamento computacional (FLOPs).
- Soluções comerciais de IA: ideal para aplicações empresariais nos setores do retalho e da segurança, com o apoio robusto da Ultralytics Platform.
A próxima geração: Ultralytics YOLO26#
Embora o YOLO11 ofereça um equilíbrio fantástico entre velocidade e precisão, o campo da inteligência artificial evolui rapidamente. Para os programadores que iniciam projetos novos hoje, recomendamos vivamente que explorem o mais recente padrão de IA visual: Ultralytics YOLO26.
Lançado em janeiro de 2026, o YOLO26 introduz avanços que mudam o paradigma e foram concebidos especificamente para as necessidades de implementação modernas:
- Conceção ponta a ponta sem NMS: com base em conceitos introduzidos pela primeira vez no YOLOv10, o YOLO26 é nativamente ponta a ponta. A cabeça opcional um para um (
nms=False) elimina a necessidade da etapa 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, esta combinação de SGD e Muon garante um treino extremamente estável e uma convergência significativamente mais rápida.
- Velocidade de CPU sem precedentes: ao remover a Distribution Focal Loss (DFL), o YOLO26 alcança uma inferência em CPU até 43% mais rápida, tornando-o a melhor opção para dispositivos de borda e ambientes sem GPUs dedicadas.
- Funções de perda avançadas: a integração de ProgLoss e STAL proporciona melhorias notáveis no reconhecimento de objetos pequenos, algo essencial para a análise de imagens de drones, IoT e robótica.
- Melhorias específicas para cada tarefa: introduz otimizações especializadas, como a estimativa residual de log-verosimilhança (RLE) para a 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 quem procura arquiteturas especializadas além da deteção de objetos padrão, também vale a pena explorar modelos como RT-DETR para deteção baseada em Transformers ou YOLO-World para acompanhamento e deteção com vocabulário aberto. Ao adotares estas ferramentas bem mantidas e altamente otimizadas, garantes que os teus pipelines de visão computacional continuam eficientes, escaláveis e na vanguarda.