Всем привет. Помогите пожалуйста разобраться с метрикой mAP.
Ниже опишу по шагам, как я понимаю процесс вычисления этой метрики, а вы поправьте, где я что не так написал, если не сложно.
Допустим, у нас есть размеченный баундинг боксами датасет с двумя классами: кошки и собаки.
IoU > 0.5 - true positive, IoU <= 0.5 - false positive
Тогда:
0) Вычисляем IoU предсказанного BB по отношению к размеченному для каждого кота и пса на каждом изображении.
1) Ранжируем предсказанные BB по убыванию IoU. Оба класса ранжируются отдельно;
2) Для каждой записи из полученных в результате ранжирования списков(2 списка, по количеству классов) итеративно считаем precision и recall, округляя их до десятых долей;
3) После этого мы откладываем по x и y значения precision и recall соответственно(для каждого из списков проделываем это отдельно);
Дальше у меня не очень укладывается в голове: вроде как мы должны найти интегральную площадь под получившимся графиком, если смотреть на это геометрически, но если смотреть алгебраически - мы просто берём все значения precision выше определённого порога, находим их сумму, после чего делим эту сумму на количество элементов этой суммы. Делаем так для всех классов, потом берём сумму получившихся значений и делим её на количество классов