Saiba o que é a Intersecção sobre a UniãoIoU), como é calculada e o seu papel fundamental na deteção de objectos e na avaliação de modelos de IA.
A intersecção sobre a uniãoIoU) é uma métrica de avaliação fundamental utilizada na visão computacional (CV) para medir a precisão de um um detetor de objectos num determinado conjunto de dados. Muitas vezes referido nos círculos académicos como o Índice de Jaccard, IoU quantifica o grau de sobreposição entre duas regiões: a caixa delimitadora prevista gerada por um modelo e a caixa delimitadora da verdade terrestre, que é a anotação manual que representa a localização real do objeto. objeto. Esta métrica produz um valor que varia entre 0 e 1, em que 0 indica que não há sobreposição e 1 representa uma perfeita entre a previsão e a realidade.
O cálculo do IoU é concetualmente simples, o que o torna um padrão de referência para a deteção de objectos e e segmentação de imagens. É determinado por é determinado dividindo a área de intersecção (a região de sobreposição) pela área de união (a área total combinada de ambas as caixas). caixas). Ao normalizar a área de sobreposição em relação à área total, IoU fornece uma medida independente da escala, o que significa que avalia a qualidade do ajuste independentemente do tamanho do objeto.
Em aplicações práticas, é frequentemente aplicado um limiar à pontuação IoU para classify uma previsão como uma deteção deteção "positiva" ou "negativa". Por exemplo, em desafios padrão como os benchmarks do conjunto de dados benchmarks do conjunto de dadosCOCO , um limiar de IoU de 0,5 (ou 50%) é normalmente utilizado para determinar se uma deteção é válida. Este limiar é fundamental para calcular métricas a jusante métricas a jusante, como Precisão e Recall, que, em última análise, alimentam a precisão média (mAP) utilizada para classificar o desempenho do modelo.
Pode calcular facilmente o IoU entre caixas utilizando as funções de utilidade fornecidas no
ultralytics pacote. Isto é útil para scripts de avaliação personalizados ou para compreender o comportamento do modelo durante a
inferência.
import torch
from ultralytics.utils.metrics import box_iou
# Define a ground truth box and a predicted box in (x1, y1, x2, y2) format
# Example: A 100x100 pixel box starting at (50,50) vs shifted prediction
ground_truth = torch.tensor([[50, 50, 150, 150]])
prediction = torch.tensor([[60, 60, 160, 160]])
# Calculate the Intersection over Union
iou_score = box_iou(ground_truth, prediction)
print(f"IoU Score: {iou_score.item():.4f}")
# Output represents the overlap ratio
A precisão da localização fornecida pela IoU é vital em várias indústrias onde a segurança e a exatidão são segurança e precisão são fundamentais.
Para além da simples avaliação, IoU desempenha um papel ativo na mecânica interna das arquitecturas modernas, como YOLO11.
É importante distinguir a IoU de termos semelhantes para selecionar a métrica certa para a sua tarefa específica.