«Свет мой, зеркальце! скажи
Да всю правду доложи:
Я ль на свете всех милее,
Всех румяней и белее?»
А.С. Пушкин
Волшебные вещи из сказок мало-помалу реализуются в настоящей реальности за счет использования новых технологий и научных открытий. Уже реализованы и активно применяются такие девайсы как ковер-самолет (авиация), сапоги-скороходы (автомобили), яблочко на блюдечке (нетбук с интернетом), клубочек который показывает дорогу (GPS-навигатор) и другие нужные вещи. Мы попытались реализовать упомянутую в «сказке о мертвой царевне и о семи богатырях» систему оценки красоты лица человека с помощью методов искусственного интеллекта и машинного зрения, так как считаем, что автором эпиграфа на самом деле подразумевался планшет с фронтальной камерой и специальным установленным софтом.
Вопрос о том, что именно делает лицо человека привлекательным, является темой исследований физиологов, биологов, философов, искусствоведов, специалистов по пластической хирургии на протяжении длительного времени. В настоящее время считается установленным факт, что на людей, помимо индивидуальных предпочтений, влияют и общие биологически-мотивированные принципы оценки красоты [1-2]. Среди возможных кандидатов на типичные признаки физиологи выделяют симметричность черт лица [3], отличие изображения лица от усредненного изображения лиц большого множества людей [4], соответствие пропорций лица «золотому сечению» [5] и др. Например, в [4] показано, что, с одной стороны, симметричные черты лица соответствуют менее подверженным мутациям генам и поэтому люди с такими чертами лица более устойчивы к мутациям и заболеваниям, а с другой – люди с более симметричными чертами лица получают более высокие рейтинги красоты при оценке их фотографий экспертами.
В последние годы появилось несколько пионерских работ, посвященным компьютерным системам распознавания красоты на основе использования систем машинного зрения [6-8] и обучаемых классификаторов. Эти работы могут рассматриваться как попытка наделения робототехнических систем способности «видеть красивое». В [6] в качестве признаков используются пропорции черт лица, при этом ключевые точки на лице выделялись вручную. В [7] в дополнение к пропорциям был применен метод главных компонент для выделения признаков. В [8] для задачи распознавания красоты использовали глубокие нейронные сети.
Мы разработали автоматическую систему оценки красоты, работающую на основе метода выделения ключевых точек на лице с помощью средств библиотеки машинного зрения OpenCV и нейронной сети, обученной целевой задаче на данных экспертных оценок и провели экспериментальную оценку качества ее работы.
База изображений для обучения
Мы собрали собственную базу изображений, состоящую из 180 фотографий лиц молодых женщин, изображения были взяты из открытых источников. Были отобраны фотографии лиц во фронтальной проекции с нейтральным выражением лица, без очков и украшений. Для придания выборке репрезентативности мы постарались включить в базу данных примеры как красивых, так и некрасивых лиц (рис. 1).
Рис. 1. Пример фото лиц из базы изображений
В отличие от работы [7], собранная база включает в себя фотографии женщин разной расы, цвета кожи, а их возраст колеблется от 18 до 35 лет. После того, как изображения были собраны, группе экспертов было предложено выставить субъективные рейтинги эстетической привлекательности для каждой из фотографий по шкале от 1 до 7. Всего для маркировки фотографий было привлечено 8 экспертов, 4 мужчины и 4 женщины в возрасте от 16 до 63 лет, оценки выставлялись независимо. По условиям эксперимента, перед началом процесса выставления оценок каждому эксперту были предъявлены все фотографии для первичного ознакомления. Для проверки согласованности выборки был проведен корреляционный анализ, его результаты представлены в табл. 1.
Таблица 1. Попарные корреляции оценок различных экспертов
Средняя корреляция выборки оказалась на уровне 0,7, что делает возможным обучение нейросети на таких данных и примерно соответствует результатам других исследователей [4,7].
Общая схема работы алгоритма
Система распознавания красоты получает на вход изображение, содержащее фронтальное фото лица человека (рис. 2).
Рис. 2. Схема работы алгоритма распознавания красоты лиц
Перед началом работы алгоритма мы предполагаем, что лицо на изображении уже было выделено ранее и занимает большую часть площади изображения. Далее с помощью стандартного бустингового классификатора Виолы-Джонса, входящего в состав библиотеки средств машинного зрения OpenCV, выделяются области на лице, соответствующие правому и левому глазу, носу и рту.
На основе этих координат рассчитываются основные пропорции лица, которые затем используются в качестве вектора признаков для нейронной сети. Нейронная сеть сначала обучается на этих входных данных с использованием оценок экспертов в качестве целевой выборки, а затем может использоваться для распознавания на новых, ранее не виденных сетью данных.
Выделение признаков
Мы условно разделили выделяемые нами признаки на две группы: отношение расстояний между выделенными ключевыми точками и соотношения найденных размеров лица.
Группа признаков 1 показана на рис. 3, слева: AB/CD, AC/BC, AD/BD, EC/ED, EC/AB, AC/AD, BC/BD. Группа признаков 2 показана на Рис. 3, справа: L/R, Mw/Mh, Nw/Nh, Mw/Nw, Mh/Nh. Итоговый вектор признаков состоит из объединенных признаков обеих групп. Перед подачей на нейронную сеть данные были приведены к диапазону [1;1].
Рис. 3. Расчет векторов признаков по выделенным ключевым точкам на лице
Обучение нейросетей
В качестве обучаемой нейронной сети мы использовали стандартный многослойный персептрон [10, с. 219] с одним скрытым слоем, содержащим 5 нейронов в скрытом слое. В качестве активационных функций нейронов скрытого и выходного слоя использовались функция гиперболического тангенса. Нейросеть была обучена методом расширенного фильтра Калмана [10, с. 219], [11], который является на сегодняшний день одним из самых эффективных методов обучения второго порядка для нейросетей. Перед обучением выборка была разделена на 2 части: обучающую (110 примеров, 60 % выборки) и экзаменационную (70 примеров, 40 % выборки). Результаты обучения представлены в табл. 2.
Таблица 2. Результаты обучения нейросети на задаче распознавания красоты
Мы считаем, что полученный результат корреляции 0.5 на не использовавшейся при обучении экзаменационной выборке очень хорошим для того небольшого количества информации, подаваемой на нейросеть в качестве признаков. Фактически, нейросеть принимает решение на основе анализа строения костей черепа, игнорируя прочие данные, которые принимает во внимание человек при решении аналогичной задачи.
В дальнейшем мы планируем улучшить алгоритм путем расширения базы изображений для обучения, выделения новых ключевых точек на лице и включения в него детектора гладкости кожи.
Оригинал статьи (нашей): Чернодуб А.Н., Пащенко Ю.А., Головченко К.А. Нейросетевая система определения привлекательности лица человека // XV Всероссийская научно-техническая конференция «Нейроинформатика-2013», Москва, 21-25 января 2013, c. 254 — 259.
Список литературы
- Kovach, F. J. Philosophy of beauty//Norman: University of Oklahoma Press. 1974.
- Grammer K, Thornhill R. Human (Homo sapiens) facial attractiveness and sexual selection: the role of symmetry and averageness. // J Comp Psychol, 1994. V. 108. № 3. P. 233-242.
- Rhodes G. The Evolutionary Psychology of Facial Beauty // Annu. Rev. Psychol. 2006. V. 57. P. 199-226.
- Sheib J.E., Gangestad S. W., Thornhill R. Facial attractiveness, symmetry and cues of good genes // Proc Biol Sci. 1999 September 22; 266(1431). Р. 1913-1917.
- Holland E. Marquardt’s Phi Mask: Pitfalls of Relying on Fashion Models and the Golden Ratio to Describe a Beautiful Face //Aesthetic Plastic Surgery, 2008. V. 32, № 2. P. 200-208.
- Aarabi, P., Hughes, D., Mohajer, K., Emami, M. The automatic measurement of facial beauty // IEEE International Conference on Systems, Man, and Cybernetics, 710 October 2001, Tucson, USA. V. 4. P. 2644-2647.
- Eisenthal Y., Dror G., Ruppin E. Facial Attractiveness: Beauty and the Machine // Neural Computation, 2006. V. 18. № 1. P. 119-142.
- Gan J., Li L., Zhai Y. Deep self-taught learning for facial beauty prediction // Neurocomputing. DOI: 10.1016/j.neucom.2014.05.028
- Gray D., Yu K., Xu W., Gong Y. Predicting Facial Beauty without Landmarks // Computer Vision – ECCV 2010, Lecture Notes in Computer Science, 2010, V. 6316/2010. P. 434-447.
- Хайкин С. Нейронные сети: полный курс. М.: Вильямс, 2006.
- Chernodub A.N. Training Neural Networks for classification using the Extended Kalman Filter: A comparative study // Optical Memory and Neural Networks, 2014. Vol. 23, Issue 2, pp 96-103.