PP-YOLOE+ vs. YOLOv7: Um mergulho técnico profundo nas arquitecturas de deteção de objectos
A escolha do melhor modelo de deteção de objectos envolve o equilíbrio entre precisão, velocidade de inferência e complexidade de implementação. Dois concorrentes importantes neste cenário são o PP-YOLOE+ e o YOLOv7ambos lançados em 2022 com o objetivo de melhorar o desempenho do estado da arte. Esta análise abrangente explora suas arquiteturas exclusivas, benchmarks e adequação para aplicativos do mundo real, ajudando os desenvolvedores a tomar decisões baseadas em dados.
Comparação de métricas de desempenho
A tabela seguinte apresenta uma comparação direta das principais métricas de desempenho, incluindo a precisão média (mAP) e as velocidades de inferência no hardware suportado. Estes dados ajudam a visualizar as compensações entre a abordagem sem âncoras do PP-YOLOE+ e a arquitetura optimizada do YOLOv7.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
PP-YOLOE+: Deteção refinada sem âncora
O PP-YOLOE+ é uma evolução da série YOLO , desenvolvida por investigadores da Baidu. Baseia-se nos pontos fortes do seu antecessor, o PP-YOLOE, introduzindo melhorias no processo de formação e na arquitetura para melhorar ainda mais a velocidade de convergência e o desempenho das tarefas a jusante. Como detetor sem âncoras, elimina a necessidade de caixas de âncoras predefinidas, simplificando o design e reduzindo a afinação de hiperparâmetros.
- Autores: Autores do PaddlePaddle
- Organização:Baidu
- Data: 2022-04-02
- ArXiv:https://arxiv.org/abs/2203.16250
- GitHub:https://github.com/PaddlePaddle/PaddleDetection/
- Documentos:README da PaddleDetection
Destaques arquitectónicos
A arquitetura do PP-YOLOE+ apresenta uma espinha dorsal CSPResNet equipada com campos receptivos variados para captar eficazmente caraterísticas a várias escalas. Uma inovação fundamental é a Efficient Task-aligned Head (ET-head), que separa as tarefas de classificação e regressão, assegurando simultaneamente o seu alinhamento através de uma função de perda específica.
O PP-YOLOE+ utiliza a Aprendizagem de Alinhamento de Tarefas (TAL), uma estratégia de atribuição de etiquetas que seleciona dinamicamente amostras positivas com base no alinhamento da qualidade de classificação e localização. Isto garante que o modelo se concentra em previsões de alta qualidade durante o treino. Além disso, o modelo emprega uma estratégia de treinamento distribuída e evita o uso de operadores não-padrão, facilitando a implantação em várias plataformas de hardware suportadas pelo ecossistema PaddlePaddle .
Caraterística principal: Design sem âncoras
Ao remover as caixas de ancoragem, o PP-YOLOE+ reduz a complexidade associada aos passos de agrupamento e correspondência de ancoragem. Isto conduz frequentemente a uma melhor generalização em diversos conjuntos de dados em que os objectos podem ter rácios de aspeto extremos.
YOLOv7: optimizado para velocidade em tempo real
YOLOv7 estabeleceu uma nova referência para a deteção de objectos em tempo real após o seu lançamento, concentrando-se fortemente na eficiência arquitetónica e nos métodos "bag-of-freebies" - técnicas que aumentam a precisão sem aumentar o custo de inferência. Foi concebido para superar os modelos anteriores de última geração, como o YOLOR e YOLOv5 , tanto em termos de velocidade como de precisão.
- Autores: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organização:Instituto de Ciência da Informação, Academia Sinica, Taiwan
- Data: 2022-07-06
- ArXiv:https://arxiv.org/abs/2207.02696
- GitHub:https://github.com/WongKinYiu/yolov7
- Documentos:DocumentaçãoUltralytics YOLOv7
Inovações arquitectónicas
YOLOv7 introduziu a Rede de Agregação de Camadas Eficiente Alargada (E-ELAN). Esta conceção de espinha dorsal permite que a rede aprenda caraterísticas mais diversas, controlando os caminhos gradientes mais curtos e mais longos, melhorando a capacidade de aprendizagem sem destruir o caminho gradiente original.
Outra contribuição significativa é a utilização da re-parametrização do modelo. Durante o treinamento, o modelo usa uma estrutura de várias ramificações que é mesclada em uma estrutura de ramificação única mais simples para inferência. Isso permite que YOLOv7 se beneficie de representações ricas de recursos durante o aprendizado, mantendo alta velocidade durante a implantação. O modelo também emprega cabeças auxiliares para treinar redes profundas, usando uma estratégia de atribuição de rótulos guiada por chumbo "grosseiro a fino".
Análise comparativa: Pontos fortes e pontos fracos
Ao decidir entre estes dois modelos poderosos, é essencial considerar os requisitos específicos do seu projeto de visão por computador.
Precisão vs. Velocidade
O PP-YOLOE+ oferece uma gama granular de modelos. O PP-YOLOE+s é altamente eficiente para dispositivos periféricos, enquanto que PP-YOLOE+x alcança mAP de alto nível, embora com taxas de quadros mais baixas. YOLOv7 destaca-se no "ponto ideal" da deteção em tempo real, fornecendo frequentemente FPS mais elevados em hardware GPU para um determinado nível de precisão, em comparação com muitos concorrentes. Para aplicações de alto rendimento como controlo do tráfegoa otimização da inferência do YOLOv7 é vantajosa.
Ecossistema e usabilidade
Uma das principais distinções reside nos seus ecossistemas. O PP-YOLOE+ está profundamente enraizado na estrutura PaddlePaddle . Embora poderoso, pode apresentar uma curva de aprendizagem mais acentuada para equipas habituadas ao PyTorch. YOLOv7 é nativo do PyTorch, tornando-o geralmente mais acessível para a comunidade de pesquisa mais ampla.
No entanto, ambos os modelos podem ser complexos de treinar e afinar em comparação com os padrões modernos. YOLOv7 envolve cálculos complexos de ancoragem e sensibilidade de hiperparâmetros, enquanto o PP-YOLOE+ requer a navegação nas configurações de deteção de pás.
A vantagem Ultralytics : Porquê atualizar?
Embora o PP-YOLOE+ e YOLOv7 sejam excelentes modelos, o domínio da IA evolui rapidamente. Os modelos Ultralytics , como o YOLOv8 e o topo de gama YOLO11representam a próxima geração de IA de visão, abordando muitos dos desafios de usabilidade e eficiência encontrados em arquitecturas anteriores.
Experiência do utilizador e ecossistema superiores
Ultralytics prioriza a facilidade de uso. Ao contrário dos complexos ficheiros de configuração frequentemente exigidos por outras estruturas, os modelos Ultralytics podem ser treinados, validados e implementados com apenas algumas linhas de código Python ou simples comandos CLI .
- API unificada: Alterne entre tarefas como deteção de objectos, segmentação de instâncias, classificação, estimativa de pose e OBB sem problemas.
- Ecossistema bem mantido: Beneficie de actualizações frequentes, de uma comunidade próspera e de uma documentação extensa que ajuda a resolver problemas rapidamente.
- Integração: Suporte nativo para controlo de experiências (MLflow, Comet), gestão de conjuntos de dados e exportação simplificada de modelos para formatos como ONNX, TensorRT e CoreML.
Desempenho e eficiência
Os modelos Ultralytics são concebidos para um equilíbrio ótimo de desempenho. Frequentemente, atingem uma maior precisão do que YOLOv7 com uma menor sobrecarga computacional. Além disso, eles são projetados para serem eficientes em termos de memória, exigindo menos CUDA durante o treinamento em comparação com muitas alternativas baseadas em transformadores ou versões mais antigas YOLO . Essa eficiência de treinamento permite iterações mais rápidas e menores custos de computação em nuvem.
Exemplo de código: Simplicidade em ação
Veja como é simples treinar um modelo Ultralytics moderno em comparação com fluxos de trabalho antigos:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model (recommended for best performance)
model = YOLO("yolo11n.pt")
# Train the model on a dataset (e.g., COCO8)
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
# Export to ONNX format for deployment
model.export(format="onnx")
Preparar os seus projectos para o futuro
A adoção da estrutura Ultralytics garante que não está apenas a utilizar um modelo, mas uma plataforma que evolui. Com suporte para as últimas versões do Python e aceleradores de hardware, reduz a dívida técnica e garante a capacidade de manutenção a longo prazo das suas soluções de IA.
Conclusão
O PP-YOLOE+ continua a ser uma forte escolha para aqueles que investem no ecossistema PaddlePaddle , oferecendo uma arquitetura robusta sem âncoras. YOLOv7 continua a ser uma opção formidável para projectos que requerem um rendimento bruto GPU . No entanto, para os programadores que procuram uma solução versátil, fácil de utilizar e de elevado desempenho que abranja todo o espetro de tarefas de visão por computador, Ultralytics YOLO11 é o caminho recomendado.
Explore Outros Modelos
Amplie os seus conhecimentos sobre o panorama da deteção de objectos com estas comparações: