Ir para o conteúdo

YOLOv5 vs YOLOv8: Evolução da Deteção de Objetos em Tempo Real

A evolução da detecção de objetos foi significativamente moldada pela família de modelos YOLO (You Only Look Once). Desenvolvido pela Ultralytics, tanto o YOLOv5 quanto o YOLOv8 representam momentos cruciais na história da visão computacional. Enquanto o YOLOv5 se estabeleceu como a arquitetura de detecção mais amada e amplamente utilizada do mundo devido à sua simplicidade e velocidade, o YOLOv8 introduziu uma estrutura unificada com inovações arquitetônicas de ponta para suportar uma gama mais ampla de tarefas de visão.

A escolha entre esses dois gigantes depende das restrições específicas do seu projeto, da disponibilidade de hardware e da necessidade de recursos multitarefa. Este guia fornece uma análise técnica aprofundada para ajudar engenheiros de visão computacional e pesquisadores a tomar a decisão certa.

YOLOv5: O Padrão Industrial Comprovado

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

Lançado em meados de 2020, o YOLOv5 revolucionou a acessibilidade da detecção de objetos. Foi o primeiro modelo YOLO implementado nativamente em PyTorch, afastando-se da estrutura Darknet usada por seus antecessores. Essa mudança tornou incrivelmente fácil para os desenvolvedores treinar, implantar e experimentar conjuntos de dados personalizados.

YOLOv5 utiliza um backbone CSPDarknet e é um detetor baseado em âncoras. Isto significa que depende de caixas âncora predefinidas para prever localizações de objetos. Embora esta abordagem exija algum ajuste de hiperparâmetros para um desempenho ideal em conjuntos de dados únicos, continua a ser altamente eficaz. A sua arquitetura enfatiza a velocidade de inferência e a baixa capacidade de memória, tornando-o um favorito para implementação em hardware com recursos limitados, como o Raspberry Pi e as primeiras gerações de NVIDIA Jetson.

Principais Pontos Fortes do YOLOv5

  • Estabilidade Legada: Anos de uso ativo em ambientes de produção o tornaram um dos modelos de visão mais estáveis e livres de bugs disponíveis.
  • Otimização Edge: Particularmente em CPUs mais antigas e processadores móveis específicos, a arquitetura mais simples do YOLOv5 pode, às vezes, oferecer uma latência de inferência mais rápida.
  • Vasto Ecossistema: Uma enorme comunidade de tutoriais, integrações de terceiros e discussões em fóruns oferece suporte para solução de problemas e desenvolvimento.

Saiba mais sobre o YOLOv5.

YOLOv8: A Potência Multitarefa

Autores: Glenn Jocher, Ayush Chaurasia e Jing Qiu
Organização:Ultralytics
Data: 2023-01-10
GitHub:https://github.com/ultralytics/ultralytics
Documentação:https://docs.ultralytics.com/models/yolov8/

O YOLOv8 representa um avanço significativo, projetado não apenas como um detector de objetos, mas como uma estrutura abrangente para segmentação de imagem, estimativa de pose, classificação e detecção de caixa delimitadora orientada (OBB).

Arquiteturalmente, o YOLOv8 passa para um design sem âncoras com uma cabeça desacoplada, separando as tarefas de objetividade, classificação e regressão. Também introduz o módulo C2f (Cross Stage Partial BottleNeck com 2 convoluções), que substitui o módulo C3 encontrado no YOLOv5. O módulo C2f melhora o fluxo de gradiente e a fusão de características, permitindo que o modelo aprenda padrões mais complexos sem um aumento massivo no custo computacional.

Principais Pontos Fortes do YOLOv8

  • Precisão de Última Geração: Atinge consistentemente pontuações de mAP (Precisão Média Média) mais altas em COCO e conjuntos de dados personalizados em comparação com o YOLOv5.
  • Detecção Sem Âncoras: Elimina a necessidade de calcular ou ajustar anchor boxes, simplificando o pipeline de treinamento e melhorando a generalização em objetos com proporções incomuns.
  • Versatilidade: A capacidade de alternar entre detection, segmentation e estimativa de pose usando a mesma API reduz significativamente o tempo de desenvolvimento para projetos complexos.

Saiba mais sobre o YOLOv8.

Análise Técnica Detalhada: Arquitetura e Desempenho

A transição do YOLOv5 para o YOLOv8 é marcada por várias mudanças "nos bastidores" que impulsionam os ganhos de desempenho.

Mudanças Arquiteturais

A diferença mais notável é o head de detecção. O YOLOv5 usa um head acoplado onde a classificação e a localização compartilham recursos. O YOLOv8 emprega um head desacoplado, permitindo que a rede ajuste os pesos de forma independente para identificar o que um objeto é versus onde ele está. Isso normalmente leva a uma melhor convergência e maior precisão.

