YOLO11 vs YOLOv5: Evolução do estado da arte da deteção de objectos
A evolução da deteção de objectos em tempo real foi significativamente moldada pela série Ultralytics YOLO . YOLOv5lançada em 2020, estabeleceu um padrão global para facilidade de uso, velocidade e confiabilidade, tornando-se um dos modelos de IA de visão mais implantados da história. YOLO11, a mais recente iteração, baseia-se nessa base lendária para oferecer precisão, eficiência e versatilidade sem precedentes.
Este guia fornece uma comparação técnica detalhada entre estas duas potências, ajudando os programadores e investigadores a compreender as mudanças arquitectónicas, os ganhos de desempenho e os casos de utilização ideais para cada uma delas.
Análise de Desempenho
A diferença de desempenho entre YOLO11 e YOLOv5 destaca os rápidos avanços no design de redes neurais. Embora YOLOv5 continue a ser um modelo capaz, YOLO11 supera-o consistentemente em todas as escalas de modelo, particularmente em termos de velocidade de inferência CPU e precisão de deteção.
Principais métricas de desempenho
A tabela abaixo apresenta uma comparação direta no conjunto de dadosCOCO . Uma observação crítica é a eficiência do YOLO11n, que alcança um mAP de 39,5, superando significativamente o mAP de 28,0 do YOLOv5n, ao mesmo tempo que funciona mais rapidamente no hardware CPU .
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
Precisão vs. Eficiência
YOLO11 representa uma mudança de paradigma no compromisso "eficiência vs. precisão".
- Deteção de pequenos objectos: YOLO11 melhora significativamente a deteção de pequenos objectos em comparação com o YOLOv5, graças às suas camadas de extração de caraterísticas refinadas.
- Eficiência de computação: O YOLO11l atinge 53,4 mAP com apenas 25,3M de parâmetros. Em contraste, o YOLOv5l requer 53,2 milhões de parâmetros para atingir um mAP inferior de 49,0. Esta redução de 50% nos parâmetros para uma maior precisão traduz-se numa menor utilização de memória e em tempos de formação mais rápidos.
Sem âncora vs Baseado em âncora
Uma das diferenças técnicas mais significativas é o mecanismo da cabeça de deteção. YOLOv5 utiliza uma abordagem baseada em âncoras, que requer caixas de âncoras predefinidas que devem ser ajustadas a conjuntos de dados específicos para obter um desempenho ótimo.
YOLO11 utiliza um design sem âncoras. Isso elimina a necessidade de cálculo manual da caixa de ancoragem, simplifica o pipeline de treinamento e melhora a generalização em diversos conjuntos de dados sem ajuste de hiperparâmetros.
Arquitetura e conceção de modelos
As diferenças arquitectónicas entre estes dois modelos reflectem a progressão da investigação em visão computacional ao longo de vários anos.
YOLOv5: O padrão comprovado
YOLOv5 introduziu uma implementação PyTorch de fácil utilização que tornou a deteção de objectos acessível às massas.
- Espinha dorsal: Utiliza um CSPDarknet53 modificado, que é altamente eficaz mas computacionalmente mais pesado do que as alternativas modernas.
- Foco: Deu prioridade a um equilíbrio entre velocidade e precisão que foi revolucionário no seu lançamento em 2020.
- Legado: Continua a ser uma "escolha segura" para sistemas já profundamente integrados com os seus formatos específicos de entrada/saída.
YOLO11: A vanguarda
YOLO11 integra as mais recentes técnicas de aprendizagem profunda para maximizar a reutilização de caraterísticas e minimizar a sobrecarga computacional.
- Bloco C3k2: Uma evolução do gargalo do CSP, este bloco permite um fluxo de gradiente mais eficiente e a fusão de caraterísticas.
- Módulo C2PSA: Introduz mecanismos de atenção espacial, permitindo que o modelo se concentre em áreas críticas da imagem para uma melhor localização do objeto.
- Cabeça Multi-Tarefa: Ao contrário do YOLOv5, que requer bifurcações de modelo separadas para tarefas diferentes, YOLO11 suporta nativamente a Deteção de Objectos, Segmentação de Instâncias, Estimativa de Pose, Caixas de Limites Orientadas (OBB) e Classificação numa estrutura unificada.
Tabela de comparação: Especificações técnicas
| Caraterística | YOLOv5 | YOLO11 |
|---|---|---|
| Arquitetura | CSPDarknet Backbone | Espinha dorsal refinada com C3k2 e C2PSA |
| Cabeçalho de Detecção | Baseado em âncoras | Sem âncora |
| Tarefas | Detetar, segmentar, classificar | Detetar, Segmentar, Classificar, Pose, OBB, Rastrear |
| Licença | AGPL-3.0 | AGPL-3.0 |
| Data de lançamento | junho de 2020 | setembro de 2024 |
| Facilidade de utilização | Alta (linha de comando e PyTorch Hub) | Muito elevado (SDK Python unificado e CLI) |
Treinamento e Ecossistema
Ambos os modelos beneficiam do robusto ecossistemaUltralytics , que fornece ferramentas perfeitas para a gestão, formação e implementação de dados.
Eficiência da formação
YOLO11 foi concebido para treinar mais rapidamente e convergir mais rapidamente do que YOLOv5.
- Predefinições inteligentes: O motor Ultralytics configura automaticamente os hiperparâmetros com base no conjunto de dados e no tamanho do modelo, reduzindo a necessidade de afinação manual dos hiperparâmetros.
- Uso de memória: Graças à contagem reduzida de parâmetros, os modelos YOLO11 geralmente consomem menos VRAM GPU durante o treinamento, permitindo tamanhos de lote maiores no hardware do consumidor.
Exemplo de código: Treino YOLO11
O treino YOLO11 é simplificado com a utilização do ultralytics pacote Python . O exemplo seguinte demonstra como treinar um modelo YOLO11n no conjunto de dados COCO8 .
from ultralytics import YOLO
# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")
# Train the model
# The device argument can be 'cpu', 0 for GPU, or [0, 1] for multi-GPU
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
Integração do ecossistema
Enquanto YOLOv5 tem uma vasta coleção de tutoriais de terceiros devido à sua idade, YOLO11 está integrado de forma nativa no moderno pacote Ultralytics . Isso fornece acesso imediato a recursos avançados:
- Exportação com um clique: Exportar para ONNX, OpenVINOTensorRT e CoreML com um único comando.
- Seguimento: Suporte integrado para rastreio de objectos (BoT-SORT, ByteTrack) sem repositórios externos.
- Explorador: Utilize a API Ultralytics Explorer para visualizar e consultar os seus conjuntos de dados utilizando SQL e pesquisa semântica.
Casos de Uso Ideais
A escolha do modelo certo depende das restrições e requisitos específicos do seu projeto.
Quando escolher YOLO11
YOLO11 é a escolha recomendada para 95% dos novos projectos.
- Novos desenvolvimentos: Se está a começar do zero, YOLO11 oferece a melhor preparação para o futuro, precisão e velocidade.
- Implantação emCPU : Para dispositivos de ponta que funcionam com CPU (por exemplo, Raspberry Pi, telemóveis), o YOLO11n é significativamente mais rápido e mais preciso do que o YOLOv5n.
- Tarefas complexas: Os projectos que requerem Pose Estimation ou OBB (por exemplo, imagens aéreas, análise de documentos) são suportados nativamente pelo YOLO11.
- Nuvem e servidor: O elevado rendimento do YOLO11 torna-o ideal para processar fluxos de vídeo maciços em tempo real.
Quando manter o YOLOv5
YOLOv5 continua a ser uma opção viável para cenários específicos do passado.
- Manutenção do legado: Se tiver um sistema de produção fortemente associado à base de código ou ao formato de saída específicos YOLOv5 .
- Ajuste específico de hardware: Alguns aceleradores incorporados mais antigos podem ter firmware altamente optimizado especificamente validado para camadas YOLOv5 (embora a maioria dos tempos de execução modernos, como o OpenVINO , favoreçam agora arquitecturas mais recentes).
- Base académica: Os investigadores que comparam com linhas de base históricas citam frequentemente YOLOv5 devido à sua presença de longa data na literatura.
Migração para YOLO11
A migração do YOLOv5 para o YOLO11 é simples. O formato do conjunto de dadosYOLO TXT) permanece idêntico, o que significa que pode reutilizar os conjuntos de dados anotados existentes sem modificações. A estrutura da API Python também é muito semelhante, muitas vezes exigindo apenas uma alteração na cadeia de nomes do modelo (por exemplo, de yolov5su.pt para yolo11n.pt dentro do ultralytics pacote).
Explorar outras opções
Ultralytics suporta uma vasta gama de modelos para além do YOLO11 e do YOLOv5. Dependendo das suas necessidades específicas, pode considerar:
- YOLOv8: O antecessor direto do YOLO11, oferecendo um grande equilíbrio de funcionalidades e uma ampla adoção pela indústria.
- YOLOv10: Uma arquitetura centrada na formação NMS para uma menor latência em aplicações específicas em tempo real.
- RT-DETR: Um detetor baseado em transformador que se destaca em termos de exatidão nos casos em que a velocidade de inferência é menos crítica do que a precisão máxima.
- YOLOv9: Conhecido pelo seu conceito de Informação de Gradiente Programável (PGI), oferecendo um forte desempenho em tarefas de deteção difíceis.
Conclusão
A transição do YOLOv5 para o YOLO11 constitui um marco significativo na história da visão por computador. YOLOv5 democratizou a IA, tornando a deteção de objectos acessível a todos. YOLO11 aperfeiçoa esta visão, fornecendo um modelo mais rápido, mais leve e mais preciso.
Para os programadores que procuram o melhor desempenho absoluto por watt e o conjunto de funcionalidades mais versátil, YOLO11 é o claro vencedor. A sua integração no ecossistema Ultralytics ativo garante-lhe o acesso às ferramentas mais recentes, APIs simples e uma comunidade próspera para apoiar a sua jornada de IA.
Pronto para atualizar? Consulte a documentaçãoYOLO11 ou explore o repositório GitHub para começar hoje mesmo.