Um guia para o teste de modelos
Introdução
Depois de treinar e avaliar o seu modelo, é altura de o testar. O teste do modelo envolve a avaliação do seu desempenho em cenários do mundo real. O teste tem em conta 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, produz 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, exploraremos estratégias para testar seus modelos de visão computacional.
Teste de modelos Vs. Avaliação de modelos
Em primeiro lugar, vamos compreender a diferença entre avaliação e teste de modelos com um exemplo.
Suponha que treinou um modelo de visão por computador para reconhecer cães e gatos e pretende implementar este modelo numa loja de animais para monitorizar os animais. Durante a fase de avaliação do modelo, utiliza um conjunto de dados rotulados para calcular métricas como exatidão, precisão, recuperação e 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, o modelo é testado utilizando imagens de uma loja de animais para verificar a sua capacidade de identificar cães e gatos em condições mais variadas e realistas. Verifica-se se o modelo consegue identificar corretamente os cães e gatos quando estes estão em movimento, em diferentes condições de iluminação ou parcialmente ocultos 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 exatidão.
Eis dois pontos a ter em conta antes de testar o seu 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 modelo de visão computacional
Eis os principais passos a dar para testar o seu modelo de visão por computador e compreender o seu desempenho.
- Executar previsões: Utilizar o modelo para efetuar previsões no conjunto de dados de teste.
- Comparar previsões: Verificar a correspondência entre as previsões do modelo e as etiquetas reais (verdade terrestre).
- Calcular métricas de desempenho: Calcule métricas como exatidão, precisão, recuperação e 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.
- Visualize os resultados: Crie ajudas visuais como matrizes de confusão e curvas ROC. Estes ajudam-no a identificar áreas específicas em que o modelo pode não estar a ter um bom desempenho em aplicações práticas.
De seguida, os resultados dos testes podem ser analisados:
- Imagens mal classificadas: Identificar e rever imagens que o modelo classificou incorretamente para compreender onde está a errar.
- Análise de erros: Efetuar uma análise de erros exaustiva para compreender os tipos de erros (por exemplo, falsos positivos vs. falsos negativos) e as suas potenciais causas.
- Preconceito e equidade: Verificar a existência de enviesamentos nas previsões do modelo. Certifique-se de que o modelo tem o mesmo desempenho em diferentes subconjuntos de dados, especialmente se incluir atributos sensíveis como raça, género ou idade.
Testar o modelo YOLO11
Para testar o seu modelo YOLO11 , pode utilizar o modo de validação. É uma forma direta de compreender os pontos fortes do modelo e as áreas que precisam de ser melhoradas. Além disso, é necessário formatar corretamente o conjunto de dados de teste para YOLO11. Para obter mais detalhes sobre como usar o modo de validação, consulte a página de documentos Validação de modelo.
Utilizar YOLO11 para prever em várias imagens de teste
Se pretender testar o seu modelo YOLO11 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, poderá querer apenas ver as previsões em todas as imagens do seu conjunto de teste. Para isso, pode utilizar o modo de previsão.
Diferença entre os modos de validação e previsão
- Modo de validação: Utilizado para avaliar o desempenho do modelo, comparando as previsões com rótulos conhecidos (verdade terrestre). Fornece métricas detalhadas, como exatidão, precisão, recuperação e pontuação F1.
- Modo de previsão: Utilizado 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-lhe ver o desempenho do modelo em imagens do mundo real.
Executando YOLO11 Previsões sem treinamento personalizado
Se estiver interessado em testar o modelo básico YOLO11 para perceber se pode ser utilizado para a sua aplicação sem formação personalizada, pode 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 seu próprio conjunto de dados pode dar-lhe uma rápida noção do seu desempenho no seu 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 o funcionamento do modelo com novos dados.
Sobreajuste
O sobreajuste ocorre quando o 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 por computador, isto significa que o seu modelo pode ter um ótimo desempenho com imagens de treino, mas ter dificuldades com imagens novas.
Sinais de sobreajuste
- Elevada exatidão de treino, baixa exatidão de validação: Se o seu modelo tiver um desempenho muito bom nos dados de treino, mas fraco nos dados de validação ou de teste, é provável que esteja a ser sobreajustado.
- Inspeção visual: Por vezes, é possível observar um sobreajuste se o modelo for demasiado sensível a pequenas alterações ou a detalhes irrelevantes nas imagens.
Subadaptação
A subadaptação ocorre quando o modelo não consegue captar os padrões subjacentes nos dados. Na visão por computador, um modelo subajustado pode nem sequer reconhecer corretamente os objectos nas imagens de treino.
Sinais de subequipamento
- Baixa precisão de treino: Se o seu modelo não conseguir atingir uma precisão elevada no conjunto de treino, poderá estar a ser subajustado.
- Erro de classificação visual: A incapacidade consistente de reconhecer caraterísticas ou objectos óbvios sugere uma subadaptação.
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 nos conjuntos de dados de treino e de validação. A monitorização regular do desempenho do seu modelo através de métricas e inspecções visuais, juntamente com a aplicação das estratégias corretas, pode ajudá-lo a obter os melhores resultados.
Fuga de dados na visão por computador e como evitá-la
Ao testar o seu 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 exato 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. Eis 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 fonte e objeto: 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 a formação.
- 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 detetar fugas de dados, pode:
- Verificar o desempenho: Se os resultados do modelo forem surpreendentemente bons, pode haver uma fuga de informação.
- Verificar a importância das caraterísticas: Se uma caraterística for muito mais importante do que outras, isso pode indicar uma fuga.
- Inspeção visual: Verificar se as decisões do modelo fazem sentido intuitivamente.
- Verificar a separação de dados: Certifique-se de que os dados foram divididos corretamente antes de qualquer processamento.
Evitar a fuga de dados
Para evitar a fuga de dados, utilize um conjunto de dados diversificado com imagens ou vídeos de diferentes câmaras e ambientes. Reveja cuidadosamente os seus dados e verifique se não existem enviesamentos ocultos, como o facto de todas as amostras positivas terem sido recolhidas numa determinada altura do dia. Evitar a fuga de dados ajudará a tornar os seus 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 testar o seu modelo, os passos seguintes dependem dos resultados. Se o seu modelo tiver um bom desempenho, pode implementá-lo num ambiente real. Se os resultados não forem satisfatórios, será necessário efetuar melhorias. Isto pode envolver a análise de erros, a recolha de mais dados, a melhoria da qualidade dos dados, o ajuste dos hiperparâmetros e a reciclagem do modelo.
Junte-se à 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 se ligar, procurar ajuda e partilhar as suas ideias.
Recursos comunitários
- Problemas do GitHub: Explore o repositórioYOLO11 do GitHub e use a guia Problemas para fazer perguntas, relatar bugs e sugerir novos recursos. A comunidade e os mantenedores são muito ativos e estão prontos para ajudar.
- Ultralytics Servidor Discord: Junte-se ao servidor Discord deUltralytics para conversar com outros utilizadores e programadores, obter apoio e partilhar as suas experiências.
Documentação oficial
- Ultralytics YOLO11 Documentação: Consulte a documentação oficial do YOLO11 para obter guias detalhados e dicas úteis sobre vários projectos de visão computacional.
Estes recursos ajudá-lo-ão a enfrentar os desafios e a manter-se 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 por computador 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 destes problemas antes da implementaçã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, consulte as etapas de um projeto de visão computacional.
Como posso testar o meu modelo Ultralytics YOLO11 em várias imagens?
Para testar o seu modelo Ultralytics YOLO11 em várias imagens, pode 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, utilize 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 dropout.
- Aumentar o tamanho do conjunto de dados de treino.
- Simplificar a arquitetura do modelo.
Para resolver o problema da subadaptação:
- Utilizar um modelo mais complexo.
- Fornecer caraterísticas mais relevantes.
- Aumentar as iterações ou épocas de treino.
Reveja as imagens mal classificadas, efectue uma análise de erros completa e acompanhe regularmente as métricas de desempenho para manter um equilíbrio. Para obter mais informações sobre estes conceitos, explore a nossa secção sobre Sobreajuste e Subajuste.
Como é que posso detetar e evitar a fuga de dados na visão computacional?
Para detetar fugas de dados:
- Verificar se o desempenho do teste não é invulgarmente elevado.
- Verifique a importância das caraterísticas para obter informações inesperadas.
- Rever intuitivamente as decisões do modelo.
- Assegurar a correta divisão dos dados antes do processamento.
Para evitar a fuga de dados:
- Utilizar diversos conjuntos de dados com vários ambientes.
- Analisar cuidadosamente os dados para detetar preconceitos ocultos.
- Assegurar 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, consulte a nossa secção sobre Fuga de dados na visão computacional.
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, prosseguir com a implementação. Se os resultados não forem satisfatórios, considerar:
- Análise de erros.
- Recolha de dados mais diversificados e de maior qualidade.
- Afinação de hiperparâmetros.
- Reciclagem do modelo.
Obtenha 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 do mundo real.
Como é que executo as previsões de YOLO11 sem formação personalizada?
Pode executar previsões utilizando o modelo YOLO11 pré-treinado no seu conjunto de dados para verificar se este se adequa às necessidades da sua aplicação. Utilize o modo de previsão para ter uma noção rápida dos resultados de desempenho sem mergulhar no treinamento personalizado.