Salta para o conteúdo

Métricas de desempenho - mergulho profundo

Introdução

As métricas de desempenho são ferramentas fundamentais para avaliar a precisão e a eficiência dos modelos de deteção de objectos. Esclarecem a eficácia com que um modelo consegue identificar e localizar objectos nas imagens. Além disso, ajudam a compreender a forma como o modelo lida com falsos positivos e falsos negativos. Estes conhecimentos são cruciais para avaliar e melhorar o desempenho do modelo. Neste guia, vamos explorar várias métricas de desempenho associadas a YOLOv8, o seu significado e como as interpretar.



Observa: Ultralytics YOLOv8 Métricas de desempenho | MAP, F1 Score, Precisão, IoU e Exatidão

Métricas de deteção de objectos

Vamos começar discutindo algumas métricas que não são importantes apenas para YOLOv8 mas são amplamente aplicáveis em diferentes modelos de detecção de objetos.

  • Intersecção sobre União (IoU): A IoU é uma medida que quantifica a sobreposição entre uma caixa delimitadora prevista e uma caixa delimitadora real. Desempenha um papel fundamental na avaliação da precisão da localização de objectos.

  • Precisão média (AP): A AP calcula a área sob a curva de precisão-recuperação, fornecendo um valor único que engloba o desempenho de precisão e recuperação do modelo.

  • Precisão média média (mAP): A mAP alarga o conceito de AP calculando os valores médios de AP em várias classes de objectos. Isto é útil em cenários de deteção de objectos multi-classe para fornecer uma avaliação abrangente do desempenho do modelo.

  • Precisão e recuperação: A precisão quantifica a proporção de verdadeiros positivos entre todas as previsões positivas, avaliando a capacidade do modelo de evitar falsos positivos. Por outro lado, o Recall calcula a proporção de verdadeiros positivos entre todos os positivos reais, medindo a capacidade do modelo de detetar todas as instâncias de uma classe.

  • Pontuação F1: A pontuação F1 é a média harmónica da precisão e da recuperação, fornecendo uma avaliação equilibrada do desempenho de um modelo, considerando tanto os falsos positivos como os falsos negativos.

Como calcular métricas para o modelo YOLOv8

Agora, podemos explorar o modo de validação doYOLOv8 que pode ser utilizado para calcular as métricas de avaliação acima referidas.

A utilização do modo de validação é simples. Assim que tiveres um modelo treinado, podes invocar a função model.val(). Esta função processa o conjunto de dados de validação e devolve uma variedade de métricas de desempenho. Mas o que é que estas métricas significam? E como deves interpretá-las?

Interpretar a saída

Vamos decompor o resultado da função model.val() e compreender cada segmento do resultado.

Métricas por classe

Uma das secções do resultado é a discriminação por classe das métricas de desempenho. Esta informação granular é útil quando estás a tentar compreender o desempenho do modelo para cada classe específica, especialmente em conjuntos de dados com uma gama diversificada de categorias de objectos. Para cada classe no conjunto de dados, fornece o seguinte:

  • Classe: Indica o nome da classe do objeto, como "pessoa", "carro" ou "cão".

  • Imagens: Esta métrica indica-te o número de imagens no conjunto de validação que contêm a classe de objeto.

  • Instâncias: Fornece a contagem de quantas vezes a classe aparece em todas as imagens do conjunto de validação.

  • Box(P, R, mAP50, mAP50-95): Esta métrica fornece informações sobre o desempenho do modelo na deteção de objectos:

    • P (Precisão): A precisão dos objectos detectados, indicando quantas detecções estavam correctas.

    • R (Recall): A capacidade do modelo para identificar todas as instâncias de objectos nas imagens.

    • mAP50: Precisão média calculada com um limiar de intersecção sobre união (IoU) de 0,50. É uma medida da precisão do modelo considerando apenas as detecções "fáceis".

    • mAP50-95: A média da precisão média calculada em diferentes limiares de IoU, variando de 0,50 a 0,95. Dá uma visão abrangente do desempenho do modelo em diferentes níveis de dificuldade de deteção.

