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

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

Recommended Posts

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Например, тут где-то в корнях форума была мессага про это, но исходники которые выкладывали к посту, потерлись! Если у кого завалялись, скиньт в этот пост файл 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

то что нужно!

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

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

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

http://rghost.ru/5242130

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а кто то пробовал 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=

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

MPEG-4 Facial Animation.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

ЗЫ:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот тут что то похожее :)

http://code.google.com/p/ehci/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×