Ir para o conteúdo

YOLOv10 vs. PP-YOLOE+: Uma comparação técnica exaustiva

A seleção do modelo correto de deteção de objectos é um passo fundamental no desenvolvimento de aplicações eficientes de visão por computador. A escolha envolve frequentemente a ponderação de compromissos entre a velocidade de inferência, a precisão da deteção e as restrições de hardware. Esta comparação técnica analisa YOLOv10um detetor de ponta a ponta em tempo real da Universidade de Tsinghua, e o PP-YOLOE+, um modelo de elevada precisão do ecossistema PaddlePaddle da Baidu. Ambos os modelos introduzem inovações arquitectónicas significativas, mas respondem a diferentes necessidades de implantação e ambientes de desenvolvimento.

YOLOv10: A nova norma para a deteção em tempo real de ponta a ponta

YOLOv10 representa um salto significativo na série YOLO (You Only Look Once), centrando-se na eliminação dos estrangulamentos de desempenho associados ao pós-processamento tradicional. Desenvolvido por investigadores da Universidade de Tsinghua, consegue uma latência mais baixa e uma maior eficiência ao eliminar a necessidade de Supressão Não MáximaNMS).

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

Arquitetura e Principais Características

YOLOv10 introduz uma estratégia de atribuição dupla consistente durante o treino. Este método permite que o modelo preveja uma única melhor caixa para cada objeto durante a inferência, eliminando efetivamente a necessidade de pós-processamentoNMS . Esta conceçãoNMS" reduz significativamente a latência da inferência, especialmente em cenas com grupos de objectos densos.

Os principais avanços arquitectónicos incluem:

  • Conceção holística de eficiência e precisão: O modelo emprega cabeças de classificação leves e redução de amostragem desacoplada de canal espacial para reduzir o custo computacional(FLOPs) sem sacrificar a precisão.
  • Conceção de blocos orientada para a velocidade: Para otimizar o compromisso entre velocidade e precisão, as diferentes fases do modelo utilizam designs de blocos variáveis, reduzindo a redundância em camadas profundas.
  • Convoluções de núcleo grande: A utilização estratégica de convoluções de núcleo grande melhora o campo recetivo, permitindo que o modelo compreenda melhor o contexto e detect pequenos objectos.

Forças e Fraquezas

YOLOv10 foi concebido para uma eficiência máxima, tornando-o uma escolha formidável para aplicações em tempo real.

  • Pontos fortes: A eliminação do NMS leva a velocidades de inferência mais rápidas e determinísticas. Oferece uma eficiência de parâmetros superior, alcançando pontuaçõesmAP elevadas com menos parâmetros do que os antecessores. A sua integração no ecossistema Ultralytics garante que é fácil de treinar e implementar utilizando uma simples APIPython .
  • Pontos fracos: Como detetor de objectos especializado, atualmente concentra-se principalmente na deteção de caixas delimitadoras, enquanto outros modelos do conjunto Ultralytics suportam uma gama mais ampla de tarefas como a segmentação e a estimativa de pose.

Casos de Uso Ideais

  • Robótica autónoma: A natureza de baixa latência do YOLOv10 é fundamental para a robótica, onde são necessárias decisões em fracções de segundo para a navegação e a prevenção de obstáculos.
  • Implementação de IA de ponta: Com variantes tão pequenas como YOLOv10, é perfeitamente adequado para dispositivos de ponta como o NVIDIA Jetson ou o Raspberry Pi.
  • Monitorização do tráfego: A capacidade do modelo para lidar com cenários densos sem sobrecarga de NMS torna-o ideal para a gestão de tráfego em tempo real.

Saiba mais sobre o YOLOv10

PP-YOLOE+: Engenharia de precisão no ecossistema PaddlePaddle

O PP-YOLOE+ é uma evolução da série PP-YOLOE, desenvolvida pela Baidu. Foi concebido como um detetor escalável e sem âncoras que dá prioridade à elevada precisão. Funciona como um modelo de base dentro da gama PaddlePaddle optimizado especificamente para esse ambiente.

Autores: PaddlePaddle Autores
Organização:Baidu
Data: 2022-04-02
ArXiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
DocsPaddlePaddle

Arquitetura e Principais Características

O PP-YOLOE+ adopta uma arquitetura sem âncoras, o que simplifica o espaço de pesquisa de hiperparâmetros em comparação com os predecessores baseados em âncoras.

As principais caraterísticas incluem:

  • Backbone CSPRepResNet: Este backbone combina os benefícios do fluxo gradiente da CSPNet com a eficiência de inferência dos blocos ResNet re-parametrizados.
  • Aprendizagem de alinhamento de tarefas (TAL): Uma estratégia de atribuição de etiquetas especializada que alinha dinamicamente a qualidade da classificação de âncoras com a precisão da localização.
  • Cabeça eficiente alinhada com a tarefa (ET-Head): Uma cabeça de deteção desacoplada que processa as caraterísticas de classificação e localização de forma independente para evitar conflitos.

Forças e Fraquezas

