Как рассчитать точность LFW модели распознавания лиц? - PullRequest
0 голосов
/ 03 марта 2020

В своем исследовании я наблюдал, как многие алгоритмы распознавания лиц предлагают свои интервалы точности модели точности набора данных LFW. Я вижу, что в наборе данных LFW есть изображения 5749 разных людей, и нет разделения на обучение и тестирование.

Я разработал собственную модель DNN, реализованную для распознавания лиц, которая похожа на fa cenet архитектура. Может ли кто-нибудь помочь с следующими вопросами?

1) О каком конкретном параметре точности c на LFW все говорят? Я знал параметры точности, такие как RO C, точность, отзыв и FAR против FRR. Это как-то связано с этими параметрами?

и

2) Процедура расчета LFW-точности для моей модели? [Любая ссылка с открытым исходным кодом является заметным]

1 Ответ

1 голос
/ 14 марта 2020

Я вижу, что в наборе данных LFW есть изображения 5749 разных людей, и нет разделения на обучение и тестирование.

На самом деле LFW предлагает разделение для обучения и тестирования. Подробности в http://vis-www.cs.umass.edu/lfw/#views.

О каком конкретном c параметре точности на LFW все говорят? Я знал параметры точности, такие как RO C, точность, отзыв и FAR против FRR. Связано ли это с этими параметрами?

LFW принимает кривую RO C (цифры), среднюю точность классификации u и стандартную ошибку среднего S_E (таблицы). Кривая RO C, используемая LFW, построена с использованием FPR (ложного положительного коэффициента) и TPR (истинного положительного коэффициента).

Процедура расчета LFW для моей модели?

Две полезные ссылки:

  1. Определение FPR, TPR и TP, FN, TP, TN: https://en.wikipedia.org/wiki/Confusion_matrix

  2. В репозитории Fa cenet github есть вики-страница, где вы можете прочитать исходный код, чтобы научиться рисовать кривую RO C и вычислять u и S_E: https://github.com/davidsandberg/facenet/wiki/Validate-on-LFW

Процедура получения кривой RO C и u и S_E:

  1. Нам нужно pairs.txt из раздела тестирования LFW, который содержит 10 наборов из 300 совпадающих и 300 несовпадающих пар соответственно. Таким образом, всего 6000 пар, половина из которых совпадает, а другая половина не соответствует.

  2. Установите пороговые значения в диапазоне от 0 до 1, например, зазор 0,001, который создает 1000 порогов.

  3. Рассчитайте расстояние d по всем пар. Для порога t, если d <= <code>t, для пар прогнозируется как совпадающих. В противном случае пары прогнозируются как как несовпадающие.

  4. Для каждого порога t:

    1. Для каждой подходящей пары

      1. Если прогнозируется как совпадающий, TP+=1;

      2. Если прогнозируется как не совпадающий, FN+=1.

    2. Для каждой несоответствующей пары:

      1. Если прогнозируется как совпадающий, FP+=1;

      2. Если прогнозируется как несоответствующий, TN+=1.

    3. Вычислить TPR, FPR, Acc:

      1. TPR = TP / (TP + FN);

      2. FPR = FP / (FP + TN);

      3. Acc = (TP + TN) / (TP + FN + FP + TN).

  5. Мы получаем список длиной 1000, например [(TPR_t1, FPR_t1, Acc_t1), (TPR_t2, FPR_t2, Acc_t2), ...]. Кривая RO C может быть получена путем построения графика FPR с против TPR с. u - среднее значение Acc с, а S_E - стандартное отклонение Acc с.

...