Salta para o conteúdo

Um guia para o teste de modelos

Introdução

Depois de treinar e avaliar o teu modelo, é altura de o testar. O teste do modelo envolve a avaliação do seu desempenho em cenários do mundo real. O teste considera factores como a precisão, fiabilidade, justiça e facilidade de compreensão das decisões do modelo. O objetivo é garantir que o modelo funciona como pretendido, fornece os resultados esperados e se enquadra no objetivo geral da sua aplicação ou projeto.

O teste de modelos é bastante semelhante à avaliação de modelos, mas são duas etapas distintas num projeto de visão por computador. A avaliação do modelo envolve métricas e gráficos para avaliar a precisão do modelo. Por outro lado, o teste de modelo verifica se o comportamento aprendido do modelo é o mesmo que o esperado. Neste guia, vamos explorar estratégias para testar os teus modelos de visão computacional.

Teste de modelos Vs. Avaliação de modelos

Primeiro, vamos compreender a diferença entre avaliação e teste de modelos com um exemplo.

Suponhamos que treinaste um modelo de visão por computador para reconhecer cães e gatos e queres implementar este modelo numa loja de animais para monitorizar os animais. Durante a fase de avaliação do modelo, utiliza um conjunto de dados rotulado para calcular métricas como a exatidão, a precisão, a recuperação e a pontuação F1. Por exemplo, o modelo pode ter uma precisão de 98% na distinção entre cães e gatos num determinado conjunto de dados.

Após a avaliação, testa o modelo utilizando imagens de uma loja de animais para ver até que ponto ele identifica cães e gatos em condições mais variadas e realistas. Verifica se consegue identificar corretamente gatos e cães quando estão em movimento, em diferentes condições de iluminação ou parcialmente obscurecidos por objectos como brinquedos ou mobiliário. O teste do modelo verifica se o modelo se comporta como esperado fora do ambiente de avaliação controlado.

Preparação para o teste de modelos

Os modelos de visão por computador aprendem com conjuntos de dados, detectando padrões, fazendo previsões e avaliando o seu desempenho. Estes conjuntos de dados são normalmente divididos em conjuntos de treino e de teste para simular as condições do mundo real. Os dados de treino ensinam o modelo, enquanto os dados de teste verificam a sua precisão.

Aqui estão dois pontos a ter em conta antes de testares o teu modelo:

  • Representação realista: Os dados de teste não vistos anteriormente devem ser semelhantes aos dados que o modelo terá de tratar quando for implementado. Isto ajuda a obter uma compreensão realista das capacidades do modelo.
  • Tamanho suficiente: O tamanho do conjunto de dados de teste tem de ser suficientemente grande para fornecer informações fiáveis sobre o desempenho do modelo.

Testar o teu modelo de visão computacional

Eis os principais passos a dar para testar o teu modelo de visão por computador e compreender o seu desempenho.

  • Executa previsões: Utiliza o modelo para fazer previsões no conjunto de dados de teste.
  • Compara as previsões: Verifica a correspondência entre as previsões do modelo e as etiquetas reais (verdade terrestre).
  • Calcula as métricas de desempenho: Calcula métricas como a exatidão, a precisão, a recuperação e a pontuação F1 para compreender os pontos fortes e fracos do modelo. Os testes centram-se na forma como estas métricas reflectem o desempenho no mundo real.
  • Visualiza os resultados: Cria recursos visuais como matrizes de confusão e curvas ROC. Estes ajudam-te a identificar áreas específicas onde o modelo pode não ter um bom desempenho em aplicações práticas.

Em seguida, os resultados dos testes podem ser analisados:

  • Imagens mal classificadas: Identifica e revê as imagens que o modelo classificou incorretamente para compreender onde está a errar.
  • Análise de erros: Realiza uma análise de erros completa para compreender os tipos de erros (por exemplo, falsos positivos vs. falsos negativos) e as suas potenciais causas.
  • Preconceito e equidade: Verifica a existência de enviesamentos nas previsões do modelo. Certifica-te de que o modelo funciona igualmente bem em diferentes subconjuntos de dados, especialmente se incluir atributos sensíveis como raça, sexo ou idade.

