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

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

Recommended Posts

Я думаю там используется несколько маленьких плоских моделей.

Хотя можно и так построить и трекать: http://mi.eng.cam.ac.uk/~qp202/my_papers/BMVC09/

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

Поэтому важно выбрать хорошо видимые точки, которые максимально взаимно независимы.

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


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

а есть какие то работы с человеческими головами? или только с такими моделями? я так понял, что это близко к задаче восстановления 3Д изображения по нескольким фотографиям.

интересно, что будет если этому алгоритму подсунуть шар (хотя, банку он вроде нормально обработал)

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

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


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

а есть какие то работы с человеческими головами? или только с такими моделями? я так понял, что это близко к задаче восстановления 3Д изображения по нескольким фотографиям.

интересно, что будет если этому алгоритму подсунуть шар (хотя, банку он вроде нормально обработал)

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

По поводу науки не знаю, а документ с головой у меня завалялся Generation of a 3-D Face Model from One Cameral.pdf

Есть еще готовая программа, FaceGen Modeller она может соорудить 3D голову с текстурой по 3-м фотографиям.

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


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

выглядит интересно, посмотрю.

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

еще интересная тема

http://en.wikipedia.org/wiki/Face_perception

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


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

Вот здесь еще много материала на русском (о том как использовать полученную модель головы):

http://sites.google.com/site/headtracking/home_ru

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


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

Вот здесь еще много материала на русском (о том как использовать полученную модель головы):

http://sites.google.com/site/headtracking/home_ru

спасибо за ссылку, есть что почитать))

и снова мало чего про aam ну или asm =((

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


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

Добрый день. Проект был в тени некоторое время и сейчас возобновился)) Прошло немало времени-вышла новая opencv, может появился новый метод...

Поэтому опишу задачу подробнее. Надеюсь на вашу помощь.

Задача проекта состоит в следующем: реализовать СКУД на основе распознавания лиц. Стоит дверь с э/м замком. с маленькой камеры в вызывной панели идёт аналоговое ч/б видео PAL разрешением примерно 500 на 400 (не помню точно). Видео захватывается и оцифровывается внешней платой видеозахвата.

Далее вопрос как раз ПО. Нужно чтоб ПО по видеопотоку захватывала лицо в кадрах, передавала скриншот из видеопотока с лицом и сравнивала с лицами из базы данных.

При совпадении лиц (или процентной вероятности совпадения) выдавала команду реле,которое будет открывать дверь.

Все технические аспекты я уже проработал. Реле,оцифровщик и тд... У меня проблема в ПО.

На форуме я видел много проектов opencv, реализовывающие распознавание лиц по разным методам.

Подскажите пожалуйста, какой сейчас метод распознавания лиц даёт лучшие результаты?

Я видел с выходом opencv 2.2 появилась отдельная библиотека для распознавания лиц.

Она эффективна?

Огромное Спасибо

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


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

Всем привет!

Сейчас занимаюсь написанием дипломной работы по определению эффективности методов сравнения лиц с помощью библиотеки OpenCV. На форуме я нашел два метода (основных компонент и HMM) которые можно было использовать в моей работе. Возможно у кого есть еще какие методы реализованы с помощью этой библиотеки?

Может кто предложит какие интересные варианты тестирования этих методов?

Вот моя попытка поиска изображения лица в базе данных методом HMM полученного с веб камеры

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


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

а при чём тут библиотека - видимо имеется в виду сравнение алгоритмов? О_о

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


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

а при чём тут библиотека - видимо имеется в виду сравнение алгоритмов? О_о

да сравниваются алгоритмы которые реализованы с помощью библиотеки OpenСV

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


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

Всем привет. Подкиньте пожалуйста исходники по распознаванию лиц с помощью opencv. Очень нужно. Диплом горит! Заранее спасибо

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


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

Какая тема диплома?

Примеры, входящие в состав opencv смотрели?

Поиск по форуму ничего, надо думать, подходящего не дал. :crazysmile:

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


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

Здравствуйте!

У меня вот тоже диплом, думаю на С++ писать с OpenCV, но без помощи не обойтись - тоже горит. Причем еще непонятно какими методами реализовывать данный алгоритм. Суть диплома примерно такая: юзер загружает фотографию в программу, далее распознается лицо человека и контрольные точки (у меня их 4: два глаза, рот, нос). Далее по положению данных контрольных точек на лице фотография сравнивается с фотографиями из определенной базы, где картинки разбиты на категории мимик и эмоций. И какая мимика наиболее подходит, в результате на выходе и показывается наиболее подходящий результат.