Métricas de velocidade

A velocidade da inferência pode ser tão crítica como a precisão, especialmente em cenários de deteção de objectos em tempo real. Esta secção analisa o tempo necessário para as várias fases do processo de validação, desde o pré-processamento até ao pós-processamento.

Avaliação das métricas COCO

Para os utilizadores que validam o conjunto de dados COCO, são calculadas métricas adicionais utilizando o script de avaliação COCO. Estas métricas fornecem informações sobre a precisão e a recuperação em diferentes limiares de IoU e para objectos de diferentes tamanhos.

Saídas visuais

A função model.val(), além de produzir métricas numéricas, também produz resultados visuais que podem fornecer uma compreensão mais intuitiva do desempenho do modelo. Aqui está um resumo dos resultados visuais que podes esperar:

  • Curva de pontuação F1 (F1_curve.png): Esta curva representa a pontuação F1 em vários limiares. A interpretação desta curva pode oferecer informações sobre o equilíbrio do modelo entre falsos positivos e falsos negativos em diferentes limiares.

  • Curva de precisão-recuperação (PR_curve.png): Uma visualização integral para qualquer problema de classificação, esta curva mostra os compromissos entre a precisão e a recuperação em limites variados. Torna-se especialmente significativa quando lida com classes desequilibradas.

  • Curva de precisão (P_curve.png): Representa graficamente os valores de precisão em diferentes limiares. Esta curva ajuda a compreender como a precisão varia à medida que o limiar muda.

  • Curva de recuperação (R_curve.png): De forma correspondente, este gráfico ilustra a forma como os valores de recordação mudam em diferentes limiares.

  • Matriz de confusão (confusion_matrix.png): A matriz de confusão fornece uma visão detalhada dos resultados, mostrando as contagens de verdadeiros positivos, verdadeiros negativos, falsos positivos e falsos negativos para cada classe.

  • Matriz de confusão normalizada (confusion_matrix_normalized.png): Esta visualização é uma versão normalizada da matriz de confusão. Representa os dados em proporções em vez de contagens brutas. Esse formato simplifica a comparação do desempenho entre as classes.

  • Etiquetas de lotes de validação (val_batchX_labels.jpg): Estas imagens mostram os rótulos verdadeiros para lotes distintos do conjunto de dados de validação. Fornecem uma imagem clara do que são os objectos e as suas respectivas localizações de acordo com o conjunto de dados.

  • Previsões do lote de validação (val_batchX_pred.jpg): Em contraste com as imagens de etiquetas, estas imagens apresentam as previsões efectuadas pelo modelo YOLOv8 para os respectivos lotes. Ao compará-las com as imagens das etiquetas, podes avaliar facilmente a eficácia do modelo na deteção e classificação visual dos objectos.

Resultados Armazenamento

Para referência futura, os resultados são guardados num diretório, normalmente chamado runs/detect/val.

Escolher as métricas correctas

A escolha das métricas correctas a avaliar depende frequentemente da aplicação específica.

  • mAP: Adequado para uma avaliação alargada do desempenho do modelo.

  • IoU: Essencial quando a localização precisa de um objeto é crucial.

  • Precisão: Importante quando a minimização de falsas detecções é uma prioridade.

  • Recorda: Vital quando é importante detetar todas as instâncias de um objeto.

  • Pontuação F1: Útil quando é necessário um equilíbrio entre a precisão e a recuperação.

Para aplicações em tempo real, as métricas de velocidade como FPS (Frames Per Second) e latência são cruciais para garantir resultados atempados.

Interpretação dos resultados

