Ultralytics YOLO27:

YOLOv7 vs YOLOv5#

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

Ao analisar as diferenças arquiteturais, as métricas de desempenho e os cenários ideais de implementação, 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 fornece contexto para as suas filosofias de design e casos de utilização pretendidos.

YOLOv5#

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

YOLOv7#

Introduzido por Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao do Instituto de Ciência da Informação da Academia Sinica, Taiwan, em 6 de julho de 2022, o YOLOv7 focou fortemente em inovações arquiteturais como Redes de Agregação de Camadas Eficientes Estendidas (E-ELAN) e um "conjunto de brindes" ("bag-of-freebies") treinável para impulsionar o estado da arte em precisão. Detalhes podem ser encontrados no artigo oficial do Arxiv do YOLOv7 e no repositório do GitHub do YOLOv7. Para integração contínua, confira a documentação do Ultralytics YOLOv7.

Sabe mais sobre o YOLOv7

Experimentação simples

Ambos os modelos estão totalmente integrados no pacote Python da Ultralytics, permitindo alternar entre eles simplesmente alterando a string do modelo no teu código!

Inovações arquiteturais#

Design do Ultralytics YOLOv5#

O YOLOv5 utiliza um backbone CSPDarknet53 modificado combinado com uma rede de agregação de caminhos (PANet). Este design está altamente otimizado para extração de características rápida e eficiência de memória. Ao contrário de arquiteturas mais antigas ou de modelos Transformer pesados, o YOLOv5 requer significativamente menos memória CUDA durante o treino, permitindo tamanhos de batch maiores em GPUs convencionais para consumidores. Além disso, o framework da Ultralytics oferece suporte nativo a uma grande variedade de tarefas para além das caixas delimitadoras padrão, incluindo segmentação de imagens e 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 caminho de gradiente original. Também implementa uma cabeça auxiliar para supervisão intermédia durante o treino. Embora estes avanços produzam uma precisão média (mAP) elevada, frequentemente introduzem estruturas de tensores complexas que podem tornar a exportação para formatos de edge, como ONNX ou TensorRT, ligeiramente mais difícil em comparação com as exportações simplificadas nativas dos modelos da 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 demonstra o desempenho de ambas as arquiteturas, avaliadas no conjunto de dados COCO.

Modelotamanho
(píxeis)
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.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Principais Conclusões#

  • Limite máximo de precisão: O YOLOv7x alcança a maior precisão geral, com uns impressionantes 53,1 mAPval, tornando-o altamente competitivo em cenários nos quais maximizar o desempenho da deteção é o objetivo principal.
  • 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 num T4 TensorRT) com uma utilização de memória mínima de apenas 2,6 milhões de parâmetros. Isto torna-o uma escolha incomparável para implementações edge altamente limitadas.
  • Equilíbrio de desempenho: A série YOLOv5 disponibiliza um excelente gradiente de modelos. O YOLOv5l oferece um ótimo equilíbrio, ficando ligeiramente atrás do YOLOv7l em precisão, mas disponibilizando um pipeline de implementação altamente maduro.

A vantagem do ecossistema Ultralytics#

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

Facilidade de utilização: A Ultralytics disponibiliza uma API Python unificada e altamente 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 assegura atualizações constantes, correções de erros e integração simples com ferramentas modernas de tracking, como o Weights & Biases. Eficiência do treino: Ao utilizar carregadores de dados otimizados e caching inteligente, o YOLOv5 reduz drasticamente os tempos de treino. Além disso, os pesos pré-treinados prontos a utilizar aceleram a aprendizagem por transferência em vários domínios.

Exemplo de código: treino simplificado#

Com o pacote da Ultralytics, iniciar uma execução de treino é praticamente idêntico, independentemente da arquitetura escolhida.

from ultralytics import YOLO

# Load a pre-trained YOLOv5 model (can easily swap to "yolov7.pt")
model = YOLO("yolov5s.pt")

# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Export the trained model to ONNX format for deployment
success = model.export(format="onnx")

Casos de Utilização Ideais#

Quando escolher o YOLOv7#

  • Avaliação comparativa académica: Ideal para investigadores que precisam de comparar técnicas inovadoras com uma baseline de 2022 bem documentada.
  • Processamento na cloud com GPUs de topo: Ao implementar em hardware de servidor potente, quando alcançar o mAP absoluto mais elevado 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 multiplataforma.
  • 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 estimativa de pose ou a segmentação utilizando um framework unificado.
Explorar outras arquiteturas

Procuras iterações mais recentes? Considera explorar o Ultralytics YOLOv8 ou o Ultralytics YOLO11 para obter avanços adicionais em deteção sem âncoras e capacidades de aprendizagem multitarefa.

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

Embora YOLOv5 e 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 estado da arte absoluto da tecnologia de deteção de objetos, superando as gerações anteriores em todas as métricas.

O YOLO26 introduz várias funcionalidades que alteram o paradigma:

  • Design end-to-end sem NMS: Com base em conceitos pioneiros de iterações anteriores, o YOLO26 é nativamente end-to-end. Isto elimina completamente o pós-processamento de supressão não máxima (NMS), reduzindo os gargalos 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 padrão com o momentum acelerado do Muon, trazendo inovações avançadas do treino de LLM diretamente para a visão computacional.
  • Velocidade de CPU melhorada: Ao remover estrategicamente a perda focal de distribuição (DFL), o YOLO26 alcança uma inferência em CPU até 43% mais rápida, tornando-se o campeão indiscutível para implementações em dispositivos edge e IoT de baixo consumo.
  • ProgLoss + STAL: Estas funções de perda avançadas produzem melhorias significativas no reconhecimento de objetos pequenos, algo essencial para imagens aéreas e robótica de precisão.
  • Melhorias específicas por tarefa: Inclui perda de segmentação semântica para geração de máscaras, estimativa residual de log-verosimilhança (RLE) para tracking de pose e uma perda angular especializada para resolver problemas complexos nos limites de caixas delimitadoras orientadas (OBB).

Conclusão#

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

No entanto, para programadores que procuram preparar os seus pipelines para o futuro e alcançar a combinação ideal de velocidade, simplicidade e precisão de vanguarda, recomendamos vivamente a migração para o Ultralytics YOLO26. Este reúne a lendária facilidade de utilização da plataforma Ultralytics com inovações arquiteturais revolucionárias.

Comentários