DAMO-YOLO vs. EfficientDet: Uma Comparação Técnica
No cenário em rápida evolução da visão computacional, a seleção da arquitetura de deteção de objectos correta é fundamental para o sucesso da aplicação. Esta análise abrangente compara o YOLO, um modelo de elevado desempenho da Alibaba, com o EfficientDet, uma arquitetura escalável e eficiente da Google. Ambos os modelos introduziram inovações significativas neste domínio, abordando o eterno compromisso entre velocidade, precisão e custo computacional.
Visão geral dos modelos
Antes de nos debruçarmos sobre as métricas de desempenho, é essencial compreender a origem e a filosofia arquitetónica subjacente a cada modelo.
DAMO-YOLO
Desenvolvido pelo Grupo Alibaba, o YOLO (Distillation-Enhanced Neural Architecture Search-based YOLO) centra-se na maximização da velocidade de inferência sem comprometer a precisão. Introduz tecnologias como a Pesquisa de Arquitetura Neural (NAS) para backbones, uma eficiente RepGFPN (Reparameterized Generalized Feature Pyramid Network) e uma cabeça de deteção leve conhecida como ZeroHead.
YOLO Detalhes:
- Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organização:Grupo Alibaba
- Data: 2022-11-23
- Arxiv:YOLO: Um relatório sobre o projeto de deteção de objectos em tempo real
- GitHub:YOLO
EfficientDet
O EfficientDet, criado pela equipa Google Brain, revolucionou a deteção de objectos ao propor um método de escalonamento composto. Esta abordagem dimensiona uniformemente a resolução, a profundidade e a largura do backbone, da rede de caraterísticas e das redes de previsão. Inclui a BiFPN (Bi-diretional Feature Pyramid Network), que permite uma fusão fácil e rápida de caraterísticas.
EficienteDetalhes das informações:
- Autores: Mingxing Tan, Ruoming Pang e Quoc V. Le
- Organização:Google
- Data: 2019-11-20
- Arxiv:EfficientDet: Deteção de Objectos Escalável e Eficiente
- GitHub:google
Saiba mais sobre o EfficientDet
Análise de Desempenho: Velocidade, Precisão e Eficiência
O gráfico e a tabela seguintes apresentam uma comparação quantitativa dos modelos EfficientDet e YOLO no conjunto de dadosCOCO . Estas referências realçam os objectivos de otimização distintos de cada arquitetura.
| 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 |
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
Principais Conclusões
A partir dos dados, podemos observar pontos fortes distintos para cada família de modelos:
- Latência GPU : O YOLO domina a velocidade de inferência GPU . Por exemplo,
DAMO-YOLOmalcança um precisão média médiamAP) de 49,2 com uma latência de apenas 5,09 ms numa GPU T4. Em contrapartida,EfficientDet-d4, com um mAP semelhante de 49,7, é significativamente mais lento, com 33,55 ms. - Parâmetro Eficiência: O EfficientDet é extremamente leve em termos de parâmetros e operações de vírgula flutuante (FLOPs).
EfficientDet-d0utiliza apenas 3,9 milhões de parâmetros, o que o torna altamente eficiente em termos de armazenamento, embora isto nem sempre se traduza numa inferência mais rápida nas GPUs modernas, em comparação com modelos optimizados em termos de arquitetura, como o YOLO. - DesempenhoCPU : O EfficientDet fornece benchmarks CPU fiáveis, o que sugere que continua a ser uma opção viável para hardware antigo em que a aceleração GPU não está disponível.
Nota de arquitetura
A vantagem de velocidade do YOLO resulta da sua otimização específica para a latência do hardware utilizando a Pesquisa de Arquitetura Neural (NAS), enquanto o EfficientDet optimiza para FLOPs teóricos, o que nem sempre se correlaciona linearmente com a latência do mundo real.
Análise Arquitetural Detalhada
EfficientDet: O poder do escalonamento composto
O EfficientDet é construído sobre a espinha dorsal do EfficientNet, que utiliza convoluções móveis de gargalo invertido (MBConv). A sua caraterística definidora é a BiFPN, uma rede de pirâmide de caraterísticas bidirecional ponderada. Ao contrário das FPNs tradicionais que apenas somam as caraterísticas de cima para baixo, a BiFPN permite que a informação flua tanto de cima para baixo como de baixo para cima, tratando cada camada de caraterísticas com pesos aprendíveis. Isto permite que a rede compreenda a importância das diferentes caraterísticas de entrada.
O modelo é escalado através de um coeficiente composto, phi, que aumenta uniformemente a largura, a profundidade e a resolução da rede, pelo que os modelos maiores (como d7) permanecem equilibrados em termos de exatidão e eficiência.
YOLO: Inovação orientada para a velocidade
O YOLO adopta uma abordagem diferente, centrando-se na latência em tempo real. Utiliza o MAE-NAS (Método de Automatização da Pesquisa de Arquitetura) para encontrar a estrutura de backbone ideal sob restrições específicas de latência.
As principais inovações incluem:
- RepGFPN: Uma melhoria em relação ao GFPN padrão, melhorado com reparametrização para otimizar os caminhos de fusão de caraterísticas para velocidade.
- ZeroHead: Uma cabeça de deteção simplificada que reduz a carga computacional normalmente associada às camadas de previsão finais.
- AlignedOTA: Uma estratégia de atribuição de etiquetas que resolve o desalinhamento entre as tarefas de classificação e regressão durante a formação.
Casos de Uso e Aplicações
As diferenças arquitectónicas determinam onde cada modelo se destaca em cenários do mundo real.
- O EfficientDet é ideal para ambientes com restrições de armazenamento ou aplicações que dependem da inferência CPU , onde a minimização de FLOPs é crucial. É frequentemente utilizado em aplicações móveis e sistemas incorporados em que a duração da bateria (correlacionada com FLOPs) é uma preocupação primordial.
- O YOLO destaca-se na automação industrial, condução autónoma e vigilância de segurança, onde é necessária a inferência em tempo real em GPUs. A sua baixa latência permite o processamento de fluxos de vídeo de alta taxa de fotogramas sem perda de fotogramas.
A vantagem Ultralytics
Embora o YOLO e o EfficientDet sejam modelos capazes, o Ultralytics oferece uma solução mais abrangente para o desenvolvimento de IA moderna. Modelos como o topo de gama YOLO11 e o versátil YOLOv8 oferecem vantagens significativas em termos de usabilidade, desempenho e conjunto de funcionalidades.
Porquê escolher Ultralytics?
- Equilíbrio de desempenho: Os modelos Ultralytics são projectados para proporcionar o melhor equilíbrio entre velocidade e precisão. YOLO11, por exemplo, oferece um mAP superior em comparação com as gerações anteriores, mantendo velocidades de inferência excepcionais em CPUs e GPUs.
Facilidade de uso: Com uma filosofia de "baterias incluídas", Ultralytics fornece uma API Python simples e uma poderosa interface de linha de comando (CLI). Os desenvolvedores podem ir da instalação ao treinamento em minutos.
from ultralytics import YOLO # Load a pre-trained YOLO11 model model = YOLO("yolo11n.pt") # Run inference on an image results = model("path/to/image.jpg")Ecossistema bem mantido: Ao contrário de muitos modelos de investigação que são abandonados após a publicação, Ultralytics mantém um repositório ativo com actualizações frequentes, correcções de erros e apoio da comunidade através de questões e discussões no GitHub.
- Versatilidade: Os modelos Ultralytics não se limitam a caixas delimitadoras. Suportam nativamente a segmentação de instâncias, a estimativa de pose, a classificação de imagens e as caixas delimitadoras orientadas (OBB), tudo numa única estrutura unificada.
- Eficiência de memória: Os modelosYOLO Ultralytics são projetados para serem eficientes em termos de memória durante o treinamento. Isto contrasta com os modelos baseados em transformadores ou arquitecturas mais antigas, que muitas vezes requerem uma memória CUDA substancial, tornando os modelos Ultralytics acessíveis em hardware de nível de consumidor.
- Eficiência de treinamento: A estrutura suporta recursos como precisão mista automática (AMP), treinamento GPU e armazenamento em cache, garantindo que o treinamento de conjuntos de dados personalizados seja rápido e econômico.
Conclusão
Tanto o YOLO como o EfficientDet representam marcos importantes na história da visão computacional. O EfficientDet demonstrou o poder do escalonamento baseado em princípios e da fusão eficiente de caraterísticas, enquanto o YOLO ultrapassou os limites da pesquisa de arquitecturas sensíveis à latência.
No entanto, para os programadores que procuram uma solução pronta para produção que combine um elevado desempenho com uma experiência excecional para o programador, Ultralytics YOLO11 é a escolha recomendada. A sua integração num ecossistema robusto, o suporte para várias tarefas de visão computacional e as melhorias contínuas fazem dele a ferramenta mais prática para transformar dados visuais em informações acionáveis.
Explore Outras Comparações de Modelos
Para ajudar ainda mais no seu processo de seleção de modelos, explore estas comparações relacionadas na documentação Ultralytics :
- YOLOv8 vs. DAMO-YOLO
- YOLO11 vs DAMO-YOLO
- RT-DETR vs. EfficientDet
- YOLOv10 vs. YOLO
- YOLOv9 vs. EfficientDet