как рассчитать пороговое значение в алгоритме eigenfaces или pca для каждого изображения в обучающем наборе в Matlab во время распознавания лиц?

Я написал код Matlab для распознавания лиц с использованием собственных лиц. Я получил нормализованное изображение, среднее изображение, собственные лица, и я вычислил минимальное и максимальное эвклидово расстояние. Теперь мне нужно сравнить эвклидово расстояние с порогом для распознавания лица. Как рассчитывается пороговое значение для каждого изображения лица? что будет следующим шагом?

  %show the reconstructed image.
  subplot(1,2,2)
  imagesc(ReshapedImage); colormap('gray');
  title('Reconstructed image','fontsize',18)

  InImWeight = [];
  for i=1:size(u,2)
   t = u(:,i)';
  WeightOfInputImage = dot(t,Difference');
  InImWeight = [InImWeight; WeightOfInputImage];
  end

  ll = 1:M;
  figure(68)
  subplot(1,2,1)
  stem(ll,InImWeight)
   title('Weight of Input Face','fontsize',14)

    % Find Euclidean distance
     e=[];
   for i=1:size(omega,2)
       q = omega(:,i);
     DiffWeight = InImWeight-q;
       mag = norm(DiffWeight);
       e = [e mag];
         end

     kk = 1:size(e,2);
     subplot(1,2,2)
     stem(kk,e)
     title('Eucledian distance of input image','fontsize',14)

      MaximumValue=max(e)
      MinimumValue=min(e)

person user3456881    schedule 25.03.2014    source источник


Ответы (2)


Насколько мне известно, стандартного правила выбора порога при распознавании лиц нет.

Поскольку у вас есть обучающий набор изображений, вы можете попробовать выбрать порог на основе биометрической метрики производительности, например коэффициент ложного принятия (FAR) и коэффициент ложного совпадения (FMR).

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

person Moreira    schedule 25.03.2014
comment
Диапазон расстояний (минимальный и максимальный) является стандартным, потому что, меняя метод, я нахожу другой диапазон расстояний и как его найти? - person ketimaBU; 30.07.2017

Я застрял почти так же. Хотя не хватает истории, и это как спамить мои сомнения.

Подскажу: на самом деле порог не рассчитывается. Он оценивается и выбирается опытным путем. Это то, что нужно попробовать и проверить. Вы должны установить значение и сравнить принятые и отклонения, и, прежде всего: оценить, сколько ложных приемов (FA) и ложных отклонений (FR)

В идеале ожидается, что пороговое значение EER будет таким, что, когда скорость FA равна скорости FR, достигается.

Что вы можете сделать, так это взять диапазон [Min, Max] расстояний и проверить 10, 20 или количество, которое вы хотите, чтобы пороговые значения находились в пределах диапазона. Некоторые статьи предполагают, что порог - это процентное значение по отношению к максимуму. Это что-то вроде 0,8 * Макс.

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

Лучшая находка готова. У вас есть свой порог для каждого изображения. Надеюсь, я был вам полезен.

person Marcelo Cuadrado    schedule 06.03.2015
comment
Диапазон [Мин., Макс.] Расстояний находим ли мы, сравнивая изображения составов поездов? - person ketimaBU; 30.07.2017