DAMO-YOLO vs YOLOv10#
O campo da visão computacional tem testemunhado uma rápida evolução das arquiteturas de deteção de objetos em tempo real. Ao comparar DAMO-YOLO e YOLOv10, observamos duas filosofias distintas no design de modelos: pesquisa automatizada de arquiteturas versus otimização de ponta a ponta sem NMS. Embora ambos ultrapassem os limites da precisão e da velocidade, as suas estruturas subjacentes e os casos de utilização ideais diferem significativamente.
DAMO-YOLO: pesquisa de arquitetura neural em grande escala#
Desenvolvido pelo Alibaba Group, o DAMO-YOLO surgiu como um detetor poderoso, focado em tirar partido da descoberta automatizada para obter eficiência estrutural.
- Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Data: 23 de novembro de 2022
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
Destaques arquiteturais#
O DAMO-YOLO depende fortemente da Busca de Arquitetura Neural (NAS) para equilibrar desempenho e latência. O seu backbone, chamado MAE-NAS, usa uma busca guiada por entropia máxima sob rigorosos orçamentos computacionais para encontrar a profundidade e a largura ótimas da camada.
Para lidar com a fusão de funcionalidades entre escalas, o modelo utiliza uma RepGFPN eficiente (Rede de Pirâmide de Funcionalidades Generalizada Reparametrizada). Este design de neck pesado é particularmente eficaz na extração de hierarquias espaciais complexas, tornando-o útil em cenários como a análise de imagens aéreas. Além disso, o DAMO-YOLO introduz o ZeroHead, uma cabeça de deteção simplificada que reduz significativamente a complexidade das camadas finais de previsão, recorrendo a um processo robusto de aperfeiçoamento por destilação durante o treino.
O DAMO-YOLO utiliza frequentemente um processo de destilação de conhecimento em várias etapas. É necessário treinar um modelo "professor" mais pesado para orientar o modelo "aluno" mais pequeno, que extrai um mAP (precisão média) superior, mas aumenta significativamente o tempo necessário de computação na GPU.
YOLOv10: pioneiro na deteção de objetos de ponta a ponta#
Lançado um ano e meio mais tarde, o YOLOv10 introduziu uma mudança de paradigma ao eliminar completamente a necessidade de Supressão de Não Máximos (NMS) durante a inferência.
- Autores: Ao Wang, Hui Chen, Lihao Liu, et al.
- Organização: Tsinghua University
- Data: 23 de maio de 2024
- Arxiv: 2405.14458
- Documentação: Ultralytics YOLOv10
Destaques arquiteturais#
A característica distintiva do YOLOv10 são as suas atribuições duplas consistentes para treino sem NMS. Os detetores tradicionais preveem várias caixas delimitadoras sobrepostas para um único objeto, exigindo NMS para filtrar duplicados. Esta etapa de pós-processamento cria um gargalo, especialmente em dispositivos edge. O YOLOv10 resolve este problema ao permitir que o modelo preveja naturalmente uma única caixa delimitadora precisa por objeto.
Os autores também se concentraram num design de modelo holístico orientado para a eficiência e a precisão. Ao analisarem cuidadosamente a redundância computacional nas arquiteturas existentes, otimizaram o backbone e a cabeça para reduzir o número de FLOPs e parâmetros. Este design leve garante que o YOLOv10 proporciona uma latência de inferência excecional quando exportado para formatos como TensorRT ou OpenVINO.
Desempenho e benchmarks#
A tabela abaixo ilustra as métricas de desempenho brutas no conjunto de dados COCO. Os melhores valores gerais em cada coluna estão destacados a negrito.
| Modelo | tamanho (píxeis) | 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 |
| 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 |
Embora o DAMO-YOLO mantenha um bom desempenho em termos de precisão, o YOLOv10 proporciona consistentemente uma latência inferior e pesos do modelo significativamente menores. Por exemplo, o YOLOv10s alcança um mAP ligeiramente superior (46,7%) ao do DAMO-YOLOs (46,0%), utilizando menos de metade dos parâmetros (7,2M contra 16,3M). Os menores requisitos de memória tornam o YOLOv10 uma escolha excecionalmente versátil para sistemas incorporados.
Eficiência e facilidade de utilização no treino#
Ao passar da investigação académica para a produção, a facilidade de utilização é fundamental. O processo de destilação em várias etapas e as configurações complexas de NAS do DAMO-YOLO podem representar uma curva de aprendizagem acentuada para as equipas de engenharia.
Por outro lado, o YOLOv10 beneficia imenso de estar totalmente integrado no SDK Python da Ultralytics. O treino de um modelo personalizado envolve um mínimo de código boilerplate. A Ultralytics trata automaticamente do aumento de dados, do ajuste de hiperparâmetros e do acompanhamento de experiências.
from ultralytics import YOLO
# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()A utilização do ecossistema Ultralytics permite aos programadores passar de um protótipo para um modelo ONNX exportado totalmente funcional com apenas algumas linhas de código, evitando as configurações complexas de ambiente exigidas por frameworks mais antigos.
Casos de utilização no mundo real#
- Retalho inteligente (DAMO-YOLO): A precisão do DAMO-YOLO é adequada para ambientes de servidor de alta densidade que analisam o comportamento dos clientes, onde as GPUs são abundantes e os gargalos do NMS em tempo real são geríveis.
- Veículos autónomos (YOLOv10): A arquitetura sem NMS garante uma latência determinística e previsível, algo fundamental para sistemas de segurança na condução autónoma.
- Automação industrial (YOLOv10): A deteção de defeitos em linhas de montagem rápidas exige modelos que maximizem as velocidades de inferência em tempo real sem consumir grandes quantidades de VRAM, tornando o YOLOv10 um excelente candidato para implementação edge.
Casos de uso e recomendações#
A escolha entre DAMO-YOLO e YOLOv10 depende dos requisitos específicos do teu projeto, das restrições de implementação e das preferências de ecossistema.
Quando escolher o DAMO-YOLO#
O DAMO-YOLO é uma boa escolha para:
- Análise de vídeo de elevado débito: Processamento de streams de vídeo com FPS elevado em infraestruturas GPU NVIDIA fixas, nas quais o débito com batch-1 é a principal métrica.
- Linhas de fabrico industrial: Cenários com restrições rigorosas de latência GPU em hardware dedicado, como a inspeção de qualidade em tempo real em linhas de montagem.
- Investigação sobre pesquisa de arquitetura neural: Estudo dos efeitos da pesquisa automatizada de arquiteturas (MAE-NAS) e de backbones eficientemente reparametrizados no desempenho da deteção.
Quando escolher o YOLOv10#
O YOLOv10 é recomendado para:
- Detecção em tempo real sem NMS: Aplicações que se beneficiam da detecção de ponta a ponta sem Supressão de Não-Máximos, reduzindo a complexidade da implantação.
- Equilíbrio entre velocidade e precisão: Projetos que exigem um equilíbrio sólido entre velocidade de inferência e precisão de detecção em diferentes escalas de modelo.
- Aplicações com latência consistente: Cenários de implantação nos quais tempos de inferência previsíveis são essenciais, como em robótica ou sistemas autônomos.
Quando escolher Ultralytics (YOLO26)#
Para a maioria dos projetos novos, o Ultralytics YOLO26 oferece a melhor combinação de desempenho e experiência de desenvolvimento:
- Implantação em dispositivos de borda sem NMS: Aplicações que exigem inferência consistente e de baixa latência sem a complexidade do pós-processamento de Supressão de Não-Máximos.
- Ambientes que usam apenas CPU: Dispositivos sem aceleração dedicada por GPU, nos quais a inferência em CPU até 43% mais rápida do YOLO26 oferece uma vantagem decisiva.
- Detecção de objetos pequenos: Cenários desafiadores, como imagens aéreas capturadas por drones ou análise de sensores de IoT, nos quais ProgLoss e STAL aumentam significativamente a precisão em objetos minúsculos.
A próxima geração: apresenta o Ultralytics YOLO26#
Embora o YOLOv10 tenha lançado as bases para a deteção sem NMS, a tecnologia evoluiu rapidamente. Para aplicações modernas, o modelo Ultralytics YOLO26 oferece um desempenho e uma facilidade de utilização incomparáveis, aproveitando o melhor das gerações anteriores e aperfeiçoando-o para produção.
O YOLO26 apresenta um design nativamente de ponta a ponta, eliminando o pós-processamento de NMS para pipelines de implantação mais simples em dispositivos de borda. Além disso, a remoção da Perda Focal de Distribuição (DFL) melhorou drasticamente a compatibilidade com hardware de IA de borda de baixo consumo.
No lado do treino, o YOLO26 introduz o Otimizador MuSGD, um método híbrido inspirado nas técnicas de treino de Modelos de Linguagem de Grande Escala (LLM). Isto garante um treino mais estável e uma convergência mais rápida. Em conjunto com as funções de perda ProgLoss + STAL, o YOLO26 demonstra melhorias notáveis no reconhecimento de objetos pequenos, uma característica fundamental para a conservação da vida selvagem e as operações com drones.
É importante salientar que o YOLO26 não é apenas um detetor de objetos. Oferece melhorias específicas para cada tarefa, suportando nativamente segmentação de instâncias, estimativa de pose utilizando Estimativa de Log-Verossimilhança Residual (RLE) e perdas angulares especializadas para caixas delimitadoras orientadas (OBB). Com uma inferência na CPU até 43% mais rápida do que a dos seus antecessores, é a escolha definitiva para equipas de engenharia ágeis.
Para a gestão centralizada, anotação e treino na cloud de modelos YOLO26, a Plataforma Ultralytics fornece uma interface intuitiva que simplifica todo o ciclo de vida da visão computacional.
Os programadores interessados em explorar outros avanços recentes também podem avaliar o Ultralytics YOLO11 ou o framework RT-DETR baseado em Transformer para cenários que exigem soluções arquiteturais distintas.