Flame
Пользователи-
Количество публикаций
34 -
Зарегистрирован
-
Посещение
-
Days Won
1
Flame last won the day on June 17 2012
Flame had the most liked content!
Репутация
1 НовичекО Flame
-
Звание
Эксперт
-
Ну я так и делал, приведение к одному размеру.
-
Вот хорошая статья с подробным обзором методов
-
Идентификация личности с использованием алгоритмов сравнения изображений. Короче задача типа следить за студентом который проходит тестовое задание. одна камера постоянно находит его лицо и сравнивает с изображением в бд, вторая смотрит чтобы рядом никого небыло
-
JoQeR, поздравляю! скоро тоже защищаюсь, правда у меня диссертация
-
Для борьбы с разной освещенностью иногда помогает функция cvEqualizeHist. JoQeR, свою реализацию придумали или сделали как на хабре? я то что в 56м посте писал плохо работает на других базах, переделал, стало лучше На паспортном контроле вроде используется метод с отношением расстояний между ключевыми точками лица (забыл как называются они); ну типа расстояние между зрачками, носом, ртом, и т п...
-
ага, вроде разобрался. dctSize - Размер окна в котором будем находить коэффициенты ДКП obsSize - Количество значимых коэффициентов. delta - А вот это сдвиг (в пикселях?) только я не совсем понял, в дефолтных параметрах размер сдвига 4 на 4, тоесть всего лишь по 4 пикселя раждый раз? и еще непонятно почему в исходниках #define MAX_DCT_SIZE 32 тоесть максимум окно может быть 32 х 32 пикселя. Тоесть не получится сканировать например прямоугольным окном чисто по вертикали. Видимо создатели библиотеки посчитали 32 максимально оптимальным
-
Кто может примерно обьяснить что и какой из этих параметров значат и что дают для обучения и распознавания? И обязательно ли ставить одинаковые параметры для обучения и распознавания? 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;
-
JoQeR, Смотри пост 56, вот примерно так все и будет думаю. только я еще не оттестировал нормально
-
Попробовал так сделать, значения слишком большие получаются Вот для изначальной реализации взятой из вашей программы на билдере: Соответственно минимальные значения для каждой тестовой фотки: Мои: Хабр: 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): Видимо буду тогда делать по своему алгоритму с суммами, там все лучше получается
-
Вы имеете ввиду вот это?
-
я тут другое придумал: 1. Обучаем алгоритм например по 4 фотки для каждого человека. Условие: Фотки одного человека должны идти по порядку. 2. Загружаем тестовое фото любого человека из выборки, которое не использовалось в обучении, например 7. 3. Находим расстояния в пространстве от вектора тестовой фотки до всех других объектов по порядку. 4. Складываем расстояния до обьектов одного человека. 5. Полученную сумму сравниваем с другими такими суммами. Она будет меньше чем другие. А если тестовое фото будет вообще другого человека не из выборки, то сумма будет больше той суммы в пункте 5. таким образом можно и отбрасывать левых человек получается Вроде так алгоритм должен лучше работать, как думаете?
-
Ребята, подскажите, вот у меня получается максимальное расстояние от вектора до других обьектов не превышает 2, а вот в статье на хабре тут получается аж 21, если мы подаем незнакомое лицо. с чем это может быть связано? у меня если даже незнакомое подаешь на проверку всеравно там не больше 2х... Если много фоток взять в обучающую выборку, то соответственно и расстояния уменьшаются до вектора... Никак не могу понять как задать порог для отсеивания неизвестных лиц, может кто нибудь делал? Ну тоесть с увеличением обучающей выборки порог всегда разный..
-
Ога нашел, значит в проге уже Махаланобиса
-
А кто нибудь реализовывал порог отсечения левых лиц в этой проге? по статье на хабре там порог 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 проще сделать порог отсечения, чем по марковским моделям
-
C:\opencv\build\include\opencv C:\opencv\build\include\ надо вот такие