2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 
Сообщение05.10.2008, 19:50 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
Маленькое дополнение к моему предыдущему замечанию: если запустить оптимизацию "просто так", то в зависимости от начального условия система скатится к какому-нибудь локальному минимуму (при котором распознавание на обучающей выборке будет безошибочным), которое весьма вероятно будет основано на каком-нибудь подобном малосодержательном критерии.

Для проверки можно применить следующий эксперимент: перемешать фотографии и разбить их на классы случайным образом. Если и при этом система "научится" правильно распознавать не хуже, чем сначала, то это будет означать, что она учится отличать не лица, а конкретные фотографии. Это не то, что требуется.

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

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

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

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

Но все равно нужно снижать размерность. Можно попробовать делить фотографию на области и усреднять значения интенсивностей на них. Но мне лично это не нравится. Я считаю, что решение должно быть "естественным".

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

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

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

Эту работу можно положить в основу, скажем, следующего курсового проекта уже по распознаванию лиц.

Что же касается материалов, то поищите статьи по ключевым словам "face recognition" на поисковиках http://scholar.google.com/ и http://citeseer.ist.psu.edu/

Добавлено спустя 1 минуту 27 секунд:

Не надо называть меня "господин PAV", пожалуйста, мне это неудобно. :wink:

 Профиль  
                  
 
 
Сообщение05.10.2008, 20:11 


11/11/07
80
PAV писал(а):
Не надо называть меня "господин PAV", пожалуйста, мне это неудобно. :wink:

Ок. Постараюсь.

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

Еще к тем сайтам которые предложил PAV попробуйте: http://ieeexplore.ieee.org/Xplore/conhome.jsp и http://www.sciencedirect.com/ там тоже дожна быть информация по этому вопросу.

 Профиль  
                  
 
 Fast ICA и задача распознавания лиц
Сообщение04.05.2009, 21:48 


08/04/07
12
МГТУ им. Н.Э. Баумана
Была поставлена задача написать программу распознавания лиц с использованием метода независимых компонент (Independent Component Analysis), в частности с использованием алгоритма FastICA.
Про сам метод независимых компонент прочитал несколько статей на английском языке, худо-бедно разобрался. Как я понял он используется в задачах слепого разделения источников, однако как можно применить ICA к задаче распознавания лиц я так и не понял.
(родственный PCA используется, например, для снижения размерности)
Соответственно вопрос, как применять метод и вообще с чего следует начинать решать задачу...
Либо подскажите что почитать, англоязычных статей я прочитал достаточно, возможно трудности связаны с переводом. Если есть к.л. литература на русском языке буду благодарен.
Заранее спасибо.

P.S. Если тема не для этого раздела, а для Computer Science перенесите пожалуйста. Я решил, что ближе все-таки раздел математика.

 Профиль  
                  
 
 
Сообщение05.05.2009, 12:42 
Супермодератор
Аватара пользователя


29/07/05
8248
Москва
 !  PAV:
Слито с предыдущей темой

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group