Ir para o conteúdo

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

A evolução da família YOLO (You Only Look Once) tem sido marcada pela inovação contínua na arquitetura das redes neuronais, equilibrando os compromissos críticos entre velocidade de inferência, precisão e eficiência computacional. Esta comparação analisa o YOLOv7uma versão histórica de 2022 conhecida pelo seu "saco de brindes" treinável, e o YOLOv9, uma arquitetura de 2024 que introduz a Informação de Gradiente Programável (PGI) para superar os gargalos de informação em redes profundas.

Análise de desempenho e eficiência

A transição do YOLOv7 para o YOLOv9 representa um salto significativo na eficiência dos parâmetros. Enquanto que YOLOv7 foi optimizado para ultrapassar os limites da deteção de objectos em tempo real utilizando Extended Efficient Layer Aggregation Networks (E-ELAN), YOLOv9 introduz alterações arquitectónicas que lhe permitem atingir uma precisão média médiamAP) mais elevada com menos parâmetros e operações de ponto flutuante (FLOPs).

Para os programadores focados na implementação de IA de ponta, esta eficiência é crucial. Conforme ilustrado na tabela abaixo, o YOLOv9e atinge um mAP dominante de 55,6%, superando o YOLOv7x maior e mantendo uma pegada computacional competitiva. Por outro lado, o YOLOv9t mais pequeno oferece uma solução leve para dispositivos altamente limitados, um nível que YOLOv7 não visa explicitamente com a mesma granularidade.

Modelotamanho
(pixels)
mAPval
50-95
Velocidade
CPU ONNX
(ms)
Velocidade
T4 TensorRT10
(ms)
parâmetros
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0

YOLOv7: Otimizar o saco de brindes treinável

Lançado em julho de 2022, YOLOv7 introduziu várias reformas estruturais na arquitetura YOLO , com foco na otimização do processo de treinamento sem aumentar o custo de inferência.

Destaques da arquitetura

YOLOv7 utiliza o E-ELAN (Extended Efficient Layer Aggregation Network), que controla os caminhos de gradiente mais curtos e mais longos para permitir que a rede aprenda mais caraterísticas de forma eficaz. Também popularizou o escalonamento de modelos para modelos baseados em concatenação, permitindo que a profundidade e a largura sejam escalonadas simultaneamente. Uma inovação fundamental foi a convolução re-parametrizada planeada, que simplifica a arquitetura do modelo durante a inferência para aumentar a velocidade.

Estatuto de legado

Embora YOLOv7 continue a ser um modelo capaz, falta-lhe o suporte nativo para optimizações mais recentes encontradas no ecossistemaUltralytics . Os desenvolvedores podem achar a integração com ferramentas modernas de MLOps mais desafiadora em comparação com as iterações mais recentes.

Saiba mais sobre o YOLOv7

YOLOv9: Resolver o estrangulamento da informação

YOLOv9, apresentado no início de 2024, aborda uma questão fundamental na aprendizagem profunda: a perda de informação à medida que os dados passam por camadas sucessivas.

Destaques da arquitetura

A principal inovação do YOLOv9 é a Informação de Gradiente Programável (PGI). Em redes profundas, informações úteis podem ser perdidas durante o processo de feedforward, levando a gradientes não confiáveis. O PGI fornece uma estrutura de supervisão auxiliar que garante que as principais informações sejam preservadas para a função de perda. Além disso, a Rede de Agregação de Camada Eficiente Generalizada (GELAN) amplia os recursos do ELAN, permitindo o bloqueio arbitrário, maximizando o uso de parâmetros e recursos computacionais.

Esta arquitetura torna YOLOv9 excecionalmente forte para tarefas de deteção complexas, como a deteção de pequenos objectos em ambientes desordenados ou a análise de imagens aéreas de alta resolução.

Saiba mais sobre o YOLOv9

Porque é que os modelos Ultralytics YOLO11 e YOLOv8) são a escolha preferida

