YOLOX vs. YOLOv9: Uma comparação técnica
Escolher a arquitetura certa para a deteção de objectos é uma decisão crítica que tem impacto na velocidade, precisão e viabilidade de implementação de projectos de visão computacional. Esta análise compara o YOLOX, um modelo essencial sem âncoras lançado em 2021, e o YOLOv9, uma arquitetura de ponta introduzida em 2024 que aproveita a Informação de Gradiente Programável (PGI).
Enquanto o YOLOX mudou o paradigma para a deteção sem âncoras, YOLOv9 introduz novos mecanismos para reter informações em redes profundas, oferecendo métricas de desempenho superiores. Este guia analisa as suas arquitecturas, referências e casos de utilização ideais para o ajudar a selecionar o melhor modelo para as suas necessidades.
YOLOX: O pioneiro sem âncora
O YOLOX foi lançado para colmatar a lacuna entre a comunidade de investigação e as aplicações industriais, simplificando a cabeça de deteção e eliminando a dependência de caixas de ancoragem predefinidas.
Autores: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, and Jian Sun
Organização:Megvii
Data: 2021-07-18
Arxiv:arXiv:2107.08430
GitHub:Megvii-BaseDetection/YOLOX
Docs:YOLOX Documentation
Destaques da arquitetura
O YOLOX introduziu uma arquitetura de cabeça desacoplada, separando as tarefas de classificação e regressão. Esta separação permite ao modelo convergir mais rapidamente e obter uma melhor precisão. Também emprega um mecanismo sem âncoras, que elimina a necessidade de análise de agrupamento para determinar os tamanhos ideais das caixas de âncoras, tornando o modelo mais robusto a formas variadas de objectos. Além disso, o YOLOX utiliza o SimOTA para a atribuição de etiquetas, tratando o processo como um problema de transporte ótimo para melhorar a estabilidade do treino.
Forças e Fraquezas
- Pontos fortes: O design sem âncoras simplifica o processo de ajuste dos hiperparâmetros. A cabeça desacoplada geralmente produz maior precisão para tarefas de localização em comparação com as cabeças acopladas daquela época.
- Pontos fracos: Como modelo de 2021, carece das optimizações modernas encontradas nas arquitecturas mais recentes. Pode exigir mais dados de treino para atingir o desempenho máximo em comparação com os modelos que utilizam técnicas avançadas de aumento de dados e agregação de camadas.
YOLOv9: Informação de gradiente programável
YOLOv9 representa um avanço significativo, resolvendo o problema do "estrangulamento da informação" inerente às redes neuronais profundas.
Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
Organização:Instituto de Ciência da Informação, Academia Sinica
Data: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Ultralytics YOLOv9 Docs
Destaques da arquitetura
YOLOv9 introduz a Informação de Gradiente Programável (PGI) e a Rede de Agregação de Camada Eficiente Generalizada (GELAN). O PGI evita a perda de informações de entrada cruciais à medida que os dados passam por camadas profundas, garantindo uma geração de gradiente fiável para actualizações do modelo. A GELAN optimiza a utilização de parâmetros, permitindo que o modelo seja leve mas preciso. Estas inovações permitem que YOLOv9 supere significativamente os seus antecessores, tanto em termos de eficiência como de precisão média (mAP).
Forças e Fraquezas
- Pontos fortes: Excecional relação precisão/parâmetro, tornando-o altamente eficiente para aplicações em tempo real. A arquitetura preserva o fluxo de informação melhor do que as iterações anteriores, levando a uma melhor deteção de pequenos objectos.
- Pontos fracos: Sendo uma arquitetura mais recente, pode exigir drivers CUDA e suporte de hardware actualizados em comparação com os modelos antigos.
Comparação de Desempenho
A tabela seguinte compara o desempenho de YOLOX e YOLOv9 no conjunto de dadosCOCO . YOLOv9 demonstra consistentemente pontuações mAP mais elevadas com menos parâmetros, destacando a eficiência da arquitetura GELAN.
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
Análise: YOLOv9 proporciona uma melhoria substancial na densidade do desempenho. Por exemplo, o YOLOv9c atinge 53,0% de mAP com apenas 25,3M de parâmetros, enquanto o YOLOX-L requer 54,2M de parâmetros para atingir uma pontuação inferior de 49,7% de mAP. Isto indica que YOLOv9 é aproximadamente duas vezes mais eficiente em termos de utilização de parâmetros para este nível de precisão.
A eficiência é importante
Quando se implementa em dispositivos de ponta, olhar para os FLOPs e os parâmetros é tão importante como mAP. A arquitetura GELAN do YOLOv9 reduz significativamente a sobrecarga computacional, conduzindo a dispositivos de funcionamento mais frios e a uma maior duração da bateria em implementações móveis.
A vantagem Ultralytics
Embora o YOLOX seja um repositório autónomo robusto, a utilização do YOLOv9 no EcossistemaUltralytics oferece vantagens distintas para os programadores e investigadores.
Facilidade de utilização e integração
A estrutura Ultralytics unifica a interação do modelo. É possível treinar, validar e implantar YOLOv9 usando uma APIPython simples e intuitiva. Isso contrasta com a base de código do YOLOX, que geralmente exige uma configuração mais manual das variáveis de ambiente e dos caminhos do conjunto de dados.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Train the model on a custom dataset with a single line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
Ecossistema bem conservado
Os modelos Ultralytics beneficiam de actualizações contínuas, correcções de erros e apoio da comunidade. A integração com o Ultralytics HUB permite MLOps contínuos, permitindo às equipas gerir conjuntos de dados, track experiências e implementar modelos em vários formatosONNX, TensorRT, CoreML) sem escrever scripts de exportação complexos.
Equilíbrio de desempenho e eficiência de memória
Os modelos Ultralytics YOLO são projectados para um equilíbrio prático entre velocidade e precisão. Além disso, normalmente apresentam requisitos de memória mais baixos durante o treino, em comparação com arquitecturas mais antigas ou modelos baseados em transformadores pesados. Essa eficiência reduz os custos de computação em nuvem e torna o treinamento acessível em GPUs de nível de consumidor.
Versatilidade
Embora o YOLOX seja principalmente um detetor de objectos, a estrutura Ultralytics alarga as capacidades dos seus modelos suportados. Os utilizadores podem alternar facilmente entre tarefas como a segmentação de instâncias, a estimativa de pose e a deteção de caixas delimitadoras orientadas (OBB) utilizando uma sintaxe e fluxos de trabalho semelhantes, uma versatilidade que os repositórios de investigação autónomos muitas vezes não possuem.
Casos de Uso Ideais
Quando escolher YOLOv9
- Sistemas autónomos: A elevada precisão do YOLOv9 é ideal para veículos autónomos em que a deteção de pequenos obstáculos à distância é fundamental para a segurança.
- Análise em tempo real: Para a gestão de retalho ou de tráfego, o YOLOv9c oferece o ponto ideal de elevadas taxas de fotogramas e deteção precisa.
- IA de ponta: A eficiência arquitetónica do GELAN torna o YOLOv9t e o YOLOv9s perfeitos para implementação em dispositivos como o NVIDIA Jetson ou o Raspberry Pi.
Quando escolher YOLOX
- Integração de legado: Se um pipeline de produção existente já estiver fortemente concebido em torno do formato específico de cabeça sem âncora YOLOX.
- Investigação académica: Os investigadores que investigam especificamente o comportamento das cabeças desacopladas nos primeiros detectores sem âncora podem considerar o YOLOX uma base de comparação valiosa.
Conclusão
Ambas as arquitecturas conquistaram o seu lugar na história da visão por computador. A YOLOX desafiou com sucesso o status quo baseado em âncoras em 2021. No entanto, YOLOv9 representa o padrão moderno, incorporando anos de avanços na otimização do fluxo de gradiente e na agregação de camadas.
Para a maioria dos novos desenvolvimentos, YOLOv9 é a escolha recomendada. O seu desempenho superior por parâmetro, combinado com a facilidade de utilização, a eficiência da formação e as opções de implementação robustas fornecidas pelo ecossistema Ultralytics , garante um caminho mais rápido do conceito à produção.
Explore outras opções modernas no ecossistema, tais como YOLO11 e YOLOv8para encontrar a opção perfeita para as restrições específicas da sua aplicação.