Ir para o conteúdo

YOLOv9 YOLO10: uma análise técnica aprofundada sobre a evolução da deteção de objetos

O panorama da deteção de objetos em tempo real evoluiu rapidamente, com o lançamento de duas arquiteturas significativas em 2024: YOLOv9 e YOLOv10. Embora ambos os modelos tenham como objetivo ampliar os limites da precisão e da eficiência, eles alcançam isso por meio de filosofias arquitetónicas fundamentalmente diferentes. YOLOv9 em maximizar a retenção de informações nas profundezas da rede, enquanto YOLOv10 o pipeline de implementação, eliminando a necessidade de supressão não máxima (NMS).

Este guia fornece uma comparação técnica abrangente para ajudar investigadores e engenheiros a escolher a ferramenta certa para as suas aplicações específicas de visão computacional.

YOLOv9: Informação de Gradiente Programável

Lançado em fevereiro de 2024 por Chien-Yao Wang e Hong-Yuan Mark Liao (a equipa por trás do YOLOv4 e YOLOv7), YOLOv9 o problema do «gargalo de informação» inerente às redes neurais profundas. À medida que os dados passam por camadas sucessivas, os dados de entrada são frequentemente perdidos, prejudicando a capacidade do modelo de aprender características específicas.

Para combater isso, YOLOv9 o PGI (Programmable Gradient Information) e a arquitetura GELAN (Generalized Efficient Layer Aggregation Network). O PGI fornece um ramo de supervisão auxiliar que garante que o ramo principal retenha informações críticas durante o treinamento, enquanto o GELAN otimiza a utilização de parâmetros para um melhor planeamento do caminho do gradiente.

Saiba mais sobre o YOLOv9

YOLOv10: Detecção End-to-End em Tempo Real

Lançado pouco depois, em maio de 2024, por investigadores da Universidade de Tsinghua, YOLOv10 uma mudança significativa no YOLO . Historicamente, YOLO dependiam do NMS para filtrar caixas delimitadoras sobrepostas. YOLOv10 uma estratégia de atribuição dupla consistente durante o treinamento — usando atribuição um-para-muitos para supervisão rica e atribuição um-para-um para inferência — permitindo que o modelo se torne nativamente NMS.

Essa mudança arquitetónica reduz a latência de inferência e simplifica os pipelines de implementação, tornando-a particularmente atraente para a computação de ponta, onde CPU são preciosos.

Saiba mais sobre o YOLOv10

Comparação de Desempenho

Ao comparar essas duas arquiteturas, analisamos as compensações entre a capacidade bruta de detecção (mAP) e a eficiência de inferência (latência e FLOPs).

Análise de Métricas

A tabela a seguir destaca as métricas de desempenho no COCO . Embora o YOLOv9e demonstre precisão superior para tarefas complexas, YOLOv10 geralmente oferecem menor latência devido à remoção da NMS .

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
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
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

Principais Conclusões

  1. Latência vs. Precisão: O YOLOv10n atinge um mAP 39,5%) mais alto do que o YOLOv9t (38,3%), ao mesmo tempo que funciona significativamente mais rápido em GPU (1,56 ms vs 2,3 ms). Isso torna a arquitetura v10 altamente eficiente para implementações em pequena escala.
  2. Precisão de alto nível: para cenários de pesquisa em que cada ponto percentual de precisão é importante, o YOLOv9e continua sendo uma potência com 55,6% mAP, utilizando suas informações de gradiente programáveis para extrair características sutis que outros modelos podem deixar passar.
  3. Eficiência: YOLOv10 na eficiência de FLOPs. O YOLOv10s requer apenas 21,6 G FLOPs, em comparação com 26,4 G para o YOLOv9s, o que se traduz em menor consumo de energia em dispositivos operados por bateria.

Considerações de Hardware

Se estiver a implementar em CPUs (como processadores Intel ) ou hardware de ponta especializado (Raspberry Pi, Jetson), o design NMS YOLOv10 geralmente resulta num pipeline mais suave, pois remove o tempo de processamento não determinístico das etapas de pós-processamento.

Treinamento e Ecossistema

Uma das maiores vantagens de usar Ultralytics é o ecossistema unificado. Quer escolha YOLOv9 YOLOv10, os fluxos de trabalho de formação, validação e exportação permanecem idênticos. Essa consistência reduz drasticamente a curva de aprendizagem para os programadores.

