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 por discutir algumas métricas que não são apenas importantes para YOLOv8 mas que são amplamente aplicáveis em diferentes modelos de deteção de objectos.

  • 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 compreenderes as métricas. Eis o que algumas das pontuações mais baixas normalmente 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 repositório YOLOv8 no GitHub tem um separador Issues onde podes fazer perguntas, reportar erros e sugerir novas funcionalidades. 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!



Criado em 2023-11-12, Atualizado em 2024-03-02
Autores: glenn-jocher (4), RizwanMunawar (1), abirami-vina (1)

Comentários