YOLO Vision 2026:

Como testar modelos de visão computacional#

Introdução#

O teste de modelos verifica o desempenho de um modelo treinado em dados reais e nunca antes vistos — objetos em movimento, mal iluminados ou parcialmente ocultos, em vez de um benchmark selecionado. Enquanto a avaliação de modelos mede métricas em um conjunto de dados rotulado, o teste confirma se o comportamento aprendido pelo modelo corresponde aos objetivos da tua aplicação antes do implante. Este guia aborda a preparação de dados de teste, o teste de modelos Ultralytics YOLO26 e a identificação de overfitting, underfitting e vazamento de dados.



Watch: How to Test Machine Learning Models | Avoid Data Leakage in Computer Vision 🚀

Teste de modelo vs. Avaliação de modelo#

O teste de modelos e a avaliação de modelos são duas etapas distintas em um projeto de visão computacional. A avaliação mede o desempenho com métricas em um conjunto de dados rotulado; o teste verifica se o comportamento aprendido do modelo se mantém em condições que se assemelham às do implante.

Supõe que treinaste um modelo de visão computacional para reconhecer cães e gatos e queres implantar este modelo em uma loja de animais para monitorá-los. Durante a fase de avaliação do modelo, usas um conjunto de dados rotulado para calcular métricas como precisão, acurácia e revocação. Por exemplo, o modelo pode ter 98% de precisão para distinguir entre cães e gatos em um determinado conjunto de dados.

Após a avaliação, você testa o modelo usando imagens de um pet shop para ver quão bem ele identifica gatos e cães em condições mais variadas e realistas. Você verifica se ele consegue rotular corretamente gatos e cães quando eles estão se movendo, 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 de avaliação controlado.

Preparação para o teste de modelo#

Os conjuntos de dados de visão computacional costumam ser divididos em conjuntos de treino e teste para simular condições do mundo real: os dados de treino ensinam o modelo, enquanto os dados de teste verificam o comportamento dele em exemplos que ele nunca viu. A Ultralytics Platform mantém a organização e a anotação dos conjuntos de dados em um só lugar, o que ajuda na criação de um conjunto de teste rotulado.

Antes de testar
  • Representação realista: Os dados de teste nunca vistos devem ser semelhantes aos dados que o modelo manipulará quando implantado. Isso fornece uma imagem realista das capacidades do modelo.
  • Tamanho suficiente: O conjunto de dados de teste precisa ser grande o suficiente para fornecer insights confiáveis sobre o desempenho do modelo.

Como testar um modelo YOLO26#

Testar um modelo YOLO26 treinado envolve dois fluxos de trabalho complementares: validar em uma divisão de teste rotulada para obter métricas quantitativas e prever em novas imagens para inspecionar o comportamento qualitativamente.

Validar em uma divisão de teste rotulada#

Modo de validação compara as previsões do modelo com os rótulos de verdade fundamental e relata precisão, revocação, mAP50 e mAP50-95 para modelos de deteção. Ele também guarda recursos visuais, como uma matriz de confusão e uma curva de precisão-revocação, que ajudam a identificar áreas específicas onde o modelo pode não estar a ter um bom desempenho.

Uso
from ultralytics import YOLO

# Load a pretrained model or your own trained checkpoint, e.g. "path/to/best.pt"
model = YOLO("yolo26n.pt")

# Validate; add split="test" if your dataset YAML defines a test split
metrics = model.val(data="coco8.yaml")
print(metrics.box.map)  # mAP50-95

Por predefinição, a validação é executada na divisão val do conjunto de dados. Para medir o desempenho em um conjunto de teste isolado, define uma divisão test: no YAML do teu conjunto de dados e passa split="test".

Prever em novas imagens#

Modo de previsão executa o modelo em dados novos e desconhecidos, sem exigir rótulos. Ele não gera métricas de desempenho, mas guardar as saídas anotadas permite analisar o comportamento do modelo em imagens do mundo real — por exemplo, uma pasta inteira de imagens de teste de uma só vez.