Testar o teu modelo YOLOv8

Para testar o teu modelo YOLOv8 , podes utilizar o modo de validação. É uma maneira simples de entender os pontos fortes do modelo e as áreas que precisam ser melhoradas. Além disso, terás de formatar corretamente o conjunto de dados de teste para YOLOv8. Para obter mais detalhes sobre como usar o modo de validação, consulta a página de documentos Validação de modelo.

Usando YOLOv8 para prever em várias imagens de teste

Se pretender testar o modelo YOLOv8 treinado em várias imagens armazenadas numa pasta, pode fazê-lo facilmente de uma só vez. Em vez de utilizar o modo de validação, que é normalmente utilizado para avaliar o desempenho do modelo num conjunto de validação e fornecer métricas detalhadas, pode querer apenas ver as previsões em todas as imagens do conjunto de teste. Para isso, podes utilizar o modo de previsão.

Diferença entre os modos de validação e previsão

  • Modo de validação: Usa para avaliar o desempenho do modelo, comparando as previsões com rótulos conhecidos (ground truth). Fornece métricas detalhadas, como exatidão, precisão, recuperação e pontuação F1.
  • Modo de previsão: Usado para executar o modelo em dados novos e não vistos para gerar previsões. Não fornece métricas de desempenho detalhadas, mas permite ver o desempenho do modelo em imagens do mundo real.

Executa YOLOv8 Previsões sem treino personalizado

Se estiveres interessado em testar o modelo básico do YOLOv8 para perceber se pode ser utilizado na tua aplicação sem formação personalizada, podes utilizar o modo de previsão. Embora o modelo seja pré-treinado em conjuntos de dados como o COCO, a execução de previsões no teu próprio conjunto de dados pode dar-te uma ideia rápida do seu desempenho no teu contexto específico.

Overfitting e Underfitting na aprendizagem automática

Ao testar um modelo de aprendizagem automática, especialmente em visão computacional, é importante ter em atenção o sobreajuste e o subajuste. Estes problemas podem afetar significativamente a forma como o teu modelo funciona com novos dados.

Sobreajuste

O sobreajuste acontece quando o teu modelo aprende demasiado bem os dados de treino, incluindo o ruído e os detalhes que não se generalizam a novos dados. Na visão computacional, isto significa que o teu modelo pode funcionar muito bem com imagens de treino mas ter dificuldades com imagens novas.

Sinais de sobreajuste

  • Elevada precisão de treino, baixa precisão de validação: Se o teu modelo tiver um desempenho muito bom nos dados de treino, mas fraco nos dados de validação ou de teste, é provável que esteja sobreajustado.
  • Inspeção visual: Por vezes, podes ver um sobreajuste se o teu modelo for demasiado sensível a pequenas alterações ou detalhes irrelevantes nas imagens.

Subadaptação

O subajuste ocorre quando o teu modelo não consegue captar os padrões subjacentes nos dados. Na visão computacional, um modelo subajustado pode nem sequer reconhecer corretamente os objectos nas imagens de treino.

Sinais de subequipamento

  • Baixa precisão de treino: Se o teu modelo não conseguir atingir uma precisão elevada no conjunto de treino, pode estar a ser subajustado.
  • Erros de classificação visual: A incapacidade consistente de reconhecer características ou objectos óbvios sugere um ajuste inadequado.

Equilíbrio entre sobreajuste e subajuste

A chave é encontrar um equilíbrio entre o sobreajuste e o subajuste. Idealmente, um modelo deve ter um bom desempenho em ambos os conjuntos de dados de treino e validação. A monitorização regular do desempenho do teu modelo através de métricas e inspecções visuais, juntamente com a aplicação das estratégias correctas, pode ajudar-te a obter os melhores resultados.

Visão geral do Overfitting e do Underfitting

Fuga de dados na visão por computador e como evitá-la

