Ir para o conteúdo

YOLO . PP-YOLOE+: uma análise técnica aprofundada sobre a deteção de objetos industriais

Na arena competitiva da detecção de objetos em tempo real, dois modelos surgiram como marcos significativos para a aplicação industrial: YOLO, desenvolvido pelo Alibaba Group, e o PP-YOLOE+, o detector principal PaddlePaddle da Baidu. Ambas as arquiteturas priorizam o equilíbrio entre velocidade de inferência e precisão de detecção, mas alcançam esses objetivos por meio de filosofias de engenharia muito diferentes.

Este guia completo analisa as inovações arquitetónicas, compara os indicadores de desempenho e apresenta Ultralytics , um modelo de última geração que redefine os padrões de facilidade de utilização e implementação de ponta.

Visão Geral do DAMO-YOLO

YOLO Distillation-Augmented MOdel) foi introduzido para ampliar os limites de desempenho, aproveitando o design automatizado da arquitetura e técnicas avançadas de treinamento.

Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
Organização:Alibaba Group
Data: 23 de novembro de 2022
Arxiv:YOLO
GitHub:YOLO

Inovações Arquiteturais

YOLO do design manual tradicional ao incorporar a Pesquisa de Arquitetura Neural (NAS). Os seus componentes principais incluem:

  • MAE-NAS Backbone: A estrutura backbone é descoberta automaticamente usando o Método de Arestas Auxiliares (MAE-NAS) para maximizar a taxa de transferência sob restrições específicas de latência.
  • RepGFPN: Um design heavyneck baseado na Generalized Feature Pyramid Network (GFPN). Utiliza dimensões de canal variáveis em todos os níveis de escala para otimizar a fusão de características sem o elevado custo computacional das BiFPNs típicas.
  • ZeroHead: Um cabeçote de detecção leve que minimiza a complexidade das camadas finais de previsão, economizando milissegundos críticos durante a inferência.
  • AlignedOTA: Uma estratégia aprimorada de atribuição de rótulos que resolve problemas de desalinhamento entre tarefas de classificação e regressão durante o treinamento.

Forças e Fraquezas

O principal ponto forte doYOLO o seu design orientado para a latência. Ao utilizar NAS, ele extrai a máxima precisão de um orçamento computacional específico. No entanto, essa complexidade pode ser uma faca de dois gumes; a arquitetura baseada em NAS pode ser difícil de modificar ou ajustar para conjuntos de dados personalizados em comparação com arquiteturas projetadas manualmente. Além disso, a sua dependência da destilação (onde um grande modelo professor orienta o aluno) adiciona complexidade ao pipeline de treino.

Visão Geral do PP-YOLOE+

O PP-YOLOE+ é a versão evoluída do PP-YOLOE, servindo como a pedra angular do conjunto PaddleDetection. Ele se concentra fortemente na versatilidade de implementação em nuvem e em borda.

Autores: PaddlePaddle
Organização:Baidu
Data: 2 de abril de 2022
Arxiv:Artigo PP-YOLOE
GitHub:PaddlePaddle

Inovações Arquiteturais

O PP-YOLOE+ baseia-se no paradigma sem âncora, enfatizando o refinamento e a estabilidade do treino:

  • CSPRepResStage: A espinha dorsal utiliza uma estrutura CSP (Cross Stage Partial) escalável com blocos residuais reparametrizáveis, permitindo a extração de características complexas durante o treinamento e operações simplificadas durante a inferência.
  • Aprendizagem por alinhamento de tarefas (TAL): Um esquema dinâmico de atribuição de rótulos que alinha explicitamente os pontos de referência com os objetos de referência real com base na pontuação de classificação e IoU Intersection over Union).
  • Eficácia de compressão e excitação (ESE): Um mecanismo de atenção integrado na espinha dorsal para melhorar a representação de características, recalibrando as respostas das características por canal.

Forças e Fraquezas

O PP-YOLOE+ destaca-se na integração do ecossistema. Por fazer parte da PaddlePaddle , ele oferece forte suporte para diversos alvos de implementação, incluindo GPUs do lado do servidor e dispositivos móveis. No entanto, seu desempenho em PyTorch padrão pode ser prejudicado pela necessidade de converter modelos ou adaptar-se à sintaxe específica do PaddlePaddle , o que pode causar atrito para desenvolvedores acostumados ao padrão PyTorch padrão.

Comparação de Desempenho

A tabela a seguir destaca as diferenças de desempenho entre os dois modelos no conjunto COCO .

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
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