O PP-YOLOE+ é um modelo robusto, mas tem dependências que podem afetar a sua adoção.

  • Pontos fortes: Apresenta uma excelente precisão em parâmetros de referência como COCOparticularmente nas suas configurações maiores (L e X). É altamente optimizado para hardware suportado pelo motor de inferência PaddlePaddle .
  • Pontos fracos: A principal limitação é a sua dependência do ecossistema PaddlePaddle . Para desenvolvedores acostumados com o PyTorcha migração para o PP-YOLOE+ envolve uma curva de aprendizagem mais acentuada e um potencial atrito na integração de ferramentas. Além disso, a sua contagem de parâmetros é significativamente superior à YOLOv10 para uma precisão comparável, levando a uma maior utilização de memória.

Casos de Uso Ideais

  • Inspeção industrial: A elevada precisão torna-o adequado para a deteção de defeitos mínimos no fabrico.
  • Análise de retalho: Eficaz para contagem de inventário e reconhecimento de produtos em ambientes de retalho inteligentes.
  • Seleção de materiais: Utilizado em instalações de reciclagem para a triagem automática de diversos materiais.

Saiba mais sobre o PP-YOLOE+.

Análise de desempenho: Eficiência vs. Precisão

Ao comparar as métricas técnicas, YOLOv10 demonstra uma clara vantagem em termos de eficiência. Atinge uma precisão comparável ou superiormAP), utilizando significativamente menos parâmetros e recursos computacionais (FLOPs).

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
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59

Principais Conclusões

  • Eficiência: O YOLOv10l alcança um mAP mais elevado (53,3%) do que o PP-YOLOE+l (52,9%), utilizando quase 44% menos parâmetros. Isto torna YOLOv10 significativamente mais leve para armazenar e mais rápido para carregar.
  • Velocidade: O design NMS do YOLOv10 traduz-se numa latência mais baixa em toda a linha. Por exemplo, o YOLOv10n é excecionalmente rápido, com 1,56 ms, o que o torna superior para análise de vídeo de alta velocidade.
  • Escalabilidade: Embora o PP-YOLOE+x tenha uma ligeira vantagem no mAP bruto (0,3% superior), requer quase o dobro dos parâmetros (98,42M vs. 56,9M) e FLOPs em comparação com o YOLOv10x.

Eficiência da memória

Os modelos Ultralytics , como o YOLOv10 e YOLO11 , apresentam normalmente requisitos de memória mais baixos durante a formação e a inferência, em comparação com arquitecturas mais antigas ou modelos baseados em transformadores pesados. Essa eficiência permite tamanhos de lote maiores e ciclos de treinamento mais rápidos em hardware GPU padrão.

A vantagem Ultralytics

Embora ambos os modelos sejam capazes, a escolha de um modelo no âmbito do ecossistemaUltralytics - comoo YOLOv10 ou o modelo topo de gama YOLO11-oferece vantagens distintas para os programadores.

  1. Facilidade de utilização: AAPIPython Ultralytics abstrai o código complexo. É possível treinar, validar e implantar um modelo com apenas algumas linhas de Python.
  2. Ecossistema bem mantido: Os utilizadores beneficiam de actualizações frequentes, de uma comunidade vibrante no GitHub e de integrações perfeitas com ferramentas MLOps como o Ultralytics HUB e o Weights & Biases.
  3. Versatilidade: Para além da deteção de objectos padrão, as estruturas Ultralytics suportam a segmentação de instâncias, a classificação de imagens, a estimativa de pose e a deteção de caixas delimitadoras orientadas (OBB), oferecendo uma solução unificada para diversas tarefas de visão computacional.

Exemplo de código: Executando YOLOv10 com Ultralytics

A integração do YOLOv10 no seu fluxo de trabalho é simples com a biblioteca Ultralytics :

from ultralytics import YOLO

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

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

# Display the results
results[0].show()

Conclusão

Na comparação entre YOLOv10 e o PP-YOLOE+, YOLOv10 surge como a escolha superior para a maioria das aplicações de visão computacional de uso geral. A sua arquiteturaNMS resolve um estrangulamento de longa data na latência da deteção de objectos, e a sua utilização altamente eficiente de parâmetros torna-o acessível para implantação numa gama mais vasta de hardware, desde dispositivos de ponta a servidores na nuvem.

O PP-YOLOE+ continua a ser um forte concorrente para os utilizadores estritamente ligados à estrutura PaddlePaddle ou para aqueles que dão prioridade a ganhos marginais de precisão em detrimento da eficiência computacional. No entanto, para os programadores que procuram um equilíbrio entre velocidade, precisão e facilidade de utilização, YOLOv10o ecossistema Ultralytics mais alargado - oferece um caminho mais preparado para o futuro e mais amigo do programador.

Explore Outros Modelos

Se estiver interessado em explorar mais opções dentro do ecossistema Ultralytics , considere verificar estas comparações:

  • YOLO11 vs. YOLOv10: Veja como o mais recente modelo topo de gama se compara ao YOLOv10, centrado na eficiência.
  • YOLOv10 vs. RT-DETR: Comparar transformadores em tempo real com arquitecturas YOLO baseadas em CNN.
  • YOLOv8 vs. PP-YOLOE+: Analisar o desempenho do YOLOv8 , amplamente adotado, em comparação com o modelo do Baidu.

Comentários