Ir para o conteúdo

YOLOv5 vs YOLOX: Mudanças na arquitetura e métricas de desempenho

O panorama da deteção de objectos tem evoluído rapidamente, com várias arquitecturas a disputarem o equilíbrio ideal entre a velocidade de inferência e a precisão da deteção. Dois marcos importantes neste percurso são YOLOv5desenvolvido pela Ultralytics, e o YOLOX, um modelo da Megvii direcionado para a investigação. Embora ambos os modelos provenham da linhagem "You Only Look Once", divergem significativamente nas suas filosofias arquitectónicas - especificamente no que diz respeito aos mecanismos de deteção baseados em âncoras ou sem âncoras.

Esta comparação explora as especificações técnicas, as diferenças arquitectónicas e as métricas de desempenho de ambos os modelos para ajudar os programadores e investigadores a escolher a ferramenta certa para os seus projectos de visão computacional.

Ultralytics YOLOv5: O padrão da engenharia

Lançado em 2020, YOLOv5 rapidamente se tornou o padrão da indústria para deteção prática de objetos. Ao contrário de seus antecessores, que eram principalmente projetos de pesquisa acadêmica, YOLOv5 foi projetado com foco na usabilidade, facilidade de implantação e desempenho no mundo real. Introduziu um fluxo de trabalho simplificado PyTorch que tornou a formação e a implementação de modelos personalizados acessíveis a um público mais vasto.

YOLOv5 emprega uma arquitetura baseada em âncoras, utilizando caixas de âncoras pré-definidas para prever a localização dos objectos. Integra uma funcionalidade "AutoAnchor" que desenvolve formas de âncora para se adaptar a conjuntos de dados personalizados antes do treino, assegurando uma convergência óptima. O modelo apresenta uma espinha dorsal CSPNet e um pescoço PANet, optimizado para uma extração e agregação rápidas de caraterísticas. A sua principal força reside na sua excecional velocidade de inferência e baixo consumo de memória, tornando-o ideal para computação de ponta e aplicações móveis.

Saiba mais sobre o YOLOv5.

YOLOX: O concorrente sem âncora

O YOLOX, lançado em 2021 pela Megvii, procurou ultrapassar os limites da família YOLO , adoptando um design sem âncoras. Esta abordagem elimina a necessidade de caixas de ancoragem pré-definidas, prevendo diretamente os centros e tamanhos dos objectos. Esta mudança teve como objetivo simplificar o processo de design e melhorar a generalização entre diversas formas de objectos.

O YOLOX introduz uma arquitetura de cabeça desacoplada, separando as tarefas de classificação e regressão em ramos diferentes. Teoricamente, isto permite que o modelo aprenda representações de caraterísticas distintas para identificar o que é um objeto e onde está. Além disso, emprega uma estratégia avançada de atribuição de rótulos conhecida como SimOTA (Simplified Optimal Transport Assignment) para atribuir dinamicamente amostras positivas durante o treino. Embora estas inovações contribuam para uma elevada exatidão, são frequentemente acompanhadas de uma maior complexidade computacional.

Saiba mais sobre o YOLOX.

Procura a tecnologia mais recente?

Embora YOLOv5 e o YOLOX representem passos significativos na história da visão por computador, o campo evolui rapidamente. YOLO11o mais recente modelo da Ultralytics, oferece precisão e velocidade superiores a ambos, apresentando uma arquitetura refinada que suporta deteção, segmentação, estimativa de pose e muito mais.

Análise de Desempenho: Velocidade vs. Precisão

Ao comparar YOLOv5 e o YOLOX, a troca geralmente se concentra na latência da inferência versus precisão absoluta. YOLOv5 é meticulosamente otimizado para velocidade, particularmente em aceleradores de hardware usando TensorRT e o tempo de execução ONNX . Conforme mostrado nos dados abaixo, os modelos YOLOv5 demonstram latência significativamente menor (maior velocidade) em tamanhos de modelo equivalentes.

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
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

Principais Conclusões

  • Velocidade de inferência: YOLOv5 tem uma vantagem decisiva em termos de velocidade. Por exemplo, o YOLOv5n alcança uma latência TensorRT de apenas 1,12 ms, tornando-o excecionalmente adequado para o processamento de vídeo de alto FPS em dispositivos de ponta como o NVIDIA Jetson. Em contrapartida, os modelos mais pequenos da YOLOX não possuem dados de referência comparáveis para a CPU e a latência GPU é geralmente mais elevada para níveis de precisão semelhantes.
  • Precisão (mAP): A YOLOX tende a atingir valores ligeiramente superiores de mAP ligeiramente superiores no conjunto de dados COCO , particularmente com as suas variantes maiores (YOLOX-x a 51,1 vs YOLOv5x a 50,7). Isto é atribuído ao seu design sem âncoras e à cabeça desacoplada, que pode lidar melhor com as variações dos objectos. No entanto, este ganho marginal tem muitas vezes o custo de uma sobrecarga computacional significativamente mais elevada (FLOPs).
  • Eficiência: Os modelos YOLOv5 geralmente requerem menos FLOPs para uma determinada velocidade de inferência. O design da cabeça acoplada do YOLOv5 é mais amigável ao hardware, permitindo uma execução mais rápida em CPUs e GPUs.

