YOLOv9 vs. YOLOX: Uma comparação técnica exaustiva
A seleção da arquitetura correta de deteção de objectos é uma decisão crítica que tem impacto na eficiência, precisão e escalabilidade das aplicações de visão por computador. Este guia fornece uma comparação técnica detalhada entre YOLOv9um modelo topo de gama introduzido em 2024, e o YOLOX, um detetor sem âncoras de elevado desempenho lançado em 2021.
YOLOv9: Superar a perda de informação em redes profundas
YOLOv9 representa um avanço significativo na deteção de objectos em tempo real, concebido para resolver o desafio fundamental da perda de informação à medida que os dados passam por redes neurais profundas.
Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
Organização: Instituto de Ciência da Informação, Academia Sinica, Taiwan
Data: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:docs.ultralytics.com/models/yolov9/
Arquitetura e inovação
A inovação central do YOLOv9 reside em dois componentes-chave: Programmable Gradient Information (PGI) e a Generalized Efficient Layer Aggregation Network (GELAN).
- Informação de Gradiente Programável (PGI): Nas redes profundas, os dados de entrada cruciais são frequentemente perdidos durante o processo de extração de caraterísticas, um fenómeno conhecido como o gargalo da informação. O PGI fornece um sinal de supervisão auxiliar que garante uma geração de gradiente fiável, permitindo que o modelo aprenda caraterísticas mais eficazes sem aumentar o custo de inferência.
- GELAN: Esta conceção arquitetónica optimiza a utilização de parâmetros e a eficiência computacional. Ao generalizar o conceito de Redes de Agregação de Camadas Eficientes (ELAN), o GELAN permite o empilhamento flexível de blocos computacionais, resultando num modelo que é simultaneamente leve e rápido.
Estas inovações permitem que YOLOv9 atinja um desempenho de topo no conjunto de dadosCOCO , ultrapassando as iterações anteriores tanto em termos de precisão como de eficiência dos parâmetros.
YOLOX: A norma sem âncora
O YOLOX foi introduzido para colmatar a lacuna entre a investigação académica e a aplicação industrial, popularizando a abordagem sem âncoras na série YOLO .
Autores: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, e Jian Sun
Organização: Megvii
Data: 2021-07-18
Arxiv:arXiv:2107.08430
GitHub:Megvii-BaseDetection/YOLOX
Docs:yolox.readthedocs.io
Principais caraterísticas arquitectónicas
O YOLOX diverge das versões anteriores YOLO ao remover as caixas de ancoragem e ao empregar uma estrutura de cabeça desacoplada.
- Design sem âncoras: Os detectores tradicionais dependem de caixas de ancoragem pré-definidas, que requerem ajuste heurístico e agrupamento. O YOLOX trata a deteção de objectos como um problema de previsão de pontos, simplificando o design e melhorando a generalização através de diversas formas de objectos.
- Cabeça desacoplada: As tarefas de classificação e regressão são processadas em ramos separados (cabeças). Esta separação permite que o modelo seja optimizado para cada tarefa de forma independente, conduzindo a uma convergência mais rápida e a uma melhor precisão.
- SimOTA: Uma estratégia avançada de atribuição de etiquetas que atribui dinamicamente amostras positivas a objectos de verdade terrestre, aumentando ainda mais o desempenho.
Análise de desempenho: Métricas e benchmarks
Ao analisar o desempenho, YOLOv9 demonstra uma clara vantagem consistente com o facto de ser uma arquitetura mais recente. Ao tirar partido do PGI e do GELAN, YOLOv9 alcança uma precisão média médiamAP) mais elevada, mantendo ou reduzindo a carga computacional (FLOPs) em comparação com o YOLOX.
A tabela abaixo destaca as diferenças de desempenho. Nomeadamente, YOLOv9 atinge um mAP significativamente mais elevado (53,0%) do que o YOLOX-L (49,7%) com menos de metade do número de parâmetros (25,3M vs 54,2M). Esta eficiência faz do YOLOv9 uma escolha superior para aplicações limitadas por recursos de hardware, mas que exigem elevada precisão.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
Velocidade e eficiência
Enquanto o YOLOX introduziu velocidades impressionantes em 2021, YOLOv9 vai mais longe. O modelo YOLOv9 (Tiny) oferece um equilíbrio excecional, fornecendo 38,3% mAP com apenas 2,0 M de parâmetros, o que o torna altamente adequado para aplicações móveis e incorporadas. Em contrapartida, o YOLOX-Nano é mais pequeno mas sacrifica uma precisão significativa (25,8% mAP).
Eficiência da formação
YOLOv9 beneficia de receitas de formação modernas e do formador Ultralytics optimizado, resultando frequentemente numa convergência mais rápida e numa menor utilização de memória durante a formação, em comparação com arquitecturas mais antigas.
Casos de Uso Ideais
A escolha entre estes modelos depende dos requisitos específicos do seu projeto.
Quando escolher YOLOv9
YOLOv9 é a escolha recomendada para a maioria das aplicações modernas de visão por computador devido ao seu rácio superior de precisão/eficiência.
- IA de borda em tempo real: implantação em dispositivos como o NVIDIA Jetson, onde os FLOPs são importantes. A arquitetura leve do YOLOv9 maximiza a taxa de transferência.
- Inspeção de alta precisão: Controlo de qualidade industrial onde a deteção de pequenos defeitos é fundamental. O elevado mAP da YOLOv9 assegura a captação de pormenores minuciosos.
- Sistemas autónomos: Robótica e drones requerem baixa latência. A estrutura gráfica optimizada do YOLOv9 garante uma inferência rápida sem comprometer as capacidades de deteção.
Quando considerar o YOLOX
O YOLOX continua a ser um forte concorrente para fluxos de trabalho antigos específicos ou comparações de investigação.
- Investigação académica: A sua cabeça desacoplada e o seu design sem âncoras fazem dele uma base clássica para estudar os fundamentos da deteção de objectos.
- Implantações legadas: Se uma infraestrutura existente for fortemente optimizada para a arquitetura YOLOX específica (por exemplo, plugins TensorRT personalizados criados especificamente para cabeças YOLOX), a manutenção do modelo legado pode ser rentável a curto prazo.
A vantagem Ultralytics
A adoção do YOLOv9 através do ecossistema Ultralytics oferece vantagens distintas em relação às implementações autónomas. A estrutura Ultralytics foi concebida para simplificar todo o ciclo de vida das operações de aprendizagem automática (MLOps).
- Facilidade de utilização: A APIPython Ultralytics permite-lhe carregar, treinar e implementar modelos com apenas algumas linhas de código.
- Ecossistema bem mantido: Atualizações regulares garantem a compatibilidade com as versões mais recentes do PyTorch, ONNX e CUDA.
- Versatilidade: Embora o YOLOX seja principalmente um detetor de objectos, a estrutura Ultralytics suporta uma vasta gama de tarefas, incluindo estimativa de pose, segmentação e classificação, permitindo alternar facilmente entre arquitecturas ou tarefas dentro da mesma base de código.
- Eficiência de memória: Os modelos Ultralytics são optimizados para a utilização da memória, evitando erros de memória não utilizada (OOM) que são comuns quando se treinam modelos complexos baseados no Transformer ou detectores legados não optimizados.
Exemplo de código: Executando YOLOv9
A execução da inferência com o YOLOv9 é simples, utilizando o pacote Ultralytics .
from ultralytics import YOLO
# Load a pre-trained YOLOv9 compact model
model = YOLO("yolov9c.pt")
# Run inference on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
Flexibilidade de exportação
Os modelos YOLOv9 treinados com o Ultralytics podem ser facilmente exportados para formatos como TensorRT, OpenVINOe CoreML para máxima flexibilidade de implantação.
Conclusão e Recomendações
Enquanto o YOLOX desempenhou um papel fundamental no avanço da deteção sem âncoras, YOLOv9 é a escolha superior para o desenvolvimento atual. A sua inovadora arquitetura PGI e GELAN proporciona uma maior precisão com menos parâmetros, resolvendo o problema do estrangulamento da informação que limitava as redes profundas anteriores.
Para os programadores que procuram as últimas novidades em termos de desempenho e funcionalidades, recomendamos também que explorem o YOLO11que refina ainda mais esses conceitos para uma velocidade e versatilidade ainda maiores em várias tarefas de visão. No entanto, para comparação direta com o YOLOX, YOLOv9 oferece um caminho de atualização atraente que reduz a sobrecarga computacional ao mesmo tempo que aumenta a fiabilidade da deteção.
Explore Outros Modelos
Expanda os seus conhecimentos comparando outros modelos de topo do ecossistema Ultralytics :