YOLOv5 vs DAMO-YOLO#
O panorama da visão computacional em tempo real está em constante evolução, com investigadores e engenheiros à procura do equilíbrio perfeito entre precisão, velocidade e facilidade de utilização. Dois modelos importantes que marcaram este percurso são Ultralytics YOLOv5 e DAMO-YOLO da Alibaba.
Este guia apresenta uma análise técnica aprofundada das respetivas arquiteturas, métricas de desempenho e metodologias de treino para te ajudar a escolher o modelo certo para a tua próxima implementação.
Contexto dos modelos#
Antes de analisar os pormenores técnicos, é importante compreender as origens e as principais filosofias de conceção por detrás de cada um destes influentes modelos de visão.
Ultralytics YOLOv5#
Desenvolvido por Glenn Jocher e pela equipa da Ultralytics, YOLOv5 tornou-se um padrão da indústria desde o seu lançamento. Desenvolvido nativamente na framework PyTorch, priorizou desde o início uma experiência de desenvolvimento simplificada e capacidades robustas de implementação.
- Autor: Glenn Jocher
- Organização: Ultralytics
- Data: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- Documentação: Documentação de Ultralytics YOLOv5
DAMO-YOLO#
Criado por investigadores do Alibaba Group, DAMO-YOLO centra-se sobretudo na pesquisa de arquiteturas de redes neurais (NAS) e em técnicas avançadas de destilação. Leva ao limite teórico o desempenho específico de hardware, sendo especialmente direcionado para ambientes de investigação e de borda que exigem uma afinação extrema.
- Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organização: Alibaba Group
- Data: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
Inovações arquiteturais#
Ambos os modelos tiram partido de conceitos estruturais próprios para alcançar o desempenho em tempo real, embora as suas abordagens sejam significativamente diferentes.
YOLOv5: estabilidade e versatilidade#
YOLOv5 utiliza uma backbone CSP (Cross Stage Partial) modificada, combinada com um neck PANet (Path Aggregation Network). Esta estrutura é altamente eficiente e minimiza o uso de memória CUDA tanto durante o treino como durante a inferência.
Um dos maiores pontos fortes de YOLOv5 é a sua versatilidade em diferentes tarefas. Além das previsões de caixas delimitadoras, oferece arquiteturas específicas para segmentação de imagens e classificação de imagens, permitindo que os programadores normalizem os pipelines de visão numa única framework coesa.
DAMO-YOLO: pesquisa automatizada de arquiteturas#
A principal inovação de DAMO-YOLO é a sua backbone MAE-NAS. Através de uma pesquisa orientada pela entropia máxima, a equipa da Alibaba descobriu backbones que equilibram dinamicamente a precisão da deteção e a velocidade de inferência.
Além disso, inclui o neck Efficient RepGFPN para melhorar a fusão de características — uma vantagem significativa em variações complexas de escala, comuns na análise de imagens de satélite. O design ZeroHead simplifica as camadas finais de previsão para reduzir a latência, embora esta geração estrutural complexa possa tornar a arquitetura rígida e mais difícil de modificar para aplicações personalizadas.
As arquiteturas baseadas em Transformer têm muitas vezes dificuldade com o elevado consumo de VRAM. YOLOv5 e DAMO-YOLO utilizam designs convolucionais eficientes para manter baixo o consumo de memória, mas os modelos Ultralytics são notavelmente otimizados para GPUs de consumo, tornando-os muito mais acessíveis a investigadores independentes e startups.
Desempenho e métricas#
A avaliação de detetores de objetos em tempo real exige analisar uma matriz de mAP (precisão média), velocidade de inferência e parâmetros de dimensão do modelo.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| 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 |
Embora DAMO-YOLO alcance pontuações de mAP altamente competitivas com determinadas quantidades de parâmetros, YOLOv5 demonstra consistentemente velocidades excecionais com TensorRT e um número incrivelmente reduzido de parâmetros nas configurações nano e pequena. Este equilíbrio de desempenho garante que YOLOv5 funcione com eficiência em diversos cenários de implementação na borda.
Eficiência de treino e ecossistema#
A precisão teórica de um modelo só é tão boa quanto a sua viabilidade prática. É aqui que os modelos divergem consideravelmente.
A complexidade da destilação#
DAMO-YOLO depende muito de uma metodologia de treino em várias etapas. Combina a atribuição de etiquetas AlignedOTA com uma técnica de destilação de conhecimento professor-aluno. Embora esta abordagem extraia o máximo desempenho do modelo aluno, exige primeiro o treino de um enorme modelo professor. Isso aumenta drasticamente o tempo de computação, os custos de energia e os requisitos de hardware, criando um estrangulamento para equipas de ML ágeis.
A vantagem da Ultralytics: facilidade de uso#
Em contrapartida, o ecossistema Ultralytics é reconhecido mundialmente pelas suas APIs intuitivas e pela eficiência do treino. Com o apoio de um desenvolvimento ativo e de uma enorme comunidade de código aberto, os programadores podem treinar, validar e implementar modelos sem dificuldades.
from ultralytics import YOLO
# Carrega um modelo YOLOv5 pré-treinado
model = YOLO("yolov5su.pt") # YOLOv5u: pesos YOLOv5 sem âncoras para o pacote ultralytics
# Treina facilmente com um conjunto de dados personalizado
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Exporta para o formato ONNX para implantação
model.export(format="onnx")Ultralytics também oferece suporte integrado ao acompanhamento de experimentos através de ferramentas como Weights & Biases e Comet ML, criando um fluxo de trabalho sem fricção.
Casos de uso no mundo real#
- YOLOv5 destaca-se em ambientes de produção acelerados. A sua facilidade de exportação faz dele a melhor opção para análise inteligente do retalho, deteção de defeitos em linhas de produção de alta velocidade e integração em aplicações móveis através de CoreML.
- DAMO-YOLO é especialmente adequado para avaliações académicas rigorosas e cenários em que há vastos recursos computacionais disponíveis para executar longos treinos destilados, com o objetivo de obter melhorias fracionárias de mAP para destinos de hardware específicos e fixos.
Casos de uso e recomendações#
A escolha entre YOLOv5 e DAMO-YOLO depende dos requisitos específicos do teu projeto, das restrições de implementação e das preferências de ecossistema.
Quando escolher o YOLOv5#
O YOLOv5 é uma ótima opção para:
- Sistemas de produção comprovados: implantações existentes em que são valorizados o longo histórico de estabilidade do YOLOv5, sua documentação abrangente e o enorme suporte da comunidade.
- Treinamento com recursos limitados: ambientes com recursos de GPU limitados, nos quais o pipeline de treinamento eficiente e os menores requisitos de memória do YOLOv5 são vantajosos.
- Amplo suporte a formatos de exportação: projetos que exigem implantação em vários formatos, incluindo ONNX, TensorRT, CoreML e LiteRT.
Quando escolher DAMO-YOLO#
O DAMO-YOLO é recomendado para:
- Análise de vídeo de alto rendimento: Processamento de transmissões de vídeo com alto FPS em uma infraestrutura fixa de GPU NVIDIA, na qual o rendimento com lote 1 é a principal métrica.
- Linhas de fabricação industrial: Cenários com restrições rigorosas de latência da GPU em hardware dedicado, como inspeção de qualidade em tempo real em linhas de montagem.
- Pesquisa em busca de arquitetura neural: Estudo dos efeitos da busca automatizada de arquitetura (MAE-NAS) e de backbones eficientes com reparametrização no desempenho da detecção.
Quando escolher Ultralytics (YOLO26)#
Para a maioria dos projetos novos, Ultralytics YOLO26 oferece a melhor combinação de desempenho e experiência para desenvolvedores:
- Implantação de borda sem NMS: Aplicações que exigem inferência consistente e de baixa latência, sem a complexidade do pós-processamento com supressão não máxima.
- Ambientes que usam apenas CPU: Dispositivos sem aceleração dedicada por GPU, nos quais a inferência na CPU até 43% mais rápida do YOLO26 oferece uma vantagem decisiva.
- Detecção de objetos pequenos: Cenários desafiadores, como imagens aéreas de drones ou análise de sensores de IoT, nos quais ProgLoss e STAL melhoram significativamente a precisão na detecção de objetos minúsculos.
A próxima evolução: YOLO26#
Se estiveres a começar um novo projeto, recomendamos vivamente que olhes para o futuro. Ultralytics YOLO26 desenvolve-se sobre os fundamentos excecionais de YOLOv5 e incorpora avanços revolucionários que redefinem a IA de visão de última geração.
Aclamado universalmente desde o seu lançamento, YOLO26 é nativamente de ponta a ponta. Inclui um Design sem NMS de ponta a ponta (nms=False) que ignora o pós-processamento de supressão não máxima, permitindo uma implementação muito mais rápida e simples.
As principais inovações de YOLO26 incluem:
- Otimizador MuSGD: Inspirada nas inovações do treino de LLM, esta combinação de SGD e Muon garante um treino muito estável e uma convergência rápida.
- Inferência na CPU até 43% mais rápida: Altamente otimizado para computação de borda, é ideal para dispositivos IoT que funcionam sem GPUs dedicadas.
- ProgLoss + STAL: Funções de perda avançadas que melhoram drasticamente o reconhecimento de objetos pequenos, essencial para imagens aéreas captadas por drones e para a robótica.
- Melhorias específicas por tarefa: Desde a perda angular especializada para caixas delimitadoras orientadas (OBB) até à estimativa da verosimilhança logarítmica residual (RLE) para uma estimativa de pose precisa, YOLO26 lida facilmente com domínios complexos.
Conclusão#
YOLOv5 e DAMO-YOLO conquistaram ambos um lugar na história da deteção de objetos. DAMO-YOLO continua a ser um estudo fascinante sobre pesquisa de arquiteturas de redes neurais e destilação. No entanto, para organizações que dão prioridade a um ecossistema bem mantido, à facilidade de utilização e a um percurso rápido até à produção, os modelos Ultralytics continuam sem paralelo.
Recomendamos vivamente que utilizes a Plataforma Ultralytics para anotar, treinar e implementar a próxima geração de modelos, como YOLO26, garantindo que o teu pipeline de visão computacional esteja preparado para o futuro, seja rápido e tenha uma precisão extraordinária.