Jump to content
Compvision.ru
Sign in to follow this  
Frimen

Распознавание лиц

Recommended Posts

есть ли такие уже готовые программы которые могут найти все фотографии, на которых присутствует конкретный человек?

т.е. даже не совсем так.

на вход подаются фотографии, а на выходе метаинформация о том сколько всего людей и на каких фотографиях они присутствуют.

потом например можно выбрать из списка всех найденных людей кого то сопоставить ему тэг - маша,петя и т.д. и найти все фотографии с ним\ней.

и чтобы все делалось без помощи человека, человек только потом может отбраковывать когда смотрит результаты. а система учится ;)

Share this post


Link to post
Share on other sites

можну кучу всего придумать зачем, конкретно вопрос как уникализировать лицо, думал использовать биометрию но мне кажется что что то точнее должно быть

  • Like 1

Share this post


Link to post
Share on other sites

По параметрам, во-первых, берешь, находишь на лице контрольные точки - глаза, нос, уши, губы. По ним, можешь развернуть лицо, так, что б получить наименьшие искажения(например расстояние левый глаз, нос и правый глас нос должны быть одинаковы), долее берешь геометрию лица, такую как соотношение расстояния от глаз до носа, между глазами, от рта до подбородка и так далее, их можно хранить в базе донных и с небольшой погрешностью сравнивать на других снимках. Соответственно, для облегчения дальнейшие распознание лица можно делать выборку из базы данных по этим расстояниям с учетом определенно погрешности, а потом уже прогонять через тяжеловесные алгоритмы, например Скрытые Марковские Модели.

Например, тут где-то в корнях форума была мессага про это, но исходники которые выкладывали к посту, потерлись! Если у кого завалялись, скиньт в этот пост файл HMM.zip или .rar она там был. Очень было бы интересно посмотреть на то как это работает!

Share this post


Link to post
Share on other sites

По параметрам, во-первых, берешь, находишь на лице контрольные точки - глаза, нос, уши, губы. По ним, можешь развернуть лицо, так, что б получить наименьшие искажения(например расстояние левый глаз, нос и правый глас нос должны быть одинаковы), долее берешь геометрию лица, такую как соотношение расстояния от глаз до носа, между глазами, от рта до подбородка и так далее, их можно хранить в базе донных и с небольшой погрешностью сравнивать на других снимках. Соответственно, для облегчения дальнейшие распознание лица можно делать выборку из базы данных по этим расстояниям с учетом определенно погрешности, а потом уже прогонять через тяжеловесные алгоритмы, например Скрытые Марковские Модели.

Например, тут где-то в корнях форума была мессага про это, но исходники которые выкладывали к посту, потерлись! Если у кого завалялись, скиньт в этот пост файл HMM.zip или .rar она там был. Очень было бы интересно посмотреть на то как это работает!

НММ не стерлись, они тут (для версий 1.1pre и для 2.1):

http://www.compvision.ru/forum/index.php?showtopic=81&st=0&p=198&hl=%D0%BC%D0%B0%D1%80%D0%BA%D0%BE%D0%B2%D1%81%D0%BA%D0%B8&fromsearch=1&#entry198

Share this post


Link to post
Share on other sites

то что нужно!

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

http://developers.face.com/tools/#faces/detect

вот еще довольно хорошо находит, но только я так понял, что они предоставляют только апи, а сорцов нету.

http://rghost.ru/5242130

Share this post


Link to post
Share on other sites

По параметрам, во-первых, берешь, находишь на лице контрольные точки - глаза, нос, уши, губы. По ним, можешь развернуть лицо, так, что б получить наименьшие искажения(например расстояние левый глаз, нос и правый глас нос должны быть одинаковы), долее берешь геометрию лица, такую как соотношение расстояния от глаз до носа, между глазами, от рта до подбородка и так далее, их можно хранить в базе донных и с небольшой погрешностью сравнивать на других снимках. Соответственно, для облегчения дальнейшие распознание лица можно делать выборку из базы данных по этим расстояниям с учетом определенно погрешности, а потом уже прогонять через тяжеловесные алгоритмы, например Скрытые Марковские Модели.

Например, тут где-то в корнях форума была мессага про это, но исходники которые выкладывали к посту, потерлись! Если у кого завалялись, скиньт в этот пост файл HMM.zip или .rar она там был. Очень было бы интересно посмотреть на то как это работает!

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

