YOLO Vision 2026:

Informações sobre avaliação e ajuste fino de modelos#

Após o treinamento de um modelo YOLO, o próximo passo é medir o seu desempenho e ajustá-lo para fechar as lacunas. A avaliação utiliza métricas como mAP e IoU para quantificar a precisão, enquanto o ajuste fino ajusta os parâmetros de treinamento para fortalecer os pontos fracos para que o modelo atinja o objetivo do seu projeto. Este guia explica as principais métricas de avaliação, como interpretá-las e como agir com base no que elas mostram.



Watch: Insights into Model Evaluation and Fine-Tuning | Tips for Improving Mean Average Precision

A avaliação e o ajuste fino situam-se próximo do fim do fluxo de trabalho de projetos de visão computacional, assim que o treinamento está em andamento e precisas de verificar se o modelo é preciso, eficiente e está pronto para implantação.

Principais Métricas de Avaliação#

Várias métricas medem quão eficazmente um modelo desempenha. Estas métricas de desempenho fornecem percepções numéricas claras que orientam melhorias para garantir que o modelo atinge os seus objetivos pretendidos.

Pontuação de Confiança#

A pontuação de confiança representa a certeza do modelo de que um objeto detetado pertence a uma determinada classe. Varia de 0 a 1, com pontuações mais altas indicando maior confiança. A pontuação de confiança ajuda a filtrar previsões; apenas as deteções com pontuações acima de um limiar especificado são consideradas válidas.

Não vês previsões?

Ao executar a inferência, se não vires nenhuma previsão e já tiveres verificado tudo o resto, tenta reduzir o limite de confiança. Por vezes, o limite é demasiado elevado, fazendo com que o modelo ignore previsões válidas. Reduzi-lo permite que o modelo considere mais possibilidades. Isto pode não atingir os objetivos finais do teu projeto, mas é uma boa forma de ver o que o modelo consegue fazer e decidir como realizar o fine-tuning.

Intersection over Union#

Intersection over Union (IoU) é uma métrica em detecção de objetos que mede quão bem a caixa delimitadora prevista se sobrepõe à caixa delimitadora real. Os valores de IoU variam de 0 a 1, onde um representa uma correspondência perfeita. O IoU é essencial porque mede quão proximamente os limites previstos correspondem aos limites reais do objeto.

Intersection over Union Overview

Precisão Média (Mean Average Precision)#

Mean Average Precision (mAP) mede o desempenho geral de um modelo de detecção de objetos. Analisa a precisão de detecção de cada classe de objeto, faz a média destas pontuações e fornece um único número que demonstra quão precisamente o modelo consegue identificar e classificar objetos.

Duas métricas mAP são relatadas mais frequentemente:

  • mAP@.5: Mede a precisão média a um limite de IoU único de 0.5. Esta métrica verifica se o modelo consegue encontrar objetos corretamente com um requisito de precisão mais flexível. Foca-se em saber se o objeto está aproximadamente no lugar certo, sem necessidade de posicionamento perfeito, e ajuda a perceber se o modelo é geralmente bom a detetar objetos.
  • mAP@.5:.95: Calcula a média dos valores de mAP em múltiplos limiares de IoU, de 0.5 a 0.95 em incrementos de 0.05. Esta métrica é mais detalhada e rigorosa. Dá uma imagem mais completa da precisão com que o modelo consegue encontrar objetos em diferentes níveis de rigor e é especialmente útil para aplicações que necessitam de uma deteção de objetos precisa.

Outras métricas de mAP incluem mAP@0.75, que utiliza um limiar de IoU mais rigoroso de 0.75, e mAP@small, medium e large, que avaliam a precisão em objetos de diferentes tamanhos.

Mean average precision mAP metric

A avaliar um modelo YOLO26#

Podes avaliar um modelo YOLO26 treinado com o modo de validação. Para uma análise mais profunda de como cada métrica é calculada e interpretada, consulta o guia de métricas de desempenho do YOLO26.

Lidar com tamanhos de imagem variáveis#

Avaliar o teu modelo em imagens de diferentes tamanhos ajuda-te a compreender o seu desempenho em conjuntos de dados diversos. O parâmetro de validação rect=true agrupa imagens por proporção de aspecto e aplica preenchimento a cada lote para a menor forma que caiba, para que as imagens retangulares sejam avaliadas sem serem forçadas a um quadrado.

O parâmetro imgsz define o tamanho da imagem utilizado durante a validação, aplicado como um quadrado. Se não o definires explicitamente, o YOLO26 reutiliza o valor guardado nas definições do modelo (640 para os modelos pré-treinados oficiais, ou qualquer tamanho com que um ponto de verificação personalizado tenha sido treinado). Com rect=true, o YOLO26 restringe o lado mais longo a imgsz e preenche o lado mais curto para um múltiplo de passo, preservando a proporção de aspecto. Ajusta imgsz com base nas dimensões do teu conjunto de dados e na memória GPU disponível.

Aceder às métricas do YOLO26#

Para compreender o desempenho do teu modelo em detalhe, podes aceder a métricas de avaliação específicas com algumas linhas de Python. O snippet abaixo carrega um modelo, executa a validação e imprime as métricas mais úteis.

Uso
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")

# Run validation on your dataset
results = model.val(data="coco8.yaml")

# Overall metrics
print("mAP50-95:", results.box.map)  # mAP at IoU 0.50:0.95
print("mAP50:", results.box.map50)  # mAP at IoU 0.50
print("mAP75:", results.box.map75)  # mAP at IoU 0.75
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Fitness:", results.box.fitness())  # weighted score used for model selection