Перелазил все ресурсы, сообщества, Хабр, пересмотрел много статей с IbPRIA и ICPR - конференций. Подумал сделать так:

Сначала применить метод Хаара

Затем сделать небольшую эрозию изображения (можно и без нее, можно просто поднять частотность повыше)

Потом применять метод SIFT - дескрипторов для нахождения общих точек с фотографией из базы ...

это один из вариантов, другой был описан в 2008 году по-моему, корейцами на конференции, там тоже делали 3мерную модель и вычисляли расстояние между глазами и ртом, но там применяется нейронный классификатор и в-общем не особо понятно как делать через него .

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

А может кто-нибудь согласится мне помочь и вместе написать диплом (за отд. плату)? Я буду очень рад :geek::rolleyes:

А то сам чувствую не осилю...

Заранее спасибо!

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


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

Какая тема диплома?

Примеры, входящие в состав opencv смотрели?

Поиск по форуму ничего, надо думать, подходящего не дал. :crazysmile:

Тема - распознование лиц студентов, сидящих в аудитории. В папках Opencv программы смотрела. Там одна подходящая программа Facedetect. Но, к сожалению распознавание в аудитории ей не дается. Распознается процентов 25-30. Я так думаю, что это возможно из за того, что людей много, и лица маленькие. Еще может из за освещенности. Поэтому нужны были другие исходники.

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


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

Что то типа этого нужно?

Вот opencv-шный результат, (стандартный пример, правда фотка разрешением 3045*2030):

http://sites.google.com/site/vipbase2/tool_face_detect_result_opencv.jpg

Здесь распознано явно больше 30%.

  • Like 1

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


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

Посмотри здесь:

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

Но все таки сравнивать нужно АЛГОРИТМЫ, т.е. не привязываясь к конкретной библиотеке компьютерного зрения.

  • Like 1

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


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

Здравствуйте!

У меня вот тоже диплом, думаю на С++ писать с OpenCV, но без помощи не обойтись - тоже горит. Причем еще непонятно какими методами реализовывать данный алгоритм. Суть диплома примерно такая: юзер загружает фотографию в программу, далее распознается лицо человека и контрольные точки (у меня их 4: два глаза, рот, нос). Далее по положению данных контрольных точек на лице фотография сравнивается с фотографиями из определенной базы, где картинки разбиты на категории мимик и эмоций. И какая мимика наиболее подходит, в результате на выходе и показывается наиболее подходящий результат.

Перелазил все ресурсы, сообщества, Хабр, пересмотрел много статей с IbPRIA и ICPR - конференций. Подумал сделать так:

Сначала применить метод Хаара

Затем сделать небольшую эрозию изображения (можно и без нее, можно просто поднять частотность повыше)

Потом применять метод SIFT - дескрипторов для нахождения общих точек с фотографией из базы ...

это один из вариантов, другой был описан в 2008 году по-моему, корейцами на конференции, там тоже делали 3мерную модель и вычисляли расстояние между глазами и ртом, но там применяется нейронный классификатор и в-общем не особо понятно как делать через него .

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

А может кто-нибудь согласится мне помочь и вместе написать диплом (за отд. плату)? Я буду очень рад :geek::rolleyes:

А то сам чувствую не осилю...

Заранее спасибо!

Забыл уточнить, что

- лица людей беру в самом простом рассмотрении, в анфас (если в профиль, то интересен будет вариант с одной уже имеющейся фотографией данной персоне в базе и последующего сравнения с ней загруженной фотки той же персоны с помощью метода SURF)

- должна быть какая-либо база, к которой идут коннекты (мэй би xml либо mysql, а если база большая, то postgress либо Oracle, но как их связать с С++? Кто-нибудь уже имеет готовое решение по коннекту к таким базам с наборами данных (data sets)?)

Поможете?

  • Like 1

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


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

QT умеет с базами работать.

  • Like 1

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


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

QT умеет с базами работать.

QT под Линой на работе стоит, я с ней тоже работаю, но всё-таки хочется под православной виндой накодить, т.к. проект будет представляться именно на ней, а я как знаю с qt там еще файлы пакетов надо собирать вручную .. всё-таки нужно решение либо на cpp либо на php в связке с opencv

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


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

QT под Линой на работе стоит, я с ней тоже работаю, но всё-таки хочется под православной виндой накодить, т.к. проект будет представляться именно на ней, а я как знаю с qt там еще файлы пакетов надо собирать вручную .. всё-таки нужно решение либо на cpp либо на php в связке с opencv

