Ultralytics YOLO27:
Get Started

YOLOv7 vs YOLOv5#

Ao criar pipelines modernos de visão computacional, selecionar a arquitetura de deteção de objetos certa é fundamental para equilibrar a precisão, a velocidade de inferência e a utilização de recursos. Esta comparação abrangente analisa dois modelos muito influentes no campo da visão computacional: YOLOv7 e Ultralytics YOLOv5.

Ao analisar as diferenças arquitetónicas, as métricas de desempenho e os cenários de implementação ideais, pretendemos ajudar programadores e investigadores a escolher o melhor modelo para os seus requisitos específicos.

Contexto e origens dos modelos#

Compreender as origens destes modelos permite contextualizar as suas filosofias de design e os casos de uso a que se destinam.

YOLOv5#

Lançado por Glenn Jocher e pela equipa da Ultralytics a 26 de junho de 2020, o YOLOv5 revolucionou a área ao disponibilizar uma implementação nativa em PyTorch que privilegiava a facilidade de utilização sem sacrificar o desempenho. Tornou-se rapidamente um padrão da indústria graças ao seu ecossistema extremamente simplificado e à dinâmica de treino fiável. Podes explorar o código-fonte no repositório YOLOv5 no GitHub ou aceder diretamente ao modelo através da Ultralytics Platform.

YOLOv7#

Apresentado por Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao, do Institute of Information Science, Academia Sinica, Taiwan, a 6 de julho de 2022, o YOLOv7 concentrou-se fortemente em inovações arquitetónicas, como as redes de agregação de camadas eficientes expandidas (E-ELAN) e uma «bag-of-freebies» treinável para impulsionar o estado da arte em precisão. Podes encontrar mais detalhes no artigo oficial no Arxiv e no repositório YOLOv7 no GitHub. Para uma integração simples, consulta a documentação do Ultralytics YOLOv7.

Saiba mais sobre o YOLOv7

Experimentação simples

O YOLOv5 está totalmente integrado no pacote Python da Ultralytics. O YOLOv7 não é suportado nativamente para treino ou inferência em PyTorch, mas os checkpoints do YOLOv7 original exportados para ONNX ou TensorRT podem ser executados com a Ultralytics, conforme descrito na documentação do YOLOv7.

Inovações arquiteturais#

Design do Ultralytics YOLOv5#

O YOLOv5 utiliza um backbone CSPDarknet53 modificado, combinado com um pescoço de rede de agregação de caminhos (PANet). Este design está altamente otimizado para uma rápida extração de características e eficiência de memória. Ao contrário das arquiteturas mais antigas ou dos modelos Transformer pesados, o YOLOv5 precisa de muito menos memória CUDA durante o treino, permitindo tamanhos de lote maiores em GPUs convencionais. Além disso, a framework Ultralytics suporta nativamente uma grande variedade de tarefas além das caixas delimitadoras convencionais, incluindo a segmentação de imagens e a classificação de imagens.

Design do YOLOv7#

O YOLOv7 introduziu várias reparametrizações estruturais e a arquitetura E-ELAN, que permite à rede aprender características mais diversificadas sem destruir o percurso original do gradiente. Também implementa uma cabeça auxiliar para supervisão intermédia durante o treino. Embora estes avanços proporcionem uma precisão média (mAP) elevada, muitas vezes introduzem estruturas de tensores complexas que podem tornar a exportação para formatos de edge, como ONNX ou TensorRT, um pouco mais desafiante do que as exportações simplificadas nativas dos modelos Ultralytics.

Análise de desempenho#

Ao comparar estes modelos, os programadores têm de equilibrar mAPval, velocidade de inferência e complexidade computacional (FLOPs). A tabela abaixo apresenta o desempenho das duas arquiteturas avaliadas no conjunto de dados COCO.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7

Principais conclusões#

  • Limite máximo de precisão: O YOLOv7x atinge a maior precisão geral, com uns impressionantes 53.1 mAPval, o que o torna muito competitivo em cenários cujo principal objetivo é maximizar o desempenho da deteção.
  • Velocidade e eficiência: O Ultralytics YOLOv5n é um prodígio de eficiência, oferecendo uma latência de inferência extremamente baixa (1.12 ms em T4 TensorRT) e ocupando apenas 1.9M parâmetros de memória. Isto faz dele uma escolha incomparável para implementações edge com grandes restrições.
  • Equilíbrio de desempenho: A série YOLOv5 oferece uma excelente gama de modelos. O YOLOv5l proporciona um ótimo equilíbrio: fica ligeiramente atrás do YOLOv7l em precisão, mas oferece um pipeline de implementação muito mais maduro.

A vantagem do ecossistema Ultralytics#

A arquitetura de um modelo é apenas metade da equação; o ecossistema à sua volta determina a sua viabilidade no mundo real. É aqui que os modelos Ultralytics realmente se destacam.

