YOLOv9 vs. YOLOv7: Um mergulho profundo na evolução da deteção de objectos
O panorama da visão por computador é caracterizado pela rápida inovação, em que os avanços arquitectónicos redefinem continuamente os limites da velocidade e da precisão. Dois marcos significativos neste percurso são o YOLOv9 e YOLOv7. Ambos os modelos resultam da investigação de Chien-Yao Wang e colegas, representando diferentes gerações da família "You Only Look Once".
Enquanto YOLOv7 definiu o padrão para a deteção de objectos em tempo real aquando do seu lançamento em 2022, YOLOv9 surgiu em 2024 com novos mecanismos para lidar com a perda de informações em redes profundas. Esta comparação explora as suas especificações técnicas, diferenças arquitectónicas e aplicações práticas para ajudar os programadores a selecionar o modelo ideal para as suas necessidades.
Métricas de desempenho e eficiência
A evolução do YOLOv7 para o YOLOv9 é mais visível no compromisso entre o custo computacional e o desempenho da deteção. YOLOv9 introduz ganhos de eficiência significativos, permitindo-lhe alcançar uma precisão média (mAP) mais elevada com menos parâmetros em comparação com o seu antecessor.
Por exemplo, o modelo YOLOv9m atinge os mesmos 51,4% de mAPval que o YOLOv7l, mas utiliza quase metade dos parâmetros (20,0M vs. 36,9M) e significativamente menos FLOPs. Esta eficiência torna YOLOv9 particularmente atrativo para aplicações de IA de ponta em que os recursos de hardware são limitados.
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
YOLOv9: Informação de gradiente programável
YOLOv9 representa uma mudança de paradigma na forma como as redes neurais profundas lidam com a transmissão de dados através das camadas. Lançado no início de 2024, visa especificamente o problema do "gargalo de informação", em que os dados se perdem à medida que passam por camadas sucessivas de uma rede profunda.
Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
Organização:Instituto de Ciência da Informação, Academia Sinica
Data: 2024-02-21
Arxiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:Ultralytics YOLOv9
Inovação arquitetónica
A principal inovação do YOLOv9 é a introdução da Informação de Gradiente Programável (PGI). A PGI fornece uma estrutura de supervisão auxiliar que garante que os gradientes são propagados de forma fiável para as camadas iniciais, preservando informações de entrada essenciais que, de outra forma, poderiam ser perdidas durante a extração de caraterísticas.
Complementando o PGI está a Rede de Agregação de Camadas Eficiente Generalizada (GELAN). Esta arquitetura permite aos programadores empilhar vários blocos computacionais (como CSP ou ResBlocks) de forma flexível, optimizando os pesos do modelo para restrições específicas de hardware sem sacrificar a precisão.
Forças e Fraquezas
- Forças:
- Precisão superior: Obtém resultados de última geração no conjunto de dadosCOCO , com o modelo YOLOv9 a atingir 55,6% de mAP.
- Eficiência de parâmetros: Oferece um desempenho comparável ao dos modelos mais antigos utilizando significativamente menos parâmetros, reduzindo os requisitos de memória durante a inferência.
- Preservação da informação: As melhorias teóricas no fluxo de gradiente conduzem a uma melhor convergência e representação de caraterísticas.
- Fraquezas:
- Complexidade de treinamento: Os ramos auxiliares utilizados durante o treino (e removidos para inferência) podem aumentar a utilização da memóriaGPU durante a fase de treino em comparação com arquitecturas mais simples.
YOLOv7: A norma do saco de brindes
Antes do YOLOv9, YOLOv7 era o campeão da família YOLO . Introduziu refinamentos arquitectónicos que se concentraram na otimização do processo de formação sem aumentar os custos de inferência, um conceito conhecido como "bag-of-freebies".
Autores: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
Organização: Instituto de Ciência da Informação, Academia Sinica
Data: 2022-07-06
Arxiv:2207.02696
GitHub:WongKinYiu/yolov7
Docs:Ultralytics YOLOv7
Visão geral da arquitetura
YOLOv7 introduziu a E-ELAN (Extended Efficient Layer Aggregation Network), que controla os caminhos de gradiente mais curto e mais longo para melhorar a capacidade de aprendizagem da rede. Também utilizou técnicas de escalonamento de modelos que modificam a profundidade e a largura da rede simultaneamente, garantindo uma arquitetura óptima para diferentes dispositivos alvo.
Forças e Fraquezas
- Forças:
- Fiabilidade comprovada: A utilização extensiva pela comunidade e a validação ao longo de vários anos fazem dele uma escolha estável para sistemas antigos.
- Alta velocidade: Optimizado especificamente para inferência em tempo real em hardware GPU padrão.
- Fraquezas:
- Menor eficiência: Requer mais parâmetros e FLOPs para atingir os níveis de precisão que os modelos mais recentes, como o YOLOv9 ou o YOLO11 podem atingir com arquitecturas mais leves.
- Ferramentas mais antigas: Não possui algumas das integrações nativas e recursos fáceis de usar encontrados no ecossistema moderno Ultralytics .
Casos de utilização e aplicações ideais
A escolha entre estes dois modelos depende frequentemente dos condicionalismos específicos do ambiente de implantação e da precisão exigida pela tarefa.
Quando escolher YOLOv9
YOLOv9 é excelente para cenários que exigem a mais elevada relação precisão/eficiência.
- Navegação autónoma: Nos carros autónomos, a deteção de pequenos objectos a longas distâncias é fundamental. A capacidade do YOLOv9 de preservar informações ajuda a reconhecer perigos distantes.
- Imagiologia médica: Para tarefas como a deteção de tumores, em que a falta de uma deteção positiva é crítica, a elevada recuperação e precisão do YOLOv9 são benéficas.
- Dispositivos de extremidade: O
yolov9tA variante fornece uma solução robusta para Dispositivos IoT como os Raspberry Pis, oferecendo uma boa precisão com um mínimo de despesas computacionais.
Quando escolher YOLOv7
YOLOv7 continua a ser relevante para os pipelines existentes que já estão optimizados para a sua arquitetura.
- Sistemas antigos: As linhas de produção industrial que validaram YOLOv7 para controlo de qualidade podem preferir manter a consistência em vez de atualizar imediatamente.
- Linhas de base de investigação: Serve como uma excelente referência para comparar novas estratégias de deteção com os padrões estabelecidos na investigação académica.
Equilíbrio de desempenho com Ultralytics
Embora YOLOv9 e YOLOv7 sejam poderosos, os programadores que procuram o melhor equilíbrio entre velocidade, precisão e experiência do programador devem considerar Ultralytics YOLO11. YOLO11 integra os melhores recursos das gerações anteriores com uma API simplificada, suportando deteção, segmentação, estimativa de pose e classificação em uma única estrutura.
A vantagem Ultralytics
A utilização destes modelos no ecossistemaUltralytics oferece vantagens distintas em relação à utilização de repositórios de investigação em bruto. A APIPython Ultralytics abstrai o código complexo, permitindo que os investigadores e engenheiros se concentrem nos dados e nos resultados.
- Facilidade de utilização: Uma interface unificada permite-lhe alternar entre YOLOv8, YOLOv9 e YOLO11 com uma única linha de código.
- Eficiência de treinamento: Os modelos Ultralytics são optimizados para uma convergência mais rápida, exigindo frequentemente menos dados de treino para atingir uma elevada precisão.
- Requisitos de memória: A estrutura foi projetada para minimizar o uso de memóriaCUDA , permitindo o treinamento de tamanhos de lote maiores em hardware de nível de consumidor em comparação com modelos Transformer com muita memória.
- Versatilidade: Para além de simples caixas delimitadoras, o ecossistema suporta segmentação de instâncias, estimativa de pose e tarefas de Caixa delimitadora orientada (OBB), tornando-o uma ferramenta abrangente para diversos desafios de IA.
Exemplo de implementação
A execução destes modelos é simples com a biblioteca Ultralytics . O seguinte trecho de código demonstra como carregar um modelo pré-treinado e executar a inferência numa imagem.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on a local image
results = model.predict("path/to/image.jpg", save=True, conf=0.5)
# Process results
for result in results:
result.show() # Display predictions
Para os interessados em treinar em conjuntos de dados personalizados, o processo é igualmente simples, utilizando as estratégias robustas de ajuste de hiperparâmetros e de aumento de dados incorporadas na estrutura.
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
Conclusão
Tanto YOLOv9 como YOLOv7 representam realizações significativas no domínio da visão por computador. YOLOv9 é o sucessor técnico claro, oferecendo eficiência e precisão de parâmetros superiores através das suas arquitecturas inovadoras PGI e GELAN. É a escolha recomendada para os utilizadores que procuram um elevado desempenho da linha de investigação específica de Wang et al.
No entanto, para os programadores que procuram a experiência de desenvolvimento de IA mais holística, Ultralytics YOLO11 continua a ser a principal recomendação. Com a sua manutenção ativa, documentação extensa e amplo suporte para tarefas multimodais, YOLO11 garante que os seus projectos estão preparados para o futuro e para a produção.
Explore Outros Modelos
Para alargar ainda mais a sua compreensão do panorama da deteção de objectos, considere explorar estes modelos e comparações relacionados:
- YOLO11 vs. YOLOv9 - Compare o modelo mais recente do Ultralytics com o YOLOv9.
- YOLOv8 vs. YOLOv7 - Veja como a geração anterior se comporta.
- RT-DETR vs. YOLOv9 - Um olhar sobre a deteção baseada em transformadores versus CNNs.
- YOLOv10 - Explore o modelo de deteção de objectos em tempo real e de ponta a ponta.
- Ultralytics HUB - A forma mais fácil de treinar e implementar os seus modelos.