Link to this sectionUm guia sobre testes de modelos#
Link to this sectionIntrodução#
Após o treinamento e a avaliação do teu modelo, é hora de testá-lo. O teste de modelo envolve avaliar o desempenho do mesmo em cenários do mundo real. Os testes consideram fatores como precisão, confiabilidade, imparcialidade e a facilidade de entender as decisões do modelo. O objetivo é garantir que o modelo funcione conforme pretendido, entregue os resultados esperados e se encaixe no objetivo geral da tua aplicação ou projeto.
Watch: How to Test Machine Learning Models | Avoid Data Leakage in Computer Vision 🚀
O teste de modelo é bastante semelhante à avaliação de modelo, mas são duas etapas distintas em um projeto de visão computacional. A avaliação de 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 pelo modelo corresponde às expectativas. Neste guia, vamos explorar estratégias para testar os teus modelos de visão computacional.
Link to this sectionTeste de Modelo vs. Avaliação de Modelo#
Primeiro, vamos entender a diferença entre avaliação e teste de modelo com um exemplo.
Suppose you have trained a computer vision model to recognize cats and dogs, and you want to deploy this model at a pet store to monitor the animals. During the model evaluation phase, you use a labeled dataset to calculate metrics like accuracy, precision, recall, and F1 score. For instance, the model might have an accuracy of 98% in distinguishing between cats and dogs in a given dataset.
Após a avaliação, testas o modelo usando imagens de uma loja de animais para ver quão bem ele identifica gatos e cães em condições mais variadas e realistas. Verificas se ele consegue rotular corretamente gatos e cães quando eles estão a mover-se, em diferentes condições de iluminação ou parcialmente obscurecidos por objetos como brinquedos ou móveis. O teste de modelo verifica se o modelo se comporta como esperado fora do ambiente controlado de avaliação.
Link to this sectionPreparação para o Teste de Modelo#
Os modelos de visão computacional aprendem a partir de conjuntos de dados detetando padrões, fazendo previsões e avaliando o seu desempenho. Estes conjuntos de dados são geralmente divididos em conjuntos de treinamento e teste para simular condições do mundo real. Os dados de treinamento ensinam o modelo, enquanto os dados de teste verificam a sua precisão.
Aqui estão dois pontos a ter em mente antes de testar o teu modelo:
- Representação Realista: Os dados de teste previamente não vistos devem ser semelhantes aos dados que o modelo terá de lidar quando implantado. Isso ajuda a obter uma compreensão realista das capacidades do modelo.
- Tamanho Suficiente: O tamanho do conjunto de dados de teste precisa ser grande o suficiente para fornecer insights confiáveis sobre o desempenho do modelo.
Link to this sectionTestando o Teu Modelo de Visão Computacional#
Aqui estão as etapas principais para testar o teu modelo de visão computacional e entender o seu desempenho.
- Executar Previsões: Usa o modelo para fazer previsões no conjunto de dados de teste.
- Comparar Previsões: Verifica quão bem as previsões do modelo correspondem aos rótulos reais (ground truth).
- Calcular Métricas de Desempenho: Calcula métricas como precisão, recall e pontuação F1 para entender os pontos fortes e fracos do modelo. O teste concentra-se em como estas métricas refletem o desempenho no mundo real.
- Visualizar Resultados: Cria recursos visuais como matrizes de confusão e curvas ROC. Estes ajudam a detetar áreas específicas onde o modelo pode não estar a ter um bom desempenho em aplicações práticas.
Em seguida, os resultados dos testes podem ser analisados:
- Imagens Classificadas Incorretamente: Identifica e analisa imagens que o modelo classificou incorretamente para entender onde ele está a errar.
- Análise de Erros: Realiza uma análise de erros completa para entender os tipos de erros (por exemplo, falsos positivos vs. falsos negativos) e as suas causas potenciais.
- Viés e Imparcialidade: Verifica se há algum viés nas previsões do modelo. Garante que o modelo tenha um desempenho igualmente bom em diferentes subconjuntos de dados, especialmente se incluir atributos sensíveis como raça, género ou idade.
Link to this sectionTestando o Teu Modelo YOLO26#
Para testar o teu modelo YOLO26, podes usar o modo de validação. É uma forma simples de entender os pontos fortes do modelo e as áreas que precisam de melhoria. Além disso, precisarás de formatar corretamente o teu conjunto de dados de teste para o YOLO26. Para mais detalhes sobre como usar o modo de validação, consulta a página de documentação de Validação de Modelo.
Link to this sectionUsando o YOLO26 para Prever em Múltiplas Imagens de Teste#
Se quiseres testar o teu modelo YOLO26 treinado em várias imagens armazenadas numa pasta, podes fazê-lo facilmente de uma só vez. Em vez de usar o modo de validação, que é normalmente usado para avaliar o desempenho do modelo num conjunto de validação e fornecer métricas detalhadas, podes apenas querer ver as previsões em todas as imagens do teu conjunto de teste. Para isso, podes usar o modo de previsão.
Link to this sectionDiferença Entre os Modos de Validação e Previsão#
- Modo de Validação: Usado para avaliar o desempenho do modelo comparando previsões com rótulos conhecidos (ground truth). Fornece métricas detalhadas como precisão, recall 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 como o modelo se comporta em imagens do mundo real.
Link to this sectionExecutando Previsões YOLO26 Sem Treinamento Personalizado#
Se tens interesse em testar o modelo YOLO26 básico para entender se ele pode ser usado para a tua aplicação sem treinamento personalizado, podes usar o modo de previsão. Embora o modelo seja pré-treinado em conjuntos de dados como COCO, executar previsões no teu próprio conjunto de dados pode dar-te uma noção rápida de quão bem ele pode ter um desempenho no teu contexto específico.
Link to this sectionSobreajuste (Overfitting) e Subajuste (Underfitting) em Aprendizado de Máquina#
Ao testar um modelo de aprendizado de máquina, especialmente em visão computacional, é importante estar atento ao sobreajuste e subajuste. Estes problemas podem afetar significativamente a eficácia do teu modelo com novos dados.
Link to this sectionSobreajuste (Overfitting)#
O sobreajuste ocorre quando o teu modelo aprende demasiado bem os dados de treinamento, incluindo o ruído e os detalhes que não se generalizam para novos dados. Em visão computacional, isso significa que o teu modelo pode ter um ótimo desempenho com imagens de treinamento, mas ter dificuldades com imagens novas.
Link to this sectionSinais de Sobreajuste#
- Alta Precisão de Treinamento, Baixa Precisão de Validação: Se o teu modelo tem um desempenho muito bom em dados de treinamento, mas fraco em dados de validação ou dados de teste, é provável que esteja a ocorrer sobreajuste.
- Inspeção Visual: Às vezes, podes notar sobreajuste se o teu modelo for sensível demais a pequenas alterações ou detalhes irrelevantes nas imagens.
Link to this sectionSubajuste (Underfitting)#
O subajuste ocorre quando o teu modelo não consegue capturar os padrões subjacentes nos dados. Em visão computacional, um modelo com subajuste pode nem conseguir reconhecer objetos corretamente nas imagens de treinamento.
Link to this sectionSinais de Subajuste#
- Baixa Precisão de Treinamento: Se o teu modelo não consegue atingir uma alta precisão no conjunto de treinamento, ele pode estar com subajuste.
- Classificação Visual Incorreta: A falha consistente em reconhecer características ou objetos óbvios sugere subajuste.
Link to this sectionEquilibrando Sobreajuste e Subajuste#
O segredo é encontrar um equilíbrio entre sobreajuste e subajuste. Idealmente, um modelo deve ter um bom desempenho tanto nos conjuntos de dados de treinamento quanto nos de validação. Monitorizar regularmente o desempenho do teu modelo através de métricas e inspeções visuais, juntamente com a aplicação das estratégias certas, pode ajudar-te a alcançar os melhores resultados.
Link to this sectionVazamento de Dados em Visão Computacional e Como Evitá-lo#
Ao testar o teu modelo, algo importante a ter em mente é o vazamento de dados. O vazamento de dados acontece quando informações externas ao conjunto de dados de treinamento são usadas acidentalmente para treinar o modelo. O modelo pode parecer muito preciso durante o treinamento, mas não terá um bom desempenho com dados novos e não vistos quando ocorre o vazamento de dados.
Link to this sectionPor que o Vazamento de Dados Acontece#
O vazamento de dados pode ser difícil de detetar e muitas vezes provém de vieses ocultos nos dados de treinamento. Aqui estão algumas formas comuns de como isso pode acontecer em visão computacional:
- Viés de Câmera: Ângulos, iluminação, sombras e movimentos de câmera diferentes podem introduzir padrões indesejados.
- Viés de Sobreposição: Logotipos, marcas de data/hora ou outras sobreposições nas imagens podem induzir o modelo ao erro.
- Viés de Fonte e Objeto: Fontes ou objetos específicos que aparecem frequentemente em certas classes podem distorcer o aprendizado do modelo.
- Viés Espacial: Desequilíbrios entre primeiro plano e fundo, distribuições de caixas delimitadoras e locais dos objetos podem afetar o treinamento.
- Viés de Rótulo e Domínio: Rótulos incorretos ou mudanças nos tipos de dados podem levar ao vazamento.
Link to this sectionDetetando Vazamento de Dados#
Para encontrar vazamento de dados, podes:
- Verificar o Desempenho: Se os resultados do modelo forem surpreendentemente bons, pode haver vazamento.
- Observar a Importância dos Recursos: Se um recurso for muito mais importante que outros, isso pode indicar vazamento.
- Inspeção Visual: Verifica novamente se as decisões do modelo fazem sentido intuitivamente.
- Verificar a Separação de Dados: Garante que os dados foram divididos corretamente antes de qualquer processamento.
Link to this sectionEvitando o Vazamento de Dados#
Para evitar o vazamento de dados, usa um conjunto de dados diversificado com imagens ou vídeos de diferentes câmeras e ambientes. Analisa cuidadosamente os teus dados e verifica se não existem vieses ocultos, como todas as amostras positivas serem retiradas numa hora específica do dia. Evitar o vazamento de dados ajudará a tornar os teus modelos de visão computacional mais confiáveis e eficazes em situações do mundo real.
Link to this sectionO Que Vem Após o Teste de Modelo#
Após testar o teu modelo, os próximos passos dependem dos resultados. Se o teu modelo tiver um bom desempenho, podes implantá-lo num ambiente do mundo real. Se os resultados não forem satisfatórios, precisarás de fazer melhorias. Isso pode envolver analisar erros, reunir mais dados, melhorar a qualidade dos dados, ajustar hiperparâmetros e treinar o modelo novamente.
Link to this sectionParticipa na Conversa sobre IA#
Tornar-te parte de uma comunidade de entusiastas de visão computacional pode ajudar a resolver problemas e aprender com mais eficiência. Aqui estão algumas formas de te conectares, pedires ajuda e partilhares as tuas ideias.
Link to this sectionRecursos da Comunidade#
- GitHub Issues: Explora o repositório GitHub do YOLO26 e usa a aba Issues para fazer perguntas, relatar bugs e sugerir novos recursos. A comunidade e os mantenedores são muito ativos e estão prontos para ajudar.
- Servidor Discord da Ultralytics: Junta-te ao servidor Discord da Ultralytics para conversar com outros utilizadores e desenvolvedores, obter suporte e partilhar as tuas experiências.
Link to this sectionDocumentação Oficial#
- Documentação do YOLO26 da Ultralytics: Consulta a documentação oficial do YOLO26 para guias detalhados e dicas úteis sobre vários projetos de visão computacional.
Estes recursos ajudar-te-ão a navegar por desafios e a manter-te atualizado sobre as últimas tendências e práticas dentro da comunidade de visão computacional.
Link to this sectionEm Resumo#
Construir modelos de visão computacional confiáveis depende de testes de modelo rigorosos. Ao testar o modelo com dados anteriormente não vistos, podemos analisá-lo e detetar fraquezas como sobreajuste e vazamento de dados. Resolver estes problemas antes da implantação ajuda o modelo a ter um bom desempenho em aplicações do mundo real. É importante lembrar que o teste de modelo é tão crucial quanto a avaliação de modelo para garantir o sucesso e a eficácia a longo prazo do modelo.
Link to this sectionFAQ#
Link to this sectionQuais são as principais diferenças entre avaliação de modelo e teste de modelo em visão computacional?#
A avaliação de modelo e o teste de modelo são etapas distintas num projeto de visão computacional. A avaliação de modelo envolve o uso de um conjunto de dados rotulado para calcular métricas como precisão, precisão, recall e pontuação F1, fornecendo insights sobre o desempenho do modelo com um conjunto de dados controlado. O teste de 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 pelo modelo se alinhe às expectativas fora do ambiente de avaliação. Para um guia detalhado, consulta as etapas num projeto de visão computacional.
Link to this sectionComo posso testar o meu modelo YOLO26 da Ultralytics em múltiplas imagens?#
Para testar o teu modelo YOLO26 da Ultralytics em múltiplas imagens, podes usar o modo de previsão. Este modo permite-te executar o modelo em dados novos e não vistos para gerar previsões sem fornecer métricas detalhadas. Isso é ideal para testes de desempenho no mundo real em conjuntos de imagens maiores armazenados numa pasta. Para avaliar métricas de desempenho, usa o modo de validação em vez disso.
Link to this sectionO que devo fazer se o meu modelo de visão computacional mostrar sinais de sobreajuste ou subajuste?#
Para lidar com o sobreajuste:
- Técnicas de Regularização como dropout.
- Aumenta o tamanho do conjunto de dados de treinamento.
- Simplifica a arquitetura do modelo.
Para lidar com o subajuste:
- Usa um modelo mais complexo.
- Fornece mais recursos relevantes.
- Aumenta as iterações de treinamento ou épocas.
Analisa imagens classificadas incorretamente, realiza uma análise de erro completa e rastreia 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.
Link to this sectionComo posso detetar e evitar o vazamento de dados em visão computacional?#
Para detetar vazamento de dados:
- Verifica se o desempenho do teste não é invulgarmente alto.
- Verifica a importância dos recursos para obter insights inesperados.
- Analisa intuitivamente as decisões do modelo.
- Garante a divisão correta dos dados antes do processamento.
Para evitar o vazamento de dados:
- Usa conjuntos de dados diversificados com vários ambientes.
- Analisa cuidadosamente os dados em busca de vieses ocultos.
- Garante que não haja informações sobrepostas entre os conjuntos de treinamento e teste.
Para estratégias detalhadas sobre como prevenir o vazamento de dados, consulta a nossa secção sobre Vazamento de Dados em Visão Computacional.
Link to this sectionQuais passos devo seguir após testar o meu modelo de visão computacional?#
Após o teste, se o desempenho do modelo atender aos objetivos do projeto, prossegue com a implantação. Se os resultados forem insatisfatórios, considera:
- Análise de erros.
- Coleta de mais dados diversos e de alta qualidade.
- Ajuste de hiperparâmetros.
- Retreinamento do modelo.
Obtém insights da seção Model Testing Vs. Model Evaluation para refinar e melhorar a eficácia do modelo em aplicações do mundo real.
Link to this sectionComo executo predições com o YOLO26 sem treinamento personalizado?#
Podes executar predições usando o modelo YOLO26 pré-treinado no teu conjunto de dados para ver se ele atende às necessidades da tua aplicação. Utiliza o prediction mode para ter uma noção rápida dos resultados de desempenho sem mergulhar em treinamentos personalizados.