Informações sobre Avaliação e Ajuste Fino de Modelos#
Depois de treinar um modelo YOLO, o próximo passo é medir o seu desempenho e fazer o ajuste fino para corrigir as lacunas. A avaliação utiliza métricas como mAP e IoU para quantificar a precisão, enquanto o ajuste fino modifica os parâmetros de treino para reforçar os pontos fracos, de modo que o modelo cumpra o objetivo do teu 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 ocorrem perto do final do fluxo de trabalho de um projeto de visão computacional, quando o treino já está em andamento e precisas de verificar se o modelo é preciso, eficiente e está pronto para implementação.
Principais Métricas de Avaliação#
Várias métricas medem a eficácia do desempenho de um modelo. Estas métricas de desempenho fornecem informações numéricas claras que orientam melhorias para garantir que o modelo cumpra os 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, sendo que pontuações mais altas indicam maior confiança. A pontuação de confiança ajuda a filtrar previsões; apenas as deteções com pontuações de confiança acima de um limiar especificado são consideradas válidas.
Ao executar a inferência, se não estiveres a ver previsões e já tiveres verificado tudo o resto, experimenta reduzir o limiar de confiança. Por vezes, o limiar é demasiado alto, fazendo com que o modelo ignore previsões válidas. Reduzi-lo permite que o modelo considere mais possibilidades. Isto pode não cumprir os objetivos finais do teu projeto, mas é uma boa forma de perceber o que o modelo consegue fazer e decidir como fazer o ajuste fino.
Interseção sobre União#
Interseção sobre União (IoU) é uma métrica na deteção de objetos que mede o grau de sobreposição da caixa delimitadora prevista com a caixa delimitadora de referência. Os valores de IoU variam de 0 a 1, em que 1 representa uma correspondência perfeita. A IoU é essencial porque mede o grau de correspondência entre os limites previstos e os limites reais do objeto.
Precisão Média#
A Precisão Média (mAP) mede o desempenho geral de um modelo de deteção de objetos. Analisa a precisão da deteção de cada classe de objeto, calcula a média dessas pontuações e fornece um único número que mostra a precisão com que o modelo consegue identificar e classificar objetos.
As duas métricas mAP mais frequentemente reportadas são:
- mAP@.5: Mede a precisão média com um único limiar de IoU de 0.5. Esta métrica verifica se o modelo consegue encontrar corretamente objetos com um requisito de precisão menos rigoroso. Concentra-se em saber se o objeto está aproximadamente no local certo, sem exigir uma localização perfeita, e ajuda a perceber se o modelo é geralmente bom a detetar objetos.
- mAP@.5:.95: Calcula a média dos valores de mAP calculados com vários limiares de IoU, de 0.5 a 0.95 em incrementos de 0.05. Esta métrica é mais detalhada e rigorosa. Fornece uma visão 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 exigem uma deteção precisa de objetos.
Outras métricas mAP incluem mAP@0.75, que utiliza um limiar de IoU mais rigoroso de 0.75, e mAP@small, medium, and large, que avaliam a precisão em objetos de diferentes tamanhos.
Avaliação de um Modelo YOLO26#
Podes avaliar um modelo YOLO26 treinado com o modo de validação. Para uma análise mais aprofundada de como cada métrica é calculada e interpretada, consulta o guia de métricas de desempenho do YOLO26.
Gestão de Tamanhos de Imagem Variáveis#
Avaliar o teu modelo em imagens de tamanhos diferentes ajuda-te a compreender o seu desempenho em conjuntos de dados diversificados. O parâmetro de validação rect=true agrupa as imagens por proporção e aplica padding a cada batch até à menor forma que comporte todas as imagens, para que as imagens retangulares sejam avaliadas sem serem forçadas a ficar quadradas.
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 o tamanho com que um checkpoint personalizado foi treinado). Com rect=true, o YOLO26 limita o lado mais comprido a imgsz e aplica padding ao lado mais curto até um múltiplo do stride, preservando a proporção. Ajusta imgsz com base nas dimensões do teu conjunto de dados e na memória GPU disponível.
Acesso às Métricas do YOLO26#
Para compreenderes detalhadamente o desempenho do teu modelo, podes aceder a métricas de avaliação específicas com algumas linhas de Python. O trecho abaixo carrega um modelo, executa a validação e imprime as métricas mais úteis.
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 tem de ser chamado com parênteses, enquanto propriedades como map, map50 e mp são acedidas diretamente.
O atributo results.box.image_metrics é um dicionário por imagem indexado pelo nome do ficheiro da imagem, que contém precision, recall, f1, tp, fp e fn com IoU de 0.5 para cada imagem. Os tempos de pré-processamento, inferência, perda e pós-processamento são reportados separadamente no dicionário results.speed. Em conjunto, estes dados permitem identificar com precisão as imagens com que o modelo tem dificuldades e fazer o ajuste fino em conformidade.
Ajuste Fino do Teu Modelo#
O ajuste fino utiliza um modelo pré-treinado e ajusta os seus parâmetros para melhorar o desempenho numa tarefa ou conjunto de dados específico. Também conhecido como retreino do modelo, permite que o modelo compreenda e preveja melhor os resultados dos dados que encontrará em aplicações do mundo real. Com base nos resultados da avaliação, retreinas o modelo com os teus próprios dados, ajustando os argumentos de treino abordados no guia de ajuste fino.
Divisão de Imagens em Blocos para Objetos Pequenos#
A divisão de imagens em blocos pode melhorar a precisão da deteção de objetos pequenos. Ao dividir imagens grandes em segmentos menores, como dividir imagens de 1280x1280 em vários segmentos de 640x640, preservas a resolução original e permites que o modelo aprenda com fragmentos de alta resolução. A Ultralytics suporta esta funcionalidade durante a inferência através da inferência em blocos com SAHI. Ao treinares com imagens divididas em blocos, certifica-te de que ajustas corretamente as etiquetas de cada novo segmento.
Conclusão#
A avaliação e o ajuste fino são o que transformam um modelo treinado num modelo fiável e pronto para implementação: métricas como mAP e IoU expõem pontos fracos, e alterações direcionadas nos parâmetros corrigem-nos. Começa pelo modo de validação para aferir o teu modelo, depois retreina-o com os argumentos abordados 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 processo, pergunta à comunidade no repositório Ultralytics no GitHub ou no servidor Ultralytics no Discord.
Perguntas frequentes#
Para avaliar o desempenho de um modelo YOLO26, as métricas importantes incluem a Pontuação de Confiança, a Interseção sobre União (IoU) e a Precisão Média (mAP). A Pontuação de Confiança mede a certeza do modelo para cada classe de objeto detetada. A IoU avalia o grau de sobreposição da caixa delimitadora prevista com a referência. A Precisão Média (mAP) agrega as pontuações de precisão entre classes, sendo mAP@.5 e mAP@.5:.95 dois tipos comuns para diferentes limiares de IoU. Sabe mais sobre estas métricas no nosso guia de métricas de desempenho do YOLO26.
Fazer o ajuste fino de um modelo YOLO26 pré-treinado envolve ajustar os 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 e, em seguida, retreina-o a partir dos pesos pré-treinados com o teu próprio conjunto de dados. Durante a avaliação, parâmetros como
rect=trueajudam a gerir eficazmente tamanhos de imagem variados. Para conheceres os argumentos de treino a ajustar, consulta o guia de ajuste fino.Para gerir tamanhos de imagem variáveis durante a avaliação, utiliza o parâmetro
rect=trueno YOLO26, que agrupa as imagens por proporção e aplica padding a cada batch em vez de forçar todas as imagens a ficarem quadradas. O parâmetroimgszdefine o tamanho da imagem para a validação; se não o substituíres, o YOLO26 reutiliza o valor guardado no modelo (640 para os modelos pré-treinados oficiais). Ajustaimgszde acordo com o teu conjunto de dados e a memória GPU. Para mais detalhes, visita a nossa secção sobre a gestão de tamanhos de imagem variáveis.Melhorar a precisão média (mAP) de um modelo YOLO26 envolve várias etapas:
- Ajuste de Hiperparâmetros: Experimenta diferentes taxas de aprendizagem, tamanhos de batch e aumentos de dados de imagem.
- Aumento de Dados: Utiliza técnicas como Mosaic e MixUp para criar amostras de treino diversificadas.
- Divisão de Imagens em Blocos: Divide imagens grandes em blocos menores para melhorar a precisão da deteção de objetos pequenos.
Para conheceres os argumentos de treino por trás das etapas 1 e 2, consulta o guia de ajuste fino; a etapa 3 é abordada na divisão de imagens em blocos.
Podes aceder às métricas de avaliação de um modelo YOLO26 utilizando Python depois de executares a validação:
Utilizaçãofrom 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)A análise destas métricas ajuda-te a fazer o ajuste fino e a otimizar o teu modelo YOLO26. Para uma análise mais aprofundada, consulta o nosso guia sobre métricas de desempenho do YOLO.