Facilidade de utilização: A Ultralytics oferece uma API Python unificada e muito intuitiva. Podes treinar, validar e implementar modelos com um mínimo de código boilerplate, com o apoio de uma extensa documentação oficial. Ecossistema bem mantido: O desenvolvimento ativo garante atualizações constantes, correções de erros e integração simples com ferramentas modernas de acompanhamento, como o Weights & Biases. Eficiência de treino: Com carregadores de dados otimizados e cache inteligente, o YOLOv5 reduz drasticamente os tempos de treino. Além disso, os pesos pré-treinados prontos a usar aceleram a aprendizagem por transferência em vários domínios.

Exemplo de código: treinamento simplificado#

Com o pacote Ultralytics, iniciar uma sessão de treino é praticamente igual, seja qual for a arquitetura escolhida.

from ultralytics import YOLO

# Carrega um modelo YOLOv5 pré-treinado
model = YOLO("yolov5su.pt")  # YOLOv5u: pesos YOLOv5 sem âncoras para o pacote ultralytics

# Treina o modelo no conjunto de dados de exemplo COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Exporta o modelo treinado para o formato ONNX para implantação
success = model.export(format="onnx")

Casos de utilização ideais#

Quando escolher o YOLOv7#

  • Benchmarking académico: Ideal para investigadores que precisam de comparar novas técnicas com uma referência de 2022 bem documentada.
  • Processamento na cloud com GPUs de alto desempenho: Adequado para implementações em hardware de servidor potente, onde obter o mAP máximo em cenas densas é mais importante do que a simplicidade da exportação.

Quando escolher o YOLOv5#

  • Implementações em produção: Ideal para aplicações comerciais que exigem elevada estabilidade, opções simples de implementação de modelos e ampla compatibilidade entre plataformas.
  • Dispositivos edge: As variantes mais pequenas (YOLOv5n e YOLOv5s) funcionam excecionalmente bem em telemóveis e sistemas incorporados.
  • Requisitos multitarefa: Se o teu projeto precisar de evoluir da deteção simples para a segmentação de instâncias ou classificação, usando uma framework unificada.
Explorar outras arquiteturas

Procuras versões mais recentes? Explora o Ultralytics YOLOv8 ou o Ultralytics YOLO11 para conhecer mais avanços na deteção sem âncoras e nas capacidades de aprendizagem multitarefa.

A próxima geração: Ultralytics YOLO26#

Embora o YOLOv5 e o YOLOv7 ocupem lugares importantes na história da IA de visão, o panorama está em constante evolução. Lançado em janeiro de 2026, o Ultralytics YOLO26 representa o que há de mais avançado em tecnologia de deteção de objetos, superando as gerações anteriores em todas as métricas.

O YOLO26 introduz várias funcionalidades que mudam radicalmente o paradigma:

  • Design end-to-end sem NMS: Com base em conceitos pioneiros de versões anteriores, o YOLO26 oferece uma cabeça nativa end-to-end (nms=False) que elimina o pós-processamento de supressão não máxima (NMS), reduzindo os estrangulamentos de latência e simplificando drasticamente a lógica de implementação.
  • Otimizador MuSGD: Inspirado no Kimi K2 da Moonshot AI, este otimizador revolucionário combina a estabilidade do SGD convencional com o momentum acelerado do Muon, trazendo inovações avançadas do treino de LLM diretamente para a visão computacional.
  • Maior velocidade em CPU: Ao remover estrategicamente a Distribution Focal Loss (DFL), o YOLO26 alcança uma inferência em CPU até 43% mais rápida, tornando-se o líder incontestado para implementações em dispositivos edge e dispositivos IoT de baixo consumo.
  • ProgLoss + STAL: Estas funções de perda avançadas melhoram significativamente o reconhecimento de objetos pequenos, algo fundamental para imagens aéreas e robótica de precisão.
  • Melhorias específicas para cada tarefa: Inclui a perda de segmentação semântica para gerar máscaras, a estimativa de log-verosimilhança residual (RLE) para estimar poses e uma perda angular especializada para resolver problemas difíceis de limites de caixas delimitadoras orientadas (OBB).

Conclusão#

Tanto o YOLOv5 como o YOLOv7 oferecem soluções robustas para a deteção de objetos em tempo real. O YOLOv7 continua a ser uma excelente escolha para obter a máxima precisão em hardware com elevada capacidade computacional, enquanto o YOLOv5 se destaca como a ferramenta mais fácil de usar para programadores, oferecendo um equilíbrio excecional entre velocidade, eficiência e um ecossistema de classe mundial.

No entanto, para os programadores que pretendem preparar os seus pipelines para o futuro e alcançar a combinação ideal de velocidade, simplicidade e precisão de ponta, recomendamos vivamente a migração para o Ultralytics YOLO26. Este modelo combina a lendária facilidade de utilização da plataforma Ultralytics com inovações arquitetónicas revolucionárias.

Comentários