Ir para o conteúdo

YOLOv10 vs. YOLOv5: Arquitetura e desempenho em profundidade

No panorama em rápida evolução da visão por computador, a escolha do modelo de deteção de objectos correto é fundamental para o sucesso do projeto. Esta comparação explora as diferenças técnicas entre YOLOv10um recente lançamento académico centrado na formação NMS, e o YOLOv5o lendário modelo da Ultralytics conhecido pela sua robustez e adoção em toda a indústria. Embora ambos os modelos sejam provenientes da linhagem You Only Look Once, eles atendem a diferentes prioridades de engenharia e ambientes de implantação.

Visão geral dos modelos

YOLOv10: O especialista em eficiência

Lançado em maio de 2024 por investigadores da Universidade de Tsinghua, YOLOv10 introduz mecanismos arquitectónicos concebidos para eliminar a necessidade de Supressão Não Máxima (NMS) durante a inferência. Ao utilizar atribuições duplas consistentes durante o treinamento, YOLOv10 tem como objetivo reduzir a latência de ponta a ponta, tornando-o um forte candidato para aplicativos de borda em que cada milissegundo de latência de inferência é importante.

Saiba mais sobre o YOLOv10

Ultralytics YOLOv5: O padrão da indústria

Desde o seu lançamento em 2020 pela UltralyticsYOLOv5 definiu a facilidade de utilização na comunidade de IA. Ele prioriza um equilíbrio entre velocidade, precisão e utilidade de engenharia. Além das métricas brutas, YOLOv5 oferece um ecossistema maduro, integrando-se perfeitamente a ferramentas de implantação móvel, plataformas de rastreamento de experimentos e fluxos de trabalho de gerenciamento de conjuntos de dados. A sua versatilidade estende-se para além da deteção, incluindo a classificação de imagens e a segmentação de instâncias.

  • Autor: Glenn Jocher
  • Organização: Ultralytics
  • Data: 2020-06-26
  • GitHub:yolov5

Saiba mais sobre o YOLOv5.

Diferenças arquitectónicas

A principal divergência reside na forma como as previsões são processadas. YOLOv5 utiliza uma arquitetura baseada em âncoras altamente optimizada que se baseia no NMS para filtrar caixas delimitadoras sobrepostas. Este método é testado em batalha e robusto em conjuntos de dados variados.

Em contraste, YOLOv10 emprega uma estratégia de atribuição dupla consistente. Isso permite que o modelo preveja uma única melhor caixa para cada objeto durante a inferência, teoricamente removendo totalmente a etapa NMS . Essa redução na sobrecarga de pós-processamento é a principal reivindicação de fama do YOLOv10, oferecendo menor latência em dispositivos de ponta como o NVIDIA Jetson Orin Nano. Além disso, YOLOv10 incorpora projetos de eficiência holística em seu backbone e cabeça para minimizar parâmetros (params) e operações de ponto flutuante (FLOPs).

Eficiência da memória

Uma caraterística dos modelos Ultralytics como o YOLOv5 (e o mais recente YOLO11) é o seu espaço de memória optimizado. Ao contrário de alguns detectores baseados em transformadores que consomem grandes quantidades de memória CUDA , os modelos Ultralytics são projetados para treinar eficientemente em hardware de nível de consumidor, democratizando o acesso à IA de última geração.

Métricas de Desempenho

A tabela abaixo destaca os compromissos de desempenho. YOLOv10 geralmente alcança uma precisão média média (mAP) mais alta com menos parâmetros em comparação com a arquitetura YOLOv5 mais antiga. No entanto, YOLOv5 continua competitivo em termos de velocidade de inferência bruta em determinadas configurações de hardware, particularmente quando se utilizam formatos de exportação optimizados como o TensorRT ou ONNX.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

Forças e Fraquezas

Análise YOLOv10

Forças:

  • NMS: A remoção da etapa de supressão não máxima simplifica o pipeline de implantação e estabiliza a latência da inferência.
  • Eficiência de parâmetros: Atinge uma elevada precisão com pesos de modelo mais pequenos, o que é benéfico para dispositivos com limitações de armazenamento.
  • Precisão de última geração: Supera as versões mais antigas YOLO em métricas mAP puro no benchmark COCO .

Fraquezas:

  • Versatilidade limitada: Focado principalmente na deteção de objectos, não tem suporte nativo para tarefas complexas, como a estimativa de pose ou a deteção de Oriented Bounding Box (OBB), que se encontra nos modelos Ultralytics mais recentes.
  • Ecossistema em desenvolvimento: Sendo um modelo centrado na investigação, pode não ter os extensos plug-ins da comunidade, as integrações testadas em combate e o suporte empresarial disponível para os modelos Ultralytics.

Análise YOLOv5

Forças:

  • Versatilidade inigualável: Suporta deteção, segmentação e classificação de imediato.
  • Ecossistema robusto: Apoiado por Ultralyticsintegra-se sem esforço com ferramentas como Ultralytics HUB, Roboflow e Comet ML.
  • Pronto para implantação: Existe uma extensa documentação para exportar para CoreML, TFLite, TensorRT e OpenVINO, garantindo implementações de produção sem problemas.
  • Eficiência de treinamento: Conhecido pela dinâmica de treinamento estável e baixo uso de memória, tornando-o acessível para desenvolvedores com configurações de GPU única.

Fraquezas:

  • Arquitetura envelhecida: Embora ainda seja poderosa, o seu rácio mAP puro foi ultrapassado por iterações mais recentes como a YOLOv8 e YOLO11.
  • Dependência de âncora: Depende de caixas de ancoragem que podem necessitar de afinação manual para conjuntos de dados com proporções extremas de objectos.

Casos de Uso Ideais

A escolha entre estas duas opções depende frequentemente dos condicionalismos específicos do seu ambiente de implementação.

  • Escolha YOLOv10 se: Está a construir um sistema de deteção de objectos dedicado para um dispositivo incorporado, em que a eliminação da sobrecarga computacional NMS proporciona uma vantagem crítica em termos de velocidade, ou se necessitar do mais elevado mAP absoluto a partir de um modelo de pequena dimensão.
  • Escolha YOLOv5 se: Necessita de um modelo fiável e multitarefa para um pipeline de produção. A sua capacidade de lidar com a segmentação e classificação de instâncias torna-o um "canivete suíço" para a IA de visão. Além disso, se a sua equipa se baseia em fluxos de trabalho MLOps padrão, a integração perfeita do YOLOv5 no ecossistema Ultralytics reduz significativamente o tempo de desenvolvimento.

Experiência do utilizador e ecossistema

Uma das caraterísticas que definem os modelos Ultralytics é o foco na experiência do desenvolvedor. YOLOv5 definiu o padrão para "simplesmente funciona", e essa filosofia continua. Os utilizadores podem treinar um modelo YOLOv5 em dados personalizados com apenas algumas linhas de código, tirando partido de pesos pré-treinados para acelerar a convergência.

Em contrapartida, embora YOLOv10 forneça excelentes resultados académicos, a sua integração em pipelines de produção complexos pode exigir uma engenharia mais personalizada. Ultralytics mantém uma comunidade vibrante de código aberto, garantindo que os bugs sejam eliminados rapidamente e que os recursos sejam adicionados com base no feedback do usuário do mundo real.

Comparação de códigos

A execução destes modelos é simples. Abaixo estão exemplos de como carregar e prever com cada um deles usando Python.

Utilizar o YOLOv10:

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Perform inference on an image
results = model("path/to/image.jpg")
results[0].show()

Usando YOLOv5 (via PyTorch Hub):

import torch

# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Perform inference
results = model("path/to/image.jpg")
results.show()

Conclusão

Ambos os modelos representam realizações significativas no domínio da visão por computador. YOLOv10 ultrapassa os limites da otimização da latência com o seu design NMS, o que o torna uma escolha interessante para tarefas de deteção especializadas e de alta velocidade.

No entanto, para a maioria dos programadores e empresas, o ecossistemaUltralytics -aqui representado pela fiabilidade duradoura do YOLOv5 e o desempenho de ponta do YOLO11- oferece uma solução mais abrangente. A combinação de facilidade de utilização, documentação extensa e capacidades multitarefa garante que passa menos tempo a depurar e mais tempo a implementar valor.

Para quem pretende atualizar a partir do YOLOv5 mantendo as vantagens do ecossistema, recomendamos vivamente que explore o YOLO11que oferece desempenho de ponta, deteção sem âncoras e suporte para todo o espetro de tarefas de visão, incluindo OBB e estimativa de pose.

Leitura Adicional


Comentários