YOLOv5 vs YOLOv6.0: Equilíbrio entre a maturidade do ecossistema e a precisão industrial
No panorama em rápida evolução da visão por computador, a seleção da arquitetura de deteção de objectos correta é uma decisão fundamental para os criadores e investigadores. Esta comparação analisa as distinções técnicas entre Ultralytics YOLOv5um modelo lendário conhecido pela sua acessibilidade e ecossistema robusto, e o Meituan YOLOv6.0, uma estrutura concebida especificamente para aplicações industriais. Embora ambos os modelos sejam excelentes na deteção de objectos, respondem a diferentes necessidades de implementação e preferências de fluxo de trabalho.
Ultralytics YOLOv5
Autores: Glenn Jocher
Organização: Ultralytics
Data: 2020-06-26
GitHub: yolov5
Docs: https:yolov5
Desde o seu lançamento em 2020, YOLOv5 estabeleceu-se como um dos modelos de IA mais populares e fiáveis do mundo. Construído com base no PyTorch ele priorizou a usabilidade, a exportabilidade e o desempenho "pronto para uso", democratizando o acesso à IA de visão de última geração.
Arquitetura e ecossistema
YOLOv5 utiliza uma espinha dorsal CSPDarknet combinada com um pescoço PANet e uma cabeça de estilo YOLOv3. A sua arquitetura é baseada em âncoras, utilizando caixas de âncoras para prever a localização dos objectos. Um diferencial importante é a sua integração num ecossistema maduro. Ao contrário de muitas bases de código de investigação, YOLOv5 foi concebido como um produto para engenheiros, apresentando uma exportação perfeita para formatos como ONNXCoreML e TFLite, o que o torna excecionalmente versátil para implantação móvel e de ponta.
Principais pontos fortes
- Facilidade de utilização: AYOLOv5 experiênciaYOLOv5 " é definida pela sua simplicidade. Desde o treinamento de conjuntos de dados personalizados até a execução da inferência, os fluxos de trabalho são simplificados e bem documentados.
- Ecossistema bem mantido: Os utilizadores beneficiam de uma manutenção ativa, de actualizações frequentes e de uma comunidade massiva. Integrações com ferramentas MLOps como Weights & Biases e Comet são nativas.
- Versatilidade: Para além da deteção padrão, o repositório suporta a segmentação de instâncias e a classificação de imagens, fornecendo uma solução multitarefa numa única base de código.
- Eficiência de memória: YOLOv5 é conhecido pelo seu espaço de memória relativamente baixo durante o treino, em comparação com os modelos baseados em transformadores, tornando-o acessível em GPUs de consumo.
Implementação sem falhas
O foco do YOLOv5 na exportabilidade permite que os programadores implementem modelos sem esforço em diversos ambientes, desde servidores na nuvem a dispositivos de ponta como o Raspberry Pi ou o NVIDIA Jetson.
Meituan YOLOv6.0
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
GitHub: YOLOv6
Docs: https:ultralytics
YOLOv6.0, desenvolvido pela equipa de IA de visão da Meituan, posiciona-se como um concorrente industrial focado no equilíbrio entre velocidade e precisão, especificamente para aplicações sensíveis ao hardware. Ele foi projetado para maximizar o rendimento em GPUs usando o TensorRT otimização.
Arquitetura e indústria
YOLOv6 utiliza um backbone EfficientRep e um pescoço Rep-PAN, aproveitando técnicas de reparametrização (estilo RepVGG) para melhorar a velocidade de inferência sem sacrificar a precisão. Durante o treinamento, o modelo usa uma estrutura de várias ramificações, que se transforma em uma estrutura de ramificação única durante a inferência. A versão 3.0 introduziu estratégias como a auto-destilação para aumentar ainda mais a precisão média (mAP).
Forças e Fraquezas
- OtimizaçãoGPU : A arquitetura está fortemente ajustada para a inferência GPU padrão, atingindo frequentemente elevados valores de referência de FPS em placas NVIDIA T4 quando se utiliza o TensorRT.
- Amigável à quantização: A Meituan oferece suporte específico para a quantização pós-treinamento (PTQ) e para o treinamento consciente da quantização (QAT), que é crucial para certos cenários de implantação industrial.
- Versatilidade limitada: Embora seja excelente na deteção, YOLOv6 não tem o amplo suporte nativo para multitarefas (como Pose Estimation ou OBB) encontrado no abrangente conjunto Ultralytics .
- Complexidade: Os passos de reparametrização e os pipelines de formação específicos podem introduzir complexidade em comparação com a natureza plug-and-play dos modelos Ultralytics .
Comparação Direta de Desempenho
A comparação abaixo destaca os compromissos de desempenho. YOLOv6.0 tem como objetivo a precisão máxima em hardware potente, muitas vezes trocando a eficiência dos parâmetros. Em contrapartida,YOLOv5 Ultralytics YOLOv5 mantém um equilíbrio notável, oferecendo modelos leves que se destacam em ambientes CPU e inferência em tempo real em dispositivos de ponta.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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
O YOLOv5n destaca-se como uma solução extremamente eficiente para aplicações móveis, exigindo significativamente menos parâmetros (2,6M) em comparação com a variante mais pequena YOLOv6 (4,7M). Embora YOLOv6.0 atinja um pico de mAP mais elevado em tamanhos maiores, fá-lo à custa do aumento do tamanho do modelo (FLOPs e parâmetros). Para os programadores que pretendem a implementação CPU (comum na robótica ou na monitorização de baixo consumo), as velocidades da CPU do YOLOv5 são explicitamente comparadas e optimizadas, enquanto YOLOv6 se concentra fortemente na aceleração GPU .
Metodologias de formação e experiência
A experiência de formação difere significativamente entre os dois ecossistemas. Ultralytics dá prioridade a uma abordagem de baixo código e alta flexibilidade.
Fluxo de trabalho Ultralytics
YOLOv5 pode ser integrado diretamente através do PyTorch Hub, permitindo aos utilizadores carregar e executar modelos com um mínimo de código. O script de treino trata de tudo, desde o aumento de dados até ao registo automático.
import torch
# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Perform inference
img = "https://ultralytics.com/images/zidane.jpg"
results = model(img)
results.print()
Fluxo de trabalho industrial
YOLOv6 requer geralmente uma configuração mais manual que envolve a clonagem do repositório, a definição de ficheiros de configuração específicos para a espinha dorsal da reparametrização e a execução de scripts que estão menos integrados com ferramentas MLOps externas prontas a utilizar. Embora potente, exige uma compreensão mais profunda das restrições específicas da arquitetura (como os parâmetros de auto-destilação) para atingir os valores de referência comunicados.
Casos de Uso Ideais
A escolha entre estes modelos depende das suas restrições específicas em termos de hardware, precisão e velocidade de desenvolvimento.
- Ultralytics YOLOv5: A escolha ideal para prototipagem rápida, implantação de borda e suporte à comunidade. Se precisar de implementar num Raspberry Pi, telemóvel ou servidor CPU , a natureza leve do YOLOv5 e o suporte à exportação são incomparáveis. Também é ideal para pesquisadores que precisam de uma base de código versátil que suporte segmentação e classificação juntamente com deteção.
- Meituan YOLOv6.0: Mais adequado para ambientes industriais fixos onde estão disponíveis GPUs topo de gama e a maximização do mAP é a única prioridade. Se estiver a construir um sistema de garantia de qualidade de fábrica executado em servidores NVIDIA T4/A10 e tiver os recursos de engenharia para afinar os modelos reparametrizados, YOLOv6 é um forte candidato.
Conclusão
Ultralytics YOLOv5 continua a ser uma pedra angular da comunidade de visão computacional, celebrada pelo seu equilíbrio de desempenho, facilidade de utilização e ecossistema próspero. A sua capacidade de fornecer resultados fiáveis numa vasta gama de hardware - desde o edge até à cloud - torna-o uma escolha superior para a maioria dos programadores que dão prioridade à versatilidade e ao tempo de colocação no mercado.
Embora YOLOv6.0 introduza inovações arquitectónicas impressionantes para a inferência GPU industrial, falta-lhe o ecossistema abrangente e a adaptabilidade multiplataforma dos modelos Ultralytics . Para aqueles que buscam o que há de mais moderno em desempenho e eficiência, recomendamos explorar o Ultralytics YOLO11que ultrapassa o YOLOv5 e YOLOv6 em termos de precisão e velocidade, mantendo a API Ultralytics de fácil utilização.
Para tarefas especializadas, os programadores podem também considerar outros modelos na documentação Ultralytics , tais como YOLOv8, YOLOv9, YOLOv10ou o transformador RT-DETR.
Explore todo o potencial da IA de visão na Documentação de ModelosUltralytics .