Ir para o conteúdo

EfficientDet vs. RTDETRv2: Uma comparação técnica para a deteção de objectos

O panorama da deteção de objectos evoluiu significativamente, passando das tradicionais Redes Neuronais Convolucionais (CNN) para arquitecturas modernas baseadas em Transformadores. Dois marcos notáveis nesta evolução são o EfficientDet, uma arquitetura CNN escalável da Google, e o RTDETRv2, um transformador de deteção em tempo real da Baidu.

Este guia fornece uma comparação técnica aprofundada destes dois modelos, analisando as suas inovações arquitectónicas, métricas de desempenho e cenários de implementação ideais. Também exploramos como o Ultralytics YOLO11 serve como uma alternativa poderosa, oferecendo um ecossistema unificado para diversas aplicações de visão computacional.

Visão geral do modelo

Antes de mergulhar nas nuances arquitectónicas, é essencial compreender as origens e os principais objectivos de cada modelo.

Detalhes do EfficientDet: Autores: Mingxing Tan, Ruoming Pang, e Quoc V. Le
Organização: Google Research
Data: 2019-11-20
Arxiv: https://arxiv.org/abs/1911.09070
GitHub: https:google
Documentos: https:google

RTDETRv2 Detalhes: Autores: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, e Yi Liu
Organização: Baidu
Data: 2023-04-17
Arxiv: https://arxiv.org/abs/2304.08069
GitHub: https:RT-DETR
Documentos: https:RT-DETR

Saiba mais sobre o RTDETRv2.

Análise arquitetónica

A principal diferença entre o EfficientDet e o RTDETRv2 reside na sua abordagem fundamental à extração de caraterísticas e à previsão de caixas delimitadoras.

EfficientDet: Eficiência através de escalonamento composto

O EfficientDet foi concebido para quebrar a tendência de simplesmente tornar os modelos maiores para obter uma melhor precisão. Utiliza a espinha dorsal da EfficientNet e introduz uma rede de pirâmide de caraterísticas bidirecional ponderada (BiFPN).

  • BiFPN: Ao contrário das FPNs tradicionais, a BiFPN permite uma fácil fusão de caraterísticas multi-escala através da introdução de pesos aprendíveis. Isto permite que a rede aprenda a importância das diferentes caraterísticas de entrada.
  • Escalonamento composto: O EfficientDet dimensiona simultaneamente a resolução, a profundidade e a largura da rede usando um único coeficiente composto. Isso garante que o modelo (variantes D0 a D7) permaneça eficiente em um amplo espetro de restrições de recursos.

RTDETRv2: Transformador de deteção em tempo real

O RTDETRv2 baseia-se no sucesso do DETR (Detection Transformer), mas aborda o seu elevado custo computacional e a sua lenta convergência. Trata-se de um modelo sem âncoras que utiliza mecanismos de auto-atenção para modelar o contexto global.

  • Codificador híbrido: processa caraterísticas multi-escala, dissociando a interação intra-escala e a fusão inter-escala, melhorando significativamente a velocidade de inferência em comparação com os transformadores padrão.
  • Seleção de consultasIoU: Este mecanismo seleciona consultas de objectos iniciais de alta qualidade, o que acelera a convergência do treino e melhora a precisão da deteção.
  • Flexibilidade dinâmica: O RTDETRv2 permite o ajuste da velocidade de inferência através da variação do número de camadas do descodificador sem necessidade de reciclagem, oferecendo uma flexibilidade única para a inferência em tempo real.

Uso de memória do Transformer vs. CNN

Embora os transformadores como o RTDETRv2 sejam excelentes na captação do contexto global, normalmente requerem muito mais memória CUDA durante o treino do que as arquitecturas baseadas em CNN, como o EfficientDet ou o YOLO , devido à complexidade quadrática dos mecanismos de atenção.

Métricas de Desempenho

Ao selecionar um modelo para implementação, os programadores têm de ponderar os compromissos entre precisãomAP), velocidade (latência) e tamanho do modelo (parâmetros). A tabela abaixo compara o desempenho das variantes do EfficientDet com o RTDETRv2.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

Análise:

  • Exatidão: O RTDETRv2 atinge geralmente um mAP mais elevadoval em comparação com os modelos EfficientDet de latência semelhante em GPUs. Por exemplo, RTDETRv2-x ultrapassa EfficientDet-d7 em termos de precisão, sendo significativamente mais rápido no TensorRT.
  • Velocidade: O EfficientDet foi optimizado para FLOPs, o que se correlaciona bem com o desempenho CPU , mas nem sempre com a latência GPU . O RTDETRv2 foi projetado especificamente para maximizar a utilização GPU , tornando-o superior para aplicativos de alto desempenho do lado do servidor.
  • Eficiência de parâmetros: O EfficientDet-d0 continua a ser extremamente leve (3,9 M de parâmetros), o que o torna um candidato viável para dispositivos antigos de muito baixo consumo onde os aceleradores modernos não estão disponíveis.

