YOLOX vs. YOLOv5: Explorando a inovação sem âncora e a eficiência comprovada
No panorama em rápida evolução da deteção de objectos, a seleção da arquitetura certa é fundamental para o sucesso do projeto. Esta comparação explora dois modelos influentes: YOLOX, uma potência académica conhecida pelo seu design sem âncoras, e YOLOv5o padrão da indústria em termos de velocidade e facilidade de implementação. Ambos os modelos moldaram o campo da visão computacional, mas atendem a necessidades distintas, dependendo de sua prioridade ser a precisão de nível de pesquisa ou a eficiência pronta para a produção.
Análise de Desempenho: Velocidade, Precisão e Eficiência
Ao avaliar o YOLOX e YOLOv5, a distinção resume-se frequentemente ao compromisso entre a precisão bruta e a eficiência operacional. O YOLOX introduziu alterações arquitectónicas significativas, como uma cabeça desacoplada e um mecanismo sem âncoras, o que lhe permitiu atingir pontuações mAP (precisão média média) topo de gama aquando do seu lançamento. Destaca-se em cenários onde cada ponto percentual de precisão conta, particularmente em benchmarks difíceis como o COCO.
Por outro lado, Ultralytics YOLOv5 foi projetado com foco no desempenho do "mundo real". Ele prioriza a velocidade de inferência e a baixa latência, tornando-o excecionalmente adequado para aplicativos móveis, sistemas incorporados e dispositivos de IA de ponta. Embora o YOLOX possa ter uma ligeira vantagem em mAP para modelos grandes específicos, YOLOv5 supera-o consistentemente em taxa de transferência (quadros por segundo) e flexibilidade de implantação, aproveitando o abrangente ecossistemaUltralytics .
A tabela abaixo fornece uma comparação detalhada lado a lado dos modelos em vários tamanhos. Observe como YOLOv5 mantém uma precisão competitiva, oferecendo tempos de inferência significativamente mais rápidos, especialmente quando otimizado com o TensorRT.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
YOLOX: O concorrente sem âncora
O YOLOX foi desenvolvido por investigadores da Megvii para colmatar a lacuna entre a série YOLO e os avanços académicos na deteção sem âncoras. Ao remover a restrição de caixas de ancoragem predefinidas, o YOLOX simplifica o processo de treinamento e reduz a necessidade de ajuste heurístico.
- 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/
Arquitetura e Inovações
O YOLOX incorpora uma cabeça desacoplada, que separa as tarefas de classificação e regressão em ramos diferentes. Este design contrasta com as cabeças acopladas das versões anteriores YOLO e melhora a velocidade de convergência e a precisão. Além disso, utiliza o SimOTA, uma estratégia avançada de atribuição de rótulos que atribui dinamicamente amostras positivas, aumentando a robustez do modelo em cenas densas.
Forças e Fraquezas
A principal força do YOLOX reside no seu elevado limite de precisão, particularmente com as suas maiores variantes (YOLOX-x), e no seu design limpo e sem âncoras que atrai os investigadores. No entanto, estas vantagens têm contrapartidas. A cabeça desacoplada acrescenta complexidade computacional, resultando frequentemente numa inferência mais lenta em comparação com o YOLOv5. Além disso, sendo um modelo centrado na investigação, não possui as ferramentas coesas e fáceis de utilizar encontradas no ecossistema Ultralytics , o que pode complicar a integração em pipelines comerciais.
Casos de Uso Ideais
- Investigação académica: Experimentação de novas arquitecturas de deteção e estratégias de atribuição de etiquetas.
- Tarefas de alta precisão: Cenários em que um ganho de 1-2% no mAP compensa o custo de uma inferência mais lenta, como a análise de vídeo offline.
- Deteção de objectos densos: Ambientes com objectos muito desordenados onde o SimOTA tem um bom desempenho.
YOLOv5: O padrão de produção
Desde o seu lançamento em 2020, Ultralytics YOLOv5 tornou-se o modelo de referência para desenvolvedores em todo o mundo. Ele atinge um equilíbrio excecional entre desempenho e praticidade, apoiado por uma plataforma projetada para otimizar todo o ciclo de vida das operações de aprendizado de máquina (MLOps).
- Autor: Glenn Jocher
- Organização:Ultralytics
- Data: 2020-06-26
- GitHub:https://github.com/ultralytics/yolov5
- Documentos:https://docs.ultralytics.com/models/yolov5/
Arquitetura e ecossistema
YOLOv5 utiliza um backbone CSPNet e um pescoço de rede de agregação de caminhos (PANet), optimizado para uma extração eficiente de caraterísticas. Embora tenha originalmente popularizado a abordagem baseada em âncoras no PyTorch, o seu maior trunfo é o ecossistema circundante. Os utilizadores beneficiam da exportação automática para formatos como ONNX, CoreML e TFLite, bem como da integração perfeita com o Ultralytics HUB para formação e gestão de modelos.
Sabia que?
YOLOv5 não se limita às caixas delimitadoras. Suporta múltiplas tarefas, incluindo a segmentação de instâncias e a classificação de imagens, o que o torna uma ferramenta versátil para pipelines de visão complexos.
Forças e Fraquezas
A facilidade de utilização é a marca registada do YOLOv5. Com uma simples API Python , os programadores podem carregar pesos pré-treinados e executar a inferência em apenas algumas linhas de código. O modelo é altamente otimizado para velocidade, fornecendo consistentemente menor latência em CPUs e GPUs em comparação com o YOLOX. Ele também apresenta requisitos de memória mais baixos durante o treinamento, tornando-o acessível em hardware padrão. Embora o seu design baseado em âncoras exija a evolução das âncoras para conjuntos de dados personalizados (tratados automaticamente pelo YOLOv5), a sua fiabilidade e o ecossistema bem mantido tornam-no superior para a produção.
Casos de Uso Ideais
- Aplicações em tempo real: Vigilância por vídeo, condução autónoma e robótica em que a baixa latência é fundamental.
- Implantação no limite: Execução em Raspberry Pi, NVIDIA Jetson ou dispositivos móveis devido à sua arquitetura eficiente.
- Produtos comerciais: Prototipagem e implementação rápidas onde é necessário um suporte a longo prazo e facilidade de integração.
- Visão multi-tarefa: Projectos que requerem deteção, segmentação e classificação numa única estrutura.
Exemplo de código: Executando YOLOv5 com Ultralytics
O pacote Ultralytics Python torna a utilização dos modelos YOLOv5 incrivelmente simples. Abaixo está um exemplo de como executar a inferência usando um modelo pré-treinado.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model (Nano version for speed)
model = YOLO("yolov5nu.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Display the results
results[0].show()
Conclusão: Fazer a escolha certa
Ambos os modelos representam realizações significativas na visão por computador, mas destinam-se a públicos diferentes. O YOLOX é uma escolha formidável para os investigadores que estão a alargar os limites da deteção sem âncoras e que se sentem confortáveis a navegar num conjunto de ferramentas mais fragmentado.
No entanto, para a grande maioria dos programadores, engenheiros e empresas, Ultralytics YOLOv5 continua a ser a opção superior. A sua combinação vencedora de velocidade inigualável, versatilidade e um ecossistema robusto e ativo garante que pode passar do conceito à implementação com o mínimo de fricção. Além disso, a adoção da estrutura Ultralytics proporciona um caminho de atualização claro para modelos de próxima geração como o YOLO11que combina o melhor do design sem âncoras com a eficiência caraterística do Ultralytics.
Outras Comparações de Modelos
Explore a comparação destes modelos com outras arquitecturas para encontrar a melhor solução para as suas necessidades específicas: