Ir para o conteúdo

YOLOv8 vs YOLOv5: Evolução da deteção de objectos em tempo real

No mundo acelerado da visão computacional, poucos nomes ressoam tão fortemente como YOLO (You Only Look Once). Desenvolvido por UltralyticsYOLOv5 e YOLOv8 representam momentos cruciais na história da deteção de objectos. Enquanto YOLOv5 estabeleceu o padrão da indústria em termos de facilidade de utilização e velocidade aquando do seu lançamento em 2020, YOLOv8 foi lançado em 2023 para alargar ainda mais os limites da precisão e da flexibilidade arquitetónica.

Esta comparação abrangente explora as diferenças técnicas, as evoluções arquitectónicas e as métricas de desempenho destes dois modelos poderosos. Quer esteja a manter sistemas antigos ou a criar soluções de IA de ponta, compreender as nuances entre estas versões é crucial para tomar decisões de implementação informadas.

Evolução arquitetónica

A transição do YOLOv5 para o YOLOv8 marca uma mudança significativa na filosofia de conceção, passando de métodos estabelecidos baseados em âncoras para uma abordagem moderna e sem âncoras. Esta evolução aborda desafios comuns na formação e generalização de modelos.

YOLOv5: A norma baseada em âncoras

YOLOv5 utiliza um esquema de deteção baseado em âncoras. Isto significa que o modelo prevê deslocamentos a partir de "caixas de ancoragem" predefinidas, adaptadas ao conjunto de dados específico. Embora altamente eficaz, esta abordagem requer frequentemente o cálculo de dimensões de ancoragem óptimas para conjuntos de dados personalizados, um processo conhecido como "autoanchor".

  • Espinha dorsal: Utiliza um backbone CSPDarknet53 com uma camada Focus (em versões anteriores) ou uma camada stem (em versões posteriores) para reduzir a amostragem das imagens.
  • Pescoço: Incorpora uma PANet (Path Aggregation Network) para a fusão de caraterísticas.
  • Cabeça: Estrutura de cabeça acoplada em que as tarefas de classificação e localização partilham caraterísticas até às camadas de saída finais.

YOLOv8: O inovador sem âncora

YOLOv8 introduz uma cabeça de deteção sem âncoras, eliminando a necessidade de definições manuais da caixa de âncoras. Isto simplifica o pipeline de formação e melhora o desempenho em objectos com diversas formas e proporções.

  • Módulo C2f: Substitui o módulo C3 encontrado no YOLOv5. O módulo C2f (Cross-Stage Partial Bottleneck with two convolutions) foi concebido para melhorar o fluxo de gradiente e as capacidades de extração de caraterísticas, mantendo uma pegada leve.
  • Cabeça desacoplada: Ao contrário do YOLOv5, YOLOv8 separa as tarefas de objetividade, classificação e regressão em ramos distintos. Isso permite que cada ramo se concentre em sua tarefa específica, levando a uma maior precisão e convergência mais rápida.
  • Funções de perda: YOLOv8 utiliza um atribuidor alinhado com a tarefa e uma perda focal de distribuição, refinando ainda mais a forma como as amostras positivas e negativas são tratadas durante o treino.

YOLO11: A última geração

Embora YOLOv8 ofereça melhorias significativas em relação ao YOLOv5, Ultralytics continua a inovar. O recentemente lançado YOLO11 proporciona uma eficiência e precisão ainda maiores. Para novos projectos, é altamente recomendável explorar YOLO11 para garantir que a sua aplicação beneficia dos mais recentes avanços arquitectónicos.

Análise de Desempenho

Ao comparar o desempenho, é essencial analisar a precisãomAP) e a velocidade de inferência. A tabela abaixo demonstra que YOLOv8 alcança consistentemente uma maior precisão média (mAP) no conjunto de dadosCOCO em comparação com os homólogos YOLOv5 de tamanho semelhante, muitas vezes com velocidades de inferência comparáveis ou melhores.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
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

Principais Conclusões

  1. Salto de precisão: YOLOv8n (Nano) consegue um salto enorme no mAP (37,3) em comparação com o YOLOv5n (28,0), tornando o modelo v8 mais pequeno quase tão preciso como os YOLOv5s maiores.
  2. Eficiência computacional: Embora os modelos YOLOv8 tenham FLOPs ligeiramente mais elevados em algumas variantes, a compensação produz uma precisão desproporcionalmente mais elevada, proporcionando um melhor retorno do investimento computacional.
  3. Velocidade de inferência: YOLOv5 continua extremamente rápido, especialmente em hardware mais antigo ou dispositivos de borda puramente CPU. No entanto, YOLOv8 é otimizado para GPUs e aceleradores modernos, como o TensorRTdiminuindo significativamente a diferença de velocidade.

Ultralytics YOLOv8: A potência multitarefa

Autores: Glenn Jocher, Ayush Chaurasia e Jing Qiu
Organização:Ultralytics
Data: 2023-01-10
Docsyolov8
GitHubultralytics

YOLOv8 foi concebido para ser uma solução versátil e tudo-em-um para a visão computacional. Suporta nativamente uma vasta gama de tarefas para além da simples deteção de objectos, incluindo segmentação de instâncias, estimativa de pose, classificação e deteção de caixas delimitadoras orientadas (OBB).

Pontos Fortes

  • Precisão de última geração: Oferece um desempenho de deteção superior em benchmarks padrão como COCO e Roboflow 100.
  • Quadro unificado: Construído sobre o ultralytics Python , assegurando uma experiência de formação sem descontinuidades, validaçãoe implantação.
  • Amigável ao desenvolvedor: A API é incrivelmente intuitiva. Alternar entre tarefas (por exemplo, deteção para segmentação) geralmente requer a alteração de apenas um único argumento na CLI ou no código Python .
  • Eficiência de treinamento: Caraterísticas como o aumento "inteligente" do conjunto de dados e a afinação automática de hiperparâmetros simplificam o caminho dos dados para o modelo implementado.