Além disso, a evolução do backbone de C3 para C2f permite que o YOLOv8 capture informações de gradiente mais ricas. Embora isso torne a arquitetura um pouco mais complexa, a Ultralytics otimizou a implementação para garantir que a eficiência do treinamento permaneça alta.

Métricas de Desempenho

Ao comparar os modelos no conjunto de dados COCO padrão, o YOLOv8 demonstra relações precisão/computação superiores.

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
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8

Como ilustrado, o YOLOv8n (Nano) alcança um mAP de 37,3, praticamente igualando o YOLOv5s (Small) maior, que pontua 37,4, mas com significativamente menos FLOPs. Essa eficiência é fundamental para aplicações modernas de Edge AI.

Metodologias de Treinamento e Ecossistema

Uma das características definidoras dos modelos Ultralytics é o foco na experiência do desenvolvedor. Ambos os modelos se beneficiam do abrangente ecossistema Ultralytics, mas são acessados de forma ligeiramente diferente.

Facilidade de Uso e API

YOLOv8 introduziu o ultralytics Pacote Python, uma interface CLI e Python unificada. Este pacote gere eficazmente as dependências e fornece uma API consistente para treino, validação, e predição. Curiosamente, o moderno ultralytics pacote também pode carregar e executar modelos YOLOv5, preenchendo a lacuna entre as gerações.

from ultralytics import YOLO

# Load a YOLOv8 model (Official)
model_v8 = YOLO("yolov8n.pt")

# Load a YOLOv5 model (Legacy support via Ultralytics package)
model_v5 = YOLO("yolov5nu.pt")

# Training is identical for both
results = model_v8.train(data="coco8.yaml", epochs=100)

Memória e Eficiência

Comparado com modelos baseados em transformadores como o RT-DETR, tanto o YOLOv5 quanto o YOLOv8 são excepcionalmente eficientes em termos de memória. Os transformadores geralmente exigem uma quantidade substancial de memória CUDA e tempos de treinamento mais longos para convergir. Em contraste, os modelos Ultralytics YOLO são otimizados para serem executados em GPUs de nível de consumidor e até mesmo em CPUs, democratizando o acesso à IA de alto desempenho.

Ecossistema Integrado

Ambos os modelos são totalmente compatíveis com o Ultralytics HUB, permitindo gerenciamento contínuo de conjuntos de dados, visualização de modelos e implantação com um clique em dispositivos do mundo real.

Casos de Uso Ideais

Selecionar o modelo certo geralmente se resume ao ambiente específico onde o modelo será implementado.

Quando escolher o YOLOv5

YOLOv5 continua a ser uma excelente escolha para:

  • Sistemas Legados: Atualização de pipelines existentes onde a infraestrutura já está construída em torno da arquitetura YOLOv5.
  • Hardware de Borda Específico: Alguns drivers de NPU (Unidade de Processamento Neural) mais antigos têm suporte altamente otimizado especificamente para a arquitetura YOLOv5.
  • Latência Ultrabaixa: Em cenários onde cada milissegundo de inferência da CPU conta, a head acoplada mais simples do YOLOv5n pode, por vezes, oferecer uma vantagem de velocidade bruta sobre o v8n.

Quando escolher o YOLOv8

O YOLOv8 é a escolha recomendada para:

  • Novos Desenvolvimentos: Começando um projeto hoje, o YOLOv8 (ou o mais recente YOLO11) oferece um caminho mais preparado para o futuro.
  • Tarefas Complexas: Aplicações que requerem segmentação de instância (por exemplo, análise de células médicas) ou detecção de pontos-chave (por exemplo, análise de esportes).
  • Altos Requisitos de Precisão: Cenários onde perder uma detecção é crítico, como em sistemas de segurança de veículos autônomos ou vigilância de segurança.

Conclusão

Tanto o YOLOv5 quanto o YOLOv8 são testemunhos do compromisso da Ultralytics com a inovação de código aberto. O YOLOv5 continua sendo uma lenda no campo—confiável, rápido e amplamente suportado. No entanto, o YOLOv8 aprimora essa base com avanços arquitetônicos que oferecem maior precisão e maior versatilidade sem sacrificar a facilidade de uso que os desenvolvedores esperam.

Para a maioria dos novos projetos, recomendamos aproveitar os avanços do YOLOv8 ou atualizar para o mais recente YOLO11, que refina ainda mais esses conceitos para o equilíbrio final de velocidade e precisão.

Explore Outros Modelos

Se você tem interesse em explorar o que há de mais recente em tecnologia de detecção, considere consultar:

  • YOLO11: A evolução mais recente, oferecendo processamento mais rápido e extração de recursos aprimorada em relação ao YOLOv8.
  • RT-DETR: Um modelo baseado em transformer que oferece alta precisão para aplicações em tempo real, ideal quando a memória da GPU é menos restritiva.

Comentários