PP-YOLOE+ vs. YOLOv9: Uma comparação técnica
A seleção da arquitetura ideal para projectos de visão por computador requer a navegação num cenário de modelos em rápida evolução. Esta página apresenta uma comparação técnica pormenorizada entre o PP-YOLOE+ da Baidu e o YOLOv9da Baidu, dois sofisticados detectores de objectos de fase única. Analisamos as suas inovações arquitectónicas, métricas de desempenho e integração no ecossistema para o ajudar a tomar uma decisão informada. Embora ambos os modelos demonstrem altas capacidades, eles representam filosofias de design e dependências de estrutura distintas.
PP-YOLOE+: Alta Precisão Dentro do Ecossistema PaddlePaddle
O PP-YOLOE+ é uma versão evoluída do PP-YOLOE, desenvolvida pela Baidu como parte do conjunto PaddleDetection. Foi concebida para proporcionar um equilíbrio entre a precisão e a velocidade de inferência, especificamente optimizada para o PaddlePaddle especificamente optimizado para a estrutura de aprendizagem profunda do PaddlePaddle.
Autores: PaddlePaddle Authors
Organization:Baidu
Date: 2022-04-02
Arxiv:https://arxiv.org/abs/2203.16250
GitHubPaddlePaddle
Docs:PaddleDetection PP-YOLOE+ README
Arquitetura e Principais Características
O PP-YOLOE+ funciona como um detetor de fase única, sem âncoras. Baseia-se na espinha dorsal do CSPRepResNet e utiliza uma estratégia de Aprendizagem de Alinhamento de Tarefas (TAL) para melhorar o alinhamento entre as tarefas de classificação e localização. Uma caraterística fundamental é a Cabeça Alinhada por Tarefas Eficiente (ET-Head), que reduz a sobrecarga computacional, mantendo a precisão. O modelo utiliza uma função de perda varifocal para lidar com o desequilíbrio de classes durante o treino.
Forças e Fraquezas
A principal força do PP-YOLOE+ reside na sua otimização para a pilha de hardware e software da Baidu. Oferece modelos escaláveis (s, m, l, x) que têm um bom desempenho em benchmarks de deteção de objectos padrão.
No entanto, a sua forte dependência do ecossistema PaddlePaddle representa um obstáculo significativo para a comunidade de IA mais alargada, que favorece largamente o PyTorch. A migração de fluxos de trabalho existentes PyTorch para o PaddlePaddle pode consumir muitos recursos. Além disso, em comparação com as arquitecturas mais recentes, o PP-YOLOE+ requer mais parâmetros para atingir uma precisão semelhante, afectando o armazenamento e a memória em dispositivos limitados.
YOLOv9: Informação de gradiente programável para uma aprendizagem melhorada
Ultralytics YOLOv9 introduz uma mudança de paradigma na deteção de objectos em tempo real ao resolver o problema do "estrangulamento da informação" inerente às redes neurais profundas.
Autores: Chien-Yao Wang e Hong-Yuan Mark Liao
Organização:Institute of Information Science, Academia Sinica, Taiwan
Data: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
Documentaçãoultralytics
Arquitetura e Principais Características
YOLOv9 integra dois conceitos inovadores: Programmable Gradient Information (PGI) e a Generalized Efficient Layer Aggregation Network (GELAN).
- PGI: À medida que as redes se aprofundam, as informações dos dados de entrada são frequentemente perdidas durante o processo de alimentação. O PGI fornece um ramo de supervisão auxiliar que assegura a geração fiável de gradientes, permitindo que o modelo se "lembre" de caraterísticas cruciais para tarefas de rastreio e deteção de objectos sem adicionar custos de inferência.
- GELAN: Esta conceção arquitetónica optimiza a eficiência dos parâmetros, permitindo que o modelo atinja uma maior precisão com menos recursos computacionais (FLOPs) em comparação com os backbones convencionais que utilizam a convolução em profundidade.
Sabia que?
A técnica PGI do YOLOv9 resolve o problema do estrangulamento da informação que anteriormente exigia métodos pesados de supervisão profunda. Isto resulta em modelos que são simultaneamente mais leves e mais precisos, melhorando significativamente o equilíbrio do desempenho.
Forças e Fraquezas
YOLOv9 destaca-se pela eficiência do treino e pela utilização de parâmetros. Obtém resultados topo de gama no conjunto de dadosCOCO , ultrapassando as iterações anteriores em termos de precisão, mantendo a velocidade em tempo real. A sua integração no ecossistema Ultralytics significa que beneficia de um ecossistema bem mantido, incluindo uma implementação simples através de modos de exportação para formatos como ONNX e TensorRT.
Uma consideração potencial é que as maiores variantesYOLOv9) requerem recursos significativos GPU para treinamento. No entanto, a pegada da memória de inferência mantém-se competitiva, evitando os elevados custos associados aos modelos baseados em transformadores.
Análise comparativa do desempenho
Numa comparação direta, YOLOv9 demonstra uma eficiência superior. Por exemplo, o modelo YOLOv9 atinge um mAP mais elevado (53,0%) do que o PP-YOLOE+l (52,9%), utilizando aproximadamente metade dos parâmetros (25,3M vs 52,2M). Esta redução drástica do tamanho do modelo sem comprometer a precisão realça a eficácia da arquitetura GELAN.
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
A tabela ilustra que, para objectivos de precisão semelhantes, YOLOv9 requer consistentemente menos recursos computacionais. O modelo YOLOv9 vai mais longe, alcançando 55,6% de mAP, uma clara vantagem sobre a maior variante PP-YOLOE+.
A vantagem Ultralytics
Embora o PP-YOLOE+ seja um detetor capaz, a escolha do YOLOv9 através da estrutura Ultralytics oferece vantagens distintas em termos de facilidade de utilização e versatilidade.
Experiência do utilizador simplificada
Ultralytics prioriza uma experiência amigável ao desenvolvedor. Ao contrário dos complexos ficheiros de configuração frequentemente exigidos pelo PaddleDetection, os modelos Ultralytics podem ser carregados, treinados e implementados com apenas algumas linhas de código Python . Isso reduz significativamente a barreira de entrada para engenheiros e pesquisadores.
Versatilidade e ecossistema
Ultralytics suporta uma vasta gama de tarefas para além da simples deteção, incluindo a segmentação de instâncias, a estimativa de pose e a deteção de caixas delimitadoras orientadas (OBB). Essa versatilidade permite que os desenvolvedores enfrentem diversos desafios usando uma API única e unificada. Além disso, a comunidade ativa e as actualizações frequentes garantem que os utilizadores têm acesso às mais recentes optimizações e integrações com ferramentas como o TensorBoard e o MLflow.
Exemplo de código: Utilização do YOLOv9
O exemplo seguinte demonstra a facilidade com que pode efetuar inferência com o YOLOv9 utilizando a APIPython Ultralytics . Esta simplicidade contrasta com a configuração mais detalhada frequentemente necessária para o PP-YOLOE+.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display results
results[0].show()
Casos de Uso Ideais
- PP-YOLOE+: Mais adequado para equipas já profundamente integradas no ecossistema PaddlePaddle , ou para aplicações industriais antigas específicas em regiões onde o suporte de hardware PaddlePaddle é dominante.
- YOLOv9: Ideal para aplicações que exigem a mais elevada relação precisão/eficiência, tais como veículos autónomos, análise de vídeo em tempo real e implantação de extremidades, em que os requisitos de memória e armazenamento são limitados.
Conclusão e Recomendações
Para a maioria dos programadores e organizações, YOLOv9 representa a escolha superior devido à sua arquitetura moderna (GELAN/PGI), à eficiência superior dos parâmetros e ao suporte robusto do ecossistema Ultralytics . Ele oferece uma solução preparada para o futuro com pesos pré-treinados prontamente disponíveis e recursos de exportação contínuos.
Se procura ainda mais versatilidade e rapidez, recomendamos que explore o YOLO11a mais recente iteração da série YOLO . YOLO11 aperfeiçoa ainda mais o equilíbrio entre desempenho e latência, oferecendo capacidades topo de gama para tarefas de deteção, segmentação e classificação num pacote compacto.
Para os interessados numa máquina de trabalho comprovada, YOLOv8 continua a ser uma opção altamente fiável com vastos recursos da comunidade e integrações de terceiros.