Uso
from ultralytics import YOLO

# Load a pretrained model or your own trained checkpoint, e.g. "path/to/best.pt"
model = YOLO("yolo26n.pt")

# Run predictions on a folder of test images and save annotated results
results = model.predict(source="path/to/test_images", save=True)
Testar um modelo pré-treinado antes do treinamento personalizado

Para verificar se o YOLO26 se adapta à tua aplicação antes de investir num treino personalizado, executa o modo de previsão com um ponto de controlo pré-treinado nas tuas próprias imagens. Os modelos são pré-treinados em conjuntos de dados como COCO, por isso os resultados dão uma ideia rápida de quão bem o modelo poderá desempenhar-se no teu contexto específico.

Modo de Validação vs. Predição#

ModoObjetivoRequer rótulosSaída
ValidaçãoQuantificar o desempenho em relação ao ground truthSimPrecisão, recall, mAP50, mAP50-95, matriz de confusão, curvas PR
PrevisãoInspecionar o comportamento do modelo em dados novos e não rotuladosNãoImagens anotadas e resultados de predição, sem métricas

Como analisar os resultados do teste#

Uma vez que as previsões e métricas estiverem em mãos, analise onde e por que o modelo falha:

  • Imagens classificadas incorretamente: Identifique e revise as imagens que o modelo classificou incorretamente para entender onde ele está errando.
  • Análise de erros: Realize uma análise de erros completa para entender os tipos de erros (por exemplo, falsos positivos vs. falsos negativos) e suas possíveis causas.
  • Viés e justiça: Verifique se há algum viés nas previsões do modelo. Certifique-se de 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.

Overfitting e Underfitting em Machine Learning#

Ao testar um modelo de aprendizagem automática, especialmente em visão computacional, é importante ter cuidado com o overfitting e o underfitting. Esses problemas podem afetar significativamente a eficácia do teu modelo com novos dados.

ProblemaSinais comunsComo lidar com isso
OverfittingAlta precisão de treinamento, mas baixa precisão de validação; hipersensibilidade a pequenas mudanças ou detalhes irrelevantes nas imagensAplica regularização, como dropout, aumenta o tamanho do conjunto de dados de treino e simplifica a arquitetura do modelo
UnderfittingBaixa precisão mesmo no conjunto de treinamento; falha consistente em reconhecer características ou objetos óbviosUsa um modelo mais complexo, fornece recursos mais relevantes e aumenta as épocas de treino

O segredo é encontrar um equilíbrio para que o modelo performe bem em ambos os conjuntos de dados, de treinamento e de validação. Monitorar regularmente as métricas e inspecionar visualmente as previsões durante os testes ajuda você a evitar um desvio para qualquer um dos extremos.

Comparison of underfitting, appropriate fitting, and overfitting on the same dataset

Vazamento de dados em visão computacional e como evitá-lo#

O vazamento de dados acontece quando informações de fora do 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 funcionará bem em dados novos e não vistos quando ocorrer vazamento de dados.

O vazamento pode ser difícil de detectar e geralmente vem de vieses ocultos nos dados de treinamento:

Tipo de viésO que parece
Viés de câmeraDiferentes ângulos, iluminação, sombras e movimentos da câmera introduzem padrões indesejados
Viés de sobreposiçãoLogotipos, carimbos de data/hora ou outras sobreposições nas imagens enganam o modelo
Viés de fonte e objetoFontes ou objetos específicos que aparecem frequentemente em certas classes distorcem o aprendizado do modelo
Viés espacialDesequilíbrios entre primeiro plano e fundo, distribuições de caixas delimitadoras e locais dos objetos afetam o treino
Viés de rótulo e domínioRótulos incorretos ou mudanças nos tipos de dados levam ao vazamento

Como detectar e evitar o vazamento de dados#

Para encontrar o vazamento de dados, verifique se os resultados do modelo são surpreendentemente bons, analise se um recurso é muito mais importante que outros, verifique se as decisões do modelo fazem sentido intuitivamente e confirme se os dados foram divididos corretamente antes de qualquer processamento.

