Ir para o conteúdo

YOLOv7 vs YOLO11: Do Legado em Tempo Real à Eficiência de Ponta

Navegar pelo cenário dos modelos de visão computacional envolve compreender a nuance entre as arquiteturas estabelecidas e as mais recentes inovações de ponta (SOTA). Este guia fornece uma comparação técnica abrangente entre o YOLOv7, um marco significativo na série YOLO, e o Ultralytics YOLO11, o modelo de ponta projetado para desempenho e versatilidade superiores.

Vamos explorar as suas diferenças arquitetónicas, métricas de benchmark e aplicações práticas para ajudar desenvolvedores e investigadores a selecionar a ferramenta ideal para tarefas que vão desde a deteção de objetos até à segmentação de instâncias complexa.

YOLOv7: Uma Referência em Arquitetura Eficiente

Lançado em julho de 2022, o YOLOv7 representou um grande avanço no equilíbrio entre eficiência de treinamento e velocidade de inferência. Ele foi projetado para superar os detectores anteriores, concentrando-se em otimizações arquitetônicas que reduzem a contagem de parâmetros sem sacrificar a precisão.

Autores: Chien-Yao Wang, Alexey Bochkovskiy e Hong-Yuan Mark Liao
Organização:Instituto de Ciência da Informação, Academia Sinica, Taiwan
Data: 2022-07-06
Arxiv:https://arxiv.org/abs/2207.02696
GitHub:https://github.com/WongKinYiu/yolov7
Documentação:https://docs.ultralytics.com/models/yolov7/

Destaques Arquiteturais

YOLOv7 introduziu a Extended Efficient Layer Aggregation Network (E-ELAN). Essa arquitetura permite que o modelo aprenda recursos mais diversos, controlando os caminhos de gradiente mais curtos e mais longos, aprimorando a convergência durante o treinamento. Além disso, utilizou "trainable bag-of-freebies", um conjunto de estratégias de otimização, como reparametrização de modelo e atribuição dinâmica de rótulos, que melhoram a precisão sem aumentar o custo de inferência.

Embora seja principalmente um modelo de deteção de objetos, a comunidade de código aberto explorou a extensão do YOLOv7 para estimativa de pose. No entanto, estas implementações geralmente carecem da integração perfeita encontrada em frameworks unificadas.

Forças e Limitações

YOLOv7 é respeitado por:

  • Desempenho Sólido: Estabeleceu uma nova base para detetores em tempo real após o lançamento, com bom desempenho no conjunto de dados COCO.
  • Inovação Arquitetural: A introdução do E-ELAN influenciou pesquisas subsequentes no design de redes.

No entanto, enfrenta desafios nos fluxos de trabalho modernos:

  • Complexidade: O pipeline de treinamento pode ser complexo, exigindo uma configuração manual significativa em comparação com os padrões modernos.
  • Versatilidade Limitada: Não oferece suporte nativo para tarefas como classificação ou caixas delimitadoras orientadas (OBB) de imediato.
  • Uso de Recursos: O treinamento de variantes maiores, como YOLOv7x, exige uma quantidade substancial de memória da GPU, o que pode ser um gargalo para pesquisadores com hardware limitado.

Saiba mais sobre o YOLOv7

Ultralytics YOLO11: Redefinindo Velocidade, Precisão e Facilidade de Uso

Ultralytics YOLO11 é a mais recente evolução na renomada linhagem YOLO, projetada para oferecer desempenho SOTA em uma ampla gama de tarefas de visão computacional. Construído sobre um legado de melhoria contínua, o YOLO11 oferece uma arquitetura refinada que maximiza a eficiência para implantação no mundo real.

Autores: Glenn Jocher e Jing Qiu
Organização:Ultralytics
Data: 2024-09-27
GitHub:https://github.com/ultralytics/ultralytics
Documentação:https://docs.ultralytics.com/models/yolo11/

Arquitetura Avançada e Versatilidade

O YOLO11 emprega um backbone modernizado utilizando blocos C3k2 e um módulo SPPF aprimorado para capturar características em várias escalas de forma mais eficaz. Este design resulta num modelo que não é apenas mais preciso, mas também significativamente mais leve em termos de parâmetros e FLOPs em comparação com os seus antecessores e concorrentes.

Uma característica definidora do YOLO11 é seu suporte nativo multitarefa. Dentro de uma única estrutura, os usuários podem realizar:

  • Detecção: Identificação de objetos com caixas delimitadoras.
  • Segmentação: Mascaramento em nível de pixel para análise precisa de formas.
  • Classificação: Atribuir rótulos de classe a imagens inteiras.
  • Estimativa de Pose: Detecção de pontos-chave em corpos humanos.
  • OBB: Detecção de objetos rotacionados, crucial para imagens aéreas.

Ecossistema Unificado

O YOLO11 da Ultralytics se integra perfeitamente com o HUB da Ultralytics, uma plataforma para gerenciamento de conjuntos de dados, treinamento sem código e implantação com um clique. Essa integração acelera significativamente o ciclo de vida do MLOps.