Ao testar o teu modelo, é importante ter em conta a fuga de dados. A fuga de dados ocorre quando a informação de fora do conjunto de dados de treino é acidentalmente utilizada para treinar o modelo. O modelo pode parecer muito preciso durante o treino, mas não terá um bom desempenho em dados novos e não vistos quando ocorre a fuga de dados.

Porque é que a fuga de dados acontece

A fuga de dados pode ser difícil de detetar e, muitas vezes, provém de enviesamentos ocultos nos dados de treino. Aqui estão algumas formas comuns em que isso pode acontecer na visão computacional:

  • Viés da câmara: Diferentes ângulos, iluminação, sombras e movimentos da câmara podem introduzir padrões indesejados.
  • Viés de sobreposição: Logótipos, carimbos de data/hora ou outras sobreposições em imagens podem induzir o modelo em erro.
  • Viés de fontes e objectos: Fontes específicas ou objectos que aparecem frequentemente em determinadas classes podem distorcer a aprendizagem do modelo.
  • Preconceito espacial: Os desequilíbrios no primeiro plano e no segundo plano, as distribuições das caixas delimitadoras e as localizações dos objectos podem afetar o treino.
  • Viés de rótulo e domínio: rótulos incorrectos ou mudanças nos tipos de dados podem levar a fugas.

Detetar a fuga de dados

Para encontrar fugas de dados, podes:

  • Verifica o desempenho: Se os resultados do modelo forem surpreendentemente bons, pode haver uma fuga de informação.
  • Observa a importância das características: Se uma caraterística for muito mais importante do que outras, isso pode indicar uma fuga.
  • Inspeção visual: Verifica novamente se as decisões do modelo fazem sentido intuitivamente.
  • Verifica a separação dos dados: Certifica-te de que os dados foram divididos corretamente antes de qualquer processamento.

Evitar a fuga de dados

Para evitar a fuga de dados, utiliza um conjunto de dados diversificado com imagens ou vídeos de diferentes câmaras e ambientes. Analisa cuidadosamente os teus dados e verifica se não existem enviesamentos ocultos, tais como todas as amostras positivas serem recolhidas numa determinada altura do dia. Evitar a fuga de dados ajudará a tornar os teus modelos de visão por computador mais fiáveis e eficazes em situações do mundo real.

O que vem depois do teste de modelos

Depois de testares o teu modelo, os passos seguintes dependem dos resultados. Se o teu modelo tiver um bom desempenho, podes implementá-lo num ambiente real. Se os resultados não forem satisfatórios, terás de fazer melhorias. Isso pode envolver a análise de erros, a coleta de mais dados, a melhoria da qualidade dos dados, o ajuste de hiperparâmetros e o retreinamento do modelo.

Junta-te à conversa sobre IA

Fazer parte de uma comunidade de entusiastas da visão computacional pode ajudar a resolver problemas e a aprender de forma mais eficiente. Aqui estão algumas formas de te ligares, procurares ajuda e partilhares as tuas ideias.

Recursos comunitários

  • Problemas do GitHub: Explora o repositórioYOLOv8 do GitHub e utiliza o separador Problemas para fazer perguntas, comunicar erros e sugerir novas funcionalidades. A comunidade e os mantenedores são muito ativos e estão prontos para ajudar.
  • Ultralytics Servidor Discord: Junta-te ao servidor Discord deUltralytics para conversares com outros utilizadores e programadores, obteres apoio e partilhares as tuas experiências.

Documentação oficial

  • Ultralytics YOLOv8 Documentação: Consulta a documentação oficial YOLOv8 para obteres guias detalhados e dicas úteis sobre vários projectos de visão por computador.

Estes recursos ajudar-te-ão a enfrentar os desafios e a manteres-te atualizado sobre as últimas tendências e práticas na comunidade da visão computacional.

Em resumo

A criação de modelos de visão computacional fiáveis assenta em testes rigorosos dos modelos. Ao testar o modelo com dados não vistos anteriormente, podemos analisá-lo e detetar pontos fracos como sobreajuste e fuga de dados. A resolução desses problemas antes da implantação ajuda o modelo a ter um bom desempenho em aplicações do mundo real. É importante lembrar que o teste do modelo é tão crucial quanto a avaliação do modelo para garantir o sucesso e a eficácia do modelo a longo prazo.

