YOLOv7 vs. YOLOv6.0: Uma comparação técnica abrangente
No panorama em rápida evolução da visão por computador, a seleção do modelo de deteção de objectos correto é crucial para o sucesso do projeto. Duas estruturas importantes que moldaram o campo são o YOLOv7 e YOLOv6.0. Embora ambos partilhem a linhagem YOLO (You Only Look Once), divergem significativamente nas suas filosofias arquitectónicas e objectivos de otimização.
Este guia fornece uma análise técnica aprofundada destes dois modelos, comparando as suas arquitecturas, métricas de desempenho e cenários de implementação ideais. Também exploramos como alternativas modernas, como o Ultralytics YOLO11 integram os melhores recursos desses predecessores em um ecossistema unificado e fácil de usar.
YOLOv7: A arquitetura da precisão
YOLOv7, lançado em julho de 2022, representou uma grande mudança na família YOLO , priorizando inovações arquitetônicas para maximizar a precisão sem sacrificar os recursos de inferência em tempo real. Foi concebido para ultrapassar os limites dos parâmetros de referência do conjunto de dadosCOCO .
Autores: Chien-Yao Wang, Alexey Bochkovskiy, and 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
Docsultralytics
Principais caraterísticas arquitectónicas
YOLOv7 introduziu o "trainable bag-of-freebies", um conjunto de métodos de otimização que aumentam a precisão sem aumentar o custo de inferência.
- E-ELAN (Extended-Efficient Layer Aggregation Networks): Esta arquitetura melhora a capacidade de aprendizagem da rede, controlando os caminhos de gradiente mais curto e mais longo. Permite que o modelo aprenda caraterísticas mais diversas, expandindo a cardinalidade dos blocos computacionais.
- Escalonamento de modelos: YOLOv7 utiliza técnicas de escalonamento compostas que modificam a profundidade e a largura em simultâneo, garantindo um desempenho ótimo em diferentes tamanhos de modelos (do Tiny ao E6E).
- Formação da cabeça auxiliar: O modelo usa uma cabeça auxiliar durante o treinamento para fornecer supervisão profunda, que é então removida durante a inferência. Isto melhora a convergência do modelo de aprendizagem profunda.
Forças e Fraquezas
YOLOv7 é conhecido pela sua elevada precisão média (mAP), particularmente em objectos pequenos e oclusos. É uma excelente escolha para investigação e cenários em que a precisão é fundamental. No entanto, a sua arquitetura complexa, que assenta fortemente em camadas baseadas em concatenação, pode resultar num maior consumo de memória durante o treino, em comparação com modelos industriais simplificados.
YOLOv6.0: Concebido para a velocidade industrial
YOLOv6.0, desenvolvido pelo departamento de computação visual da Meituan, centra-se fortemente em aplicações industriais práticas. Lançado no início de 2023, dá prioridade à velocidade de inferência e à eficiência do hardware, o que o torna um forte candidato à computação periférica.
Autores: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, e Xiangxiang Chu
Organização: Meituan
Data: 2023-01-13
Arxiv:https://arxiv.org/abs/2301.05586
GitHubYOLOv6
Docsultralytics
Principais caraterísticas arquitectónicas
YOLOv6.0 distingue-se pelo seu design sensível ao hardware, optimizando especificamente o rendimento da GPU e CPU .
- Backbone RepVGG: O modelo utiliza blocos de re-parametrização (RepVGG). Durante o treinamento, o modelo tem uma topologia de várias ramificações para melhor aprendizado, que é matematicamente fundida em uma estrutura de ramificação única para inferência. Isso resulta numa execução mais rápida em hardware como o NVIDIA Jetson.
- Cabeça desacoplada: Ao contrário das versões anteriores YOLO que partilhavam caraterísticas para classificação e localização, YOLOv6 utiliza uma cabeça desacoplada. Esta separação melhora a velocidade de convergência e a precisão da deteção.
- Amigável à quantização: A arquitetura foi concebida para ser amigável à quantização de modelos (por exemplo, INT8), essencial para a implementação em dispositivos com recursos limitados.
Forças e Fraquezas
YOLOv6.0 destaca-se pelo seu rendimento bruto. Para linhas de automação industrial ou robótica, onde os milissegundos contam, o seu gráfico de inferência optimizado é uma vantagem significativa. No entanto, seu foco é principalmente na deteção, faltando a versatilidade multitarefa nativa encontrada em iterações posteriores como o YOLO11.
Comparação de Desempenho
A tabela seguinte ilustra as diferenças entre os dois modelos. YOLOv6.0 oferece geralmente uma velocidade superior para níveis de precisão semelhantes, enquanto YOLOv7 ultrapassa o limite da precisão de deteção.
| 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 |
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Análise dos resultados
- Velocidade vs. Precisão: YOLOv6.0n destaca-se pela velocidade extrema, alcançando uma inferência de 1,17 ms em GPUs T4, o que o torna ideal para análise de vídeo de alta velocidade.
- Precisão de pico: o YOLOv7x alcança uma precisão de mAP (53,1%) em comparação com o YOLOv6.0l (52,8%), demonstrando a sua força na deteção de exemplos difíceis.
- Eficiência de computação: YOLOv6 utiliza menos FLOPs para níveis de desempenho comparáveis, validando a sua filosofia de design "EfficientRep".
Considerações sobre a implantação
Embora os benchmarks forneçam uma linha de base, o desempenho no mundo real depende muito do hardware de implantação. A re-parametrização do YOLOv6 brilha em GPUs, enquanto a arquitetura baseada em concatenação do YOLOv7 é robusta, mas pode exigir muita largura de banda de memória.
A vantagem Ultralytics : Para além da comparação
Embora YOLOv7 e YOLOv6.0 representem realizações significativas na história da visão por computador, o campo evolui rapidamente. Para os programadores que procuram uma solução sustentável e preparada para o futuro, Ultralytics YOLO11 oferece um ecossistema abrangente que supera as limitações das arquiteturas de modelos individuais.
Por que escolher o Ultralytics YOLO11?
- Facilidade de uso incomparável: Ao contrário de muitos modelos de código aberto que exigem clonagem de repositório e configuração de ambiente complexos, os modelos Ultralytics são acessíveis por meio de uma simples instalação pip. O design da APIPython é intuitivo, permitindo o treinamento e a inferência em apenas algumas linhas de código.
- Equilíbrio de desempenho: YOLO11 baseia-se nas lições de arquitetura do YOLOv6 e do YOLOv7. Utiliza uma arquitetura refinada que atinge a precisão mais avançada, mantendo as velocidades de inferência necessárias para aplicações em tempo real.
- Versatilidade: Uma das maiores vantagens do ecossistema Ultralytics é o suporte para várias tarefas. Enquanto YOLOv6 e YOLOv7 se concentram principalmente na deteção, YOLO11 suporta nativamente a segmentação de instâncias, a estimativa de pose, a classificação e a deteção orientada de objectos (OBB).
- Eficiência de treinamento: Os modelos Ultralytics são optimizados para uma convergência mais rápida e uma menor utilização de memória durante o treino. Esta gestão eficiente de recursos permite o treino em GPUs de consumo sem a sobrecarga massiva de memória CUDA frequentemente associada a arquitecturas mais antigas de transformadores ou de concatenação pesada.
- Ecossistema bem mantido: Com actualizações frequentes, documentação extensa e uma comunidade vibrante, Ultralytics garante que os seus projectos permanecem compatíveis com as versões mais recentes PyTorch e formatos de exportação como ONNXTensorRT e CoreML.
Exemplo de implementação
A implementação de um modelo de última geração com o Ultralytics é simples. Eis como é fácil implementar a deteção de objectos:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for result in results:
result.save(filename="output.jpg") # save to disk
Conclusão
Tanto YOLOv7 como YOLOv6.0 servem nichos específicos: YOLOv7 para tarefas de investigação de elevada precisão e YOLOv6.0 para otimização da velocidade industrial. No entanto, para a maioria dos programadores e investigadores, o Ultralytics YOLO11 Ultralytics oferece a solução mais equilibrada, versátil e de fácil manutenção. Ao combinar um elevado desempenho com uma experiência de utilizador excecional e um amplo suporte de tarefas, Ultralytics permite que os utilizadores se concentrem na resolução de problemas do mundo real em vez de se preocuparem com arquitecturas de modelos.
Explore Outros Modelos
Se estiver interessado em explorar mais opções no panorama da visão por computador, considere estas comparações:
- YOLOv7 vs. RT-DETR: Comparação de detectores baseados em CNN com arquitecturas baseadas em transformadores.
- YOLOv6 vs. YOLOv8: Um olhar sobre a comparação entre a geração anterior de modelos Ultralytics e os padrões industriais.
- YOLOv7 vs. YOLOX: Analisar estratégias de deteção sem âncora vs. com base em âncora.