É importante entender as métricas. Aqui está o que algumas das pontuações mais baixas comumente observadas podem sugerir:

  • Baixo mAP: Indica que o modelo pode necessitar de aperfeiçoamentos gerais.

  • IoU baixo: O modelo pode estar a ter dificuldades em localizar os objectos com precisão. A utilização de diferentes métodos de caixas delimitadoras pode ajudar.

  • Baixa precisão: O modelo pode estar a detetar demasiados objectos inexistentes. Ajustar os limites de confiança pode reduzir isso.

  • Recorda pouco: O modelo pode estar a perder objectos reais. Melhorar a extração de características ou utilizar mais dados pode ajudar.

  • Pontuação F1 desequilibrada: Existe uma disparidade entre a precisão e a recuperação.

  • AP específico da turma: As pontuações baixas aqui podem destacar as disciplinas em que o modelo tem dificuldades.

Estudos de caso

Os exemplos do mundo real podem ajudar a clarificar a forma como estas métricas funcionam na prática.

Caso 1

  • Situação: o mAP e a pontuação F1 não são óptimos, mas enquanto a Recuperação é boa, a Precisão não é.

  • Interpretação e ação: Poderá haver demasiadas detecções incorrectas. O aumento dos limiares de confiança pode reduzi-las, embora também possa diminuir ligeiramente a recuperação.

Caso 2

  • Situação: o mAP e o Recall são aceitáveis, mas falta o IoU.

  • Interpretação e ação: O modelo detecta bem os objectos mas pode não os localizar com precisão. Aperfeiçoar as previsões da caixa delimitadora pode ajudar.

Caso 3

  • Situação: Algumas turmas têm um PA muito mais baixo do que outras, mesmo com um PAm geral decente.

  • Interpretação e ação: Estas classes podem ser mais difíceis para o modelo. Utilizar mais dados para estas classes ou ajustar os pesos das classes durante o treino pode ser benéfico.

Liga-te e colabora

Entrar numa comunidade de entusiastas e especialistas pode ampliar a tua viagem com YOLOv8. Eis algumas vias que podem facilitar a aprendizagem, a resolução de problemas e a criação de redes.

Interage com a comunidade mais alargada

  • Problemas do GitHub: o YOLOv8 O repositório no GitHub tem uma guia Problemas onde você pode fazer perguntas, relatar bugs e sugerir novos recursos. A comunidade e os mantenedores são ativos aqui e é um ótimo lugar para obter ajuda com problemas específicos.

  • Ultralytics Servidor Discord: Ultralytics tem um servidor Discord onde podes interagir com outros utilizadores e com os criadores.

Documentação e recursos oficiais:

  • Ultralytics YOLOv8 Documentos: A documentação oficial fornece uma visão geral abrangente de YOLOv8, juntamente com guias sobre instalação, utilização e resolução de problemas.

A utilização destes recursos não só te guiará através de quaisquer desafios, como também te manterá atualizado com as últimas tendências e melhores práticas na comunidade YOLOv8 .

Conclusão

Neste guia, analisámos detalhadamente as métricas de desempenho essenciais para YOLOv8. Estas métricas são fundamentais para compreender o desempenho de um modelo e são vitais para qualquer pessoa que pretenda afinar os seus modelos. Oferecem as informações necessárias para melhorias e para garantir que o modelo funciona eficazmente em situações reais.

Lembra-te de que a comunidade YOLOv8 e Ultralytics é um recurso inestimável. O envolvimento com colegas desenvolvedores e especialistas pode abrir portas para percepções e soluções não encontradas na documentação padrão. À medida que percorre a deteção de objectos, mantém vivo o espírito de aprendizagem, experimenta novas estratégias e partilha as suas descobertas. Ao fazê-lo, contribui para a sabedoria colectiva da comunidade e assegura o seu crescimento.

Boa deteção de objectos!

FAQ

Qual é o significado da precisão média (mAP) na avaliação do desempenho do modelo YOLOv8 ?