А не подскажете, в ту же топку, что за stasm и где в opencv 2.2 найти cv100.dll?

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


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

Вся прелесть QT как раз в том, что он кроссплатформенный. Но как знаешь.

В opencv 2.2 не может быть cv100.dll, так как она из верси opencv 1.0

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


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

Вся прелесть QT как раз в том, что он кроссплатформенный. Но как знаешь.

В opencv 2.2 не может быть cv100.dll, так как она из верси opencv 1.0

Да, cv100.dll быть и не должно в версии 2.2, т.к. там должна быть либа cxcore220d.lib и dll-ки cv220d.dll и пр. Как бы теперь в стандартной распаковке мне бы их найти? По всем папкам в OpenCV 2.2 прошелся, там их нет в чистом виде. Можно конечно скачать на http://www.dll.ru/, http://www.dllbox.ru/ или соответствующих, но хотелось бы сразу пакет lib иметь, чтобы их засунуть в папку проекта и не париться потомм с переносом на другие компы заказчика.

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


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

Посмотри здесь:

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

Но все таки сравнивать нужно АЛГОРИТМЫ, т.е. не привязываясь к конкретной библиотеке компьютерного зрения.

Ну а если всё-таки привязаться к OpenCV?)))

Задам задачку вот такую:

У кого-нибудь есть уже результаты сравнения некоторых алгоритмов из библиотеки OpenCV? На каждом этапе нужны % быстродействия и точности алгоритмов. Голая статистика есть и в инете, достаточно погуглить, тут надо это программно показать. Я занялся, пока результаты неутешительные, но в целом алгоритм и какие методы сравниваю, приведу ниже:

Выполнение распознавания и сравнения должно быть сначала для реализации с 1 фотографией, потом для реализации с пулом фотографий (скажем, штук 20-25)

1 этап - распознавание лица

Алгоритмы:

- Виолы-Джонса

- Каскады Хаара

- Метод SURF (предположим, что один образец у нас уже лежит в наборе данных)

2 этап - распознавание признаков

Алгоритмы:

- Метод SURF (предположим, что один образец у нас уже лежит в наборе данных), построение SIFT-дескрипторов

- Обучение нечеткого классификатора

- Обучение более детальных каскадов Хаара (для характерных признаков: для глаз, для рта, для носа и для бровей)

3 этап - сравнение признаков с образцами в базе и выдача результата

Алгоритмы:

- Метод SURF (предположим, что один образец у нас уже лежит в наборе данных), сравнение SIFT-дескрипторов

- Обучение нечеткого классификатора

- Геометрически (сравнение по координатам глаз, рта и пр., по расстоянию между ними)

  • Like 1

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


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

Ну а если всё-таки привязаться к OpenCV?)))

Задам задачку вот такую:

У кого-нибудь есть уже результаты сравнения некоторых алгоритмов из библиотеки OpenCV? На каждом этапе нужны % быстродействия и точности алгоритмов. Голая статистика есть и в инете, достаточно погуглить, тут надо это программно показать. Я занялся, пока результаты неутешительные, но в целом алгоритм и какие методы сравниваю, приведу ниже:

Выполнение распознавания и сравнения должно быть сначала для реализации с 1 фотографией, потом для реализации с пулом фотографий (скажем, штук 20-25)

1 этап - распознавание лица

Алгоритмы:

- Виолы-Джонса

- Каскады Хаара

- Метод SURF (предположим, что один образец у нас уже лежит в наборе данных)

2 этап - распознавание признаков

Алгоритмы:

- Метод SURF (предположим, что один образец у нас уже лежит в наборе данных), построение SIFT-дескрипторов

- Обучение нечеткого классификатора

- Обучение более детальных каскадов Хаара (для характерных признаков: для глаз, для рта, для носа и для бровей)

3 этап - сравнение признаков с образцами в базе и выдача результата

Алгоритмы:

- Метод SURF (предположим, что один образец у нас уже лежит в наборе данных), сравнение SIFT-дескрипторов

- Обучение нечеткого классификатора

- Геометрически (сравнение по координатам глаз, рта и пр., по расстоянию между ними)

Ах да, забыл в первом этапе указать ценный алгоритм EigenFace. И если можно, пометьте, как называются методы для данных алгоритмов, которые Вы используете

  • Like 1

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


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

В версии 2.2 новые варианты dll. Они остались только в 2.1.

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

×