YOLOv9 vs. YOLOv5: Uma comparação técnica
No cenário de rápida evolução da visão por computador, a seleção do modelo de deteção de objectos correto é fundamental para o sucesso do projeto. Esta análise fornece uma comparação técnica pormenorizada entre YOLOv9uma arquitetura orientada para a investigação que ultrapassa os limites da precisão, e o Ultralytics YOLOv5o modelo padrão da indústria conhecido pela sua fiabilidade, velocidade e versatilidade. Exploramos as suas diferenças arquitectónicas, as referências de desempenho e os casos de utilização ideais para o ajudar a tomar uma decisão informada.
YOLOv9: Inovação arquitetónica para uma precisão máxima
Lançado no início de 2024, YOLOv9 visa os limites teóricos da deteção de objectos, abordando questões fundamentais no fluxo de informação da aprendizagem profunda. Foi concebido para cenários em que a precisão é fundamental.
Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
Organização:Institute of Information Science, Academia Sinica, Taiwan
Data: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:YOLOv9 Documentation
Arquitetura de base
YOLOv9 apresenta dois conceitos inovadores: Programmable Gradient Information (PGI) e a Generalized Efficient Layer Aggregation Network (GELAN). O PGI combate o problema do gargalo de informação inerente às redes neurais profundas, assegurando que a informação de entrada completa é retida para a função de perda, melhorando a fiabilidade do gradiente. A GELAN optimiza a eficiência dos parâmetros, permitindo que o modelo atinja uma maior precisão com menos recursos computacionais em comparação com arquitecturas anteriores que utilizam convolução em profundidade.
Forças e Fraquezas
O principal ponto forte do YOLOv9 é a sua precisão de última geração em referências como o conjunto de dadosCOCO . Destaca-se na deteção de objectos pequenos ou ocluídos, onde outros modelos podem falhar. No entanto, este enfoque na precisão da deteção tem contrapartidas. O processo de formação pode exigir mais recursos e, embora esteja integrado no ecossistema Ultralytics , o apoio mais alargado da comunidade e as ferramentas de terceiros ainda estão a amadurecer em comparação com modelos mais antigos. Além disso, o seu foco principal continua a ser a deteção, enquanto outros modelos oferecem um suporte nativo multitarefa mais amplo.
Ultralytics YOLOv5: O padrão versátil da indústria
Desde o seu lançamento em 2020, Ultralytics YOLOv5 definiu o padrão para a implantação prática de IA no mundo real. Ele atinge um equilíbrio preciso entre desempenho e usabilidade, tornando-o um dos modelos mais amplamente usados na história.
Autor: Glenn Jocher
Organização:Ultralytics
Data: 2020-06-26
GitHub:yolov5
Docs:DocumentaçãoYOLOv5
Arquitetura de base
YOLOv5 utiliza uma arquitetura refinada baseada em âncoras, com um backbone CSPDarknet53 e um pescoço PANet para uma agregação robusta de caraterísticas. A sua conceção dá prioridade à velocidade de inferência e à otimização da engenharia. O modelo está disponível em várias escalas (Nano a Extra Large), permitindo que os programadores adaptem o modelo perfeitamente às suas restrições de hardware, desde dispositivos periféricos integrados a GPUs na nuvem.
A vantagem Ultralytics
Enquanto YOLOv9 ultrapassa os limites académicos, YOLOv5 destaca-se pela praticidade da engenharia.
- Facilidade de utilização: YOLOv5 é famoso pela sua experiência de "instalar e executar". A APIPython simplificada e a documentação abrangente reduzem significativamente o tempo de desenvolvimento.
- Ecossistema bem mantido: Apoiado pela Ultralytics, YOLOv5 goza de uma manutenção ativa, uma enorme comunidade no GitHub e uma integração perfeita com as ferramentas MLOps.
- Versatilidade: Para além da deteção, YOLOv5 suporta nativamente a segmentação de instâncias e a classificação de imagens, oferecendo uma solução unificada para diversas tarefas de visão.
- Eficiência de memória: Os modelos Ultralytics são optimizados para ocupar menos espaço na memória durante a formação e a inferência, o que contrasta com os elevados requisitos das alternativas baseadas em transformadores.
Métricas de desempenho: Velocidade vs. Precisão
A comparação abaixo destaca os papéis distintos destes modelos. YOLOv9 atinge geralmente uma maior mAP (precisão média média), particularmente nos modelos de maiores dimensões (c e e). Isto torna-o superior para tarefas que requerem detalhes granulares.
Por outro lado, YOLOv5 oferece velocidades de inferência imbatíveis, particularmente com suas variantes Nano (n) e Small (s). Para aplicações em tempo real em hardware de ponta como o NVIDIA Jetson ou o Raspberry Pi, YOLOv5 continua a ser um dos principais concorrentes devido à sua natureza leve e à maturidade de otimização TensorRT .
| Modelo | tamanho (pixels) | mAPval 50-95 | Velocidade CPU ONNX (ms) | Velocidade T4 TensorRT10 (ms) | parâmetros (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| 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 |
Dica de implantação
Para máxima flexibilidade de implantação, ambos os modelos podem ser exportados para formatos como ONNXTensorRT e CoreML usando o modo de exportação Ultralytics . Isso garante que seus modelos sejam executados com eficiência em qualquer hardware de destino.
Formação e usabilidade
As metodologias de formação diferem significativamente na experiência do utilizador. Ultralytics YOLOv5 foi concebido para a eficiência do treino, oferecendo predefinições robustas que funcionam de imediato para conjuntos de dados personalizados. Inclui cálculo automático de âncoras, evolução de hiperparâmetros e integrações de registo avançadas.
YOLOv9, embora poderoso, pode exigir uma afinação mais cuidadosa dos hiperparâmetros para alcançar a estabilidade e a convergência, especialmente em conjuntos de dados mais pequenos. No entanto, graças à sua integração no ultralytics Python , os programadores podem agora treinar YOLOv9 utilizando a mesma sintaxe simples do YOLOv5, colmatando a lacuna de usabilidade.
Exemplo de código
Com a biblioteca Ultralytics , alternar entre estas arquitecturas é tão simples como alterar o nome do modelo. Este snippet demonstra como carregar e executar a inferência com ambos os modelos:
from ultralytics import YOLO
# Load the established industry standard YOLOv5 (nano version)
model_v5 = YOLO("yolov5nu.pt")
# Run inference on an image
results_v5 = model_v5("path/to/image.jpg")
# Load the high-accuracy YOLOv9 (compact version)
model_v9 = YOLO("yolov9c.pt")
# Run inference on the same image for comparison
results_v9 = model_v9("path/to/image.jpg")
Casos de Uso Ideais
Quando escolher YOLOv9
- Inspeção de alta precisão: Deteção de defeitos mínimos em linhas de montagem de fabrico onde cada pixel conta.
- Investigação avançada: Projectos que exploram novas arquitecturas de aprendizagem profunda, como a Informação de Gradiente Programável.
- Ambientes complexos: Cenários com elevada oclusão ou desordem em que a agregação avançada de caraterísticas do GELAN proporciona uma vantagem decisiva.
Quando escolher YOLOv5
- Implantação na borda: Execução em dispositivos alimentados por bateria ou microcontroladores em que o consumo de energia e o espaço de memória são críticos.
- Prototipagem rápida: Quando é necessário passar da recolha de dados para uma demonstração funcional em horas, e não em dias, aproveitando os tutoriais extensivos e os recursos da comunidade.
- Sistemas multi-tarefa: Aplicações que requerem estimativa ou classificação de pose juntamente com deteção numa única base de código.
- Estabilidade de produção: Ambientes empresariais que exigem uma solução testada em combate com anos de fiabilidade comprovada.
Conclusão
A escolha entre YOLOv9 e YOLOv5 depende dos seus condicionalismos específicos. YOLOv9 é a escolha superior para maximizar a precisão, oferecendo melhorias arquitectónicas de ponta. YOLOv5 continua a ser o campeão da versatilidade e da facilidade de utilização, fornecendo um ecossistema robusto e bem suportado que simplifica todo o ciclo de vida da IA.
Para os programadores que procuram o melhor de dois mundos - combinando a facilidade de utilização do YOLOv5 com um desempenho superior ao YOLOv9que explorem o YOLO11. Como a mais recente iteração da Ultralytics, YOLO11 oferece velocidade e precisão de última geração em todas as tarefas de visão, representando o futuro da família YOLO .
Explore Outros Modelos
- YOLO11: O modelo mais recente e mais poderoso da Ultralytics para deteção, segmentação e pose.
- YOLOv8: Um poderoso antecessor do YOLO11 que oferece um grande equilíbrio de funcionalidades.
- RT-DETR: Um detetor baseado em transformador optimizado para desempenho em tempo real.