Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Перетин Над Об'єднанням (IoU) Та Метрики Оцінювання | Виявлення Об'єктів
Основи Комп'ютерного Зору

bookПеретин Над Об'єднанням (IoU) Та Метрики Оцінювання

Свайпніть щоб показати меню

Note
Визначення

Intersection over Union (IoU) — це метрика, яка вимірює точність передбачених обмежувальних рамок шляхом обчислення відношення площі перекриття між передбаченою та еталонною рамками до площі їх об'єднання.

Як обчислюється

Математично IoU визначається як:

IoU

Де:

  • Площа перекриття — це перетин передбаченої та фактичної обмежувальних рамок;
  • Площа об'єднання — це загальна площа, яку покривають обидві рамки.
12345678910111213141516171819202122232425262728
import numpy as np def compute_iou(boxA, boxB): # Extract coordinates xA = max(boxA[0], boxB[0]) yA = max(boxA[1], boxB[1]) xB = min(boxA[2], boxB[2]) yB = min(boxA[3], boxB[3]) # Compute intersection area interArea = max(0, xB - xA) * max(0, yB - yA) # Compute areas of both boxes boxAArea = (boxA[2] - boxA[0]) * (boxA[3] - boxA[1]) boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1]) # Compute union area unionArea = boxAArea + boxBArea - interArea # Compute IoU iou = interArea / unionArea return iou # Example usage box1 = [50, 50, 150, 150] # [x1, y1, x2, y2] box2 = [100, 100, 200, 200] iou_score = compute_iou(box1, box2) print("IoU Score:", iou_score)
copy

IoU як метрика точності обмежувальної рамки

IoU зазвичай використовується для оцінки того, наскільки добре передбачена обмежувальна рамка співпадає з еталонною. Вищі значення IoU вказують на кращу відповідність: IoU, що дорівнює 1.0, означає ідеальне перекриття, а 0.0 — повну відсутність перекриття.

Встановлення порогу IoU для істинно позитивних та хибно позитивних результатів

Щоб визначити, чи є виявлення коректним (істинно позитивним) або некоректним (хибно позитивним), зазвичай встановлюється поріг IoU. Поширені пороги включають:

  • IoU > 0.5: вважається істинно позитивним (TP);
  • IoU < 0.5: вважається хибно позитивним (FP).

Встановлення вищих порогів IoU підвищує точність, але може зменшити повноту, оскільки менше виявлень відповідають критеріям.

Метрики оцінювання: точність, повнота та mAP

Окрім IoU, інші метрики оцінювання допомагають аналізувати моделі детекції об'єктів:

  • Точність (Precision): вимірює частку правильно передбачених обмежувальних рамок серед усіх передбачень;
Precision=TPTP+FP\text{Precision}=\frac{\text{TP}}{\text{TP}+\text{FP}}
  • Повнота (Recall): вимірює частку правильно передбачених обмежувальних рамок серед усіх об'єктів із розмітки;
Recall=TPTP+FN\text{Recall}=\frac{\text{TP}}{\text{TP}+\text{FN}}
  • Середня середня точність (mAP): обчислює середню точність для різних порогів IoU та категорій об'єктів, забезпечуючи комплексну оцінку ефективності моделі.
метрики
123456789
def precision_recall(tp, fp, fn): precision = tp / (tp + fp) if (tp + fp) > 0 else 0 recall = tp / (tp + fn) if (tp + fn) > 0 else 0 return precision, recall # Example usage tp, fp, fn = 50, 10, 20 precision, recall = precision_recall(tp, fp, fn) print(f"Precision: {precision:.2f}, Recall: {recall:.2f}")
copy

IoU є базовою метрикою для оцінювання моделей детекції об'єктів, допомагаючи визначити точність передбачених обмежувальних рамок. Поєднуючи IoU з точністю, повнотою та mAP, дослідники й інженери можуть оптимізувати свої моделі для досягнення вищої точності та надійності детекції.

1. Що вимірює Intersection over Union (IoU) у детекції об'єктів?

2. Що з наведеного вважається хибнонегативним результатом (false negative) у задачі детекції об'єктів?

3. Як обчислюється точність (Precision) у задачі детекції об'єктів?

question mark

Що вимірює Intersection over Union (IoU) у детекції об'єктів?

Select the correct answer

question mark

Що з наведеного вважається хибнонегативним результатом (false negative) у задачі детекції об'єктів?

Select the correct answer

question mark

Як обчислюється точність (Precision) у задачі детекції об'єктів?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 4

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 4. Розділ 4
some-alt