Перетин над Об'єднанням (IoU) та Метрики Оцінювання
Як обчислюється
Математично IoU визначається як:
Де:
- Area of Overlap — це площа перетину передбаченої та фактичної обмежувальних рамок;
- Area of Union — це загальна площа, яку покривають обидві рамки.
12345678910111213141516171819202122232425262728import 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)
IoU як метрика точності обмежувальних рамок
IoU зазвичай використовується для оцінки того, наскільки добре передбачена обмежувальна рамка співпадає з еталонною. Вищі значення IoU вказують на кращу відповідність: IoU 1.0
означає ідеальне перекриття, а 0.0
— повну відсутність перекриття.
Встановлення порогу IoU для істинно позитивних і хибно позитивних результатів
Щоб визначити, чи є виявлення правильним (істинно позитивним) або неправильним (хибно позитивним), зазвичай встановлюється поріг для IoU. Поширені пороги включають:
- IoU > 0.5: вважається істинно позитивним (TP);
- IoU < 0.5: вважається хибно позитивним (FP).
Встановлення вищих порогів IoU підвищує точність, але може зменшити повноту, оскільки менше виявлень відповідають критеріям.
Метрики оцінювання: точність, повнота та mAP
Окрім IoU, інші метрики оцінювання допомагають аналізувати моделі детекції об'єктів:
- Точність (Precision): вимірює частку правильно передбачених обмежувальних рамок серед усіх передбачень;
- Повнота (Recall): вимірює частку правильно передбачених обмежувальних рамок серед усіх еталонних об'єктів;
- Середня середня точність (mAP): обчислює середню точність для різних порогів IoU та категорій об'єктів, забезпечуючи комплексну оцінку ефективності моделі.
123456789def 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}")
IoU є базовою метрикою для оцінювання моделей детекції об'єктів, що допомагає визначити точність передбачених обмежувальних рамок. Поєднуючи IoU з такими показниками, як precision, recall та mAP, дослідники й інженери можуть оптимізувати свої моделі для досягнення більшої точності та надійності виявлення.
1. Що вимірює Intersection over Union (IoU) у задачі детекції об'єктів?
2. Що з наведеного вважається хибнонегативним результатом (false negative) в задачі детекції об'єктів?
3. Як обчислюється точність (Precision) у задачі детекції об'єктів?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Запитайте мені питання про цей предмет
Сумаризуйте цей розділ
Покажіть реальні приклади
Awesome!
Completion rate improved to 3.45
Перетин над Об'єднанням (IoU) та Метрики Оцінювання
Свайпніть щоб показати меню
Як обчислюється
Математично IoU визначається як:
Де:
- Area of Overlap — це площа перетину передбаченої та фактичної обмежувальних рамок;
- Area of Union — це загальна площа, яку покривають обидві рамки.
12345678910111213141516171819202122232425262728import 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)
IoU як метрика точності обмежувальних рамок
IoU зазвичай використовується для оцінки того, наскільки добре передбачена обмежувальна рамка співпадає з еталонною. Вищі значення IoU вказують на кращу відповідність: IoU 1.0
означає ідеальне перекриття, а 0.0
— повну відсутність перекриття.
Встановлення порогу IoU для істинно позитивних і хибно позитивних результатів
Щоб визначити, чи є виявлення правильним (істинно позитивним) або неправильним (хибно позитивним), зазвичай встановлюється поріг для IoU. Поширені пороги включають:
- IoU > 0.5: вважається істинно позитивним (TP);
- IoU < 0.5: вважається хибно позитивним (FP).
Встановлення вищих порогів IoU підвищує точність, але може зменшити повноту, оскільки менше виявлень відповідають критеріям.
Метрики оцінювання: точність, повнота та mAP
Окрім IoU, інші метрики оцінювання допомагають аналізувати моделі детекції об'єктів:
- Точність (Precision): вимірює частку правильно передбачених обмежувальних рамок серед усіх передбачень;
- Повнота (Recall): вимірює частку правильно передбачених обмежувальних рамок серед усіх еталонних об'єктів;
- Середня середня точність (mAP): обчислює середню точність для різних порогів IoU та категорій об'єктів, забезпечуючи комплексну оцінку ефективності моделі.
123456789def 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}")
IoU є базовою метрикою для оцінювання моделей детекції об'єктів, що допомагає визначити точність передбачених обмежувальних рамок. Поєднуючи IoU з такими показниками, як precision, recall та mAP, дослідники й інженери можуть оптимізувати свої моделі для досягнення більшої точності та надійності виявлення.
1. Що вимірює Intersection over Union (IoU) у задачі детекції об'єктів?
2. Що з наведеного вважається хибнонегативним результатом (false negative) в задачі детекції об'єктів?
3. Як обчислюється точність (Precision) у задачі детекції об'єктів?
Дякуємо за ваш відгук!