Ir para o conteúdo

YOLOv5 vs YOLOv7: Equilibrando Ecossistema e Arquitetura

Escolher o modelo de detecção de objetos certo é uma decisão crítica para desenvolvedores e pesquisadores. Na evolução da família YOLO (You Only Look Once), o YOLOv5 e o YOLOv7 se destacam como arquiteturas fundamentais que moldaram o cenário da visão computacional. Enquanto o YOLOv7 introduziu inovações arquitetônicas significativas para precisão, o Ultralytics YOLOv5 revolucionou a experiência do desenvolvedor com foco na usabilidade, implementação e um ecossistema robusto.

Este guia fornece uma comparação técnica aprofundada desses dois modelos, analisando suas arquiteturas, métricas de desempenho no conjunto de dados COCO e adequação para aplicações do mundo real.

Ultralytics YOLOv5: O Padrão de Engenharia

Lançado em 2020, o YOLOv5 redefiniu as expectativas para o software de detecção de objetos de código aberto. Ao contrário das iterações anteriores que existiam principalmente como código de pesquisa, o YOLOv5 foi projetado como uma estrutura pronta para o produto. Priorizou a facilidade de uso, a capacidade de exportação e a velocidade, tornando-o a escolha ideal para empresas que constroem aplicações de inferência em tempo real.

Autores: Glenn Jocher
Organização:Ultralytics
Data: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
Documentação:https://docs.ultralytics.com/models/yolov5/

Principais Vantagens do YOLOv5

  • Design Centrado no Usuário: O YOLOv5 introduziu uma API simplificada e um fluxo de trabalho de treinamento contínuo que diminuiu a barreira de entrada para treinar modelos de detecção de objetos personalizados.
  • Flexibilidade de Implantação: Com suporte nativo para modos de exportação, os modelos YOLOv5 podem ser facilmente convertidos para formatos como ONNX, CoreML, TFLite e TensorRT para implantação em diversos hardwares.
  • Uso Eficiente de Recursos: A arquitetura é otimizada para baixo consumo de memória, tornando-a ideal para dispositivos de IA de borda, como o NVIDIA Jetson ou Raspberry Pi.

Suporte do Ecossistema

YOLOv5 é apoiado pelo abrangente ecossistema Ultralytics. Isso inclui a integração perfeita com ferramentas de track de experimentos como Comet e MLflow, bem como plataformas de gerenciamento de conjuntos de dados.

Saiba mais sobre o YOLOv5.

YOLOv7: A Abordagem "Bag-of-Freebies"

Lançado em 2022, o YOLOv7 se concentrou fortemente em ultrapassar os limites da precisão por meio da otimização arquitetônica. Os autores introduziram vários conceitos novos com o objetivo de melhorar o aprendizado de recursos sem aumentar o custo de inferência, uma estratégia que eles chamaram de "trainable bag-of-freebies".

Autores: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
Organização: Institute of Information Science, Academia Sinica, Taiwan
Data: 2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
Documentação:https://docs.ultralytics.com/models/yolov7/

Inovações Arquiteturais

YOLOv7 incorpora Redes de Agregação de Camadas Eficientes Estendidas (E-ELAN) para aprimorar a capacidade de aprendizado da rede. Ele também utiliza técnicas de escalonamento de modelo que modificam a profundidade e a largura da arquitetura simultaneamente. Embora eficaz para aumentar as pontuações de mAP, essas mudanças arquitetônicas complexas às vezes podem tornar o modelo mais difícil de modificar ou implantar em comparação com o backbone CSP-Darknet mais direto encontrado no YOLOv5.

Saiba mais sobre o YOLOv7

Comparação de Desempenho Técnico

Ao comparar os dois modelos, a compensação geralmente reside entre a precisão bruta e a velocidade de implementação prática. Os modelos YOLOv7 (especificamente as variantes maiores) geralmente alcançam um mAP mais alto no conjunto de dados COCO val2017. No entanto, o Ultralytics YOLOv5 mantém o domínio na velocidade de inferência e na eficiência de parâmetros, principalmente com suas variantes menores (Nano e Small), que são cruciais para a implementação móvel.

A tabela abaixo destaca as métricas de desempenho. Observe a velocidade excepcional do YOLOv5n, que continua sendo uma das opções mais rápidas para ambientes com recursos extremamente limitados.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Análise de Métricas

  • Velocidade vs. Precisão: YOLOv7x alcança um mAP de 53,1% mais alto, tornando-o adequado para segurança de ponta ou análise médica, onde cada pixel conta. No entanto, para aplicações como análise de vídeo ou navegação autônoma, o tempo de inferência de 1,12ms do YOLOv5n no TensorRT oferece uma capacidade de taxa de quadros que modelos mais pesados não conseguem igualar.
  • Eficiência no Treinamento: O Ultralytics YOLOv5 utiliza estratégias "AutoAnchor" e evolução avançada de hiperparâmetros, o que geralmente resulta em uma convergência mais rápida durante o treinamento em comparação com os esquemas complexos de reparametrização exigidos pelo YOLOv7.
  • Utilização de Memória: Treinar transformers ou arquiteturas complexas como YOLOv7 requer frequentemente GPUs de alta gama (e.g., A100s). Em contraste, o design eficiente do YOLOv5 permite o treino em hardware de nível consumidor, democratizando o acesso ao desenvolvimento de IA.

Implementação de Código

Um dos argumentos mais fortes para o Ultralytics YOLOv5 é a simplicidade de sua API Python. Carregar um modelo pré-treinado e executar a inferência requer apenas algumas linhas de código, um testemunho da maturidade da framework.

import torch

# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)

# Define an image (url, local path, or numpy array)
img = "https://ultralytics.com/images/zidane.jpg"

# Run inference
results = model(img)

# Print results and show the image with bounding boxes
results.print()
results.show()

Este nível de abstração permite que os desenvolvedores se concentrem na construção de suas soluções de negócios, em vez de depurar arquiteturas de modelos.

Casos de Uso Ideais

Quando escolher o YOLOv7

YOLOv7 é uma excelente escolha para pesquisa acadêmica e cenários onde as restrições de hardware são secundárias ao desempenho bruto da detecção.

  • Investigação Académica: Para fazer benchmarking de técnicas de detecção de última geração.
  • Inspeção de Alta Precisão: Como no controle de qualidade de fabricação, onde a detecção de defeitos mínimos é crítica e a latência é menos preocupante.

Quando escolher o Ultralytics YOLOv5

YOLOv5 continua a ser o padrão da indústria para desenvolvimento rápido e implementação em produção.

Conclusão: O Caminho Moderno a Seguir

Embora YOLOv7 tenha demonstrado o poder do ajuste arquitetural, o Ultralytics YOLOv5 continua sendo a escolha superior para desenvolvedores que precisam de uma solução confiável, bem documentada e fácil de implementar. Seu equilíbrio entre velocidade, precisão e suporte ao ecossistema garante que permaneça relevante em ambientes de produção em todo o mundo.

No entanto, o campo da visão computacional move-se rapidamente. Para aqueles que procuram o melhor desempenho absoluto, o YOLO11 representa a mais recente evolução da Ultralytics. O YOLO11 baseia-se na usabilidade do YOLOv5, mas incorpora módulos de última geração baseados em transformadores e designs sem âncora, superando o YOLOv5 e o YOLOv7 em precisão e eficiência.

Para uma solução à prova de futuro que suporte Object Detection, Pose Estimation e Oriented Bounding Boxes (OBB), a migração para o framework Ultralytics YOLO11 é altamente recomendada.

Descubra Mais Comparações

Explore como outros modelos se comparam à família Ultralytics YOLO:


Comentários