Оценка качества детекции
При детекции объектов класс объекта может быть определён верно и неверно (ошибка классификации). Также выделяющая объект рамка может хорошо или плохо согласовываться с истинным выделением по мере IoU (ошибка локализации).
В зависимости от этих ошибок возможны следующие типы выделения объектов моделью:
-
верноположительные (true positives): модель корректно распознала класс объекта и выделила его рамкой, сильно пересекающейся с истинной рамкой ();
-
ложноположительные (false positives): модель выделила рамкой объект, которого на самом деле нет либо выделила присутствующий объект, но неточно ();
-
ложноотрицательные (false negatives): модель не распознала реально присутствующий объект.
Случаи верноотрицательных детекций (true negatives), как в бинарной классификации, в задаче детекции не рассматриваются, поскольку, строго говоря, им соответствуют все случаи, когда модель корректно не сработала на отсутствие объектов, а нас интересуют только корректные/некорректные выделения объектов целевых классов.
Далее для конкретного класса (например, "машина") считаются меры Precision и Recall, как в бинарной классификации:
Например, для класса "машина":
-
мера Precision показывает, как часто среди детекций машин действительно оказы вались корректно выделенные машины;
-
мера Recall показывает, какую долю машин среди реально присутствующих на изображении автомобилей детектор сумел корректно выделить.
Как и в бинарной классификации, можно вычислять F-меру, агрегирующую Precision и Recall через среднее гармоническое:
Важно понимать, что меры Precision и Recall вычисляются для фиксированного значения порога . При изменении этого порога они будут другими. В общем случае это некоторые функции от порога:
Как будут изменяться Precision и Recall при увеличении ?
При увеличении детектор будет осторожнее выделять объекты - только там, где он больше в них уверен. Со ответственно, Precision будет увеличиваться ценой того, что Recall будет становиться ниже.
Варьируя от 0 до 1, можно построить график зависимости P(R)=Precision(Recall), который называется графиком зависимости точности от полноты (precision-recall curve), с которым мы уже сталкивались при оценке качества семантической сегментации.
Пример этого графика показан синей кривой ниже [1]:
Как видим, график имеет пилообразную форму, поэтому его сглаживают, заменяя значение precision для каждого значения recall на максимальное значение precision при всевозможных значениях recall выше порога:
Точность называют интерполированной точностью (interpolated precision), и её зависимость от Recall показана на графике выше красной кривой.
Для оценки качества детектора при всевозможных порогах вычисляют меру Average Precision (AP) как площадь под графиком интерполированной точности:
На практике для этого часто разбивают значения Recall на равномерно распределённые значения (обычно ) и вычисляют приближённую площадь:
Если усреднять по каждому из классов в многоклассовой классификации, то получим величину Mean Average Precision (mAP):