Узнайте, что такое пересечение над объединениемIoU), как оно рассчитывается и какую важную роль играет в обнаружении объектов и оценке моделей ИИ.
Пересечение над объединениемIoU) - это фундаментальная метрика оценки, используемая в компьютерном зрении (КВ) для измерения точности детектора объектов на определенном наборе данных. В академических кругах ее часто называют Индекс Жаккара, IoU определяет степень перекрытия между двумя областями: предсказанной границей, созданной моделью, и "истинной" границей, которая представляет собой помеченную от руки аннотацию, отражающую фактическое местоположение объекта. объекта. Эта метрика дает значение в диапазоне от 0 до 1, где 0 означает отсутствие совпадения, а 1 - полное совпадение между прогнозом и реальностью.
Расчет IoU концептуально прост, что делает его стандартным эталоном для обнаружение объектов и задач сегментации изображений. Он определяется путем деления площади пересечения (области перекрытия) на площадь объединения (общую совмещенную площадь обоих боксов). боксов). Нормируя площадь перекрытия на общую площадь, IoU обеспечивает масштабно-инвариантную меру, то есть оценивает качество подгонки независимо от размера объекта.
В практических приложениях к оценке IoU часто применяется пороговое значение, чтобы classify предсказание как "положительное" или "отрицательное" обнаружение. Например, в стандартных задачах, таких как бенчмарки COCO , порог IoU , равный 0,5 (или 50 %) обычно используется для определения достоверности обнаружения. Это пороговое значение имеет решающее значение для расчета последующих метрик, таких как точность и Recall, которые, в конечном счете, входят в Средний показатель точности (mAP), используемый для оценки эффективности модели.
Вы можете легко рассчитать IoU между боксами с помощью функций, представленных в
ultralytics пакет. Это полезно для создания собственных сценариев оценки или понимания поведения модели во время
вывода.
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
Точность локализации, обеспечиваемая IoU , жизненно важна в различных отраслях промышленности, где безопасность и точность имеют первостепенное значение. первостепенное значение.
Помимо простой оценки, IoU играет активную роль во внутренней механике современных архитектур, таких как YOLO11.
Важно отличать IoU от аналогичных терминов, чтобы выбрать правильную метрику для решения конкретной задачи.