A precisão média (mAP) é crucial para avaliar os modelos YOLOv8 , uma vez que fornece uma única métrica que encapsula a precisão e a recuperação em várias classes. mAP@0.50 mede a precisão num limiar de IoU de 0,50, centrando-se na capacidade do modelo para detetar objectos corretamente. mAP@0.50:0.95 calcula a média da precisão numa gama de limiares de IoU, oferecendo uma avaliação abrangente do desempenho da deteção. As pontuações elevadas do mAP indicam que o modelo equilibra eficazmente a precisão e a recuperação, o que é essencial para aplicações como a condução autónoma e a vigilância.

Como interpreto o valor Intersecção sobre União (IoU) para YOLOv8 deteção de objectos?

A Intersecção sobre a União (IoU) mede a sobreposição entre as caixas delimitadoras previstas e as da verdade terrestre. Os valores de IoU variam de 0 a 1, onde valores mais altos indicam melhor precisão de localização. Um IoU de 1,0 significa um alinhamento perfeito. Normalmente, um limite de IoU de 0,50 é usado para definir verdadeiros positivos em métricas como o mAP. Valores mais baixos de IoU sugerem que o modelo tem dificuldade em localizar objectos com precisão, o que pode ser melhorado através do refinamento da regressão da caixa delimitadora ou do aumento da precisão das anotações.

Porque é que a pontuação F1 é importante para avaliar os modelos YOLOv8 na deteção de objectos?

A pontuação F1 é importante para avaliar os modelos YOLOv8 porque fornece uma média harmónica da precisão e da recuperação, equilibrando os falsos positivos e os falsos negativos. É particularmente valioso quando se lida com conjuntos de dados desequilibrados ou aplicações em que a precisão ou a recuperação por si só são insuficientes. Uma pontuação F1 elevada indica que o modelo detecta eficazmente os objectos, minimizando as detecções falhadas e os falsos alarmes, o que o torna adequado para aplicações críticas como sistemas de segurança e imagiologia médica.

Quais são as principais vantagens da utilização do Ultralytics YOLOv8 para a deteção de objectos em tempo real?

Ultralytics YOLOv8 oferece várias vantagens para a deteção de objectos em tempo real:

  • Velocidade e eficiência: Optimizado para inferência a alta velocidade, adequado para aplicações que requerem baixa latência.
  • Elevada exatidão: O algoritmo avançado garante pontuações elevadas de mAP e IoU, equilibrando a precisão e a recordação.
  • Flexibilidade: Suporta várias tarefas, incluindo deteção, segmentação e classificação de objectos.
  • Facilidade de utilização: Interfaces fáceis de utilizar, documentação extensa e integração perfeita com plataformas como Ultralytics HUB(HUB Quickstart).

Isto torna o YOLOv8 ideal para diversas aplicações, desde veículos autónomos a soluções para cidades inteligentes.

Como é que as métricas de validação de YOLOv8 podem ajudar a melhorar o desempenho do modelo?

As métricas de validação de YOLOv8 , como a precisão, a recuperação, o mAP e o IoU, ajudam a diagnosticar e a melhorar o desempenho do modelo, fornecendo informações sobre diferentes aspectos da deteção:

  • Precisão: Ajuda a identificar e a minimizar os falsos positivos.
  • Recupera: Assegura que todos os objectos relevantes são detectados.
  • mAP: Oferece uma visão geral do desempenho, orientando melhorias gerais.
  • IoU: Ajuda a afinar a precisão da localização de objectos.

Ao analisar essas métricas, é possível identificar pontos fracos específicos, como o ajuste dos limites de confiança para melhorar a precisão ou a coleta de dados mais diversificados para melhorar a recuperação. Para obter explicações detalhadas sobre estas métricas e como interpretá-las, consulta Métricas de deteção de objectos.



Criado em 2023-11-12, Atualizado em 2024-07-05
Autores: glenn-jocher (7), RizwanMunawar (1), abirami-vina (1)

Comentários