Fraquezas

  • Utilização de recursos: As variantes maiores (L e X) podem consumir mais recursos durante o treino em comparação com as suas antecessoras v5, exigindo mais VRAM nas GPUs.

Saiba mais sobre o YOLOv8.

Ultralytics YOLOv5: O padrão legado

Autor: Glenn Jocher
Organização:Ultralytics
Data: 2020-06-26
Docsyolov5
GitHubyolov5

YOLOv5 revolucionou a acessibilidade da IA. Ao utilizar o PyTorchtornou o treino de detectores de objectos personalizados acessível a programadores com experiência limitada em aprendizagem profunda. O seu ecossistema é vasto, com milhares de tutoriais, integrações e implementações no mundo real.

Pontos Fortes

  • Estabilidade comprovada: Anos de utilização ativa em ambientes de produção fizeram do YOLOv5 um dos modelos de visão mais estáveis e fiáveis disponíveis.
  • Amplo suporte de implantação: Suporte extensivo para formatos de exportação, incluindo ONNXCoreML e TFLite torna-o ideal para diversos alvos de hardware, desde telemóveis a Raspberry Pi.
  • Ecossistema da comunidade: Uma comunidade massiva garante que as soluções para quase todos os casos extremos ou erros estão prontamente disponíveis em fóruns e problemas do GitHub.

Fraquezas

  • Teto de precisão inferior: Sendo um modelo de 2020, as suas métricas de precisão ficam atrás de arquitecturas mais recentes como a v8 e a YOLO11.
  • Gestão de âncoras: Requer o cálculo da caixa de ancoragem, o que pode ser um ponto de fricção para os utilizadores com conjuntos de dados únicos ou altamente variáveis.

Saiba mais sobre o YOLOv5.

Integração de códigos e facilidade de utilização

Uma das caraterísticas dos modelos Ultralytics é a API partilhada e simplificada. Quer escolha o YOLOv8 pela sua precisão ou YOLOv5 pelo seu suporte antigo, a ultralytics unifica o fluxo de trabalho. Isto reduz significativamente a barreira à entrada e permite uma fácil experimentação.

Pode treinar, validar e prever com apenas algumas linhas de código Python .

from ultralytics import YOLO

# Load a YOLOv8 model (recommended for new projects)
model_v8 = YOLO("yolov8n.pt")

# Train the model on the COCO8 dataset
results_v8 = model_v8.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
model_v8.predict("https://ultralytics.com/images/bus.jpg", save=True)


# Load a YOLOv5 model (automatically handled by the same package)
model_v5 = YOLO("yolov5su.pt")  # 'u' suffix indicates updated v5 model structure

# The same API works for training and inference
results_v5 = model_v5.train(data="coco8.yaml", epochs=100, imgsz=640)

Benefícios do ecossistema unificado

Ao utilizar o ecossistema unificado Ultralytics , obtém acesso a ferramentas poderosas como o Ultralytics HUB para formação e visualização de modelos sem código. Esta plataforma simplifica a gestão de conjuntos de dados e a colaboração, permitindo que as equipas se concentrem na resolução de problemas e não na gestão da infraestrutura.

Recomendações de casos de utilização

A escolha entre YOLOv8 e YOLOv5 depende dos requisitos específicos do seu projeto, das restrições de hardware e dos objectivos de desenvolvimento.

Quando escolher YOLOv8

  • Novos projectos: Se estiver a começar do zero, YOLOv8 (ou o mais recente YOLO11) é o claro vencedor. A sua precisão superior garante que a sua aplicação se mantém competitiva e robusta.
  • Tarefas complexas: Para aplicações que requerem estimativa de pose ou segmentação, o suporte multitarefa nativo do YOLOv8 é indispensável.
  • Necessidades de alta precisão: Em domínios como a imagiologia médica ou a deteção de defeitos, o mAP melhorado do YOLOv8 pode reduzir significativamente os falsos negativos.

Quando escolher YOLOv5

  • Manutenção do legado: Se tiver um pipeline de produção existente construído em torno do YOLOv5 que esteja a funcionar bem, a migração pode não ser imediatamente necessária.
  • Restrições extremas de borda: Para dispositivos de consumo de energia extremamente baixo, em que cada milissegundo de latência conta e a precisão é secundária, as variantes mais leves YOLOv5 Nano podem ainda ter uma ligeira vantagem em termos de débito bruto em CPUs mais antigas específicas.
  • Compatibilidade de tutoriais: Se estiver a seguir um tutorial ou curso legado específico que depende muito da estrutura original do repositório YOLOv5 .

Conclusão

Tanto YOLOv5 como YOLOv8 exemplificam o compromisso da Ultralytics em tornar a IA acessível, rápida e exacta. YOLOv5 democratizou a deteção de objetos, criando uma comunidade massiva e definindo o padrão de usabilidade. YOLOv8 assenta nesta base, introduzindo inovações arquitectónicas que proporcionam um desempenho e uma versatilidade de última geração.

Para a grande maioria dos utilizadores, YOLOv8-ou o ainda mais avançado YOLO11-é a escolha recomendada. Oferece o melhor equilíbrio entre velocidade e precisão, apoiado por um ecossistema de software moderno e rico em funcionalidades que simplifica todo o ciclo de vida da aprendizagem automática.

Para explorar mais, consulte os nossos Guias para obter instruções detalhadas sobre a implementação ou visite o GitHub do Ultralytics para contribuir para o futuro da IA de visão.


Comentários