FAQ

Quais são as principais diferenças entre a avaliação de modelos e o teste de modelos na visão computacional?

A avaliação do modelo e o teste do modelo são passos distintos num projeto de visão por computador. A avaliação do modelo envolve a utilização de um conjunto de dados rotulados para calcular métricas como a exatidão, a precisão, a recuperação e a pontuação F1, fornecendo informações sobre o desempenho do modelo com um conjunto de dados controlado. O teste do modelo, por outro lado, avalia o desempenho do modelo em cenários do mundo real, aplicando-o a dados novos e não vistos, garantindo que o comportamento aprendido do modelo se alinha com as expectativas fora do ambiente de avaliação. Para um guia detalhado, consulta os passos de um projeto de visão por computador.

Como posso testar o meu modelo Ultralytics YOLOv8 em várias imagens?

Para testar o teu modelo Ultralytics YOLOv8 em várias imagens, podes utilizar o modo de previsão. Este modo permite-lhe executar o modelo em dados novos e não vistos para gerar previsões sem fornecer métricas detalhadas. Isto é ideal para testes de desempenho no mundo real em conjuntos de imagens maiores armazenados numa pasta. Para avaliar as métricas de desempenho, utiliza o modo de validação.

O que devo fazer se o meu modelo de visão computacional apresentar sinais de sobreajuste ou subajuste?

Para resolver o problema do sobreajuste:

  • Técnicas de regularização como o dropout.
  • Aumenta o tamanho do conjunto de dados de treino.
  • Simplifica a arquitetura do modelo.

Para resolver o problema da subadaptação:

  • Utiliza um modelo mais complexo.
  • Fornece características mais relevantes.
  • Aumenta as iterações ou épocas de treino.

Revê as imagens mal classificadas, efectua uma análise de erros completa e acompanha regularmente as métricas de desempenho para manter um equilíbrio. Para mais informações sobre estes conceitos, explora a nossa secção sobre Sobreajuste e Subajuste.

Como é que posso detetar e evitar a fuga de dados na visão por computador?

Para detetar fugas de dados:

  • Verifica se o desempenho do teste não é invulgarmente elevado.
  • Verifica a importância das características para obteres informações inesperadas.
  • Analisa intuitivamente as decisões do modelo.
  • Assegura a correcta divisão dos dados antes do processamento.

Para evitar a fuga de dados:

  • Utiliza diversos conjuntos de dados com vários ambientes.
  • Analisa cuidadosamente os dados para detetar preconceitos ocultos.
  • Assegura que não há sobreposição de informação entre os conjuntos de treino e de teste.

Para estratégias detalhadas sobre como evitar a fuga de dados, consulta a nossa secção sobre Fuga de Dados na Visão por Computador.

Que passos devo dar depois de testar o meu modelo de visão por computador?

Após o teste, se o desempenho do modelo corresponder aos objectivos do projeto, prossegue com a implementação. Se os resultados não forem satisfatórios, considera:

  • Análise de erros.
  • Recolha de dados mais diversificados e de maior qualidade.
  • Afinação de hiperparâmetros.
  • Treina novamente o modelo.

Obtém informações da secção Teste de modelos vs. Avaliação de modelos. Secção Avaliação de modelos para aperfeiçoar e melhorar a eficácia do modelo em aplicações reais.

Como é que executo as previsões de YOLOv8 sem formação personalizada?

Podes executar previsões utilizando o modelo YOLOv8 pré-treinado no teu conjunto de dados para ver se se adequa às necessidades da tua aplicação. Utiliza o modo de previsão para ter uma noção rápida dos resultados de desempenho sem mergulhar no treinamento personalizado.



Criado em 2024-07-04, Atualizado em 2024-07-05
Autores: glenn-jocher (2), abirami-vina (1)

Comentários