Ultralytics YOLO27:
Get Started

Insights sobre avaliação e ajuste fino de modelos#

Após treinar um modelo YOLO, o próximo passo é medir seu desempenho e ajustá-lo para corrigir as lacunas. A avaliação usa métricas como mAP e IoU para quantificar a precisão, enquanto o ajuste fino modifica os parâmetros de treinamento para fortalecer os pontos fracos e garantir que o modelo atenda ao 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.



Assista: Análise da avaliação e do ajuste fino de modelos | Dicas para melhorar a precisão média média

A avaliação e o ajuste fino acontecem perto do fim do fluxo de trabalho do projeto de visão computacional, quando o treinamento já está em andamento e você precisa verificar se o modelo é preciso, eficiente e está pronto para implantação.

Principais métricas de avaliação#

Várias métricas medem a eficácia do desempenho de um modelo. Essas métricas de desempenho fornecem informações numéricas claras que orientam melhorias para garantir que o modelo atinja os objetivos pretendidos.

Pontuação de confiança#

A pontuação de confiança representa o grau de certeza do modelo de que um objeto detectado pertence a uma determinada classe. Ela varia de 0 a 1, e pontuações mais altas indicam maior confiança. A pontuação de confiança ajuda a filtrar previsões: somente detecções com pontuações de confiança acima de um limiar especificado são consideradas válidas.

Não está vendo nenhuma previsão?

Ao executar a inferência, se você não estiver vendo previsões e já tiver verificado todo o resto, tente reduzir o limiar de confiança. Às vezes, o limiar está alto demais, fazendo com que o modelo ignore previsões válidas. Reduzi-lo permite que o modelo considere mais possibilidades. Talvez isso não atenda aos objetivos finais do seu projeto, mas é uma boa maneira de ver o que o modelo consegue fazer e decidir como ajustá-lo.

Intersection over Union#

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

Intersection over Union Overview

Precisão média#

Precisão média (mAP) mede o desempenho geral de um modelo de detecção de objetos. Ela considera a precisão na detecçã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.

Duas métricas mAP são as mais comumente relatadas:

  • mAP@.5: Mede a precisão média em um único limiar de IoU de 0.5. Esta métrica verifica se o modelo consegue encontrar objetos corretamente com um requisito de precisão menos rigoroso. Ela se concentra em saber se o objeto está aproximadamente no lugar certo, sem exigir um posicionamento perfeito, e ajuda a avaliar se o modelo é, em geral, bom em detectar objetos.
  • mAP@.5:.95: Calcula a média dos valores de mAP obtidos em vários limiares de IoU, de 0.5 a 0.95, em incrementos de 0.05. Esta métrica é mais detalhada e rigorosa. Ela oferece uma visão mais completa da precisão com que o modelo encontra objetos em diferentes níveis de rigor e é especialmente útil para aplicações que exigem detecção precisa de objetos.

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

Mean average precision mAP metric

Avaliação de um modelo YOLO26#

Você pode 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, consulte o guia de métricas de desempenho do YOLO26.

Como lidar com tamanhos variáveis de imagem#

Avaliar seu modelo com imagens de diferentes tamanhos ajuda a entender seu desempenho em conjuntos de dados diversificados. Por padrão, a validação usa lotes retangulares (rect=True em model.val()): ela agrupa as imagens por proporção e preenche cada lote até a menor dimensão que comporte as imagens, permitindo avaliar imagens retangulares sem forçá-las a um formato quadrado.

O parâmetro imgsz define o tamanho de imagem usado durante a validação, aplicado como um quadrado. Se você não o definir explicitamente, YOLO26 reutiliza o valor salvo nas configurações do modelo (640 para os modelos pré-treinados oficiais ou o tamanho usado no treinamento de um checkpoint personalizado). Com rect=true, YOLO26 limita o lado mais longo a imgsz e preenche o lado mais curto até um múltiplo do stride, preservando a proporção. Ajuste imgsz com base nas dimensões do seu conjunto de dados e na memória disponível da GPU.

Acessar as métricas de YOLO26#

Para entender detalhadamente o desempenho do seu modelo, você pode acessar métricas de avaliação específicas com algumas linhas de Python. O trecho de código abaixo carrega um modelo, executa a validação e exibe as métricas mais úteis.

Uso
from ultralytics import YOLO

# Carregar um modelo
model = YOLO("yolo26n.pt")

# Execute a validação no seu conjunto de dados
results = model.val(data="coco8.yaml")

# Métricas gerais
print("mAP50-95:", results.box.map)  # mAP com IoU de 0.50:0.95
print("mAP50:", results.box.map50)  # mAP com IoU de 0.50
print("mAP75:", results.box.map75)  # mAP com IoU de 0.75
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Fitness:", results.box.fitness())  # pontuação ponderada usada para selecionar o modelo