Por que os desenvolvedores escolhem YOLO11

  • Facilidade de Uso: Com um design centrado no usuário, o YOLO11 pode ser implementado em apenas algumas linhas de código Python ou através de uma CLI simples.
  • Ecossistema bem mantido: Apoiado por uma comunidade ativa e pela equipa Ultralytics, o modelo recebe atualizações frequentes, garantindo a compatibilidade com as versões mais recentes do PyTorch e aceleradores de hardware.
  • Equilíbrio de Desempenho: Ele alcança um equilíbrio excepcional entre a velocidade de inferência e a Precisão Média (mAP), tornando-o ideal tanto para dispositivos de borda quanto para servidores de nuvem.
  • Eficiência de Memória: Os modelos YOLO11 normalmente exigem menos memória CUDA durante o treinamento em comparação com arquiteturas mais antigas ou modelos baseados em transformer, permitindo tamanhos de lote maiores ou treinamento em hardware modesto.

Saiba mais sobre o YOLO11.

Comparação de Desempenho: Benchmarks Técnicos

A tabela a seguir ilustra as diferenças de desempenho entre o YOLOv7 e o YOLO11. Os dados destacam como as otimizações modernas permitem que o YOLO11 alcance uma precisão superior com uma fração do custo computacional.

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
YOLO11n64039.556.11.52.66.5
YOLO11s64047.090.02.59.421.5
YOLO11m64051.5183.24.720.168.0
YOLO11l64053.4238.66.225.386.9
YOLO11x64054.7462.811.356.9194.9

Análise:

  • Eficiência: YOLO11m iguala a precisão do YOLOv7l (51,5 vs 51,4 mAP), utilizando quase metade dos parâmetros (20,1M vs 36,9M) e significativamente menos FLOPs.
  • Velocidade: Para aplicações em tempo real, o YOLO11n é drasticamente mais rápido, registrando 1,5ms em uma GPU T4, tornando-o perfeito para processamento de vídeo de alta FPS.
  • Precisão: O maior modelo, YOLO11x, supera o YOLOv7x em precisão (54,7 vs 53,1 mAP), mantendo uma contagem de parâmetros competitiva.

Casos de Uso no Mundo Real

Agricultura e Monitoramento Ambiental

Na agricultura de precisão, detectar doenças em plantações ou monitorar o crescimento requer modelos que possam ser executados em dispositivos com energia limitada, como drones ou sensores de campo.

  • YOLO11: Sua arquitetura leve (especificamente YOLO11n/s) permite a implantação em dispositivos Raspberry Pi ou NVIDIA Jetson, permitindo o monitoramento da saúde da safra em tempo real.
  • YOLOv7: Embora preciso, sua maior demanda computacional restringe sua utilidade em dispositivos de borda alimentados por bateria.

Fabrico Inteligente e Controlo de Qualidade

Os sistemas automatizados de inspeção visual exigem alta precisão para detectar defeitos mínimos em linhas de fabricação.

  • YOLO11: A capacidade do modelo de realizar segmentação e OBB é crucial aqui. Por exemplo, OBB é essencial para detetar componentes rotacionados numa correia transportadora, uma funcionalidade suportada nativamente pelo YOLO11, mas que requer implementações personalizadas no YOLOv7.
  • YOLOv7: Adequado para detecção de bounding box padrão, mas menos adaptável para defeitos geométricos complexos sem modificações significativas.

Vigilância e Segurança

Os sistemas de segurança geralmente processam vários fluxos de vídeo simultaneamente.

  • YOLO11: A alta velocidade de inferência permite que um único servidor processe mais fluxos em paralelo, reduzindo os custos de infraestrutura.
  • YOLOv7: Eficaz, mas a maior latência por frame reduz o número total de canais que uma única unidade pode lidar.

Implementação e Eficiência de Treinamento

Uma das características de destaque do ecossistema Ultralytics é a experiência simplificada para o desenvolvedor. Abaixo está uma comparação de como começar.

Simplicidade no Código

O Ultralytics YOLO11 foi projetado para ser "completo", abstraindo o código boilerplate complexo.

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

Em contraste, repositórios mais antigos geralmente exigem a clonagem do repositório, o ajuste manual de arquivos de configuração e a execução de scripts de shell complexos para treinamento e inferência.

Flexibilidade de Exportação

O YOLO11 suporta a exportação com um clique para vários formatos para implantação, incluindo ONNX, TensorRT, CoreML e TFLite. Essa flexibilidade garante que seu modelo esteja pronto para produção em qualquer ambiente.

Conclusão: O Claro Vencedor

Embora o YOLOv7 continue sendo um modelo respeitável na história da visão computacional, o Ultralytics YOLO11 representa o futuro. Para desenvolvedores e pesquisadores, o YOLO11 oferece um pacote atraente:

  1. Métricas Superiores: mAP mais alto e velocidades de inferência mais rápidas.
  2. Ecosistema Rico: Acesso ao Ultralytics HUB, documentação extensa e suporte da comunidade.
  3. Versatilidade: Uma única estrutura para detect, segment, pose, classify e OBB.
  4. Preparado para o Futuro: Atualizações e manutenção contínuas garantem a compatibilidade com novos hardwares e bibliotecas de software.

Para qualquer novo projeto, aproveitar a eficiência e a facilidade de uso do YOLO11 é o caminho recomendado para alcançar resultados de última geração com o mínimo de atrito.

Explore Outros Modelos

Se você tem interesse em mais comparações, explore estas páginas relacionadas na documentação:


Comentários