# Per-class metrics
print("Class indices evaluated:", results.box.ap_class_index)
print("Per-class mAP50-95:", results.box.maps)

# Per-image precision, recall, F1, TP, FP, and FN
print("Per-image metrics:", results.box.image_metrics)

# Per-stage timing breakdown in milliseconds per image
print("Timing breakdown (ms/image):", results.speed)

Nota que fitness() é um método e deve ser chamado com parênteses, enquanto métricas como map, map50 e mp são propriedades acedidas diretamente.

O atributo results.box.image_metrics é um dicionário por imagem indexado pelo nome do ficheiro da imagem, contendo precision, recall, f1, tp, fp e fn a IoU 0.5 para cada imagem. Os tempos de pré-processamento, inferência, perda e pós-processamento são relatados separadamente no dicionário results.speed. Juntos, estes permitem-te identificar com precisão com quais imagens o modelo tem dificuldades e ajustar finamente em conformidade.

Fine-Tuning do teu Modelo#

O ajuste fino pega um modelo pré-treinado e ajusta os seus parâmetros para melhorar o desempenho em uma tarefa ou conjunto de dados específico. Também conhecido como re-treinamento de modelo, permite que o modelo compreenda e preveja melhor os resultados para os dados que encontrará em aplicações do mundo real. Com base nos resultados da sua avaliação, re-treinas o modelo nos teus próprios dados, ajustando os argumentos de treinamento cobertos no guia de ajuste fino.

Mosaico de imagens para objetos pequenos#

A divisão de imagens em mosaico (tiling) pode melhorar a precisão da detecção para objetos pequenos. Ao dividir imagens maiores em segmentos menores, como dividir imagens de 1280x1280 em múltiplos segmentos de 640x640, preservas a resolução original e permites que o modelo aprenda a partir de fragmentos de alta resolução. O Ultralytics suporta isto no momento da inferência através da inferência em mosaico SAHI. Ao treinar em imagens divididas, certifica-te de ajustar corretamente os teus rótulos para cada novo segmento.

Conclusão#

Avaliar e ajustar finamente são o que transforma um modelo treinado num modelo fiável e implementável: métricas como mAP e IoU expõem fragilidades, e alterações de parâmetros direcionadas resolvem-nas. Começa com o modo de validação para avaliar o teu modelo, depois re-treina com os argumentos cobertos no guia de ajuste fino e continua a iterar com novos parâmetros, técnicas e conjuntos de dados. Se surgirem dúvidas ao longo do caminho, pergunta à comunidade no repositório GitHub da Ultralytics ou no servidor do Discord da Ultralytics.

FAQ#

  • Para avaliar o desempenho do modelo YOLO26, as métricas importantes incluem a Pontuação de Confiança, Intersection over Union (IoU) e Mean Average Precision (mAP). A Pontuação de Confiança mede a certeza do modelo para cada classe de objeto detetada. O IoU avalia quão bem a caixa delimitadora prevista se sobrepõe ao solo de referência (ground truth). A Mean Average Precision (mAP) agrega pontuações de precisão entre classes, sendo mAP@.5 e mAP@.5:.95 dois tipos comuns para limiares de IoU variáveis. Sabe mais sobre estas métricas no nosso guia de métricas de desempenho do YOLO26.

  • O ajuste fino de um modelo YOLO26 pré-treinado envolve o ajuste dos seus parâmetros para melhorar o desempenho numa tarefa ou conjunto de dados específico. Começa por avaliar o teu modelo com métricas, depois re-treina a partir dos pesos pré-treinados no teu próprio conjunto de dados. Durante a avaliação, parâmetros como rect=true ajudam a lidar eficazmente com tamanhos de imagem variados. Para os argumentos de treinamento a ajustar, consulta o guia de ajuste fino.

  • Para lidar com tamanhos de imagem variáveis durante a avaliação, utiliza o parâmetro rect=true no YOLO26, que agrupa imagens por proporção de aspecto e preenche cada lote em vez de forçar cada imagem a um quadrado. O parâmetro imgsz define o tamanho da imagem para validação; se não o substituíres, o YOLO26 reutiliza o valor guardado do modelo (640 para os modelos pré-treinados oficiais). Ajusta imgsz para se adaptar ao teu conjunto de dados e memória GPU. Para mais detalhes, visita a nossa secção sobre como lidar com tamanhos de imagem variáveis.

  • Melhorar a mean average precision (mAP) para um modelo YOLO26 envolve vários passos:

    1. Ajustando Hiperparâmetros: Experimenta diferentes taxas de aprendizado, tamanhos de lote e aumentos de imagem.
    2. Aumento de Dados: Utiliza técnicas como Mosaic e MixUp para criar amostras de treinamento diversas.
    3. Mosaico de Imagens: Divide imagens maiores em mosaicos mais pequenos para melhorar a precisão da deteção de objetos pequenos.

    Para os argumentos de treinamento por trás dos passos 1 e 2, consulta o guia de ajuste fino; o passo 3 é abordado em mosaico de imagens.

  • Podes aceder às métricas de avaliação do modelo YOLO26 utilizando Python após executar a validação:

    Uso
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n.pt")
    
    # Run validation
    results = model.val(data="coco8.yaml")
    
    # Access key metrics
    print("Mean average precision at IoU=0.50:", results.box.map50)
    print("Mean average precision at IoU=0.50:0.95:", results.box.map)
    print("Mean recall:", results.box.mr)
    print("Class indices evaluated:", results.box.ap_class_index)

    Analisar estas métricas ajuda-te a ajustar finamente e otimizar o teu modelo YOLO26. Para uma análise mais profunda, consulta o nosso guia sobre métricas de desempenho do YOLO.

Comentários