DAMO-YOLO vs YOLOv7#
A rápida evolução da visão computacional produziu modelos de deteção de objetos altamente eficientes, concebidos para equilibrar a precisão e o custo computacional. Dois modelos notáveis introduzidos em 2022 são o DAMO-YOLO e o YOLOv7. Embora ambos procurem ultrapassar os limites das tarefas de visão em tempo real, alcançam os seus resultados através de paradigmas arquiteturais e metodologias de treino muito diferentes.
Esta comparação técnica abrangente explora as abordagens distintas de ambos os modelos, analisando as suas arquiteturas, o potencial de implementação e as métricas de desempenho para ajudar engenheiros de machine learning a escolher a ferramenta certa para as suas aplicações de visão computacional.
Origens e metadados dos modelos#
Antes de aprofundar a análise técnica, é essencial contextualizar as origens destes dois modelos de visão computacional.
DAMO-YOLO#
Desenvolvido por investigadores do Alibaba Group, o DAMO-YOLO foi introduzido para otimizar tanto a velocidade como a precisão através da pesquisa automatizada de arquiteturas e da destilação.
- Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organização: Alibaba Group
- Data: 23 de novembro de 2022
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
YOLOv7#
Lançado como o estado da arte em meados de 2022, o YOLOv7 levou a inferência em tempo real mais longe ao introduzir "bag-of-freebies" treináveis sem aumentar os custos de implementação.
- Autores: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organização: Institute of Information Science, Academia Sinica, Taiwan
- Data: 6 de julho de 2022
- Arxiv: 2207.02696
- Documentação: Documentação do YOLOv7
O YOLOv7 é oficialmente suportado no ecossistema Ultralytics, permitindo treino, validação e exportação integrados através de uma API unificada.
Inovações arquiteturais#
DAMO-YOLO: NAS e destilação#
O DAMO-YOLO incorpora várias técnicas de ponta orientadas para a máxima eficiência:
- Backbones NAS: Utiliza a Pesquisa de Arquitetura Neural (NAS) para conceber automaticamente backbones ideais (MAE-NAS), adaptados a ambientes críticos em termos de latência.
- RepGFPN eficiente: Uma Rede de Pirâmide de Funcionalidades Generalizada modificada que melhora significativamente a eficiência da fusão de funcionalidades em várias escalas.
- ZeroHead e AlignedOTA: Incorpora uma cabeça de deteção leve e uma estratégia otimizada de atribuição de rótulos (AlignedOTA) para reduzir a sobrecarga computacional.
- Melhoria por destilação: Utiliza intensivamente a destilação de conhecimento durante o treino para aumentar o desempenho de variantes de modelos menores sem aumentar a sua quantidade de parâmetros.
YOLOv7: E-ELAN e Bag-of-Freebies#
O YOLOv7 adotou uma abordagem de engenharia mais estrutural, centrada na otimização dos caminhos do gradiente e em estratégias de treino robustas.
- Arquitetura E-ELAN: A Rede de Agregação de Camadas Eficiente Estendida permite ao modelo aprender funcionalidades mais diversificadas ao controlar os caminhos de gradiente mais curtos e mais longos, garantindo uma convergência de aprendizagem eficaz.
- Escalonamento do modelo: Introduz um método de escalonamento composto adaptado a modelos baseados em concatenação, escalando simultaneamente a profundidade e a largura para obter alinhamento estrutural.
- Bag-of-Freebies treináveis: Emprega técnicas como convoluções reparametrizadas (RepConv) sem ligações de identidade e estratégias dinâmicas de atribuição de rótulos, que aumentam a precisão durante o treino sem afetar a velocidade de inferência.
Análise de desempenho#
Ao avaliar a Precisão Média Média (mAP), a velocidade e a eficiência, ambos os modelos apresentam métricas impressionantes, embora tenham como alvo segmentos ligeiramente diferentes. O YOLOv7 centra-se fortemente na implementação em GPU com elevada precisão, enquanto as estruturas derivadas de NAS do DAMO-YOLO visam uma implementação agressiva de baixa latência em CPU e dispositivos edge.
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
Como mostram as métricas, embora o DAMO-YOLO disponibilize variantes extremamente leves (como o modelo tiny, com apenas 8,5 milhões de parâmetros), o YOLOv7 alcança um pico geral de precisão superior, com o YOLOv7x a atingir uns impressionantes 53,1 mAP no conjunto de dados COCO.
A vantagem do ecossistema Ultralytics#
Embora a arquitetura teórica seja importante, a praticidade de um modelo é determinada pelo seu ecossistema. Os modelos suportados pela Ultralytics, como o YOLOv7, beneficiam de um ecossistema bem mantido e de uma facilidade de utilização incomparável.
- Equilíbrio de desempenho: Os modelos Ultralytics alcançam consistentemente um equilíbrio ideal entre a velocidade de inferência e a precisão da deteção, tornando-os ideais tanto para dispositivos edge como para a implementação de modelos na cloud.
- Requisitos de memória: Ao contrário dos modelos mais pesados baseados em Transformer, os modelos YOLO da Ultralytics mantêm baixos requisitos de memória CUDA durante o treino. Isto permite tamanhos de batch maiores, simplificando o processo de treino mesmo em hardware de consumo.
- Versatilidade: O framework Ultralytics vai além da deteção de objetos, abrangendo tarefas como segmentação de instâncias e estimativa de pose, proporcionando aos programadores um conjunto completo de ferramentas de visão computacional.
O pacote Ultralytics permite passar facilmente dos conjuntos de dados para um modelo totalmente treinado em apenas alguns minutos, utilizando carregadores de dados altamente otimizados e pesos pré-treinados.
Exemplo de código: treinar o YOLOv7 com a Ultralytics#
Integrar o YOLOv7 no teu pipeline de visão computacional é extremamente simples utilizando a API Python da Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLOv7 model
model = YOLO("yolov7.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference and validate results
metrics = model.val()
predictions = model.predict("https://ultralytics.com/images/bus.jpg", save=True)O novo padrão: apresentação do YOLO26#
Embora o YOLOv7 e o DAMO-YOLO tenham representado avanços significativos em 2022, o campo da IA de visão evolui rapidamente. Para equipas que iniciam novos projetos atualmente, o modelo recomendado é o Ultralytics YOLO26, de ponta, lançado em janeiro de 2026.
O YOLO26 representa um salto geracional em desempenho e facilidade de utilização, incorporando inovações de ponta:
- Design de ponta a ponta sem NMS: O YOLO26 é nativamente de ponta a ponta. Ao eliminar o pós-processamento de Supressão de Não Máximos (NMS), proporciona uma lógica de implementação mais rápida e simples — uma mudança de paradigma inicialmente introduzida pelo YOLOv10.
- Otimizador MuSGD: Inspirado em inovações de modelos de linguagem de grande dimensão, como o Kimi K2 da Moonshot AI, o YOLO26 utiliza uma combinação híbrida de SGD e Muon. Este otimizador garante dinâmicas de treino altamente estáveis e taxas de convergência significativamente mais rápidas.
- Inferência em CPU até 43% mais rápida: Com a remoção direcionada da Função de Perda Focal de Distribuição (DFL) e melhorias estruturais profundas, o YOLO26 está fortemente otimizado para computação edge de baixo consumo, superando as gerações anteriores em hardware sem GPU.
- ProgLoss + STAL: Incorpora novas funções de perda avançadas que visam e melhoram explicitamente o reconhecimento de objetos pequenos, uma capacidade essencial para aplicações de imagens aéreas, robótica e monitorização de segurança.
- Melhorias específicas para cada tarefa: Para além da deteção padrão, o YOLO26 inclui melhorias adaptadas a várias tarefas, incluindo prototipagem multiescala para segmentação, RLE para estimativa de pose e perdas de ângulo específicas para Caixas delimitadoras orientadas (OBB).
Casos de Utilização Ideais#
A escolha da arquitetura certa depende inteiramente do teu ambiente de implementação e das restrições do projeto.
Quando escolher o DAMO-YOLO:
- Estás a trabalhar em ambientes edge fortemente condicionados e com recursos limitados, onde a quantidade bruta de parâmetros tem de ser mantida extremamente baixa (por exemplo, em microcontroladores).
- Estás a utilizar pipelines de machine learning automatizado especificamente integrados com os serviços de cloud proprietários da Alibaba.
Quando escolher o YOLOv7:
- Já tens pipelines de GPU legados otimizados para inferência de elevada precisão baseada em âncoras.
- Estás a operar em ambientes onde a precisão em tempo real é fundamental, como veículos autónomos de alta velocidade ou robótica avançada.
Quando escolher o YOLO26 (recomendado):
- Estás a criar uma nova aplicação de visão computacional de raiz e precisas do estado da arte absoluto tanto em precisão como em velocidade de inferência em CPU/edge.
- Precisas de uma implementação rápida e integrada (como exportar para CoreML ou TensorRT) sem ter de lidar com as restrições dos operadores NMS.
- Queres utilizar todas as capacidades da Ultralytics Platform para treino na cloud, gestão de conjuntos de dados e implementação automatizada.
Ao tirar partido do ecossistema robusto dos modelos Ultralytics, os programadores podem reduzir drasticamente o tempo de engenharia, garantindo simultaneamente um desempenho preditivo de topo para as suas aplicações do mundo real.