A Vantagem Ultralytics: Uma Alternativa Superior

Embora o EfficientDet e o RTDETRv2 sejam modelos formidáveis, os programadores que procuram uma solução holística que equilibre o desempenho, a facilidade de utilização e a versatilidade devem considerar o Ultralytics YOLO da Ultralytics. Modelos como o mais recente YOLO11 constituem uma opção interessante para uma vasta gama de aplicações, desde a investigação até à utilização na produção.

Por que escolher o Ultralytics YOLO11?

  • Facilidade de utilização: Os modelos Ultralytics são conhecidos pela sua experiência de utilizador simplificada. Com uma simples APIPython , os utilizadores podem treinar, validar e implementar modelos em apenas algumas linhas de código. Isto contrasta com os ficheiros de configuração frequentemente complexos necessários para o EfficientDet ou com os loops de treino de memória intensiva do RTDETR.
  • Versatilidade: Ao contrário do foco numa única tarefa de muitos concorrentes, YOLO11 suporta a deteção de objectos, segmentação de instâncias, classificação, estimativa de pose e deteção orientada de objectos (OBB) numa única estrutura.
  • Ecossistema bem mantido: Ultralytics fornece um ecossistema robusto que inclui oUltralytics HUB para gestão de conjuntos de dados e formação de modelos, juntamente com documentação extensa e apoio da comunidade.
  • Equilíbrio de desempenho: Os modelos Ultralytics são meticulosamente concebidos para proporcionar um excelente equilíbrio entre velocidade e precisão. Foram concebidos para serem eficientes em termos de memória, permitindo o treino em GPUs de consumo padrão onde os modelos Transformer podem ter dificuldades.

Saiba mais sobre o YOLO11.

Exemplo de código: Introdução ao YOLO11

O exemplo seguinte demonstra como é fácil executar a inferência utilizando o Ultralytics YOLO11, mostrando a simplicidade da API em comparação com estruturas mais antigas.

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")  # 'n' for nano, or try 's', 'm', 'l', 'x'

# Run inference on an image
results = model("path/to/image.jpg")

# Display the results
results[0].show()

Casos de Uso Ideais

A escolha do modelo certo depende muito das suas restrições específicas de hardware e dos requisitos do projeto.

Quando utilizar o EfficientDet

  • Dispositivos de borda herdados: Se estiver a implementar em CPUs ou hardware mais antigos, em que as convoluções separáveis em profundidade são a única operação eficiente.
  • Restrições de parâmetros: Para aplicações em que o tamanho absoluto de armazenamento do ficheiro modelo é o principal estrangulamento (por exemplo, EfficientDet-d0 is < 4MB).

Quando utilizar o RTDETRv2

  • Implantação GPU de ponta: Quando se tem acesso a poderosas GPUs NVIDIA (por exemplo, T4, A100) e se pode aproveitar a otimização TensorRT .
  • Compreensão de cenas complexas: Para cenários que requerem as capacidades de contexto global dos Transformers, como a deteção de objectos em cenas com muita gente ou oclusas.

Quando utilizar o Ultralytics YOLO11

  • Desenvolvimento rápido: Quando é necessário passar rapidamente do conjunto de dados para o modelo implementado utilizando ferramentas padrão como o Google Colab ou ambientes locais.
  • IA de borda em tempo real: YOLO11 é altamente otimizado para dispositivos de borda, como o NVIDIA Jetson e o Raspberry Pi, oferecendo uma relação mAP superior.
  • Requisitos multitarefa: Se o seu projeto requer máscaras de segmentação ou pontos-chave de pose para além das caixas delimitadoras.
  • Eficiência de recursos: Quando os recursos de treinamento são limitados (por exemplo, VRAM limitada), os modelos YOLO são significativamente mais eficientes para treinar do que as alternativas baseadas no Transformer.

Conclusão

Tanto o EfficientDet como o RTDETRv2 representam realizações significativas no domínio da visão por computador. O EfficientDet ultrapassou os limites da eficiência através do escalonamento, enquanto o RTDETRv2 provou que os Transformers podiam ser suficientemente rápidos para aplicações em tempo real.

No entanto, para a grande maioria dos programadores e das empresas, os modelosYOLO Ultralytics representam a solução mais prática. Ao combinar o desempenho de ponta com uma experiência de programador inigualável e um ecossistema rico, Ultralytics permite-lhe criar soluções de IA robustas de forma mais rápida e fiável.

Explorar mais comparações

Para informar ainda mais sua decisão, explore estas outras comparações:


Comentários