Análise Arquitetural Detalhada

A diferença fundamental reside na forma como cada modelo aborda o problema da deteção.

YOLOv5 (baseado em âncora): YOLOv5 utiliza um conjunto predefinido de caixas de ancoragem. Durante o treino, o modelo aprende a ajustar estas caixas para se adaptarem aos objectos. Este método baseia-se na correlação entre o tamanho do objeto e o tamanho da célula da grelha.

  • Prós: Formação estável, metodologia estabelecida, excelente desempenho em conjuntos de dados padrão.
  • Contras: Requer ajuste de hiperparâmetros para âncoras em conjuntos de dados exóticos (embora o AutoAnchor do YOLOv5 atenue isso).

YOLOX (sem âncora): O YOLOX trata a deteção de objectos como um problema de regressão de pontos. Prevê a distância entre o centro da célula da grelha e os limites do objeto.

  • Vantagens: Reduz o número de parâmetros de conceção (sem âncoras para afinar), potencial para uma melhor generalização em rácios de aspeto irregulares.
  • Contras: Pode ser mais lento a convergir durante o treino e a cabeça desacoplada acrescenta camadas que aumentam a latência da inferência.

Experiência do utilizador e ecossistema

Uma das caraterísticas mais marcantes da Ultralytics YOLOv5 é o seu ecossistema robusto. Enquanto o YOLOX fornece uma base académica sólida, YOLOv5 oferece uma estrutura pronta para o produto, concebida para os programadores.

Facilidade de utilização

YOLOv5 é conhecido pela sua simplicidade "do princípio ao fim". Desde a anotação de dados até à formação e implementação do modelo, o ecossistema Ultralytics simplifica cada passo. O modelo pode ser carregado com algumas linhas de código e suporta a exportação automática para formatos como TFLite, CoreMLe ONNX.

import torch

# Load a pretrained YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Run inference on an image
results = model("https://ultralytics.com/images/zidane.jpg")

# Print results
results.print()

Versatilidade e manutenção

Os modelos Ultralytics não se limitam à deteção. A estrutura suporta a classificação de imagens e a segmentação de instâncias, oferecendo uma API unificada para várias tarefas. Esta versatilidade é muitas vezes inexistente em repositórios específicos de investigação como o YOLOX, que se centra principalmente na deteção. Além disso, a manutenção ativa da Ultralytics garante a compatibilidade com as versões mais recentes do PyTorch e do CUDA, reduzindo a "podridão do código" ao longo do tempo.

Casos de Uso Ideais

  • Escolha o Ultralytics YOLOv5 se:

    • É necessário um desempenho em tempo real em dispositivos periféricos (Raspberry Pi, telemóveis).
    • Você prioriza a facilidade de implantação e precisa de suporte integrado para exportar para TensorRT, CoreML ou TFLite.
    • Prefere uma estrutura estável, bem documentada e com apoio ativo da comunidade.
    • A sua aplicação envolve vigilância de segurança ou navegação autónoma em que a baixa latência é fundamental.
  • Escolha YOLOX se:

    • Está a realizar investigação académica especificamente sobre arquitecturas sem âncoras.
    • É necessário o máximo absoluto de mAP para um concurso ou parâmetro de referência, independentemente da velocidade de inferência.
    • Tem um conjunto de dados especializado em que os métodos baseados em ancoragem falharam comprovadamente (por exemplo, rácios de aspeto extremos) e o AutoAnchor não resolveu o problema.

Conclusão

Tanto YOLOv5 como o YOLOX conquistaram o seu lugar na história da visão por computador. O YOLOX demonstrou a viabilidade de detectores sem âncoras na família YOLO , oferecendo uma base sólida para a investigação académica. No entanto, para a grande maioria das aplicações práticas, Ultralytics YOLOv5 do Ultralytics continua a ser a melhor escolha devido à sua velocidade e eficiência inigualáveis e ao seu ecossistema de fácil desenvolvimento.

Para quem está a iniciar novos projectos hoje, recomendamos vivamente que explore o YOLO11. Este baseia-se nos pontos fortes do YOLOv5de utilização e velocidade - ao mesmo tempo que integra avanços arquitectónicos modernos que ultrapassam o YOLOv5 e o YOLOX em termos de precisão e versatilidade.

Outras Comparações de Modelos

Explore a comparação dos modelos Ultralytics com outras arquitecturas no terreno:


Comentários