YOLOv9 vs. RTDETRv2: Uma comparação técnica para a deteção de objectos
A seleção da arquitetura correta de deteção de objectos é uma decisão fundamental no desenvolvimento da visão por computador, exigindo frequentemente que os programadores ponderem os compromissos entre precisão, latência de inferência e sobrecarga computacional. Esta análise fornece uma comparação técnica exaustiva entre YOLOv9uma arquitetura baseada em CNN optimizada para eficiência, e RTDETRv2, um modelo baseado em transformador concebido para deteção de alta fidelidade.
YOLOv9: Redefinir a eficiência da CNN
YOLOv9 representa uma evolução significativa na série You Only Look OnceYOLO), centrando-se na resolução do problema do estrangulamento da informação inerente às redes neuronais profundas. Ao introduzir novos conceitos de arquitetura, alcança um desempenho topo de gama, mantendo a leveza caraterística da família YOLO .
- 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
- Documentos:DocumentaçãoUltralytics YOLOv9
Arquitetura de base
YOLOv9 apresenta duas inovações principais: Programmable Gradient Information (PGI) e a Generalized Efficient Layer Aggregation Network (GELAN). O PGI aborda a questão da perda de informação de dados à medida que se propaga através de camadas profundas, assegurando que a informação fiável do gradiente é preservada para actualizações do modelo. A GELAN optimiza a utilização de parâmetros, permitindo que o modelo atinja uma maior precisão com menos operações de vírgula flutuante (FLOPs) em comparação com as arquitecturas convolucionais tradicionais.
Integração do ecossistema Ultralytics
YOLOv9 está totalmente integrado no ecossistema Ultralytics , oferecendo aos programadores um acesso sem falhas às ferramentas de formação, validação e implementação. Esta integração garante que os utilizadores podem tirar partido da mesma API simples utilizada para o YOLO11 e YOLOv8reduzindo significativamente a barreira de entrada para tarefas avançadas de visão computacional.
RTDETRv2: O Desafiador de Transformadores
O RTDETRv2 baseia-se no sucesso do Transformador de Deteção em Tempo RealRT-DETR), refinando a linha de base para melhorar o tratamento da escala dinâmica e a estabilidade do treino. Como um modelo baseado em transformador, aproveita os mecanismos de auto-atenção para capturar o contexto global, o que pode ser vantajoso para distinguir objectos em cenas complexas.
- Autores: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang e Yi Liu
- Organização:Baidu
- Data: 2024-07-24
- Arxiv:arXiv:2407.17140
- GitHub:RepositórioRT-DETR GitHub
Arquitetura de base
Ao contrário das CNNs, que processam imagens em manchas locais, o RTDETRv2 utiliza um backbone transformador para processar as caraterísticas da imagem. Esta abordagem permite que o modelo compreenda as relações entre partes distantes de uma imagem, melhorando potencialmente a precisão em ambientes desordenados. No entanto, este mecanismo de atenção global tem normalmente custos computacionais e de memória mais elevados, especialmente durante o treino.
Comparação de Desempenho
Os dados seguintes destacam as métricas de desempenho de vários tamanhos de modelos no conjunto de dadosCOCO . A comparação centra-se na precisão médiamAP), na velocidade de inferência e na complexidade computacional.
| 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 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
Análise de métricas
- Precisão de pico: O modelo YOLOv9e atinge uns notáveis 55,6% mAP, ultrapassando o maior modelo RTDETRv2-x (54,3% mAP). Isto demonstra que as inovações arquitectónicas no YOLOv9 fecham efetivamente o fosso entre as CNNs e os Transformers, ultrapassando-os mesmo em termos de precisão de topo.
- Eficiência: YOLOv9 oferece consistentemente um desempenho superior por parâmetro. Por exemplo, o YOLOv9c atinge 53,0% de mAP com apenas 25,3M de parâmetros e 102,1B FLOPs, enquanto o RTDETRv2-l comparável requer 42M de parâmetros e 136B FLOPs para atingir 53,4% de mAP. Esta eficiência torna YOLOv9 significativamente mais leve para armazenar e mais rápido para executar.
- Velocidade de inferência: Em aplicações em tempo real, a velocidade é fundamental. As variantes menores YOLOv9 , como o YOLOv9t, oferecem latência extremamente baixa (2,3 ms no TensorRT), tornando-as ideais para implantações de IA de borda em que os modelos RTDETRv2 podem ser muito pesados.
Eficiência da formação e ecossistema
Um dos factores mais críticos para os programadores é a facilidade de formação e os recursos necessários para afinar os modelos em conjuntos de dados personalizados.
Requisitos de memória
Os modelos baseados em transformadores, como o RTDETRv2, são conhecidos pelo seu elevado consumo de memória durante o treino devido à complexidade quadrática dos mecanismos de auto-atenção. Isto exige frequentemente GPUs empresariais topo de gama com uma VRAM enorme. Em contrapartida, YOLOv9 mantém a eficiência de memória das CNNs, permitindo o treino em hardware de consumo. Esta menor barreira à entrada democratiza o acesso à deteção de objectos de última geração.
A vantagem Ultralytics
A escolha de um modelo dentro do ecossistemaUltralytics oferece vantagens distintas para além das métricas de desempenho bruto:
- Facilidade de utilização: A APIPython Ultralytics abstrai circuitos de formação complexos em poucas linhas de código.
- Ecossistema bem mantido: As actualizações frequentes garantem a compatibilidade com as versões mais recentes PyTorch , formatos de exportaçãoONNX, TensorRT, CoreML) e controladores de hardware.
- Versatilidade: Embora o RTDETRv2 seja principalmente um detetor de objectos, a estrutura Ultralytics suporta uma vasta gama de tarefas, incluindo a segmentação de instâncias, a estimativa de pose e a deteção de caixas delimitadoras orientadas (OBB) nas suas famílias de modelos.
Exemplo de código
O treinamento YOLOv9 é simples, usando o pacote Ultralytics . O trecho de código a seguir demonstra como carregar um modelo pré-treinado e treiná-lo em um conjunto de dados personalizado:
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Train the model on a custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
Capacidade de exportação
Os modelos Ultralytics podem ser facilmente exportados para vários formatos para serem implementados. Por exemplo, exportar para ONNX para uma compatibilidade mais alargada:
model.export(format="onnx")
Casos de Uso Ideais
Quando escolher YOLOv9
YOLOv9 é a escolha recomendada para a maioria das aplicações de visão computacional, particularmente quando é necessário um equilíbrio entre velocidade, precisão e eficiência de recursos.
- Implantação de borda: Dispositivos como o NVIDIA Jetson ou o Raspberry Pi se beneficiam dos FLOPs mais baixos e da contagem de parâmetros do YOLOv9.
- Análise de vídeo em tempo real: Os feeds de segurança e os sistemas de monitorização de tráfego requerem as elevadas taxas de fotogramas que YOLOv9 proporciona.
- Treinamento com recursos limitados: As equipas sem acesso a clusters GPU maciços ainda podem afinar os modelos mais avançados.
Quando considerar o RTDETRv2
O RTDETRv2 é adequado para cenários de nicho em que:
- O contexto global é crucial: Cenas com elevada oclusão ou em que o contexto de pixéis distantes é estritamente necessário para a classificação.
- O hardware é ilimitado: Implantações em GPUs de nível de servidor onde as restrições de memória e computação são insignificantes.
- Preferência sem âncoras: Os investigadores procuram especificamente experimentar arquitecturas sem âncoras e baseadas em transformadores puros.
Conclusão
Embora o RTDETRv2 demonstre o potencial dos transformadores na deteção de objectos, YOLOv9 surge como a escolha prática superior para a maioria dos programadores e investigadores. Oferece uma precisão máxima mais elevada (55,6% mAP) com uma eficiência significativamente melhor, menor utilização de memória e velocidades de inferência mais rápidas. Quando combinado com o suporte robusto, a extensa documentação e a facilidade de uso fornecidos pelo ecossistema Ultralytics , YOLOv9 oferece um caminho mais simplificado do protótipo à produção.
Para os que pretendem explorar as últimas novidades em tecnologia de visão por computador, recomendamos também que consultem YOLO11que ultrapassa ainda mais os limites da velocidade e da precisão.
Explore Outros Modelos
- YOLO11: A última evolução da série YOLO , optimizada para diversas tarefas, incluindo segmentação e estimativa de pose.
- YOLOv8: Um modelo muito popular e versátil, conhecido pela sua fiabilidade e pelo apoio generalizado da comunidade.
- RT-DETR: Explore a implementação original do Transformador de Deteção em Tempo Real no âmbito da estrutura Ultralytics .