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.
- Autores: Glenn Jocher
- Organização:Ultralytics
- Data: 2020-06-26
- GitHub:https://github.com/ultralytics/yolov5
- Documentos:https://docs.ultralytics.com/models/yolov5/
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.
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.
- Autores: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li e Jian Sun
- Organização:Megvii
- Data: 2021-07-18
- Arxiv:https://arxiv.org/abs/2107.08430
- GitHub:https://github.com/Megvii-BaseDetection/YOLOX
- Documentos:https://yolox.readthedocs.io/en/latest/
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.
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.
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.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: