Ir para o conteúdo

YOLO vs. YOLOv10: Um mergulho profundo na evolução da deteção de objectos

A seleção do modelo de deteção de objectos correto é uma decisão fundamental que tem impacto em tudo, desde os custos de implementação à experiência do utilizador. Esta comparação técnica explora as diferenças entre o YOLO, um modelo orientado para a investigação do Alibaba Group, e o YOLOv10, o mais recente detetor de ponta a ponta em tempo real desenvolvido por pesquisadores da Universidade de Tsinghua e integrado ao ecossistema Ultralytics .

Embora ambos os modelos visem otimizar a relação entre velocidade e precisão, empregam estratégias de arquitetura muito diferentes. Esta análise analisa as suas especificações técnicas, métricas de desempenho e casos de utilização ideais para o ajudar a navegar no complexo panorama da visão por computador.

Métricas de Desempenho

A tabela abaixo apresenta uma comparação direta da eficiência e da precisão no conjunto de dadosCOCO . As principais conclusões incluem a eficiência dos parâmetros e as velocidades de inferência, em que YOLOv10 demonstra vantagens significativas devido à sua conceção NMS.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
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

YOLO: Inovação orientada para a investigação

Lançado no final de 2022, o YOLO representa um esforço significativo do Grupo Alibaba para ultrapassar os limites dos detectores YOLO através de uma pesquisa avançada de arquitetura neural e de novas técnicas de fusão de caraterísticas.

Detalhes técnicos:
Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, et al.
Organização:Alibaba Group
Data: 2022-11-23
Arxiv:https://arxiv.org/abs/2211.15444v2
GitHubYOLO

Saiba mais sobre o DAMO-YOLO.

Arquitetura e Principais Características

A YOLO integra vários conceitos de vanguarda para atingir o seu desempenho:

  1. Pesquisa de Arquitetura Neural (NAS): Ao contrário dos modelos com backbones projetados manualmente, o YOLO utiliza o MAE-NAS para descobrir automaticamente estruturas de rede eficientes, otimizando a profundidade e a largura da rede para restrições específicas de hardware.
  2. RepGFPN Neck: Esta rede de pirâmide de caraterísticas utiliza a re-parametrização para gerir a fusão de caraterísticas de forma eficiente. Permite estruturas complexas de tempo de treino que se colapsam em blocos mais simples de tempo de inferência, mantendo a precisão e aumentando a velocidade.
  3. ZeroHead & AlignedOTA: O modelo utiliza uma conceção "ZeroHead" para reduzir a complexidade da cabeça de deteção e emprega AlignedOTA (Optimal Transport Assignment) para tratar da atribuição de etiquetas durante a formação, resolvendo problemas de desalinhamento entre as tarefas de classificação e regressão.

Considerações sobre a complexidade

Embora o YOLO apresente inovações impressionantes, a sua dependência do NAS e de componentes especializados pode tornar o pipeline de formação mais complexo e menos acessível para os programadores que necessitam de uma rápida personalização ou implementação em hardware variado sem afinação extensiva.

Forças e Fraquezas

  • Pontos fortes: A YOLO oferece uma grande precisão, particularmente para a sua hora de lançamento, e introduziu novos conceitos como o melhoramento da destilação para modelos mais pequenos.
  • Pontos fracos: O ecossistema em torno da YOLO está principalmente ligado à estrutura MMDetection, que pode apresentar uma curva de aprendizagem mais acentuada em comparação com o ecossistemaUltralytics de fácil utilização. Além disso, ele requer o pós-processamento tradicional NMS , o que aumenta a latência.

YOLOv10: A era da deteção em tempo real de ponta a ponta

YOLOv10, lançado em maio de 2024 por investigadores da Universidade de Tsinghua, representa uma mudança de paradigma na linhagem YOLO . Ao eliminar a necessidade de Supressão Não MáximaNMS), ele atinge um verdadeiro desempenho de ponta a ponta, reduzindo significativamente a latência de inferência.

Detalhes técnicos:
Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
Organização:Universidade de Tsinghua
Data: 2024-05-23
Arxiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docsultralytics


Saiba mais sobre o YOLOv10

Arquitetura e Inovações

YOLOv10 centra-se na eficiência holística, visando tanto a arquitetura como a cadeia de pós-processamento:

  1. DesignNMS: Através de uma estratégia chamada Atribuições duplas consistentes, YOLOv10 treina com atribuições de rótulos um-para-muitos e um-para-um. Isso permite que o modelo preveja uma única melhor caixa para cada objeto durante a inferência, tornando NMS obsoleto. Esta é uma vantagem crítica para a inferência em tempo real, onde o pós-processamento pode muitas vezes tornar-se um gargalo.
  2. Conceção holística de eficiência e precisão: A arquitetura apresenta uma cabeça de classificação leve e uma redução da amostragem desacoplada de canais espaciais. Essas otimizações reduzem a redundância computacional, levando a FLOPs e contagens de parâmetros menores em comparação com as gerações anteriores.
  3. Conceção de blocos orientada para a classificação: O modelo adapta a sua conceção de blocos internos com base na redundância de diferentes fases, utilizando blocos invertidos compactos (CIB) onde é necessária eficiência e auto-atenção parcial (PSA) onde o aumento das caraterísticas é crítico.

Facilidade de utilização com o Ultralytics

Uma das vantagens mais significativas do YOLOv10 é a sua integração perfeita no ecossistemaUltralytics . Os programadores podem treinar, validar e implementar YOLOv10 utilizando a mesma API simples utilizada para o YOLOv8 e YOLO11.

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

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

# Run inference on an image
results = model("path/to/image.jpg")

Análise comparativa

Ao comparar a YOLO e YOLOv10, a distinção reside na sua abordagem à eficiência e no seu ecossistema operacional.

Velocidade e latência

YOLOv10 tem uma vantagem distinta na latência do mundo real. Os modelos YOLO padrão (e YOLO) requerem Supressão Não Máxima (NMS) para filtrar caixas delimitadoras sobrepostas. O tempo de execução NMS varia com o número de objectos detectados, causando uma latência imprevisível. O design de ponta a ponta do YOLOv10 proporciona uma latência determinística, tornando-o superior para aplicações de tempo crítico como a condução autónoma ou a robótica industrial de alta velocidade.

Eficiência dos recursos

Como mostra a tabela de desempenho, o YOLOv10s atinge um mAP mais elevado (46,7%) do que o YOLO (46,0%), utilizando menos de metade dos parâmetros (7,2M vs 16,3M). Este espaço de memória reduzido é crucial para a implantação na periferia. Os modelos Ultralytics são conhecidos pelos seus requisitos de memória mais baixos durante o treino e a inferência, permitindo o treino em GPUs de consumo onde outras arquitecturas podem ter dificuldades com erros Out-Of-Memory (OOM).

Ecossistema e apoio

Enquanto o YOLO é uma contribuição académica robusta, YOLOv10 beneficia do ecossistema Ultralytics bem mantido. Isso inclui:

  • Desenvolvimento ativo: Actualizações frequentes e correcções de erros.
  • Suporte da comunidade: Uma enorme comunidade de programadores no GitHub e no Discord.
  • Documentação: Documentação extensa que abrange tudo, desde o aumento de dados até à implementação.
  • Eficiência de treino: Rotinas simplificadas que suportam funcionalidades como a precisão mista automática (AMP) e o treino GPU de imediato.

Para além da deteção

Se o seu projeto requer versatilidade para além das caixas delimitadoras - como a segmentação de instâncias, a estimativa de pose ou a deteção orientada de objectos (OBB)- considere explorar YOLO11 ou o YOLOv8. Enquanto YOLOv10 se destaca na deteção pura, a família Ultralytics mais ampla oferece soluções de ponta para essas necessidades complexas de multitarefa.

Casos de Uso Ideais

Quando escolher YOLOv10

  • IA de ponta e IoT: A baixa contagem de parâmetros (por exemplo, YOLOv10n com 2,3M params) torna-o perfeito para dispositivos como Raspberry Pi ou NVIDIA Jetson.
  • Análise de vídeo em tempo real: A eliminação do NMS assegura taxas de fotogramas consistentes, essenciais para a monitorização do tráfego ou feeds de segurança.
  • Desenvolvimento rápido: As equipas que precisam de passar rapidamente dos dados para a implementação beneficiarão do sistema intuitivo ultralytics API Python e Ultralytics HUB.

Quando considerar DAMO-YOLO

  • Investigação académica: Os investigadores que estudam a Pesquisa de Arquitetura Neural (NAS) ou a otimização de pirâmides de caraterísticas podem considerar a arquitetura do YOLO uma referência valiosa.
  • Pipelines antigos: Os projectos já profundamente integrados na estrutura MMDetection podem achar mais fácil adotar a YOLO do que mudar de estrutura.

Conclusão

Ambos os modelos representam marcos significativos na visão computacional. O YOLO demonstrou o poder do NAS e da fusão avançada de caraterísticas em 2022. No entanto, para aplicações modernas em 2024 e posteriormente, YOLOv10 oferece um pacote mais atraente. Sua arquitetura de ponta a ponta NMS resolve um gargalo de longa data na deteção de objetos, enquanto sua integração ao ecossistema Ultralytics garante que seja acessível, sustentável e fácil de implantar.

Para os programadores que procuram o melhor equilíbrio entre velocidade, precisão e facilidade de utilização, YOLOv10o versátil YOLO11-é a melhor escolha para criar soluções de IA robustas.


Comentários