YOLOv9 vs. YOLOv8: Uma comparação técnica para a deteção de objectos
A seleção do modelo ideal de deteção de objectos implica o equilíbrio entre a inovação arquitetónica e as necessidades práticas de implementação. Esta comparação técnica analisa YOLOv9um modelo centrado na investigação que introduz novas técnicas de informação de gradiente, e o Ultralytics YOLOv8uma estrutura pronta para produção, concebida para ser versátil e rápida. Examinamos as suas arquitecturas, métricas de desempenho no conjunto de dadosCOCO e casos de utilização ideais para o ajudar a decidir qual o modelo que se adequa ao seu pipeline de visão por computador.
YOLOv9: lidar com a perda de informação com uma nova arquitetura
Lançado no início de 2024, YOLOv9 visa a questão fundamental da perda de informações em redes neurais profundas. À medida que as redes se tornam mais profundas, os dados de entrada essenciais podem desaparecer antes de chegarem às camadas finais, complicando o processo de formação.
- Autores: Chien-Yao Wang, Hong-Yuan Mark Liao
- Organização:Instituto de Ciência da Informação, Academia Sinica, Taiwan
- Data: 2024-02-21
- Arxiv:arXiv:2402.13616
- GitHub:RepositórioYOLOv9
- Documentos:DocumentaçãoUltralytics YOLOv9
Principais inovações: IGP e GELAN
YOLOv9 introduz dois avanços arquitectónicos principais para combater os estrangulamentos de informação:
- Informação de Gradiente Programável (PGI): Uma estrutura de supervisão auxiliar que gera gradientes fiáveis para atualizar os pesos da rede, garantindo que as principais correlações de entrada são preservadas ao longo das camadas. Isto é particularmente eficaz para treinar modelos muito profundos.
- Rede de agregação de camadas eficiente e generalizada (GELAN): Uma arquitetura de rede leve que dá prioridade à eficiência dos parâmetros e à velocidade de computação (FLOPs). A GELAN permite que YOLOv9 atinja alta precisão com uma velocidade de inferência respeitável.
Pontos fortes e limitações
YOLOv9 destaca-se nos testes de referência académicos, com o YOLOv9-E variante que atinge o nível superior pontuações mAP . É uma excelente escolha para os investigadores que pretendem ultrapassar os limites da precisão da deteção. No entanto, como modelo profundamente enraizado na investigação, falta-lhe o amplo suporte multitarefa encontrado em ecossistemas mais maduros. A sua implementação primária centra-se na deteção de caixas delimitadoras e os fluxos de trabalho de formação podem exigir mais recursos em comparação com as soluções industriais simplificadas.
Ultralytics YOLOv8: O padrão para IA de produção
Ultralytics YOLOv8 representa uma abordagem holística à IA de visão. Em vez de se concentrar apenas numa única métrica, YOLOv8 foi concebido para proporcionar a melhor experiência de utilizador, versatilidade de implementação e equilíbrio de desempenho. Faz parte do extenso ecossistemaUltralytics , garantindo que permanece robusto e fácil de usar para desenvolvedores de todos os níveis de habilidade.
- Autores: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- Organização:Ultralytics
- Data: 2023-01-10
- GitHub:RepositórioUltralytics
- Documentos:DocumentaçãoUltralytics YOLOv8
Vantagens da arquitetura e do ecossistema
YOLOv8 utiliza uma cabeça de deteção sem âncoras e um backbone C2f (Cross-Stage Partial bottleneck with 2 convolutions), que melhora o fluxo de gradiente, mantendo uma pegada leve. Para além da arquitetura, a sua força reside na sua integração:
- Facilidade de utilização: Com uma APIPython unificada e uma interface de linha de comando (CLI), o treinamento e a implantação de um modelo requerem apenas algumas linhas de código.
- Versatilidade: Ao contrário dos concorrentes, muitas vezes limitados à deteção, YOLOv8 suporta nativamente a segmentação de instâncias, a estimativa de pose, as caixas delimitadoras orientadas (OBB) e a classificação de imagens.
- Equilíbrio de desempenho: Oferece um equilíbrio excecional entre latência e precisão, tornando-o adequado para inferência em tempo real em dispositivos de ponta como o NVIDIA Jetson ou o Raspberry Pi.
- Eficiência de memória: YOLOv8 normalmente requer menos memóriaCUDA durante o treinamento em comparação com arquiteturas baseadas em transformadores, diminuindo a barreira de entrada para o hardware.
Fluxos de trabalho integrados
Os modelos Ultralytics integram-se perfeitamente com ferramentas como o TensorBoard para visualização e o MLflow para rastreamento de experimentos, simplificando o ciclo de vida do MLOps.
Análise de Desempenho: Velocidade, Precisão e Eficiência
A escolha entre os modelos depende frequentemente dos requisitos específicos do projeto em termos de velocidade versus precisão pura. A tabela abaixo compara as variantes padrão no conjunto de validação COCO .
| 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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
Principais Conclusões
- Precisão de topo de gama: O
YOLOv9eO modelo atinge uns notáveis 55,6% de mAP, ultrapassandoYOLOv8x. Se a sua aplicação requer a deteção dos objectos mais difíceis e a latência é secundária, o YOLOv9e é um forte concorrente. - Velocidade em tempo real: Para aplicações dependentes da velocidade,
YOLOv8neYOLOv8sapresentam um desempenho superior.YOLOv8né particularmente eficaz para implantação móveloferecendo uma solução leve que é incrivelmente rápida tanto na CPU como na GPU. - Prontidão de implantação: A tabela destaca as velocidadesONNX CPU para o YOLOv8, uma métrica crítica para ambientes GPU GPU. Essa transparência de dados reflete o design do YOLOv8 para cenários de implantação amplos, enquanto YOLOv9 é frequentemente avaliado principalmente em GPUs de ponta, como a V100 ou a T4, em contextos de pesquisa.
Formação e usabilidade
Uma das diferenças mais significativas reside na experiência do programador. Ultralytics dá prioridade a uma abordagem de "baterias incluídas".
Simplicidade com o Ultralytics
O treino de um modelo YOLOv8 requer uma configuração mínima. A biblioteca lida automaticamente com o aumento de dados, o ajuste de hiperparâmetros e o download de pesos pré-treinados.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
Complexidade da investigação
Embora YOLOv9 esteja integrado na base de código Ultralytics para facilitar o acesso, os repositórios de pesquisa originais geralmente exigem configurações de ambiente complexas e gerenciamento manual de hiperparâmetros. O ecossistema bem mantido do Ultralytics garante que, independentemente de usar YOLOv8 ou o YOLOv9 portado, você se beneficia de pipelines de CI/CD estáveis, documentação extensa e suporte da comunidade via Discord.
Casos de Uso Ideais
Escolha YOLOv9 se:
- A precisão máxima é fundamental: Projectos como a análise de imagens médicas (por exemplo, deteção de tumores) em que cada ponto percentual de mAP é importante.
- Investigação académica: Está a investigar novas arquitecturas como o PGI ou a realizar estudos comparativos sobre a eficiência das redes neuronais.
- Ambientes de alta computação: Os alvos de implantação são servidores poderosos (por exemplo, NVIDIA A100) onde FLOPs mais altos são aceitáveis.
Escolha Ultralytics YOLOv8 se:
- Diversas tarefas necessárias: É necessário executar o rastreamento de objetos, a segmentação ou a estimativa de pose dentro de uma única estrutura de projeto.
- Implantação na borda: Aplicações executadas em hardware restrito, como câmaras inteligentes ou drones, onde a memória e os ciclos de CPU são escassos.
- Desenvolvimento rápido: Startups e equipas empresariais que precisam de passar rapidamente do conceito à produção utilizando formatos de exportação como ONNX, TensorRT ou OpenVINO.
- Estabilidade e suporte: É necessário um modelo apoiado por actualizações frequentes e uma grande comunidade para resolver problemas de forma eficiente.
Conclusão
Enquanto YOLOv9 introduz avanços teóricos impressionantes e atinge uma elevada precisão de deteção, Ultralytics YOLOv8 continua a ser a escolha mais prática para a grande maioria das aplicações do mundo real. O seu equilíbrio entre velocidade, precisão e versatilidade, combinado com uma API de fácil utilização e um processo de formação eficiente, faz dele a solução de eleição para os programadores.
Para quem procura a última novidade da linha Ultralytics , considere explorar o YOLO11que refina ainda mais esses atributos para um desempenho de ponta. No entanto, entre os dois modelos discutidos aqui, YOLOv8 oferece uma experiência refinada e pronta para produção que acelera o caminho dos dados para a implantação.
Explore Outros Modelos
Se estiver interessado noutras arquitecturas, a documentação Ultralytics fornece comparações para vários outros modelos:
- RT-DETR: Um detetor baseado em transformador que oferece uma elevada precisão mas com diferentes exigências em termos de recursos.
- YOLOv5: O lendário antecessor conhecido pela sua extrema estabilidade e ampla adoção.
- YOLO11: A mais recente iteração da Ultralytics, que aumenta ainda mais a eficiência.