Оценка качества детекции
По корректности распознавания класса объекта и по точности его выделения мерой 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), с которым мы уже сталкивались при оценке качества семантической сегментации.
Пример этого графика приведён ниже (синяя кривая, источник):
Как видим, график имеет пилообразную форму, поэтому его сглаживают, заменяя значение precision для каждого значения recall на максимальное значение precision при всевозможных значениях recall выше порога:
Точность называют интерполированной точностью (interpolated precision) и её зависимость от Recall показана на графике выше красной кривой.
Для оценки качества детектора при всевозможных порогах вычисляют меру Average Precision (AP) как площадь под графиком интерполированной точности:
На практике для этого часто разбивают значения Recall на равномерно распределённые значения (обычно ) и вычисляют приближённую площадь:
Если усреднять по каждому из классов в многоклассовой классификации, то получим величину Mean Average Precision (mAP):