YOLOv9 vs YOLO11: Evolução da Arquitetura e Análise de Desempenho
O panorama da visão por computador é definido por uma rápida inovação, com modelos que ultrapassam continuamente os limites da precisão, velocidade e eficiência. Esta comparação explora dois marcos significativos na deteção de objectos: YOLOv9um modelo centrado na investigação que introduz novos conceitos de arquitetura, e o Ultralytics YOLO11a mais recente evolução pronta para produção, concebida para a versatilidade do mundo real.
Enquanto YOLOv9 centra-se na resolução dos estrangulamentos de informação da aprendizagem profunda através de avanços teóricos, Ultralytics YOLO11 aperfeiçoa o desempenho de ponta (SOTA) com foco na usabilidade, eficiência e integração perfeita no ecossistemaUltralytics .
Métricas de desempenho: Velocidade e exatidão
A tabela seguinte apresenta uma comparação direta das principais métricas de desempenho avaliadas no conjunto de dadosCOCO . Ao selecionar um modelo, é crucial equilibrar a precisão médiamAP) com a velocidade de inferência e o custo computacional (FLOPs).
| 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
Como os dados ilustram, YOLO11 demonstra uma eficiência superior. Por exemplo, o modelo YOLO11n atinge um mAP mais elevado (39,5%) do que o YOLOv9t (38,3%), utilizando menos FLOPs e funcionando significativamente mais rápido na GPU. Embora o maior modelo YOLOv9e tenha uma ligeira vantagem na precisão bruta, requer quase o dobro do tempo de inferência do YOLO11l, tornando YOLO11 a escolha mais pragmática para cenários de inferência em tempo real.
YOLOv9: Resolver o problema da falta de informação
YOLOv9 foi lançado com um objetivo académico específico: resolver o problema da perda de informação quando os dados passam por redes neurais profundas. A sua arquitetura é fortemente influenciada pela necessidade de reter a informação do gradiente durante o treino.
Detalhes técnicos:
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:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Docsultralytics
Principais caraterísticas arquitectónicas
As principais inovações do YOLOv9 são o Programmable Gradient Information (PGI) e a Generalized Efficient Layer Aggregation Network (GELAN).
- PGI: Esta estrutura de supervisão auxiliar garante que as camadas profundas recebem informações fiáveis sobre o gradiente, atenuando o "estrangulamento da informação" que muitas vezes dificulta a convergência das redes profundas.
- GELAN: Esta arquitetura optimiza a eficiência dos parâmetros, combinando os pontos fortes da CSPNet e da ELAN, permitindo um escalonamento computacional flexível.
Foco académico
YOLOv9 é um excelente caso de estudo para investigadores interessados na teoria da aprendizagem profunda, especificamente no que respeita ao fluxo de gradiente e à preservação da informação em redes neurais convolucionais.
Ultralytics YOLO11: A versatilidade encontra a eficiência
Com base no legado da YOLOv8YOLO11 representa o auge da visão computacional orientada para a produção. Foi concebido não só para obter pontuações de referência, mas também para uma implementação prática, facilidade de utilização e capacidade multitarefa.
Detalhes técnicos:
Autores: Glenn Jocher, Jing Qiu
Organização:Ultralytics
Data: 2024-09-27
GitHubultralytics
Docsyolo11
Principais caraterísticas arquitectónicas
YOLO11 introduz uma arquitetura refinada concebida para maximizar a extração de caraterísticas, minimizando a sobrecarga computacional. Utiliza uma estrutura de espinha dorsal e pescoço melhorada que melhora a integração de caraterísticas em diferentes escalas, o que é fundamental para a deteção de pequenos objectos.
O modelo também apresenta designs de cabeça melhorados para uma convergência mais rápida durante o treino. Ao contrário dos modelos centrados na investigação, YOLO11 é construído numa estrutura unificada que suporta nativamente a deteção, segmentação, classificação, estimativa de pose e Oriented Bounding Boxes (OBB).
Pontos de comparação pormenorizados
Facilidade de utilização e ecossistema
Uma das diferenças mais significativas reside na experiência do utilizador. Ultralytics YOLO11 foi concebido com uma mentalidade de "o programador em primeiro lugar". Integra-se perfeitamente com o ecossistema Ultralytics mais alargado, que inclui ferramentas para anotação de dados, gestão de conjuntos de dados e exportação de modelos.
- YOLO11: Pode ser treinado, validado e implantado com algumas linhas de código usando o
ultralyticsPacote Python ou CLI. Beneficia de actualizações frequentes, documentação extensa e uma comunidade massiva. - YOLOv9: Embora suportada na biblioteca Ultralytics , a implementação original e algumas configurações avançadas podem exigir um conhecimento mais aprofundado do documento de investigação subjacente.
Requisitos de memória e eficiência do treino
A utilização eficiente de recursos é uma caraterística dos modelos Ultralytics . YOLO11 foi optimizado para exigir menos memória CUDA durante o treino, em comparação com muitas alternativas baseadas em transformadores ou iterações mais antigas YOLO . Isso permite que os desenvolvedores treinem lotes maiores em hardware de nível de consumidor, acelerando o ciclo de desenvolvimento.
Além disso, YOLO11 fornece pesos pré-treinados de alta qualidade e prontamente disponíveis para todas as tarefas, garantindo que a aprendizagem por transferência seja rápida e eficaz. Isto contrasta com os modelos de investigação que podem oferecer pontos de controlo pré-treinados limitados, centrados principalmente na deteção de COCO .
Versatilidade de tarefas
Embora YOLOv9 seja reconhecido principalmente pelas suas realizações na deteção de objectos, YOLO11 oferece suporte nativo para uma vasta gama de tarefas de visão computacional numa única estrutura:
- Segmentação de instâncias: Mascaramento preciso de objectos.
- Estimativa de pose: Deteção de pontos-chave do esqueleto (por exemplo, para a pose humana).
- Classificação: Categorização de imagens inteiras.
- Caixas delimitadoras orientadas (OBB): Deteção de objectos rodados, vital para imagens aéreas.
API unificada
Alternar entre tarefas no YOLO11 é tão simples como alterar o ficheiro de pesos do modelo (por exemplo, de yolo11n.pt para deteção de yolo11n-seg.pt para segmentação).
Exemplo de código: Comparação em ação
O seguinte código Python demonstra a facilidade com que ambos os modelos podem ser carregados e utilizados na estrutura Ultralytics , destacando a API unificada que simplifica o teste de diferentes arquitecturas.
from ultralytics import YOLO
# Load the research-focused YOLOv9 model (compact version)
model_v9 = YOLO("yolov9c.pt")
# Load the production-optimized YOLO11 model (medium version)
model_11 = YOLO("yolo11m.pt")
# Run inference on a local image
# YOLO11 provides a balance of speed and accuracy ideal for real-time apps
results_11 = model_11("path/to/image.jpg")
# Display results
results_11[0].show()
Casos de Uso Ideais
Quando escolher YOLOv9
YOLOv9 é uma excelente escolha para investigação académica e cenários em que a máxima precisão em imagens estáticas é a única prioridade, independentemente do custo computacional.
- Projectos de investigação: Investigação do fluxo de gradientes e da arquitetura de redes neuronais.
- Avaliação comparativa: Competições em que cada fração de mAP conta.
- Implementações de servidores topo de gama: Onde GPUs poderosas (como A100s) estão disponíveis para lidar com os FLOPs mais altos da variante 'E'.
Quando escolher Ultralytics YOLO11
YOLO11 é a escolha recomendada para aplicações comerciais, computação de ponta e sistemas multi-tarefa.
- IA de ponta: Implementação em dispositivos como o NVIDIA Jetson ou o Raspberry Pi devido a rácios superiores de velocidade/peso.
- Análise em tempo real: Monitorização do tráfego, análise desportiva e controlo de qualidade do fabrico, onde a latência é crítica.
- Pipelines complexos: Aplicações que requerem deteção, segmentação e estimativa de pose em simultâneo.
- Prototipagem rápida: Startups e empresas que precisam de passar rapidamente do conceito à implementação utilizando a APIUltralytics .
Outros modelos a explorar
Embora YOLOv9 e YOLO11 sejam concorrentes poderosos, a biblioteca Ultralytics suporta uma variedade de outros modelos adaptados a necessidades específicas:
- YOLOv8: O antecessor fiável do YOLO11, ainda amplamente utilizado e suportado.
- RT-DETR: Um detetor baseado em transformador que se destaca pela sua precisão, mas que pode necessitar de mais memória.
- YOLOv10: Uma arquitetura distinta centrada na formação NMS para uma menor latência em configurações específicas.
Explore a gama completa de opções na secção Comparação de modelos.
Conclusão
Ambas as arquitecturas representam realizações significativas no domínio da visão computacional. YOLOv9 contribui com conhecimentos teóricos valiosos para o treino de redes profundas, enquanto a Ultralytics YOLO11 sintetiza esses avanços em uma ferramenta robusta, versátil e altamente eficiente para o mundo. Para a maioria dos programadores e investigadores que procuram criar aplicações escaláveis e em tempo real, o equilíbrio entre desempenho, facilidade de utilização e suporte abrangente do ecossistema do YOLO11 torna-o a escolha superior.