YOLOv7 vs DAMO-YOLO#
O panorama da deteção de objetos em tempo real está em constante evolução, com investigadores e engenheiros à procura do equilíbrio ideal entre velocidade e precisão. Nesta comparação técnica, vamos analisar em profundidade duas arquiteturas notáveis de 2022: YOLOv7 e DAMO-YOLO. Ambos os modelos introduziram conceitos inovadores na comunidade de visão computacional, abordando desafios distintos no treino de modelos, na conceção de arquiteturas e na implementação.
Contexto e detalhes técnicos dos modelos#
Antes de analisar as arquiteturas, é essencial compreender a origem destes dois modelos. Ambos foram desenvolvidos por grupos de investigação de referência e introduziram metodologias avançadas para ampliar os limites da deteção de objetos em tempo real.
Detalhes do YOLOv7#
Desenvolvido como continuação da família YOLO, o YOLOv7 introduziu o conceito de «bag-of-freebies» treinável para melhorar significativamente a precisão sem aumentar o custo de inferência.
- Autores: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
- Organização: Instituto de Ciência da Informação, Academia Sinica, Taiwan
- Data: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- Documentação: https://docs.ultralytics.com/models/yolov7
Detalhes do DAMO-YOLO#
Criado por investigadores do Alibaba Group, o DAMO-YOLO concentrou-se fortemente na pesquisa de arquiteturas neurais (NAS) e na destilação avançada de conhecimento para criar modelos altamente eficientes para diferentes tipos de hardware.
- 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#
YOLOv7: análise do percurso do gradiente e reparametrização#
O YOLOv7 concentra-se fortemente nas redes de agregação de camadas eficientes estendidas (E-ELAN). Os autores conceberam a E-ELAN através da análise dos percursos do gradiente da rede, garantindo que a rede pudesse continuar a aprender sem degradar o percurso original do gradiente. Além disso, o YOLOv7 utiliza eficazmente a reparametrização do modelo durante a inferência, fundindo camadas de forma fluida para reduzir os FLOPs e acelerar os tempos de execução. Isto torna-o muito adequado para inferência em tempo real em GPUs modernas.
DAMO-YOLO: pesquisa de arquiteturas neurais e RepGFPN#
O DAMO-YOLO distingue-se por recorrer amplamente à pesquisa de arquiteturas neurais (NAS) sujeita a restrições de latência. Utiliza uma estrutura chamada MAE-NAS para descobrir backbones ideais, adaptados a hardware específico, como dispositivos móveis ou aceleradores de periferia específicos. Para o neck, introduz uma RepGFPN (rede de pirâmide de características generalizada reparametrizada) eficiente e utiliza uma conceção ZeroHead para minimizar a carga computacional nas cabeças de predição.
Enquanto o YOLOv7 se baseia em otimizações arquiteturais intrínsecas robustas, o DAMO-YOLO depende fortemente de um processo complexo de destilação de conhecimento em várias etapas. É necessário treinar um modelo professor grande para destilar conhecimento para um modelo aluno mais pequeno, o que pode ser computacionalmente dispendioso durante a fase de treino.
Comparação de desempenho e métricas#
Ao comparar estes modelos, é essencial analisar o mAP (precisão média), a velocidade de inferência e a complexidade do modelo.
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
A tabela acima demonstra que o YOLOv7 escala bem para domínios de alta precisão (YOLOv7x), enquanto o DAMO-YOLO oferece modelos minúsculos altamente otimizados para ambientes com recursos limitados.
Eficiência de treinamento e requisitos de memória#
Uma diferença importante entre as duas arquiteturas está nas metodologias de treino. A dependência do DAMO-YOLO da destilação significa que treinar um novo modelo de raiz ou ajustá-lo a um conjunto de dados personalizado de visão computacional exige frequentemente muito mais memória VRAM e tempo de computação em GPU.
Em contrapartida, os modelos com suporte nativo no ecossistema Ultralytics, como o YOLOv8 e as versões posteriores, estão altamente otimizados para os requisitos de memória. Permitem que os programadores utilizem tamanhos de lote maiores em hardware de consumo sem erros de falta de memória, simplificando o acompanhamento de experiências e o processo iterativo.
A vantagem da Ultralytics#
Embora tanto o YOLOv7 como o DAMO-YOLO ofereçam funcionalidades interessantes, implementar modelos no ecossistema Ultralytics proporciona uma experiência de desenvolvimento incomparável.
- Facilidade de utilização: O pacote Python da Ultralytics oferece uma API unificada e simples. Podes alternar rapidamente entre arquiteturas de modelos, iniciar ciclos de treino ou executar inferência com poucas linhas de código.
- Ecossistema bem mantido: A Ultralytics disponibiliza atualizações frequentes, garantindo compatibilidade nativa com as versões mais recentes do PyTorch e com os controladores CUDA. Também simplifica a exportação de modelos para formatos como ONNX, TensorRT e OpenVINO.
- Versatilidade: Ao contrário do DAMO-YOLO, que é apenas um detetor de objetos, o ecossistema Ultralytics suporta nativamente diversas tarefas. Os modelos da família Ultralytics podem realizar deteção padrão com caixas delimitadoras, estimativa de pose, segmentação de instâncias e caixas delimitadoras orientadas (OBB).
Exemplo de código: primeiros passos rápidos#
Vê como é fácil carregar, treinar e executar inferência com os modelos Ultralytics:
from ultralytics import YOLO
# Carrega um modelo YOLO26 pré-treinado (o Ultralytics não suporta pesos nativos do YOLOv7)
model = YOLO("yolo26n.pt")
# Treina o modelo no conjunto de dados COCO8 com gestão automatizada dos hiperparâmetros
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Executa a inferência numa imagem
predictions = model("https://ultralytics.com/images/bus.jpg")
# Exporta para o formato ONNX para implantação
model.export(format="onnx")Com a Ultralytics, a exportação dos pesos treinados para vários formatos acelerados por hardware (como TensorRT ou CoreML) é feita através de um único argumento no comando de exportação, poupando horas de configuração complexa de scripts.
A próxima geração: YOLO26#
Embora o YOLOv7 continue a ser uma arquitetura legada robusta, a área evoluiu rapidamente. Para novas implementações, o Ultralytics YOLO26 (lançado em janeiro de 2026) é o padrão recomendado, superando as gerações anteriores em quase todas as métricas.
- Conceção de ponta a ponta sem NMS: Introduzida pela primeira vez no YOLOv10, a cabeça opcional um-para-um do YOLO26 (
nms=False) elimina o pós-processamento de supressão não máxima (NMS). Isto garante uma inferência determinística e de latência ultrabaixa, essencial para a robótica e as tecnologias de condução autónoma. - Otimizador MuSGD: Inspirado em técnicas avançadas de treino de LLM (como o Kimi K2 da Moonshot AI), este otimizador híbrido combina SGD e Muon para proporcionar um treino altamente estável e uma convergência mais rápida em diferentes conjuntos de dados.
- Inferência na CPU até 43% mais rápida: Ao remover estrategicamente a Distribution Focal Loss (DFL), o YOLO26 aumenta significativamente o desempenho em plataformas de computação de periferia e CPUs.
- ProgLoss + STAL: Estas funções de perda avançadas melhoram substancialmente a deteção de objetos pequenos, tornando o YOLO26 particularmente adequado para imagens aéreas e vigilância detalhada.
Casos de utilização ideais#
Quando escolher DAMO-YOLO#
- Investigação académica em NAS: Se a tua organização estiver fortemente dedicada ao estudo de metodologias de pesquisa de arquiteturas neurais.
- Latência extremamente restrita em hardware específico: Se tiveres recursos para executar pesquisas NAS exaustivas e encontrar um backbone adaptado a um chip acelerador de IA personalizado.
Quando escolher o YOLOv7#
- Pipelines de GPU existentes: Para equipas que mantêm pipelines de produção legados, profundamente otimizados em torno da arquitetura E-ELAN específica do YOLOv7 em hardware NVIDIA de alto desempenho.
Porquê migrar para os modelos Ultralytics modernos (YOLO11 / YOLO26)#
Para a grande maioria das aplicações empresariais — desde análise de retalho e fabrico inteligente até à área da saúde — os modelos Ultralytics modernos são incomparáveis. A integração com a Ultralytics Platform oferece um pipeline de ML completo, com facilidade de utilização, documentação superior, suporte sólido da comunidade e versatilidade multitar tarefa. Quer estejas a monitorizar o inventário num Raspberry Pi ou a executar análises complexas na nuvem, modelos como o YOLO26 oferecem o equilíbrio de desempenho ideal para o futuro da visão computacional.