YOLOv8 vs DAMO-YOLO#
O panorama da visão computacional está em constante evolução, com novas arquiteturas a ultrapassarem os limites do que é possível em dispositivos de edge e em grandes clusters na cloud. Nesta análise técnica aprofundada, comparamos dois modelos proeminentes de deteção de objetos em tempo real: YOLOv8 e DAMO-YOLO. Ao examinarem as suas arquiteturas, métricas de desempenho e metodologias de treino, os engenheiros de ML podem tomar decisões informadas para os seus pipelines de implementação.
Contexto e origens dos modelos#
Ambos os modelos foram introduzidos aproximadamente ao mesmo tempo, mas resultam de filosofias de design e objetivos de investigação diferentes.
Detalhes do YOLOv8#
- Autores: Glenn Jocher, Ayush Chaurasia e Jing Qiu
- Organização: Ultralytics
- Data: 2023-01-10
- GitHub: Repositório do Ultralytics no GitHub
- Documentação: Documentação Oficial do YOLOv8
Detalhes do DAMO-YOLO#
- Autores: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang e Xiuyu Sun
- Organização: Alibaba Group
- Data: 2022-11-23
- Arxiv: Artigo de Pesquisa do DAMO-YOLO
- GitHub: Repositório do GitHub do DAMO-YOLO
Inovações arquiteturais#
YOLOv8: Design versátil sem âncoras#
Ultralytics YOLOv8 introduziu melhorias significativas em relação aos seus predecessores, consolidando o seu estatuto como um modelo de vanguarda altamente fiável. Inclui uma cabeça de deteção sem âncoras, que reduz o número de previsões de caixas e acelera a inferência. A arquitetura utiliza uma cabeça desacoplada, separando as tarefas de objetividade, classificação e regressão, o que conduz a previsões mais precisas das caixas delimitadoras.
Além disso, o YOLOv8 implementa a Distribution Focal Loss (DFL) juntamente com a loss CIoU, melhorando a capacidade do modelo para localizar com precisão os limites dos objetos, especialmente no caso de alvos mais pequenos ou ocluídos. O seu backbone simplificado está altamente otimizado para execução tanto em GPU como em CPU.
DAMO-YOLO: Orientado pela pesquisa de arquiteturas#
O DAMO-YOLO adota uma abordagem diferente, baseando-se fortemente na Pesquisa de Arquiteturas Neuronais (NAS) para conceber automaticamente o seu backbone. A equipa da Alibaba introduziu o "MAE-NAS" para encontrar estruturas que ofereçam compromissos ideais entre latência e precisão, especificamente sob aceleração TensorRT.
O modelo incorpora uma RepGFPN (Rede Generalizada de Pirâmide de Funcionalidades Reparametrizada) para uma fusão eficiente de funcionalidades e um design "ZeroHead" para minimizar a carga computacional da cabeça de deteção. Durante o treino, utiliza o AlignedOTA para a atribuição de etiquetas e depende fortemente de um processo complexo de destilação de conhecimento, que requer um modelo professor maior para supervisionar o modelo aluno alvo.
Embora o DAMO-YOLO alcance métricas de latência impressionantes através de NAS e destilação, isso requer significativamente mais memória CUDA e tempo de computação durante o treino, em comparação com o pipeline de treino de fase única altamente otimizado do YOLOv8.
Desempenho e métricas#
Ao implementar modelos de visão computacional em produção, é fundamental equilibrar a precisão (mAP) com a velocidade de inferência. A tabela abaixo ilustra o desempenho de ambos os modelos em vários tamanhos.
| Modelo | tamanho (píxeis) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| 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 |
O YOLOv8 demonstra um equilíbrio de desempenho excecional. O modelo YOLOv8n (nano) requer apenas 3,2 milhões de parâmetros, em comparação com os 8,5 milhões do DAMO-YOLOt, tornando-o muito superior para dispositivos móveis ou ambientes com requisitos rigorosos de memória. Além disso, o YOLOv8 oferece uma gama mais ampla de tamanhos, escalando até ao YOLOv8x altamente preciso para cargas de trabalho baseadas na cloud.
Experiência do programador e ecossistema#
Facilidade de utilização e eficiência de treino#
Um dos maiores fatores de diferenciação é a experiência do utilizador. O ecossistema Ultralytics foi concebido para aumentar a velocidade de desenvolvimento. O treino de um modelo YOLOv8 personalizado requer muito pouca memória e pode ser executado através de uma API Python unificada ou de uma interface de linha de comandos.
Por outro lado, reproduzir o treino do DAMO-YOLO melhorado por destilação exige frequentemente navegar por ficheiros de configuração complexos e gerir o acompanhamento de experiências professor-aluno em várias fases.
Eis um exemplo de como é simples treinar, validar e exportar o YOLOv8 utilizando Python:
from ultralytics import YOLO
# Load a pre-trained YOLOv8 nano model
model = YOLO("yolov8n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device="cpu")
# Export the trained model to ONNX format
path = model.export(format="onnx")Versatilidade em tarefas de visão#
O DAMO-YOLO foi desenvolvido estritamente para a deteção de objetos através de caixas delimitadoras. Em contrapartida, a arquitetura YOLOv8 suporta nativamente várias tarefas. Trocando simplesmente os pesos do modelo, os programadores podem realizar Segmentação de instâncias, Classificação de imagens e Estimativa de pose sem alterar a base de código de implementação subjacente. Esta versatilidade torna os modelos Ultralytics muito mais práticos para aplicações complexas.
Casos de utilização no mundo real#
Quando utilizar o YOLOv8#
A combinação de velocidade, precisão e facilidade de implementação do YOLOv8 torna-o ideal para:
- Análise inteligente do retalho: Realizar rastreamento de objetos para monitorizar o comportamento dos clientes ou automatizar verificações de inventário.
- Robótica agrícola: Tirar partido do seu forte desempenho em hardware variado para identificar culturas ou pragas em tempo real.
- Diagnóstico na área da saúde: Utilizar a segmentação de instâncias para mapear anomalias em imagens médicas de forma rápida e precisa.
- Implementações em edge: A integração perfeita com formatos de exportação como OpenVINO e CoreML permite que o YOLOv8 se destaque em dispositivos com recursos limitados.
Quando utilizar o DAMO-YOLO#
O DAMO-YOLO pode ser útil em cenários específicos, nomeadamente:
- Pesquisa Acadêmica em NAS: Para equipes que estudam reparametrização ou metodologias de design de arquitetura automatizada.
- Pipelines estritamente limitados pela GPU: Aplicações executadas exclusivamente em hardware NVIDIA específico, nas quais as estruturas NAS foram fortemente otimizadas para os limites de execução do TensorRT.
Casos de uso e recomendações#
A escolha entre YOLOv8 e DAMO-YOLO depende dos requisitos específicos do teu projeto, das restrições de implementação e das tuas preferências de ecossistema.
Quando escolher o YOLOv8#
O YOLOv8 é uma escolha sólida para:
- Implementação versátil multitarefa: Projetos que exigem um modelo comprovado para deteção, segmentação, classificação e estimativa de pose no ecossistema Ultralytics.
- Sistemas de produção consolidados: Ambientes de produção existentes já desenvolvidos com base na arquitetura YOLOv8, com pipelines de implementação estáveis e exaustivamente testados.
- Amplo suporte da comunidade e do ecossistema: Aplicações que beneficiam dos extensos tutoriais do YOLOv8, de integrações de terceiros e de recursos ativos da comunidade.
Quando escolher o DAMO-YOLO#
O DAMO-YOLO é recomendado 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 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.
O futuro: modelos Ultralytics mais recentes#
Embora o YOLOv8 continue a ser um modelo de trabalho altamente fiável, o campo da visão computacional evolui rapidamente. Os utilizadores também devem considerar explorar gerações mais recentes:
YOLO26: A geração mais recente, o Ultralytics YOLO26, representa uma mudança de paradigma. Introduz um Design nativamente End-to-End sem NMS, eliminando completamente os estrangulamentos de latência associados ao pós-processamento de Supressão Não Máxima. Alimentado pelo novo Otimizador MuSGD (um híbrido de SGD e Muon) e pelas funções de loss especializadas ProgLoss + STAL, o YOLO26 alcança um treino extraordinariamente estável e uma melhoria significativa no reconhecimento de objetos pequenos. Com a Remoção de DFL (Distribution Focal Loss removida para simplificar a exportação e melhorar a compatibilidade com dispositivos de edge e de baixo consumo), os ajustes arquiteturais proporcionam uma Inferência em CPU até 43% mais rápida em comparação com as gerações anteriores, tornando-o a escolha definitiva para a computação de edge moderna.
YOLO11: Outra excelente alternativa, o Ultralytics YOLO11 oferece melhorias arquiteturais incrementais em relação ao YOLOv8 e continua a ser um modelo robusto e amplamente adotado pela comunidade.
Queres levar os teus modelos do protótipo à produção? Utiliza a Plataforma Ultralytics para anotar conjuntos de dados automaticamente, acompanhar experiências e implementar modelos de forma simples na cloud ou em dispositivos de edge.
Em conclusão, embora o DAMO-YOLO ofereça perspetivas académicas interessantes sobre a pesquisa de arquiteturas, os modelos Ultralytics proporcionam um ecossistema significativamente mais maduro, versátil e orientado para programadores. Quer optes pela estabilidade comprovada do YOLOv8, quer atualizes para a arquitetura sem NMS extremamente rápida do YOLO26, o conjunto Ultralytics continua a ser a escolha de referência para IA de visão em tempo real.