Перейти к содержимому
Compvision.ru

Flame

Пользователи
  • Количество публикаций

    34
  • Зарегистрирован

  • Посещение

  • Days Won

    1

Flame last won the day on June 17 2012

Flame had the most liked content!

Репутация

1 Новичек

О Flame

  • Звание
    Эксперт
  1. Ну я так и делал, приведение к одному размеру.
  2. Вот хорошая статья с подробным обзором методов
  3. Идентификация личности с использованием алгоритмов сравнения изображений. Короче задача типа следить за студентом который проходит тестовое задание. одна камера постоянно находит его лицо и сравнивает с изображением в бд, вторая смотрит чтобы рядом никого небыло
  4. JoQeR, поздравляю! скоро тоже защищаюсь, правда у меня диссертация
  5. Для борьбы с разной освещенностью иногда помогает функция cvEqualizeHist. JoQeR, свою реализацию придумали или сделали как на хабре? я то что в 56м посте писал плохо работает на других базах, переделал, стало лучше На паспортном контроле вроде используется метод с отношением расстояний между ключевыми точками лица (забыл как называются они); ну типа расстояние между зрачками, носом, ртом, и т п...
  6. ага, вроде разобрался. dctSize - Размер окна в котором будем находить коэффициенты ДКП obsSize - Количество значимых коэффициентов. delta - А вот это сдвиг (в пикселях?) только я не совсем понял, в дефолтных параметрах размер сдвига 4 на 4, тоесть всего лишь по 4 пикселя раждый раз? и еще непонятно почему в исходниках #define MAX_DCT_SIZE 32 тоесть максимум окно может быть 32 х 32 пикселя. Тоесть не получится сканировать например прямоугольным окном чисто по вертикали. Видимо создатели библиотеки посчитали 32 максимально оптимальным
  7. Кто может примерно обьяснить что и какой из этих параметров значат и что дают для обучения и распознавания? И обязательно ли ставить одинаковые параметры для обучения и распознавания? const int OBS_WIDTH = 12; const int OBS_HEIGHT = 12; const int NO_DCT_COEFF_X = 4; const int NO_DCT_COEFF_Y = 4; const int STEP_X = 4; const int STEP_Y = 4; const int MAX_ITER = 80; const double STOP_STEP_ITER = 0.01;
  8. JoQeR, Смотри пост 56, вот примерно так все и будет думаю. только я еще не оттестировал нормально
  9. Попробовал так сделать, значения слишком большие получаются Вот для изначальной реализации взятой из вашей программы на билдере: Соответственно минимальные значения для каждой тестовой фотки: Мои: Хабр: 0.0329157 0.49 0.109273 0.85 0.0582627 0.47 0.16966 2.08 Если добавить деление на сумму всех чисел для собсвенных векторов: float summ_eigen = 0; for(int i = 0; i < N_People * N_Samples; i++) { summ_eigen += EigenVals->data.fl[i]; } for(int i = 0; i < N_People * N_Samples; i++) { EigenVals->data.fl[i] = EigenVals->data.fl[i] / summ_eigen; } Получается так: (значения min): Видимо буду тогда делать по своему алгоритму с суммами, там все лучше получается
  10. я тут другое придумал: 1. Обучаем алгоритм например по 4 фотки для каждого человека. Условие: Фотки одного человека должны идти по порядку. 2. Загружаем тестовое фото любого человека из выборки, которое не использовалось в обучении, например 7. 3. Находим расстояния в пространстве от вектора тестовой фотки до всех других объектов по порядку. 4. Складываем расстояния до обьектов одного человека. 5. Полученную сумму сравниваем с другими такими суммами. Она будет меньше чем другие. А если тестовое фото будет вообще другого человека не из выборки, то сумма будет больше той суммы в пункте 5. таким образом можно и отбрасывать левых человек получается Вроде так алгоритм должен лучше работать, как думаете?
  11. Ребята, подскажите, вот у меня получается максимальное расстояние от вектора до других обьектов не превышает 2, а вот в статье на хабре тут получается аж 21, если мы подаем незнакомое лицо. с чем это может быть связано? у меня если даже незнакомое подаешь на проверку всеравно там не больше 2х... Если много фоток взять в обучающую выборку, то соответственно и расстояния уменьшаются до вектора... Никак не могу понять как задать порог для отсеивания неизвестных лиц, может кто нибудь делал? Ну тоесть с увеличением обучающей выборки порог всегда разный..
  12. Ога нашел, значит в проге уже Махаланобиса
  13. А кто нибудь реализовывал порог отсечения левых лиц в этой проге? по статье на хабре там порог 2.2 у него а у меня что то расстояния редко больше 2х получаются... или в данном коде for (i=0; i < nEigens; i++) { float d_i = projectedTestFace[i] - coeffs[iTrain][i]; distSq += d_i * d_i/EigenVals->data.fl[i]; } считается эвклидово расстояние? а в статье я так понял расстояние Махаланобиса. Кто знает как его посчитать? Я так понял что по PCA проще сделать порог отсечения, чем по марковским моделям
  14. C:\opencv\build\include\opencv C:\opencv\build\include\ надо вот такие
×