YOLOX vs. YOLOv6.0: Uma comparação técnica
Selecionar a arquitetura de deteção de objectos correta é uma decisão crítica para os programadores e investigadores que pretendem equilibrar o desempenho, a velocidade e a eficiência computacional. Esta comparação abrangente explora as distinções técnicas entre o YOLOX, um detetor sem âncoras de alto desempenho da Megvii, e YOLOv6.0, uma estrutura de nível industrial desenvolvida pela Meituan. Ao analisar as suas arquitecturas, referências e metodologias de formação, pretendemos orientá-lo para o melhor modelo para as suas aplicações específicas de visão por computador.
YOLOX: Ligar a investigação à indústria
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
Docs:https://yolox.readthedocs.io/en/latest/
Lançado em 2021, o YOLOX representou uma mudança significativa na linhagem YOLO , adotando um mecanismo sem âncoras e integrando técnicas avançadas de deteção anteriormente reservadas à investigação académica. Ao remover a dependência de caixas de ancoragem predefinidas, o YOLOX simplificou o processo de treinamento e melhorou a generalização em várias formas de objetos.
Arquitetura e Principais Características
O YOLOX distingue-se por uma arquitetura de "cabeça desacoplada". Ao contrário dos modelos YOLO tradicionais, que juntavam as tarefas de classificação e localização num único ramo, o YOLOX separa-as, o que melhora significativamente a velocidade de convergência e a precisão. Utiliza uma estratégia de atribuição de etiquetas SimOTA (Simplified Optimal Transport Assignment), que atribui dinamicamente amostras positivas a objectos de verdade, reduzindo a instabilidade do treino.
Design sem âncoras
O YOLOX elimina a necessidade de agrupamento manual de caixas de ancoragem, um passo comum nas versões anteriores YOLO . Isto reduz o número de hiperparâmetros heurísticos e as escolhas de design envolvidas no treino, tornando o modelo mais robusto para conjuntos de dados variados sem afinação extensiva.
Forças e Fraquezas
Forças:
- Elevada precisão: O cabeçote desacoplado e a atribuição avançada de rótulos permitem que a YOLOX atinja pontuações competitivas de precisão média (mAP), particularmente no conjunto de dadosCOCO .
- Flexibilidade de investigação: A sua conceção simplificada torna-o uma excelente base de referência para os investigadores que experimentam novas cabeças de deteção ou estratégias de atribuição.
- Deteção de pequenos objectos: A abordagem sem âncoras pode, por vezes, oferecer um melhor desempenho em objectos pequenos, em comparação com os sistemas baseados em âncoras rígidas.
Fraquezas:
- Latência de inferência: Embora exacta, a cabeça desacoplada introduz uma ligeira sobrecarga computacional, resultando frequentemente em velocidades de inferência mais lentas em comparação com modelos industriais totalmente optimizados como o YOLOv6.
- Maturidade do ecossistema: Embora o código seja de código aberto, o ecossistema de ferramentas de terceiros, guias de implantação e suporte da comunidade é menor do que o do Ultralytics YOLOv8 ou YOLOv5.
Casos de Uso Ideais
O YOLOX é particularmente adequado para investigação académica e cenários em que a precisão tem prioridade sobre a velocidade de inferência bruta.
- Imagiologia médica: Análise de estruturas complexas na análise de imagens médicas, onde a precisão é fundamental.
- Deteção de defeitos: identificação de anomalias subtis no fabrico em que as detecções falhadas são dispendiosas.
- Experimentação académica: Servindo como uma linha de base limpa e sem âncoras para o desenvolvimento de novos algoritmos de visão computacional.
YOLOv6.0: Concebido para a velocidade industrial
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
GitHubYOLOv6
Docsultralytics
YOLOv6.0 é um detetor de objectos concebido para aplicações industriais do mundo real. A atualização "3.0", conhecida como "Full-Scale Reloading", introduziu refinamentos arquitectónicos significativos para maximizar o rendimento em hardware como as GPUs NVIDIA .
Arquitetura e Principais Características
O núcleo do YOLOv6.0 é a forte utilização da reparametrização. O modelo utiliza uma espinha dorsal EfficientRep e um pescoço Rep-PAN, que permitem que a rede tenha estruturas complexas e com várias ramificações durante o treino, mas que colapsam em estruturas simples e de caminho único durante a inferência. Esta abordagem "estilo RepVGG" garante uma elevada capacidade de extração de caraterísticas sem a penalização de latência em tempo de execução de ramificações complexas.
Além disso, YOLOv6.0 utiliza o treino assistido por âncora (AAT), combinando as vantagens dos paradigmas com e sem âncora para estabilizar o treino e acelerar a convergência.
Forças e Fraquezas
Forças:
- Velocidade excecional: Optimizado para o TensorRTYOLOv6.0 oferece latência extremamente baixa, o que o torna ideal para aplicações de alta taxa de quadros.
- Pronto para implantação: Recursos como suporte à quantização de modelos facilitam a implantação em dispositivos de borda e servidores.
- Eficiência: A técnica de reparametrização fornece um excelente equilíbrio entre FLOPs e precisão.
Fraquezas:
- Intensidade dos recursos de treinamento: A arquitetura complexa do tempo de treino (antes da reparametrização) pode exigir uma memóriaGPU significativa em comparação com modelos mais simples.
- Âmbito limitado da tarefa: YOLOv6 concentra-se principalmente na deteção. Não possui suporte nativo e integrado para outras tarefas, como estimativa de pose ou Oriented Bounding Boxes (OBB), dentro da mesma API contínua encontrada nas ofertas Ultralytics .
Casos de Uso Ideais
YOLOv6.0 destaca-se em ambientes onde a velocidade de inferência em tempo real é um requisito rigoroso.
- Robótica autónoma: Permitir que os robôs naveguem e reajam instantaneamente a ambientes dinâmicos.
- Inspeção da linha de produção: Inspeção de qualidade a alta velocidade em correias de fabrico onde o rendimento não pode ser comprometido.
- Análise de vídeo: Processamento de vários fluxos de vídeo em simultâneo para sistemas de alarme de segurança.
Comparação Direta de Desempenho
A comparação das métricas de desempenho no conjunto de dadosCOCO revela filosofias de conceção distintas. O YOLOX oferece uma arquitetura simplificada com uma precisão respeitável, enquanto YOLOv6.0 ultrapassa os limites da velocidade de inferência através da otimização estrutural.
| 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 |
| YOLOv6.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
Os dados destacam que YOLOv6.0n é significativamente mais rápido em hardware GPU (1,17 ms contra 2,56 ms do YOLOX), mantendo também um forte mAP. Para dispositivos com recursos limitados, em que cada megabyte conta, o YOLOXnano continua a ser uma opção interessante com parâmetros inferiores a 1M, embora a sua precisão seja inferior. No extremo superior, YOLOv6.0l supera o YOLOXx tanto em precisão (52,8 vs 51,1 mAP) como em eficiência, utilizando cerca de 40% menos parâmetros.
Metodologias de Treinamento e Ecossistema
A experiência do utilizador para treinar estes modelos difere significativamente.
O YOLOX baseia-se em fortes técnicas de aumento de dados, como o Mosaic e o MixUp , para alcançar os seus resultados sem pesos pré-treinados. O seu pipeline de formação é orientado para a investigação, oferecendo flexibilidade para aqueles que estão profundamente familiarizados com as configurações PyTorch .
YOLOv6.0 utiliza a auto-destilação, em que um modelo maior do professor orienta o modelo do aluno durante o treino, aumentando a precisão dos modelos mais pequenos sem aumentar o custo de inferência. Esta metodologia é poderosa, mas acrescenta complexidade à configuração do treino.
No entanto, os programadores que dão prioridade a um fluxo de trabalho simplificado consideram frequentemente o ecossistemaUltralytics superior. Ao contrário das ferramentas fragmentadas frequentemente encontradas em modelos de pesquisa independentes, Ultralytics fornece uma plataforma unificada.
- Facilidade de utilização: Uma simples API Python permite a formação, validação e inferência em apenas algumas linhas de código.
- Ecossistema bem mantido: Atualizações frequentes garantem a compatibilidade com as versões mais recentes do PyTorch, CUDA e formatos de exportação como ONNX e OpenVINO.
- Eficiência de treinamento: Os modelos Ultralytics são optimizados para uma utilização eficiente da memória, sendo frequentemente treinados mais rapidamente e com menos memória GPU do que as arquitecturas comparáveis baseadas em transformadores.
Facilidade de utilização Ultralytics
Treinar um modelo de última geração com o Ultralytics é tão simples como:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt")
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Conclusão: A vantagem Ultralytics
Enquanto o YOLOX oferece um design inovador sem âncoras adequado para investigação, YOLOv6.0 oferece uma velocidade impressionante para hardware industrial específico, Ultralytics YOLO11 representa o auge da atual tecnologia de visão por computador.
YOLO11 e o estabelecido YOLOv8 oferecem um equilíbrio de desempenho superior, alcançando pontuações mAP de última geração com velocidades de inferência notáveis tanto na CPU como na GPU . Ao contrário dos concorrentes limitados principalmente à deteção, os modelos Ultralytics oferecem uma versatilidade inigualável, suportando nativamente:
- Segmentação de Instância
- Estimativa de Pose
- Classificação de Imagem
- Caixas Delimitadoras Orientadas (OBB)
Para os programadores que procuram uma solução preparada para o futuro, apoiada por um desenvolvimento ativo, documentação abrangente e uma comunidade próspera, Ultralytics continua a ser a escolha recomendada para levar os projectos do conceito à produção.
Para explorar outras comparações, considere ler sobre YOLOv5 vs YOLOv6 ou YOLO11 vs RT-DETR.