YOLOv7 vs YOLOv5: Uma Comparação Técnica Detalhada
Ao escolher um modelo de detecção de objetos, os desenvolvedores geralmente ponderam os compromissos entre velocidade, precisão e facilidade de uso. Ultralytics YOLOv5 e YOLOv7 são dois modelos fundamentais no cenário de visão computacional, cada um com pontos fortes distintos. Esta página fornece uma comparação técnica detalhada para ajudá-lo a decidir qual modelo melhor se adapta às necessidades do seu projeto, destacando suas diferenças arquitetônicas, benchmarks de desempenho e aplicações ideais.
Embora o YOLOv7 tenha ultrapassado os limites de precisão após o seu lançamento, o Ultralytics YOLOv5 estabeleceu-se como uma referência para eficiência, implementação rápida e acessibilidade, apoiado por um ecossistema robusto e bem mantido.
YOLOv7: Foco em Alta Precisão
O YOLOv7, criado por Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao, foi lançado em 6 de julho de 2022. Ele introduziu várias otimizações arquitetônicas e estratégias de treinamento, conhecidas como "trainable bag-of-freebies", com o objetivo de estabelecer um novo estado da arte em precisão para detectores de objetos em tempo real, mantendo alta velocidade.
Autores: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
Organização: Instituto de Ciência da Informação, Academia Sinica, Taiwan
Data: 2022-07-06
Arxiv: https://arxiv.org/abs/2207.02696
GitHub: https://github.com/WongKinYiu/yolov7
Docs: https://docs.ultralytics.com/models/yolov7/
Arquitetura e Principais Funcionalidades do YOLOv7
A arquitetura do YOLOv7 é construída sobre várias inovações importantes projetadas para melhorar o aprendizado de recursos e otimizar o modelo para uma inferência mais rápida após o treinamento.
- Rede de Agregação de Camadas Eficiente Estendida (E-ELAN): Este módulo no backbone aprimora a capacidade de aprendizado da rede, gerenciando os caminhos de gradiente de forma mais eficiente, permitindo que ela aprenda recursos mais diversos.
- Escalonamento de Modelo: Implementa um método de escalonamento composto para modelos baseados em concatenação, ajustando a profundidade e a largura do modelo para se adequar a diferentes orçamentos computacionais.
- Bag-of-Freebies Treinável: Aproveita técnicas de treinamento avançadas, como cabeças auxiliares e atribuição de rótulos otimizada, para aumentar a precisão sem aumentar o custo de inferência. Essas cabeças auxiliares são usadas apenas durante o treinamento para fortalecer o aprendizado de recursos e são removidas para inferência.
Pontos Fortes do YOLOv7
- Alta Precisão: Atinge altas pontuações de mAP em benchmarks como COCO, muitas vezes superando modelos contemporâneos em precisão.
- Técnicas de Treinamento Eficientes: Incorpora estratégias de treinamento inovadoras que maximizam o desempenho sem adicionar sobrecarga computacional durante a inferência.
Fraquezas do YOLOv7
- Complexidade: A arquitetura e o processo de treino, com funcionalidades como cabeças auxiliares, podem ser mais complexos de entender e modificar em comparação com a abordagem simplificada do Ultralytics YOLOv5.
- Ecossistema e Suporte: Carece da extensa documentação, tutoriais e ecossistema integrado fornecidos pela Ultralytics. Isso pode tornar a implementação e a resolução de problemas mais desafiadoras para os desenvolvedores.
- Uso Intenso de Recursos: Modelos YOLOv7 maiores exigem recursos computacionais significativos para treinamento, o que pode limitar sua acessibilidade para usuários com hardware limitado.
Casos de Uso para YOLOv7
- Detecção de Alto Desempenho: Adequado para aplicações onde alcançar a mais alta precisão absoluta é fundamental, como vigilância avançada ou veículos autônomos.
- Investigação e Benchmarking: Frequentemente utilizado em investigação académica para explorar técnicas de deteção de objetos de última geração e impulsionar os limites de desempenho.
Ultralytics YOLOv5: Velocidade e Simplicidade
O Ultralytics YOLOv5, criado por Glenn Jocher, foi lançado em 26 de junho de 2020. Rapidamente se tornou um dos modelos de detecção de objetos mais populares devido ao seu equilíbrio excepcional de velocidade, precisão e, mais importante, facilidade de uso. É construído em PyTorch e projetado para treinamento rápido, implementação robusta e acessibilidade.
Autores: Glenn Jocher
Organização: Ultralytics
Data: 2020-06-26
Arxiv: Nenhum
GitHub: https://github.com/ultralytics/yolov5
Documentação: https://docs.ultralytics.com/models/yolov5/
Arquitetura e Principais Funcionalidades do YOLOv5
O YOLOv5 apresenta uma arquitetura simples, porém poderosa, altamente otimizada para treinamento e inferência.
- Arquitetura Baseada em CSP: Utiliza uma rede Cross Stage Partial (CSP) tanto na sua backbone como no seu neck (PANet) para otimizar o fluxo de características e reduzir os gargalos computacionais.
- Família de Modelos Escaláveis: Oferece uma variedade de modelos, desde Nano (YOLOv5n) até Extra-Large (YOLOv5x), permitindo que os usuários escolham o equilíbrio perfeito entre velocidade e precisão para suas necessidades específicas, desde dispositivos de borda leves até servidores de nuvem de alto desempenho.
- Experiência Prioritária para o Desenvolvedor: Projetado desde o início para a simplicidade. Apresenta geração automática de âncoras, rastreamento de experimentos integrado e um pipeline de treinamento simplificado que é fácil de usar tanto para iniciantes quanto para especialistas.
Forças do Ultralytics YOLOv5
- Facilidade de Uso: O YOLOv5 é conhecido por sua experiência de usuário direta. Com um simples
pip install ultralytics
command, a user-friendly CLI, e extenso documentação, começar é incrivelmente rápido. - Ecosistema Bem Mantido: Beneficia-se de desenvolvimento contínuo pela Ultralytics, uma forte comunidade de código aberto e integração perfeita com ferramentas como o Ultralytics HUB para treinamento e implantação sem código.
- Equilíbrio de Desempenho: Alcança uma excelente relação entre velocidade e precisão. Seus modelos menores, como YOLOv5n, são incrivelmente rápidos e ideais para inferência em tempo real em CPU e dispositivos de borda.
- Eficiência no Treinamento: O processo de treinamento é altamente eficiente, com tempos de convergência mais rápidos e menores requisitos de memória em comparação com muitos outros modelos. Pesos pré-treinados estão prontamente disponíveis e o treinamento personalizado é simples.
- Versatilidade: Suporta nativamente múltiplas tarefas, incluindo detecção de objetos, segmentação de instâncias e classificação de imagens.
Fraquezas do YOLOv5 da Ultralytics
- Precisão Máxima: Embora altamente competitivos, os maiores modelos YOLOv5 podem não corresponder ao mAP máximo das maiores variantes YOLOv7 em certos benchmarks, uma vez que o YOLOv7 foi especificamente projetado para maximizar esta métrica.
Casos de Uso para Ultralytics YOLOv5
- Aplicações em Tempo Real: Ideal para aplicações que exigem inferência rápida, como robótica, visão de drones e análise de vídeo ao vivo.
- Implantação Edge: Bem adequado para implantação em dispositivos edge com recursos limitados, como o NVIDIA Jetson, devido ao seu design eficiente e tamanhos de modelo pequenos.
- Prototipagem Rápida: Uma excelente escolha para desenvolver e implementar rapidamente soluções de detecção de objetos, graças à sua facilidade de uso e suporte extensivo.
Desempenho e Benchmarks: YOLOv7 vs. YOLOv5
A principal diferença de desempenho reside em suas prioridades de design. O YOLOv7 visa a maior precisão, enquanto o YOLOv5 oferece uma gama de opções mais equilibrada e prática.
Modelo | tamanho (pixels) |
mAPval 50-95 |
Velocidade CPU ONNX (ms) |
Velocidade T4 TensorRT10 (ms) |
parâmetros (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
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 |
Como a tabela mostra, os modelos YOLOv7 alcançam pontuações mAP impressionantes com velocidades de GPU competitivas. No entanto, o Ultralytics YOLOv5 oferece uma gama superior de opções para diferentes cenários de implementação. Os modelos YOLOv5n e YOLOv5s são significativamente mais rápidos tanto na CPU quanto na GPU, tornando-os a escolha certa para aplicações de baixa latência e edge.
Conclusão: Qual Modelo Você Deve Escolher?
A escolha entre YOLOv7 e YOLOv5 depende muito das prioridades do seu projeto.
-
Escolha YOLOv7 se seu principal objetivo é alcançar a maior precisão de detecção possível e você tem os recursos computacionais e conhecimento técnico para gerenciar sua arquitetura e pipeline de treinamento mais complexos. É um excelente modelo para pesquisa e aplicações especializadas onde o desempenho é fundamental.
-
Escolha o Ultralytics YOLOv5 se você valoriza o desenvolvimento rápido, a facilidade de uso e a flexibilidade de implantação. Seu fluxo de trabalho simplificado, documentação extensa e forte equilíbrio de desempenho o tornam a escolha ideal para a maioria das aplicações comerciais e práticas. Seja você um iniciante ou um profissional experiente, o ecossistema robusto do YOLOv5 acelera a jornada do conceito à produção.
Para a maioria dos desenvolvedores, as vantagens práticas e o suporte abrangente do Ultralytics YOLOv5 o tornam uma escolha mais atraente. Seus sucessores, como o Ultralytics YOLOv8, continuam este legado, oferecendo desempenho ainda melhor e mais recursos dentro da mesma estrutura amigável.
Explore Outros Modelos
Para aqueles interessados nos mais recentes avanços, vale a pena explorar os modelos mais recentes no ecossistema Ultralytics.
- Ultralytics YOLOv8: O sucessor do YOLOv5, oferecendo precisão, velocidade aprimoradas e uma API unificada para detecção, segmentação, estimativa de pose e rastreamento. Veja uma comparação direta entre YOLOv8 e YOLOv7.
- Ultralytics YOLOv10: Um modelo de ponta focado na detecção end-to-end sem NMS para latência reduzida e eficiência aprimorada.
- Ultralytics YOLO11: O mais recente modelo de ponta da Ultralytics, enfatizando a velocidade, a eficiência e a facilidade de uso com um design sem âncoras.