Smorodov 578 Report post Posted June 13, 2009 Программа распознавания лиц методом главных компонент Архив здесь: PCA_recognition.rar 1 Share this post Link to post Share on other sites
Smorodov 578 Report post Posted November 26, 2009 Нашел еще хорошую статью по этому поводу: http://www.rusdoc.ru/articles/raspoznavani...igenface/18804/ Share this post Link to post Share on other sites
4torta 0 Report post Posted April 28, 2010 Здравствуйте. Не подскажите как правильно выбрать пороговое значение похожести, чтобы разделять лица на категории "лицо есть в базе" и "лица в базе нет" ? Читал, что это значение выбирается эмпирически, но вот механизма выбора не встретил. И еще интересно, влияет ли выбор классификатора (евклидово расстояние, Махалонобиса и т.п) на механизм выбора этого порогового значения? Share this post Link to post Share on other sites
Smorodov 578 Report post Posted April 28, 2010 Здравствуйте. Не подскажите как правильно выбрать пороговое значение похожести, чтобы разделять лица на категории "лицо есть в базе" и "лица в базе нет" ? Читал, что это значение выбирается эмпирически, но вот механизма выбора не встретил. И еще интересно, влияет ли выбор классификатора (евклидово расстояние, Махалонобиса и т.п) на механизм выбора этого порогового значения? Есть немного по этой теме здесь (в конце темы): http://www.compvision.ru/forum/index.php?showtopic=81 Share this post Link to post Share on other sites
tybik 0 Report post Posted May 12, 2010 Извините за глупый вопрос. Но просматривая программму я не понял почему Кол-во векторов базиса =кол-ву изображений -1. И еще вопрос можно ли подавать на обучение по несколько фотографий одного лица? Share this post Link to post Share on other sites
tybik 0 Report post Posted May 12, 2010 И еще вопрос там в прогармме есть параметры //----------------------------------- //----------------------------------- CvTermCriteria Tc; Tc.type=CV_TERMCRIT_NUMBER | CV_TERMCRIT_EPS; Tc.max_iter=100; Tc.epsilon=0.001; параметр Tc.max_iter=100; я так понимаю это максимальное кол-во главных компонент а что значит параметр Tc.epsilon=0.001; ?? Share this post Link to post Share on other sites
Smorodov 578 Report post Posted May 12, 2010 И еще вопрос там в прогармме есть параметры //----------------------------------- //----------------------------------- CvTermCriteria Tc; Tc.type=CV_TERMCRIT_NUMBER | CV_TERMCRIT_EPS; Tc.max_iter=100; Tc.epsilon=0.001; параметр Tc.max_iter=100; я так понимаю это максимальное кол-во главных компонент а что значит параметр Tc.epsilon=0.001; ?? Нет, эти параметры определяют критерии завершения итеративных алгоритмов, первый определяет какие критерии используются, второй, максимальное количество итераций, третий, погрешность вычисления, если достигается заданная точность вычислений (погрешность не превышает заданной), или накручено уже много итераций, алгоритм заканчивает свои вычисления. Share this post Link to post Share on other sites
tybik 0 Report post Posted May 13, 2010 можно ли подавать на обучение по несколько фотографий одного лица? Share this post Link to post Share on other sites
holmes 0 Report post Posted June 2, 2010 Можно. Вчера переписал на Delphi по-своему и тестировал, неплохо распознает в реал-тайм c вэб-камеры. Сорс на Delphi есть в топе cvCvtColor. Share this post Link to post Share on other sites
tipabot 0 Report post Posted November 24, 2010 Тоже решил переделать в реал-тайм но есть проблемы Первая проблема это нахождение лица в кадре, с текущим алгоритмом конечно можно определить что есть лицо или нет но как определить его расположение в кадре? Вторая проблема это получение изображения лица и приведение его к стандарту (одинаковому масштабу лица)? может ответы и очевидны но я пока в этом деле не мастер Прошу помочь заранее спасибо Share this post Link to post Share on other sites
holmes 0 Report post Posted November 30, 2010 я делал так: - нахожу при помощи каскадов Хаара самое крупное лицо - корректирую размер полученного прямоугольника под соотношение сторон изображений в базе изображений - ищу ближайшее совпадение правда это все осталось на уровне теста, потому как точность меня не устроила. надо будет попробовать на hidden markov model. завтра могу выложить получившийся код на дельфе. Share this post Link to post Share on other sites
tipabot 0 Report post Posted November 30, 2010 holmes Я как бы уже разобрался (примерный алгоритм лежит в башке) но еще сам не реализовал (времени нет) пока почитываю про opencv в целом и математику. Однако спасибо за отклик. Может в дальнейшем обращусь за советами. правда это все осталось на уровне теста, потому как точность меня не устроила. ну насчет в реал-тайм я не знаю но с тестовыми фотками работает очень прилично. мне кажется основная причина: проблема привидение масштаба тестируемого изображения к масштабу эталонного изображения, под изображением понимается лицо на изображении (сори за товталогию ). Share this post Link to post Share on other sites
holmes 0 Report post Posted December 1, 2010 да нет, масштаб как раз не проблема. эталонная выборка у меня формируется тем же методом. то есть я кликаю кнопку сохранить у себя и текущее найденное в кадре лицо сохраняется под новым номером... а точность действительно хромает. я в этих алгоритмах слабо разбираюсь, так что может чего и не докрутил. по крайней мере он иногда меня с подругой путал (это уже ни в какие рамки ...) Share this post Link to post Share on other sites
alix999 0 Report post Posted March 14, 2011 Добрый день, я в этом деле новичок. Хотелось бы узнать по примеру. Скачал готовый пример, библиотеки, прикрутил их и не могу скомпилировать. Выдает: _fm_acos is not member of std что мне делать?! я в с++ вообще не понимаю, хотя на object pascal пишу. По учебе надо предоставить проогу - распознование лиц. В принципе можно брать и чужие, но знать надо как они работают. p.s. может кто бы более опытнй мог сбросить *.ехе мне ?! чтоб ямог продемонстрировать и рассказать (по исходникам) принцип работы распознования по главным компонентам. Share this post Link to post Share on other sites
Smorodov 578 Report post Posted March 14, 2011 В первом посте есть пример, и вроде с екзешником. Чтобы работал надо скачать библиотеку версии 1.1pre1a там все дллки. Share this post Link to post Share on other sites
elected 0 Report post Posted March 20, 2011 В первом посте есть пример, и вроде с екзешником. Чтобы работал надо скачать библиотеку версии 1.1pre1a там все дллки. Хотел узнать есть ли пример этой или похожей программы на Delphi ? Очень нужно Share this post Link to post Share on other sites
I`m_beginner 0 Report post Posted March 26, 2011 Извините за глупый вопрос. Но просматривая программму я не понял почему Кол-во векторов базиса =кол-ву изображений -1. И еще вопрос можно ли подавать на обучение по несколько фотографий одного лица? и все-таки вопрос остался открытым, почему же так numEvgen = numSample - 1; почему кол-во векторов не равно количеству исходных изображений ? Share this post Link to post Share on other sites
nicolas_88 0 Report post Posted April 22, 2011 Здравствуйте. Скачал исходник программы. При запуске в С++Builder возникает ошибка External exception C000001D. Помогите. Не могу понять в чем причина. Share this post Link to post Share on other sites
Smorodov 578 Report post Posted April 23, 2011 Скорее всего не установлены msvcr: http://www.microsoft.com/downloads/en/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2 Share this post Link to post Share on other sites
nicolas_88 0 Report post Posted April 23, 2011 Скорее всего не установлены msvcr: http://www.microsoft.com/downloads/en/details.aspx?familyid=200B2FD9-AE1A-4A14-984D-389C36F85647&displaylang=en http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2 Установил не помогает(((( Не знаю, что делать. Share this post Link to post Share on other sites
Smorodov 578 Report post Posted April 23, 2011 Установил не помогает(((( Не знаю, что делать. Вот программа в полной комплектации: PCA_recognition.rar На этой неделе раза 4 на разных компах запускал. Share this post Link to post Share on other sites
nicolas_88 0 Report post Posted April 23, 2011 Вот программа в полной комплектации: PCA_recognition.rar На этой неделе раза 4 на разных компах запускал. Спасибо за исходники. Все равно не запускается. Попробую систему переустановить. Share this post Link to post Share on other sites
Smorodov 578 Report post Posted May 8, 2011 Здесь есть еще один пример с исходниками и описанием (англ.): http://www.cognotics.com/opencv/servo_2007_series/part_5/index.html Share this post Link to post Share on other sites
nicolas_88 0 Report post Posted May 16, 2011 В строках cvConvertScale( eig_img[j], result_img,255.0/(max_val-min_val),-min_val); и cvLine(img_load_ch1,cvPoint(0,0),cvPoint(size.width,size.height),CV_RGB(255,0,0), 3, 4); cvLine(img_load_ch1,cvPoint(size.width,0),cvPoint(0,size.height),CV_RGB(255,0,0), 3, 8); выдает ошибку External exception C000001D. Закоментировал - работает. Не пойму почему выдает ошибку именно в этих строках. Share this post Link to post Share on other sites
nicolas_88 0 Report post Posted May 16, 2011 Здесь есть еще один пример с исходниками и описанием (англ.): http://www.cognotics.com/opencv/servo_2007_series/part_5/index.html Хороший пример. XML очень кстати!!! Share this post Link to post Share on other sites