Ir para o conteúdo

YOLOv10 vs. YOLOv9: Uma comparação técnica exaustiva

O panorama da deteção de objectos tem evoluído rapidamente, com as sucessivas iterações da arquitetura YOLO (You Only Look Once) a ultrapassarem os limites da velocidade e da precisão. Duas das contribuições recentes mais significativas para este domínio são YOLOv10 e YOLOv9. Embora ambos os modelos atinjam o desempenho mais avançado no conjunto de dadosCOCO , divergem significativamente nas suas filosofias de conceção e objectivos arquitectónicos.

YOLOv10 prioriza a baixa latência e a eficiência de ponta a ponta, eliminando a necessidade de supressão não máximaNMS), enquanto YOLOv9 se concentra em maximizar a retenção e a precisão das informações por meio de informações de gradiente programável (PGI). Este guia fornece uma comparação técnica detalhada para ajudar os programadores e investigadores a selecionar o modelo ideal para as suas aplicações de visão por computador.

YOLOv10: O Detetor em Tempo Real de Ponta a Ponta

Lançado em maio de 2024 por investigadores da Universidade de Tsinghua, YOLOv10 representa uma mudança de paradigma na linhagem YOLO . A sua principal inovação é a remoção do passo de pós-processamento Non-Maximum Suppression (NMS), que tem sido tradicionalmente um estrangulamento para a latência da inferência.

Detalhes Técnicos:

Arquitetura e Inovações Chave

YOLOv10 atinge a sua eficiência através de uma combinação de atribuições duplas consistentes e de uma conceção holística do modelo orientada para a eficiência e a precisão.

  1. FormaçãoNMS: Os modelos YOLO tradicionais dependem do NMS para filtrar caixas delimitadoras duplicadas. YOLOv10 utiliza uma estratégia de atribuição dupla durante o treinamento do modelo. Um ramo um-para-muitos fornece sinais de supervisão ricos para o aprendizado, enquanto um ramo um-para-um garante que o modelo gere uma única melhor previsão por objeto durante a inferência. Isso permite que o modelo seja implantado sem NMS, reduzindo significativamente a latência da inferência.
  2. Otimização do modelo: A arquitetura inclui cabeças de classificação leves, redução da amostragem desacoplada de canais espaciais e conceção de blocos orientados para a classificação. Essas caraterísticas reduzem a redundância computacional e o uso de memória, tornando o modelo altamente eficiente em hardware com recursos limitados.

Vantagem da eficiência

A remoção do NMS no YOLOv10 é particularmente benéfica para a implementação de ponta. Em dispositivos onde os recursos CPU são escassos, evitar o custo computacional de ordenar e filtrar milhares de caixas candidatas pode resultar em acelerações substanciais.

Saiba mais sobre o YOLOv10

YOLOv9: Dominar a retenção de informações

Apresentado em fevereiro de 2024 por Chien-Yao Wang e Hong-Yuan Mark Liao, YOLOv9 visa o problema do "estrangulamento da informação" inerente às redes neuronais profundas. À medida que os dados passam por camadas sucessivas (extração de caraterísticas), podem perder-se informações cruciais, o que leva a uma degradação da precisão, especialmente no caso de objectos pequenos ou difíceis detect detetar.

Detalhes Técnicos:

Arquitetura e Inovações Chave

YOLOv9 introduz novos conceitos para garantir que a rede retém e utiliza o máximo possível de informações de entrada.

  1. Informação de Gradiente Programável (PGI): O PGI fornece uma estrutura de supervisão auxiliar que gera gradientes fiáveis para atualizar os pesos da rede. Isso garante que as camadas profundas recebam informações de entrada completas, atenuando o problema do gradiente de desaparecimento e melhorando a convergência.
  2. Rede de agregação de camadas eficiente e generalizada (GELAN): Esta nova arquitetura substitui a ELAN convencional utilizada nas versões anteriores. A GELAN optimiza a utilização de parâmetros e a eficiência computacional (FLOPs), permitindo que YOLOv9 atinja uma maior precisão com um tamanho de modelo comparável ao dos seus antecessores.

Insight de aprendizagem profunda

O enfoque do YOLOv9 na retenção de informação torna-o excecionalmente forte na deteção de objectos em cenas complexas, onde os detalhes das caraterísticas poderiam ser perdidos durante as operações de redução da amostragem no backbone.

Saiba mais sobre o YOLOv9

Métricas de desempenho: Velocidade vs. Precisão

A escolha entre estes dois modelos resume-se frequentemente a um compromisso entre a velocidade de inferência bruta e a precisão da deteção. A tabela abaixo destaca as diferenças de desempenho em várias escalas de modelos.

