Ir para o conteúdo

YOLOv8 vs YOLOv7: Uma comparação técnica exaustiva

A evolução dos modelos de deteção de objectos tem sido rápida, com a família YOLO (You Only Look Once) a liderar o desempenho em tempo real. Escolher entre YOLOv8 e YOLOv7 implica compreender não só as suas métricas brutas, mas também as filosofias arquitectónicas, a experiência do programador e o suporte do ecossistema que os rodeia. Enquanto YOLOv7 estabeleceu referências impressionantes aquando do seu lançamento, Ultralytics YOLOv8 introduziu uma mudança de paradigma em termos de usabilidade e versatilidade.

Este guia fornece uma análise técnica detalhada para ajudar os programadores e investigadores a selecionar a ferramenta certa para os seus projectos de visão computacional.

Análise de Desempenho

Quando se compara o desempenho, é crucial analisar o compromisso entre a velocidade de inferência e a precisão da deteção (mAP). YOLOv8 oferece geralmente um equilíbrio superior, fornecendo maior precisão para tamanhos de modelo semelhantes e velocidades de inferência mais rápidas em hardware moderno.

O quadro seguinte destaca as diferenças de desempenho no conjunto de dadosCOCO .

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
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

Principais Conclusões

  • Eficiência: O YOLOv8n (nano) atinge velocidades notáveis (1,47 ms na GPU), tornando-o ideal para aplicações de IA de ponta em que a latência é crítica.
  • Exatidão:YOLOv8x ultrapassa o YOLOv7x em termos de precisão (53,9% vs 53,1% mAP), mantendo uma contagem de parâmetros competitiva.
  • Otimização: Os modelos YOLOv8 demonstram uma melhor eficiência de parâmetros, proporcionando um maior desempenho por FLOP, o que se traduz num menor consumo de energia durante a inferência.

Ultralytics YOLOv8: O padrão moderno

Lançado pela Ultralytics no início de 2023, YOLOv8 foi concebido para ser topo de gama (SOTA) não só em termos de desempenho, mas também de flexibilidade e facilidade de utilização. Unifica várias tarefas de visão computacional numa estrutura única e simplificada.

Arquitetura e inovação

YOLOv8 introduz um mecanismo de deteção sem âncora, que simplifica o processo de formação ao eliminar a necessidade de cálculos manuais da caixa de âncora. Isto reduz o número de previsões de caixas e acelera a Supressão Não Máxima (NMS).

A arquitetura inclui o módulo C2f (Cross-Stage Partial Bottleneck com duas convoluções), que combina caraterísticas de alto nível com informações contextuais de forma mais eficaz do que as iterações anteriores. Isto leva a um fluxo de gradiente mais rico e a uma melhor convergência da aprendizagem. Além disso, YOLOv8 utiliza uma cabeça desacoplada, processando as tarefas de objetividade, classificação e regressão de forma independente para uma maior precisão.

Pontos Fortes

Saiba mais sobre o YOLOv8.

YOLOv7: Uma referência em termos de eficiência

YOLOv7 fez ondas significativas aquando do seu lançamento, introduzindo optimizações arquitectónicas centradas no "bag-of-freebies" - métodos para aumentar a precisão sem aumentar o custo de inferência.

Arquitetura e abordagem

YOLOv7 utiliza a Extended Efficient Layer Aggregation Network (E-ELAN), que controla os caminhos de gradiente mais curtos e mais longos para permitir que a rede aprenda mais caraterísticas de forma eficiente. Dá grande ênfase ao escalonamento do modelo (alterando a profundidade e a largura simultaneamente) e introduz técnicas de re-parametrização para fundir camadas durante a inferência, acelerando o modelo sem perder a precisão do treinamento.

Pontos fortes e limitações

YOLOv7 é um modelo poderoso que oferece excelentes rácios de velocidade/precisão, particularmente em dispositivos GPU . A sua abordagem "bag-of-freebies" garante que o modelo permanece leve durante a implementação. No entanto, em comparação com o YOLOv8, não possui o suporte unificado multitarefa pronto a utilizar e requer procedimentos de configuração mais complexos que envolvem a clonagem de repositórios e a gestão manual de dependências. É principalmente um especialista em deteção de objectos, sendo que outras tarefas requerem frequentemente ramos ou implementações separadas.

Saiba mais sobre o YOLOv7

Comparação técnica aprofundada

Usabilidade e ecossistema

Uma das diferenças mais marcantes reside na facilidade de utilização. Ultralytics YOLOv8 é empacotado como uma biblioteca Python padrão. Isso significa que os desenvolvedores podem integrá-lo aos pipelines existentes com o mínimo de código. Em contraste, YOLOv7 opera normalmente como uma base de código autónoma que tem de ser clonada e modificada.

Experiência do programador

YOLOv8 permite treinar um modelo em apenas três linhas de código Python . Esta experiência de utilizador simplificada reduz significativamente o tempo de colocação no mercado das soluções de IA.

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load a pretrained model

# Train the model
results = model.train(data="coco8.yaml", epochs=100)

Versatilidade de tarefas

Os projectos modernos de visão por computador requerem frequentemente mais do que simples caixas delimitadoras.

  • YOLOv8: Um verdadeiro modelo multi-tarefas. Pode passar da deteção para segmentação ou estimativa de pose simplesmente alterando o ficheiro de pesos do modelo (por exemplo, yolov8n-seg.pt).
  • YOLOv7: Principalmente focado na deteção. Embora existam extensões, estas não são tão bem integradas ou mantidas num único quadro unificado.

Eficiência de treino e memória

YOLOv8 optimiza os requisitos de memória durante o treino. Implementa estratégias inteligentes de aumento de dados que se desligam no final da formação para aperfeiçoar a precisão. Além disso, a estrutura Ultralytics suporta vários formatos de conjuntos de dados e trata do descarregamento automático de conjuntos de dados padrão, aumentando significativamente a eficiência da formação.

Os modelos baseados em transformadores geralmente exigem grandes quantidades de memória CUDA e treinam lentamente. Em comparação, tanto YOLOv7 como YOLOv8 são baseados em CNN e são eficientes, mas as escolhas arquitectónicas modernas do YOLOv8(como o bloco C2f) resultam frequentemente numa convergência mais rápida e numa melhor eficiência de memória em hardware de consumo.

Casos de Uso no Mundo Real

Gestão de retalho e de inventário

Para a análise de retalho, a velocidade é fundamental. YOLOv8n pode ser executado em dispositivos periféricos, como câmaras ou módulos NVIDIA Jetson, para track o inventário em tempo real. A sua elevada velocidade de inferência garante que os produtos em movimento são contados com precisão e sem atrasos.

Sistemas Autónomos e Robótica

A robótica exige uma compreensão espacial precisa. As capacidades de segmentação do YOLOv8 permitem aos robôs distinguir a forma exacta dos obstáculos em vez de apenas uma caixa delimitadora. Esta versatilidade melhora a segurança da navegação. Embora YOLOv7 seja capaz, a implementação da segmentação exige mais esforço e bases de código díspares.

Agricultura

Na agricultura de precisão, os modelos detect doenças nas culturas ou monitorizam o crescimento. O ecossistema bem mantido do Ultralytics significa que os investigadores têm acesso a pesos pré-treinados e a tutoriais da comunidade especificamente para estes conjuntos de dados de nicho, reduzindo a barreira à entrada.

Conclusão

Embora YOLOv7 continue a ser uma arquitetura respeitável e poderosa na história da visão por computador, YOLOv8 Ultralytics YOLOv8 representa a escolha superior para o desenvolvimento moderno. A sua combinação de desempenho topo de gama, versatilidade inigualável e um ecossistema que coloca o programador em primeiro lugar fazem dele a solução ideal tanto para a investigação académica como para a implementação empresarial.

Para aqueles que procuram o que há de mais moderno em termos de eficiência e refinamento arquitetónico, Ultralytics lançou também o YOLO11que ultrapassa ainda mais os limites. No entanto, para uma comparação direta com a geração v7, YOLOv8 destaca-se como o vencedor robusto, fiável e fácil de utilizar.

Leitura Adicional

Explore outras comparações de modelos para aprofundar a sua compreensão do panorama YOLO :


Comentários