Para evitá-lo, use um conjunto de dados diversificado com imagens ou vídeos de diferentes câmeras e ambientes, e analise cuidadosamente seus dados em busca de vieses ocultos — como todas as amostras positivas sendo tiradas em um horário específico do dia. Evitar o vazamento de dados torna seus modelos de visão computacional mais confiáveis em situações do mundo real.

O que vem depois do teste de modelo#

Depois de testar o teu modelo, os próximos passos dependem dos resultados. Se o teu modelo tiver um bom desempenho, podes implantá-lo num ambiente de produção. Se os resultados não forem satisfatórios, precisarás de fazer melhorias. Isso pode envolver analisar erros, recolher mais dados, melhorar a qualidade dos dados, ajustar hiperparâmetros e treinar novamente o modelo.

Conclusão#

Um teste de modelo rigoroso — validar numa divisão de teste isolada, fazer previsões em imagens do mundo real e verificar a existência de overfitting e vazamento de dados — é o que transforma um modelo bem avaliado num modelo confiável. Resolve os problemas que os testes revelam antes do implante, e o teu modelo terá muito mais probabilidades de funcionar conforme o pretendido em produção. Se surgirem dúvidas pelo caminho, pergunta à comunidade no repositório GitHub da Ultralytics ou no servidor do Discord da Ultralytics.

FAQ#

  • A avaliação de modelos mede o desempenho com métricas num conjunto de dados rotulado, enquanto o teste de modelos verifica como o modelo se comporta em dados novos e desconhecidos que se assemelham às condições de implante. A avaliação produz números como precisão e mAP a partir de um conjunto de dados controlado; o teste revela se o comportamento aprendido se mantém com iluminação variada, movimento ou oclusão. Consulta Teste de Modelos vs. Avaliação de Modelos para ver um exemplo prático.

  • Usa o modo de previsão e passa o caminho de uma pasta como source — o YOLO26 é executado em cada imagem da pasta e pode guardar os resultados anotados para revisão. O modo de previsão não calcula métricas; para quantificar o desempenho num conjunto rotulado, usa o modo de validação em vez disso. Ambos os fluxos de trabalho são mostrados em Como Testar um Modelo YOLO26.

  • Para modelos de deteção, a validação relata precisão, revocação, mAP50 e mAP50-95, e guarda gráficos que incluem uma matriz de confusão e uma curva de precisão-revocação. Para validar numa divisão de teste dedicada em vez da divisão predefinida val, define test: no YAML do teu conjunto de dados e passa split="test". Consulta o guia de métricas de desempenho para saberes como interpretar cada métrica.

  • No caso do overfitting, aplica técnicas de regularização como dropout, aumenta o tamanho do conjunto de dados de treino ou simplifica a arquitetura do modelo. No caso do underfitting, usa um modelo mais complexo, fornece recursos mais relevantes ou treina durante mais épocas. Os sinais de cada problema e as respetivas correções estão resumidos em Overfitting e Underfitting na Aprendizagem Automática.

  • Suspeita de vazamento de dados quando o desempenho do teste parecer surpreendentemente bom, quando um único recurso dominar as previsões ou quando as decisões do modelo não fizerem sentido intuitivo. Evita-o utilizando conjuntos de dados diversos provenientes de diferentes câmaras e ambientes, revendo os dados para detetar preconceitos ocultos e verificando se a divisão de treino/teste ocorreu antes de qualquer processamento. Consulta Vazamento de Dados em Visão Computacional para conhecer os tipos de viés mais comuns.

  • Se os resultados atingirem os objetivos do teu projeto, implanta o modelo; caso contrário, melhora-o antes do implante. Isso pode significar analisar erros, recolher dados mais diversos, melhorar a qualidade dos dados, ajustar hiperparâmetros e treinar novamente. Repete os testes após cada ciclo de alterações para confirmar se as correções funcionaram.

Comentários