Análise

  • Modelos pequenos (Nano/Tiny):YOLO oferece maior precisão (mAP) para as variantes tiny, demonstrando a eficácia da sua estrutura otimizada para NAS em ambientes restritos. No entanto, o PP-YOLOE+t é significativamente menor em número de parâmetros (4,85 milhões contra 8,5 milhões), o que pode ser preferível para dispositivos com restrições extremas de armazenamento.
  • Modelos médios a grandes: À medida que o tamanho do modelo aumenta, o PP-YOLOE+ tende a escalar melhor em termos de precisão, ultrapassandoYOLO categorias média e grande (por exemplo, 52,9 mAP 50,8 mAP grande).
  • Velocidade de inferência:YOLO latência superior em TensorRT para a maioria dos tamanhos, validando a sua pesquisa de arquitetura «latency-first» (latência em primeiro lugar). Por outro lado, o PP-YOLOE+s apresenta uma velocidade surpreendentemente eficiente (2,62 ms), tornando-o um forte concorrente para aplicações específicas em tempo real.

A Vantagem Ultralytics: YOLO26

EnquantoYOLO o PP-YOLOE+ oferecem funcionalidades atraentes para nichos específicos, Ultralytics representa o próximo passo evolutivo na visão computacional, abordando as limitações dos dois antecessores através de mudanças radicais na arquitetura e melhorias na usabilidade.

Saiba mais sobre YOLO26

Por que o YOLO26 é a escolha superior

  1. Design completo NMS: Ao contrário do PP-YOLOE+ e YOLO tradicionais YOLO , que requerem supressão não máxima (NMS) para filtrar caixas sobrepostas, o YOLO26 é nativamente completo. Isso elimina um grande gargalo de implementação, reduzindo a variação de latência e simplificando o processo de exportação para formatos como ONNX e CoreML.
  2. CPU incomparável CPU : otimizado especificamente para computação de ponta, o YOLO26 oferece CPU até 43% mais rápida em comparação com as gerações anteriores. Isso é fundamental para aplicações executadas no Raspberry Pi, telemóveis ou instâncias padrão na nuvem, onde não há GPUs disponíveis.
  3. Estabilidade de treinamento avançado: o YOLO26 incorpora o MuSGD Optimizer, um híbrido de SGD Muon (inspirado no treinamento LLM), garantindo uma convergência mais rápida e execuções de treinamento mais estáveis, mesmo com conjuntos de dados personalizados complexos.
  4. Arquitetura simplificada: a remoção da perda focal de distribuição (DFL) simplifica a estrutura do modelo, aumentando a compatibilidade com dispositivos de ponta de baixa potência e aceleradores que enfrentam dificuldades com funções de perda complexas.
  5. Ecossistema holístico: com a Ultralytics , os utilizadores têm acesso a um pipeline contínuo para gestão de dados, formação em nuvem e implementação com um clique.

Versatilidade além da detecção

Ao contrárioYOLO se concentra principalmente na detecção, o YOLO26 suporta nativamente um espectro completo de tarefas, incluindo segmentação de instâncias, estimativa de pose, OBB (Oriented Bounding Box) e classificação.

Facilidade de Uso

Uma das características marcantes dos Ultralytics é a experiência do programador. EnquantoYOLO o PP-YOLOE+ podem exigir ficheiros de configuração complexos ou conhecimentos específicos da estrutura, o YOLO26 pode ser implementado com apenas algumas linhas de código.

from ultralytics import YOLO

# Load the latest YOLO26 nano model
model = YOLO("yolo26n.pt")

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

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

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

Casos de Uso no Mundo Real

  • Varejo inteligente: use a velocidade do YOLO26 para monitorar o estoque das prateleiras em tempo real sem GPU caro.
  • Agricultura: Aproveite as funções ProgLoss + STAL para melhorar o reconhecimento de pequenos objetos, essencial para detectar pragas ou contar colheitas em imagens de drones.
  • Fabricação: Implemente modelos NMS para controlo de qualidade em alta velocidade em linhas de montagem onde a latência consistente é imprescindível.

Conclusão

A escolha do modelo certo depende das suas restrições específicas. YOLO é uma excelente opção para pesquisas em arquiteturas NAS e cenários que priorizam metas específicas TensorRT . O PP-YOLOE+ é uma opção robusta para aqueles que estão profundamente integrados ao ecossistema Baidu e exigem alta precisão em hardware de nível de servidor.

No entanto, para a grande maioria dos programadores e empresas que procuram uma solução preparada para o futuro, fácil de usar e altamente versátil, Ultralytics destaca-se. O seu design completo, CPU superior CPU e o apoio de uma comunidade open-source dinâmica tornam-no a escolha definitiva para aplicações modernas de visão computacional.

Para utilizadores interessados em outras opções de última geração, explore YOLO11 ou o RT-DETR na Ultralytics da Ultralytics .


Comentários