Embora YOLOv7 e YOLOv9 sejam realizações académicas impressionantes, o Ultralytics YOLO da Ultralytics - incluindo o YOLOv8 e o topo de gama YOLO11- foi concebida especificamente para o desenvolvimento de aplicações práticas e reais. Estes modelos dão prioridade à facilidade de utilização, à integração no ecossistema e à eficiência operacional, o que os torna a melhor escolha para a maioria das equipas de engenharia.

Experiência do utilizador simplificada

Os modelos Ultralytics estão envolvidos numa APIPython unificada que abstrai as complexidades dos pipelines de formação. Alternar entre tarefas de deteção de objectos, segmentação de instâncias, estimativa de pose e caixa delimitadora orientada (OBB) requer apenas uma única alteração de argumento, uma versatilidade que falta nas implementações YOLOv7 ou YOLOv9 padrão.

from ultralytics import YOLO

# Load a model (YOLO11 automatically handles architecture)
model = YOLO("yolo11n.pt")  # Load a pretrained model

# Train the model with a single line of code
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

Ecossistema bem conservado

A escolha de um modelo Ultralytics dá acesso a um ecossistema robusto. Isto inclui uma integração perfeita com o Ultralytics HUB (e a futura Ultralytics Platform) para formação na nuvem e gestão de conjuntos de dados. Além disso, a comunidade ativa e as actualizações frequentes garantem a compatibilidade com o hardware mais recente, como a exportação para o TensorRT ou OpenVINO para velocidades de inferência óptimas.

Memória e eficácia do treino

Os modelos Ultralytics são conhecidos pela sua eficiência de formação. Ao contrário dos modelos baseados em transformadores (como o RT-DETR), que podem consumir muita memória e demorar a convergir, os modelosYOLO Ultralytics utilizam carregadores de dados optimizados e o aumento do Mosaic para proporcionar tempos de formação rápidos com requisitos de memória CUDA mais baixos. Isso permite que os desenvolvedores treinem modelos de última geração em GPUs de nível de consumidor.

Saiba mais sobre o YOLO11.

Casos de Uso Ideais

A seleção do modelo adequado depende dos condicionalismos específicos do seu projeto.

Aplicações do mundo real para o YOLOv9

  • Investigação e avaliação comparativa: Ideal para estudos académicos que exijam a mais elevada exatidão absoluta comunicada no conjunto de dadosCOCO .
  • Vigilância de alta fidelidade: Em cenários como os sistemas de alarme de segurança, em que um ganho de precisão de 1-2% justifica uma maior complexidade de implementação.

Aplicações do mundo real para o YOLOv7

  • Sistemas legados: Projectos já construídos na Darknet ou nos primeiros ecossistemas PyTorch que requerem uma quantidade estável e conhecida sem refactorizar toda a base de código.

Aplicações do mundo real para Ultralytics YOLO11

  • Cidades inteligentes: Utilização do seguimento de objectos para análise do fluxo de tráfego, onde a velocidade e a facilidade de implementação são fundamentais.
  • Cuidados de saúde:Análise de imagens médicas em que a segmentação e a deteção são frequentemente necessárias em simultâneo.
  • Fabrico: Implementação de sistemas de controlo de qualidade em dispositivos de ponta como o NVIDIA Jetson ou o Raspberry Pi, beneficiando das opções de exportação simples para o TFLite e ONNX.

Conclusão

Tanto YOLOv7 como YOLOv9 representam marcos importantes na história da visão por computador. YOLOv9 oferece uma atualização convincente em relação à v7 com a sua arquitetura PGI, proporcionando melhor eficiência e precisão. No entanto, para os programadores que procuram uma solução versátil, fácil de utilizar e com um bom suporte, Ultralytics YOLO11 continua a ser a escolha recomendada. O seu equilíbrio entre desempenho, documentação exaustiva e capacidades multitarefadetect, segment, classify, colocar) proporcionam o caminho mais rápido do conceito à produção.

Explore Outros Modelos

Para encontrar a solução perfeita para as suas tarefas específicas de visão computacional, considere explorar estas outras comparações:


Comentários