# Métricas por classe
print("Class indices evaluated:", results.box.ap_class_index)
print("Per-class mAP50-95:", results.box.maps)

# Precisão, recall, F1, TP, FP e FN por imagem
print("Per-image metrics:", results.box.image_metrics)

# Detalhamento do tempo por etapa, em milissegundos por imagem
print("Timing breakdown (ms/image):", results.speed)

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

O atributo results.box.image_metrics é um dicionário por imagem, indexado pelo nome do arquivo de 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 informados separadamente no dicionário results.speed. Em conjunto, esses dados permitem identificar com precisão quais imagens representam dificuldades para o modelo e ajustar o modelo conforme necessário.

Ajustar o seu modelo#

O ajuste fino parte de um modelo pré-treinado e adapta os seus parâmetros para melhorar o desempenho numa tarefa ou num conjunto de dados específico. Também conhecido como retreinamento do modelo, esse processo permite que o modelo compreenda e preveja melhor os resultados para os dados que encontrará em aplicações reais. Com base nos resultados da avaliação, você retreina o modelo com os seus próprios dados, ajustando os argumentos de treinamento 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 maiores em segmentos menores, por exemplo, ao dividir imagens de 1280x1280 em vários segmentos de 640x640, você preserva a resolução original e permite que o modelo aprenda com fragmentos de alta resolução. A Ultralytics oferece suporte a esse processo no momento da inferência por meio da inferência em blocos com SAHI. Ao treinar com imagens divididas em blocos, ajuste corretamente as etiquetas para cada novo segmento.

Conclusão#

A avaliação e o ajuste fino transformam um modelo treinado num modelo fiável e pronto para implantação: métricas como mAP e IoU revelam pontos fracos, e alterações direcionadas nos parâmetros ajudam a resolvê-los. Comece pelo modo de validação para avaliar o seu modelo e, em seguida, retreine-o com os argumentos descritos no guia de ajuste fino, continuando a iterar com novos parâmetros, técnicas e conjuntos de dados. Se surgirem dúvidas durante o processo, pergunte à comunidade no repositório GitHub da Ultralytics ou no servidor Discord da Ultralytics.

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 o grau de certeza do modelo para cada classe de objeto detetada. IoU avalia a sobreposição entre a caixa delimitadora prevista e a verdade fundamental. A precisão média (mAP) agrega as pontuações de precisão entre as classes, sendo mAP@.5 e mAP@.5:.95 dois tipos comuns para diferentes limiares de IoU. Saiba mais sobre essas métricas no nosso guia de métricas de desempenho do YOLO26.

  • O ajuste fino de um modelo YOLO26 pré-treinado envolve adaptar os seus parâmetros para melhorar o desempenho numa tarefa ou num conjunto de dados específico. Comece por avaliar o seu modelo com métricas e, em seguida, retreine-o a partir dos pesos pré-treinados com o seu próprio conjunto de dados. Durante a avaliação, parâmetros como rect=true ajudam a lidar eficazmente com imagens de vários tamanhos. Para saber quais argumentos de treinamento ajustar, consulte o guia de ajuste fino.

  • Para lidar com tamanhos de imagem variáveis durante a avaliação, use a validação retangular (rect=True, o padrão de model.val()), que agrupa imagens pela proporção e aplica preenchimento a cada lote, em vez de forçar todas as imagens a terem formato quadrado. O parâmetro imgsz define o tamanho da imagem para a validação; se você não o substituir, YOLO26 reutiliza o valor salvo no modelo (640 nos modelos oficiais pré-treinados). Ajuste imgsz de acordo com o seu conjunto de dados e a memória da GPU. Para mais detalhes, visite a nossa secção sobre como lidar com tamanhos de imagem variáveis.

  • Melhorar a precisão média (mAP) de um modelo YOLO26 envolve várias etapas:

    1. Ajuste de hiperparâmetros: experimente diferentes taxas de aprendizagem, tamanhos de lote e aumentos de dados de imagem.
    2. Aumento de dados: use técnicas como Mosaic e MixUp para criar amostras de treinamento diversificadas.
    3. Divisão de imagens em blocos: divida imagens maiores em blocos menores para melhorar a precisão da deteção de objetos pequenos.

    Para saber mais sobre os argumentos de treinamento relacionados com as etapas 1 e 2, consulte o guia de ajuste fino; a etapa 3 é abordada em divisão de imagens em blocos.

  • Você pode aceder às métricas de avaliação de um modelo YOLO26 com Python depois de executar a validação:

    Uso
    from ultralytics import YOLO
    
    # Carregar um modelo
    model = YOLO("yolo26n.pt")
    
    # Executar a validação
    results = model.val(data="coco8.yaml")
    
    # Aceder às métricas principais
    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 você a ajustar e otimizar o seu modelo YOLO26. Para uma análise mais aprofundada, consulte o nosso guia sobre métricas de desempenho do YOLO.

Comentários