Пересечение-над-соединение между 2 обнаружениями
Я читал газету : Ferrari et al. в разделе "Меры сродства". Я понял, что Ferrari и соавт. попытки получить сродство с :
- расположение сродство-использование области пересечения над союзом между двумя обнаружениями
- сродство внешнего вида-использование евклидовых расстояний между гистограммами
- KLT точка сродства мера
однако у меня есть 2 основные проблемы:
- I не могу понять, что на самом деле подразумевается под пересечением-над-объединением между 2 обнаружениями и как его вычислить
- я попробовал немного разную меру сродства внешнего вида. Я преобразовал обнаружение RGB в HSV..объединение оттенка и насыщенности в 1 вектор и использование его для сравнения с другими обнаружениями. Однако использование этой техники не удалось, так как обнаружение мешка имело лучший балл сходства, чем обнаружение головы того же человека (с другим ориентация.)
любые предложения или решения моих проблем, описанных выше? Спасибо, и ваша помощь очень ценится.
2 ответов
1) у вас есть два пересекающихся прямоугольных областей. Вы вычисляете пересечение полей, которое является областью перекрытия. Вы вычисляете объединение перекрывающихся ящиков, которое представляет собой сумму площадей всех ящиков минус площадь перекрытия. Затем вы делите пересечение на союз. Для этого в панели инструментов системы компьютерного зрения есть функция bboxOverlapRatio.
2) как правило, вы не хотите объединить цветовые каналы. Вместо этого вам нужна 3D-гистограмма, где размеры H, S и V
попробуйте пересечение через Union
пересечение через объединение-это оценочная метрика, используемая для измерения точности детектора объектов в конкретном наборе данных.
более формально, чтобы применить пересечение над объединением для оценки (произвольного) детектора объекта, нам нужно:
- ограничительные рамки земной правды (т. е. помеченные вручную ограничительные рамки из набора тестов, которые указывают, где на изображении находится наш объект).
- в предсказать рамки нашей модели.
ниже я включил визуальный пример ограничивающего прямоугольника земной истины против предсказанного ограничивающего прямоугольника:
предсказанная ограничивающая рамка рисуется красным цветом, а ограничивающая рамка "истина" (т. е. помеченная вручную)-зеленым.
на рисунке выше мы видим, что наш детектор объекта обнаружил наличие стоп-сигнала в изображение.
вычисляя пересечение над соединением можно поэтому определить через:
пока у нас есть эти два набора ограничивающих коробок, мы можем применить пересечение над объединением.
вот код Python
# import the necessary packages
from collections import namedtuple
import numpy as np
import cv2
# define the `Detection` object
Detection = namedtuple("Detection", ["image_path", "gt", "pred"])
def bb_intersection_over_union(boxA, boxB):
# determine the (x, y)-coordinates of the intersection rectangle
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 the area of intersection rectangle
interArea = (xB - xA) * (yB - yA)
# compute the area of both the prediction and ground-truth
# rectangles
boxAArea = (boxA[2] - boxA[0]) * (boxA[3] - boxA[1])
boxBArea = (boxB[2] - boxB[0]) * (boxB[3] - boxB[1])
# compute the intersection over union by taking the intersection
# area and dividing it by the sum of prediction + ground-truth
# areas - the interesection area
iou = interArea / float(boxAArea + boxBArea - interArea)
# return the intersection over union value
return iou
на gt
и pred
are
-
gt
: ограничивающая рамка "земля-истина". -
pred
: предсказанная ограничивающая коробка от нашего модель.
для получения дополнительной информации, вы можете нажать этот пост