Какво е GIoU, DIoU, CIoU загуба?
sobes.tech AI
Отговор от AI
GIoU (Обобщена пресечна точка върху обединението), DIoU (Разстояние пресечна точка върху обединението) и CIoU (Пълна пресечна точка върху обединението) са функции на загуба, използвани в задачите за откриване на обекти за подобряване на качеството на предсказване на ограничителните рамки.
-
IoU измерва пресечението и обединението на две рамки, но не взема предвид разстоянието между тях, което може да доведе до проблеми при непокриващи се правоъгълници.
-
GIoU разширява IoU, добавяйки наказание за разстоянието между рамките, като взема предвид минималния ограничаващ правоъгълник, който обхваща и двете рамки. Това помага за подобряване на градиентите при липса на пресичане.
-
DIoU взема предвид не само площта на пресичането, но и разстоянието между центровете на рамките, което ускорява сходимостта и подобрява точността.
-
CIoU допълнително взема предвид съотношението на страните на рамките, което помага за по-точно и пропорционално предсказване на ограничителните рамки.
Пример за използване на CIoU загуба в PyTorch (опростено):
import torch
def ciou_loss(pred_boxes, target_boxes):
# pred_boxes и target_boxes: [x_център, y_център, ширина, височина]
# Изчисляване на IoU, разстояние между центровете и съотношение на страните
# Връща стойността на CIoU загубата
pass # Реализацията зависи от конкретната задача
Тези функции за загуба помагат за подобряване на качеството на локализация на обектите в съвременните детектори като YOLOv4 и други.