Ir para o conteúdo

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.

Saiba mais sobre o YOLOv5.

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 .

Saiba mais sobre o YOLOv6

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.

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
YOLOv6.0n64037.5-1.174.711.4
YOLOv6.0s64045.0-2.6618.545.3
YOLOv6.0m64050.0-5.2834.985.8
YOLOv6.0l64052.8-8.9559.6150.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 .


Comentários