A Vantagem Ultralytics

  • Facilidade de Uso: Python simples permite trocar arquiteturas alterando uma única string (por exemplo, de yolov9c.pt para yolov10m.pt).
  • Ecossistema Bem-Mantido: A Ultralytics fornece atualizações frequentes, garantindo compatibilidade com as versões mais recentes do PyTorch e drivers CUDA.
  • Requisitos de memória: Ao contrário de muitos modelos baseados em transformadores que sofrem com o aumento excessivo da memória, Ultralytics são otimizadas para a eficiênciaGPU . Isso permite tamanhos de lote maiores em hardware de nível consumidor.

Exemplo de Treinamento

Treinar qualquer um dos modelos em um conjunto de dados personalizado é muito simples. A estrutura lida automaticamente com o aumento de dados, o armazenamento em cache e o registo de métricas.

from ultralytics import YOLO

# Load a model (Swap "yolov10n.pt" for "yolov9c.pt" to switch architectures)
model = YOLO("yolov10n.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Validate the model's performance
model.val()

# Export to ONNX for deployment
model.export(format="onnx")

Casos de Uso Ideais

Quando Escolher YOLOv9

YOLOv9 a escolha preferida para cenários que exigem alta fidelidade de recursos. A sua arquitetura GELAN é robusta contra perda de informações, tornando-o ideal para:

  • Imagiologia médica: detetar pequenos tumores ou anomalias em que a falta de uma característica é crítica. Consulte o nosso guia sobre IA na área da saúde.
  • Detecção de pequenos objetos: Cenários envolvendo imagens aéreas ou vigilância à distância, nos quais os objetos ocupam muito poucos pixels.
  • Referências de pesquisa: Ao comparar com arquiteturas de última geração do início de 2024.

Quando Escolher YOLOv10

YOLOv10 concebido para oferecer velocidade e simplicidade de implementação. A remoção do NMS um forte candidato para:

  • Computação de borda: Executada em dispositivos como o Raspberry Pi ou telemóveis, onde CPU proveniente do pós-processamento causa gargalos.
  • Robótica em tempo real: aplicações que exigem ciclos de feedback consistentes e de baixa latência, como navegação autónoma.
  • Pipelines complexos: sistemas em que a saída do detetor é alimentada em algoritmos de rastreamento; a saída NMS simplifica a lógica para tarefas a jusante.

Olhando para o Futuro: O Poder do YOLO26

Embora YOLOv9 YOLOv10 modelos excelentes, o campo da IA evolui rapidamente. Para novos projetos com início em 2026, recomendamos vivamente a avaliação do YOLO26.

Lançado em janeiro de 2026, o YOLO26 baseia-se na inovação NMS do YOLOv10 introduz melhorias significativas na arquitetura:

  1. NMS de ponta a ponta: Assim como a v10, a YOLO26 é nativamente de ponta a ponta, mas com otimizações adicionais no cabeçote de detecção para uma precisão ainda maior.
  2. Otimizador MuSGD: Um híbrido de SGD Muon (inspirado no treinamento LLM), este otimizador traz a estabilidade do treinamento do Large Language Model para a visão computacional, garantindo uma convergência mais rápida.
  3. Remoção de DFL: Ao remover a perda focal de distribuição, o YOLO26 simplifica o gráfico de exportação, tornando significativamente mais fácil a implementação em dispositivos com restrições de NPU.
  4. ProgLoss + STAL: Novas funções de perda especificamente ajustadas para melhorar o reconhecimento de pequenos objetos, abordando uma fraqueza comum em detetores em tempo real.
  5. Desempenho: Otimizado especificamente para computação de ponta, o YOLO26 oferece CPU até 43% mais rápida em comparação com as gerações anteriores.

Saiba mais sobre YOLO26

Além disso, o YOLO26 não é apenas um detetor; inclui melhorias especializadas para estimativa de pose (usando RLE), segmentação de instâncias e tarefas de Oriented Bounding Box (OBB), tornando-o a ferramenta mais versátil do Ultralytics .

Conclusão

Tanto YOLOv9 YOLOv10 grandes avanços na visão computacional. YOLOv9 que as redes profundas poderiam se tornar mais eficientes sem perder informações, enquanto YOLOv10 que a dependência de décadas do NMS ser quebrada.

Para os programadores de hoje, a escolha depende em grande parte das suas restrições de implementação. Se necessitar da mais alta precisão em dados difíceis, o YOLOv9e é um forte candidato. Se a latência e a simplicidade de implementação forem fundamentais, YOLOv10 excelente. No entanto, para o melhor equilíbrio entre velocidade, precisão e funcionalidades preparadas para o futuro, o YOLO26 é a recomendação de última geração atual para os utilizadores Ultralytics .


Comentários