Ir para o conteúdo

YOLOv10 vs. RT-DETRv2: Uma comparação técnica para a deteção de objectos

A seleção da arquitetura ideal para a deteção de objectos é uma decisão fundamental que requer a navegação entre a velocidade de inferência, a precisão e as exigências de recursos computacionais. Este guia completo compara YOLOv10uma evolução avançada da família YOLO baseada em CNN, conhecida pela sua eficiência, e o RT-DETRv2um modelo sofisticado baseado em transformadores, concebido para tarefas de alta precisão. Analisamos as suas inovações arquitectónicas, métricas de desempenho e cenários de implementação ideais para o ajudar a fazer uma escolha informada para os seus projectos de visão computacional.

YOLOv10: Deteção em tempo real orientada para a eficiência

YOLOv10 representa um salto significativo na linhagem YOLO , centrando-se na eliminação dos estrangulamentos dos detectores tradicionais em tempo real. Desenvolvido por investigadores da Universidade de Tsinghua, introduz um paradigma de formação NMS que simplifica o pipeline de implementação, eliminando a necessidade de pós-processamento de supressão não máxima.

Inovações arquitectónicas

YOLOv10 adopta um design holístico orientado para a eficiência e precisão. Utiliza atribuições duplas consistentes durante o treino para permitir a inferência NMS, o que reduz significativamente a latência. A arquitetura também inclui uma cabeça de classificação leve e uma redução da amostragem desacoplada do canal espacial para minimizar a redundância computacional. Esse design garante que o modelo permaneça extremamente rápido, mantendo uma precisão competitiva, tornando-o particularmente adequado para a computação de ponta, onde os recursos são escassos.

Inferência NMS

A remoção da Supressão Não Máxima (NMS) do YOLOv10 reduz a complexidade das etapas de pós-processamento. Isso leva a uma menor latência de inferência e facilita a implantação do modelo em pipelines de ponta a ponta sem kernels CUDA personalizados para NMS.

O modelo é dimensionado eficazmente em vários tamanhos, desde a versão nano (n) para ambientes extremamente restritos até à versão extra-grande (x) para requisitos de maior precisão.

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

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

Saiba mais sobre o YOLOv10

RT-DETRv2: Precisão baseada em transformador

RT-DETRv2(Real-Time Detection Transformer v2) baseia-se no sucesso do RT-DETR original, aperfeiçoando ainda mais a aplicação de transformadores de visão para a deteção de objectos em tempo real. Desenvolvido pela Baidu, este modelo aproveita os mecanismos de auto-atenção para captar o contexto global, superando frequentemente os seus homólogos baseados em CNN em cenas complexas com oclusões.

Transformadores visuais na deteção

Ao contrário das CNNs tradicionais que processam imagens usando campos receptivos locais, RT-DETRv2 emprega um backbone Vision Transformer (ViT). Isto permite que o modelo processe as manchas de imagem com auto-atenção, compreendendo eficazmente as relações entre objectos distantes numa cena. Embora esta capacidade de contexto global aumente a precisão da deteção, geralmente acarreta custos computacionais mais elevados em comparação com a arquitetura simplificada do YOLOv10.

RT-DETRv2 foi concebido para ser adaptável, oferecendo escalas de modelos variáveis para satisfazer diferentes necessidades de desempenho, embora exija normalmente mais memória GPU para treino e inferência do que os modelos YOLO equivalentes.

Saiba mais sobre o RT-DETRv2

Análise de Desempenho

A comparação abaixo destaca as vantagens distintas de cada arquitetura. YOLOv10 destaca-se pela velocidade e eficiência, oferecendo uma latência e contagem de parâmetros notavelmente baixas. Por exemplo, o modelo YOLOv10n funciona a 1,56 ms num GPU T4, o que o torna ideal para o processamento de vídeo a alta velocidade. RT-DETRv2embora mais lento, fornece uma precisão robusta, particularmente nos modelos de maior dimensão, mas à custa de FLOPs e utilização de memória significativamente mais elevados.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
RTDETRv2-s64048.1-5.032060
RTDETRv2-m64051.9-7.5136100
RTDETRv2-l64053.4-9.7642136
RTDETRv2-x64054.3-15.0376259

Como se pode observar na tabela, o YOLOv10x atinge um mAP superior de 54,4% em comparação com os 54,3% do RT-DETRv2, utilizando menos 23% de tempo para inferência e possuindo uma pegada de modelo significativamente mais pequena. Esta eficiência torna YOLOv10 uma escolha mais equilibrada para a maioria das aplicações em que os recursos de hardware são uma consideração.

Forças e Fraquezas

