Ir para o conteúdo

YOLOv10 vs. YOLOv9: Uma Comparação Técnica Abrangente

O panorama da deteção de objetos evoluiu rapidamente, com sucessivas iterações da arquitetura YOLO (You Only Look Once) a ultrapassar os limites da velocidade e da precisão. Duas das contribuições recentes mais significativas para este campo são o YOLOv10 e o YOLOv9. Embora ambos os modelos atinjam um desempenho de ponta no conjunto de dados COCO, divergem significativamente nas suas filosofias de design e objetivos arquitetónicos.

YOLOv10 prioriza baixa latência e eficiência de ponta a ponta, eliminando a necessidade de supressão não máxima (NMS), enquanto YOLOv9 se concentra em maximizar a retenção de informações e a precisão por meio da Informação de Gradiente Programável (PGI). Este guia fornece uma comparação técnica detalhada para ajudar desenvolvedores e pesquisadores a selecionar o modelo ideal para suas aplicações de visão computacional.

YOLOv10: O Detector End-to-End em Tempo Real

Lançado em maio de 2024 por pesquisadores da Universidade de Tsinghua, o YOLOv10 representa uma mudança de paradigma na linhagem YOLO. Sua principal inovação é a remoção da etapa de pós-processamento de Supressão Não Máxima (NMS), que tem sido tradicionalmente um gargalo para a latência de inferência.

Detalhes Técnicos:

Arquitetura e Inovações Chave

O YOLOv10 alcança sua eficiência através de uma combinação de Atribuições Duplas Consistentes e um Design de Modelo Holístico Impulsionado pela Eficiência e Precisão.

  1. Treinamento sem NMS: Os modelos YOLO tradicionais dependem do NMS para filtrar caixas delimitadoras duplicadas. O 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 de inferência.
  2. Otimização do Modelo: A arquitetura inclui cabeças de classificação leves, downsampling desacoplado espacial-canal e design de bloco guiado por classificação. Esses recursos reduzem a redundância computacional e o uso de memória, tornando o modelo altamente eficiente em hardware com recursos limitados.

Vantagem de Eficiência

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

Saiba mais sobre o YOLOv10

YOLOv9: Dominando a Retenção de Informação

Apresentado em fevereiro de 2024 por Chien-Yao Wang e Hong-Yuan Mark Liao, o YOLOv9 tem como alvo o problema do "gargalo de informação" inerente às redes neurais profundas. À medida que os dados passam por camadas sucessivas (extração de recursos), informações cruciais podem ser perdidas, levando à degradação da precisão, especialmente para objetos pequenos ou difíceis de detectar.

Detalhes Técnicos:

Arquitetura e Inovações Chave

O YOLOv9 introduz novos conceitos para garantir que a rede retenha e utilize o máximo de informação de entrada possível.

  1. Informação de Gradiente Programável (PGI): O PGI fornece uma estrutura de supervisão auxiliar que gera gradientes confiáveis para atualizar os pesos da rede. Isso garante que as camadas profundas recebam informações de entrada completas, mitigando o problema do desaparecimento do gradiente e melhorando a convergência.
  2. Generalized Efficient Layer Aggregation Network (GELAN): Esta nova arquitetura substitui o ELAN convencional usado em versões anteriores. O GELAN otimiza a utilização de parâmetros e a eficiência computacional (FLOPs), permitindo que o YOLOv9 alcance maior precisão com um tamanho de modelo comparável ao de seus predecessores.

Insight de Deep Learning

O foco do YOLOv9 na retenção de informações o torna excepcionalmente forte na detecção de objetos em cenas complexas, onde os detalhes das características podem ser perdidos durante as operações de subamostragem no backbone.

Saiba mais sobre o YOLOv9

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

A escolha entre esses dois modelos geralmente se resume a uma compensação entre a velocidade de inferência bruta e a precisão da detecção. A tabela abaixo destaca as diferenças de desempenho em várias escalas de modelo.

Análise:

  • Latência: O YOLOv10 supera consistentemente o YOLOv9 em latência, particularmente nos tamanhos de modelo menores (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: O YOLOv9 se destaca em precisão na extremidade superior do espectro. O modelo YOLOv9e alcança um notável 55,6% mAP, tornando-o a escolha superior para aplicações onde a precisão é fundamental.
  • Eficiência: YOLOv10 oferece excelente precisão por parâmetro. YOLOv10b alcança 52,7% de mAP com menor latência do que 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

Entender os pontos fortes de cada modelo ajuda na seleção da ferramenta certa para seus objetivos de projeto específicos.

Quando escolher o YOLOv10

  • Implantação de Edge AI: Aplicações executadas em dispositivos como NVIDIA Jetson ou Raspberry Pi se beneficiam do design livre de NMS, o que reduz a sobrecarga da CPU.
  • Análise de Vídeo de Alta Frequência: Cenários que exigem o processamento de fluxos de vídeo de alto FPS, como monitoramento de tráfego ou análise de esportes.
  • Robótica em Tempo Real: Sistemas autônomos que dependem de loops de feedback de baixa latência para navegação e desvio de obstáculos.

Quando escolher o YOLOv9

  • Inspeção de Alta Precisão: Controle de qualidade industrial onde perder um defeito (falso negativo) é caro.
  • Detecção de Objetos Pequenos: Aplicações envolvendo análise de imagens de satélite ou imagens médicas onde os objetos são pequenos e com poucos recursos.
  • Cenas Complexas: Ambientes com alta oclusão ou desordem onde a retenção máxima de informações é necessária para distinguir objetos.

Uso com Ultralytics

Uma das vantagens significativas de usar esses modelos é a sua integração no ecossistema Ultralytics. Tanto o YOLOv10 quanto o YOLOv9 podem ser utilizados através da mesma API Python unificada e Interface de Linha de Comando (CLI), simplificando o fluxo de trabalho desde o treinamento até a implantaçã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

Escolher Ultralytics para seus projetos de visão computacional oferece vários benefícios além da arquitetura do modelo:

  • Facilidade de Uso: A API amigável permite que você alterne entre YOLOv9, YOLOv10 e outros modelos como YOLO11 simplesmente alterando o nome do arquivo de pesos.
  • Equilíbrio de Desempenho: As implementações Ultralytics são otimizadas para o desempenho no mundo real, equilibrando velocidade e precisão.
  • Eficiência do Treinamento: A estrutura suporta recursos como precisão mista automática (AMP) e treinamento multi-GPU, facilitando o treinamento de modelos personalizados em seus próprios datasets.
  • Requisitos de Memória: Os modelos Ultralytics tipicamente exibem um menor uso de memória comparado com alternativas baseadas em transformers, facilitando o treino em GPUs de nível consumidor.

Conclusão

Tanto o YOLOv10 quanto o YOLOv9 representam marcos significativos na detecção de objetos. O YOLOv10 é o claro vencedor para aplicações que priorizam velocidade e eficiência, graças à sua arquitetura inovadora sem NMS. Por outro lado, o 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 desenvolvedores que buscam a solução mais recente e versátil, também recomendamos explorar o YOLO11. YOLO11 se baseia nos pontos fortes de seus antecessores, oferecendo um equilíbrio refinado de velocidade, precisão e recursos para tarefas de detecçã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 detector baseado em transformer para aplicações de alta precisão.

Comentários