Iou.Как я могу рассчитать истинную положительную скорость для алгоритма обнаружения объекта, где я могу иметь несколько объектов на изображение? - PullRequest
0 голосов
/ 27 февраля 2019

Как вычислить частоту ложных срабатываний для алгоритма обнаружения объектов, где у меня может быть несколько объектов на изображение?

В моих данных у данного изображения может быть много объектов.Я считаю предсказанный блок истинным положительным значением, если его долговая расписка с блоком истинности выше определенного порога, и ложным положительным значением в противном случаеНапример: у меня есть 2 ограничивающих блока предсказания и 2 ограничивающих прямоугольника:

Я вычислил IoU для каждой пары прогнозирующих и ограничивающих элементов: IoU = 0.00, 0.60, 0.10, 0.05 threshold = 0.50

В этом случае у меня есть пример TP или нет?Не могли бы вы объяснить это?

1 Ответ

0 голосов
/ 27 февраля 2019

Сводка, специфическая : Да, у вас есть ТП;у вас также есть FP и FN.

Сводка, подробная : Ваша модель прогнозирования правильно определила одну ячейку GT (наземная правда).Это пропустил другой.Он неправильно определил третий блок.

Логика классификации:

Как минимум, ваши показатели IoU должны быть матрицей, а не линейной последовательностью.Для прогнозов M и блоков N GT у вас будет матрица N x M.Выглядит это так:

0.00 0.60
0.10 0.05

Теперь найдите наибольшее значение в матрице, 0,60.Это выше порогового значения, поэтому вы объявляете совпадение и удаляете из матрицы и этот прогноз, и этот блок GT.Это оставляет вам довольно скучную матрицу:

0.10

Поскольку это значение ниже порогового значения, у вас нет совпадений.У вас есть одно предсказание и один оставшийся GT.С одним «попаданием» у вас есть три объекта в наборе классификации: два ожидаемых объекта и третий, созданный предиктором.Вы кодируете свои списки gt и pred следующим образом:

gt   = [1, 1, 0]    // The first two objects are valid; the third is a phantom.
pred = [1, 0, 1]    // Identified one actual box and the phantom.

Это достаточно ясно?

...