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 .
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
| PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
| PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
| PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
| PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.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.
Por que o YOLO26 é a escolha superior
- 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.
- 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.
- 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.
- 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.
- 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 .