Share this post


Link to post
Share on other sites

мне вот интересен такой вопрос, через сколько людей в среднем происходит перенасыщение базы лиц?

т.е. когда уже невозможно отличить одного от другого.

(ну тут конечно тоже есть варианты например заранее заготовленные качественные образы или выделенные из простых фотографий)

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

Share this post


Link to post
Share on other sites

а кто то пробовал aam или asm ??

Желающие могут потестить эти технологии (исходники библитек только у AAM):

aamlibrary_release_2.0.zip

http://code.google.com/p/asmlibrary/downloads/detail?name=asmlibrary-5.0.tar.gz&can=2&q=

Share this post


Link to post
Share on other sites

что то никак не могу придумать как правильно растравлять контрольные точки( может кто подскажет?

Share this post


Link to post
Share on other sites

Это где? Если в этих прогах, то там файлы натренированные должны быть.

Share this post


Link to post
Share on other sites

я сам этим щас занимаюсь, пытаюсь разобраться в марковских моделях и т.д. может объединить усилия?

Share this post


Link to post
Share on other sites

я сам этим щас занимаюсь, пытаюсь разобраться в марковских моделях и т.д. может объединить усилия?

давай попробуем, кинь в личку аську или что нибудь будем делиться информацией)

а по поводу точек, то не в проге а вообще на фотографии, чет я примеров так и не нашел, даже словесных, может конечно плохо искал

Share this post


Link to post
Share on other sites

Вот документ на англ. с картинками: http://www.cs.cmu.edu/~ftorre/iccv2.pdf

и здесь тоже есть: http://www.cscjournals.org/csc/manuscript/Journals/IJBB/volume4/Issue6/IJBB-81.pdf

Как я понял, 68 точечная модель работает лучше других.

Share this post


Link to post
Share on other sites

Найти фотку по базе это конечно круто... Но как у совершенно не знакомой фотки определить пол, возраст, настроение))?

Это имхо гораздо круче)

Share this post


Link to post
Share on other sites

Есть еще буржуйский стандарт (по поводу лицевой анимации):

MPEG-4 Facial Animation.pdf

Share this post


Link to post
Share on other sites

Smorodov может вы объясните в чем принцип построения по AAM ? то что то я никак не могу вьехать в чем вся его прелесть

и еще такой вопрос, какой лучше метод использовать, на ваш взгляд, для определения лица?!

Share this post


Link to post
Share on other sites

Smorodov может вы объясните в чем принцип построения по AAM ? то что то я никак не могу вьехать в чем вся его прелесть

и еще такой вопрос, какой лучше метод использовать, на ваш взгляд, для определения лица?!

Для определения лучше использовать метод Виолы Джонса.

Для нахождения точек лица, AAM или ASM.

Суть в том, что вы определяете статистическую модель лица (то есть, находите некоторое усредненное лицо) и пределы смещения каждой из точек модели.

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

Далее метод использует технологию активных контуров. Минимизируется энергия контура(см. Активные контуры) (методом градиентного спуска, например) где в качестве параметров минимизации берут параметры построенной вами модели.

Если обученную модель удается с достаточной точностью подогнать под контуры изображения, выводится результат. Это для ASM.

Для AAM рассчитывается еще модель текстуры (тоже PCA). И путем решения системы линейных уравнений, минимизируется разница, между изображением лица и синтезированной текстурой (PCA используется для уменьшения количества уравнений до разумного предела).

ЗЫ:

AAM и ASM требуют достаточно аккуратного начального приближения. И еще, AAM работает в реалтайм плохо, ASM дает заметно лучший результат.

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites

Нет, не так. Здесь переключаются AAM модели, каждая из моделей работает для своего диапазона углов

(...to switch to the most appropriate model for the next frame.)

Share this post


Link to post
Share on other sites

Есть еще вопрос. На данный момент точки, полученные при cvgoodfeaturestotrack() очень легко сбиваются при проведении рукой перед лицом. Что можно сделать в этом случае, чтобы сохранить положение точек и сделать их устойчивыми?

Share this post


Link to post
Share on other sites

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

и еще я не понял, допустим алгоритм сможет построить такую вот цельную модель головы человека автоматически, пока человек вертит головой на видео?

и еще чем обусловлено количество точек на котором строятся активные контуры? (чем больше точек тем более гладкие кривые ведь так? так почему не взять как можно больше?)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×