YOLOv10

  • Forças:
    • Baixa latência: O design NMS permite uma inferência extremamente rápida, crucial para aplicações em tempo real.
    • Eficiência de recursos: Requer menos parâmetros e FLOPs, tornando-o adequado para implantação em dispositivos de IA de ponta, como NVIDIA Jetson ou plataformas móveis.
    • Integração no ecossistema: Totalmente integrado no ecossistema Ultralytics , facilitando a exportação fácil para formatos como ONNX, TensorRT e CoreML.
  • Fraquezas:
    • Deteção de pequenos objectos: Versões extremamente pequenas (como o YOLOv10n) podem trocar alguma precisão por velocidade bruta em comparação com modelos de transformadores maiores.

RT-DETRv2

  • Forças:
    • Contexto global: A arquitetura do transformador é excelente na compreensão de cenas complexas e de relações entre objectos.
    • NativoNMS: Os transformadores evitam naturalmente NMS, simplificando o pipeline de pós-processamento semelhante ao YOLOv10.
  • Fraquezas:
    • Alto custo de computação: O treinamento e a inferência exigem muito mais memória CUDA e potência computacional.
    • Velocidades mais lentas: O mecanismo de auto-atenção, embora exato, é computacionalmente dispendioso, o que resulta numa maior latência.
    • Complexidade de implantação: Os modelos de transformador podem, por vezes, ser mais difíceis de otimizar para determinado hardware incorporado do que as CNNs.

Casos de Uso Ideais

A escolha entre estes modelos depende em grande medida dos seus condicionalismos operacionais específicos.

  • Escolha YOLOv10 quando: Necessita de desempenho em tempo real em dispositivos periféricos, como em drones autónomos ou aplicações móveis. O seu baixo consumo de memória e a sua elevada velocidade tornam-no perfeito para cenários como a monitorização do tráfego ou a análise de retalho.
  • Escolha o RT-DETRv2 quando: Dispõe de amplos recursos GPU e está a lidar com cenas complexas em que a máxima precisão é a única prioridade, como a investigação académica de topo ou a análise de imagens difíceis no lado do servidor.

A vantagem Ultralytics

Embora ambos os modelos ofereçam caraterísticas atraentes, a utilização do Ultralytics YOLO do Ultralytics - incluindo YOLOv10 e o avançado YOLO11-oferece uma vantagem distinta no ciclo de vida do desenvolvimento.

  1. Facilidade de uso: Ultralytics fornece uma APIPython unificada e uma CLI que padroniza o treinamento, a validação e a implantação. Isso permite que os desenvolvedores alternem entre YOLOv8, YOLOv10, YOLO11 e RT-DETR com uma única linha de código.
  2. Eficiência de treinamento: Os modelos Ultralytics são otimizados para um treinamento eficiente, geralmente convergindo mais rápido e exigindo menos memória do que as implementações padrão. Isso reduz os custos de computação em nuvem e acelera o tempo de colocação no mercado.
  3. Versatilidade: Para além da deteção, a estrutura Ultralytics suporta segmentação, estimativa de pose e OBB, permitindo-lhe escalar as capacidades do seu projeto sem mudar de ferramenta.
  4. Ecossistema bem mantido: Com actualizações frequentes, guias abrangentes e uma comunidade próspera, os utilizadores beneficiam de melhorias e suporte contínuos.

Execução de modelos diferentes

A alternância entre arquitecturas é perfeita com a API Ultralytics :

from ultralytics import RTDETR, YOLO

# Train YOLOv10
model_yolo = YOLO("yolov10n.pt")
model_yolo.train(data="coco8.yaml", epochs=100)

# Train RT-DETR
model_rtdetr = RTDETR("rtdetr-l.pt")
model_rtdetr.train(data="coco8.yaml", epochs=100)

Conclusão

Ambos YOLOv10 e o RT-DETRv2 representam a vanguarda da tecnologia de deteção de objectos. RT-DETRv2 é uma escolha robusta para tarefas orientadas para a investigação em que o custo computacional é secundário em relação à precisão. No entanto, para a grande maioria das implementações no mundo real, YOLOv10 oferece um equilíbrio superior. A sua combinação de alta velocidade, baixa latência e eficiência de recursos torna-o o vencedor prático para os engenheiros que criam aplicações escaláveis.

Além disso, explorar as últimas YOLO11 permite que os programadores acedam a refinamentos ainda maiores em termos de precisão e velocidade, tudo dentro do ecossistema Ultralytics de fácil utilização. Quer esteja a implementar na nuvem ou na periferia, a plataforma Ultralytics garante que tem as ferramentas para criar soluções de visão computacional de classe mundial de forma eficiente.

Explore Outros Modelos

Se estiver interessado em mais comparações, considere a possibilidade de consultar:


Comentários