Análise:

  • Latência: YOLOv10 supera consistentemente o YOLOv9 em termos de latência, particularmente nos modelos de menor dimensão (N e S). Por exemplo, o YOLOv10n atinge uma velocidade de inferência de 1,56 ms no TensorRT, significativamente mais rápido do que modelos comparáveis.
  • Precisão: YOLOv9 é excelente em termos de precisão na extremidade superior do espetro. O modelo YOLOv9e atinge uns notáveis 55,6% mAP, tornando-o a escolha superior para aplicações em que a precisão é fundamental.
  • Eficiência: YOLOv10 oferece uma excelente precisão por parâmetro. O YOLOv10b atinge 52,7% de mAP com menor latência do que o YOLOv9c, demonstrando a eficácia do seu design holístico.
Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

Casos de Uso Ideais

Compreender os pontos fortes de cada modelo ajuda a selecionar a ferramenta certa para os objectivos específicos do seu projeto.

Quando escolher YOLOv10

  • Implantação de IA de borda: Os aplicativos executados em dispositivos como NVIDIA Jetson ou Raspberry Pi se beneficiam do design NMS, que reduz a sobrecarga CPU .
  • Análise de vídeo de alta frequência: Cenários que requerem o processamento de fluxos de vídeo de elevado FPS, como a monitorização do tráfego ou a análise desportiva.
  • Robótica em tempo real: Sistemas autónomos que dependem de ciclos de feedback de baixa latência para navegação e prevenção de obstáculos.

Quando escolher YOLOv9

  • Inspeção de alta precisão: Controlo de qualidade industrial em que a omissão de um defeito (falso negativo) é dispendiosa.
  • Deteção de pequenos objectos: Aplicações que envolvem a análise de imagens de satélite ou imagens médicas em que os objectos são pequenos e com poucas caraterísticas.
  • Cenas complexas: Ambientes com elevada oclusão ou desordem em que é necessária a máxima retenção de informação para distinguir objectos.

Utilização com Ultralytics

Uma das vantagens significativas da utilização destes modelos é a sua integração no ecossistema Ultralytics . Tanto YOLOv10 como YOLOv9 podem ser utilizados através da mesma API Python unificada e da Interface de Linha de ComandoCLI), simplificando o fluxo de trabalho desde a formação até à implementação.

Exemplo Python

O código a seguir demonstra como carregar e executar a inferência com ambos os modelos usando o ultralytics package.

from ultralytics import YOLO

# Load a YOLOv10 model (NMS-free, high speed)
model_v10 = YOLO("yolov10n.pt")

# Load a YOLOv9 model (High accuracy)
model_v9 = YOLO("yolov9c.pt")

# Run inference on an image
# The API remains consistent regardless of the underlying architecture
results_v10 = model_v10("https://ultralytics.com/images/bus.jpg")
results_v9 = model_v9("https://ultralytics.com/images/bus.jpg")

# Print results
for r in results_v10:
    print(f"YOLOv10 Detections: {r.boxes.shape[0]}")

for r in results_v9:
    print(f"YOLOv9 Detections: {r.boxes.shape[0]}")

A vantagem Ultralytics

A escolha do Ultralytics para os seus projectos de visão por computador oferece várias vantagens para além da arquitetura do modelo:

  • Facilidade de utilização: A API de fácil utilização permite-lhe alternar entre YOLOv9, YOLOv10 e outros modelos como YOLO11 alterando simplesmente o nome do ficheiro de pesos.
  • Equilíbrio de desempenho: As implementações Ultralytics são optimizadas para o desempenho no mundo real, equilibrando a velocidade e a precisão.
  • Eficiência de treinamento: A estrutura suporta recursos como precisão mista automática (AMP) e treinamento GPU , facilitando o treinamento de modelos personalizados em seus próprios conjuntos de dados.
  • Requisitos de memória: Os modelos Ultralytics normalmente apresentam menor uso de memória em comparação com as alternativas baseadas em transformadores, facilitando o treinamento em GPUs de nível de consumidor.

Conclusão

Ambos YOLOv10 e YOLOv9 representam marcos importantes na deteção de objectos. YOLOv10 é o claro vencedor para aplicações que dão prioridade à velocidade e à eficiência, graças à sua inovadora arquitetura NMS. Por outro lado, YOLOv9 continua a ser uma escolha robusta para cenários que exigem a maior precisão possível e retenção de informações.

Para os programadores que procuram a solução mais recente e mais versátil, recomendamos também que explorem o YOLO11. YOLO11 baseia-se nos pontos fortes destes antecessores, oferecendo um equilíbrio refinado de velocidade, precisão e funcionalidades para tarefas de deteção, segmentação e estimativa de pose.

Explore Outros Modelos

  • Ultralytics YOLO11 - O mais recente modelo de última geração.
  • Ultralytics YOLOv8 - Um modelo versátil e maduro para várias tarefas de visão.
  • RT-DETR - Um detetor baseado em transformador para aplicações de alta precisão.

Comentários