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.
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organização:Universidade de Tsinghua
- Data: 2024-05-23
- Arxiv:2405.14458
- GitHub:THU-MIG/yolov10
- Documentos:DocumentaçãoYOLOv10
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")
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.
- Autores: Wenyu Lv, Yian Zhao, Qinyao Chang, et al.
- Organização:Baidu
- Data: 2024-07-24
- Arxiv:2407.17140
- GitHub:RepositórioRT-DETRv2
- Documentos:DocumentaçãoRT-DETR
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.
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.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
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.
- 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.
- 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.
- 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.
- 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: