Синтетические изображения обычно выглядят неестественно, не по-человечески, и тренированный глаз сразу их отличает от настоящих. Проект Weird Faces Study — это попытка объединить традиционную технику «человеческого» рисунка и компьютерные алгоритмы. Результат — сгенерированные компьютерные лица, каждое из которых уникально и выглядит как оригинальная авторская работа.
Генератор лиц Weird Faces Study написан на JavaScript с использованием библиотеки PaperJS в рамках обучающего курса по PaperJS, который читают в Калифорнийском университете в Лос-Анджелесе.
Собственно, алгоритм генерации лиц состоит из 9 шагов.
- Нарисовать форму лица.
- Нарисовать складку внутри формы.
- Найти центр фигуры, нарисовать нос.
- Нарисовать глаза, основываясь на местоположении носа и радиусе, чтобы они не пересекались.
- Нарисовать брови, основываясь на местоположении глаз и их радиусе.
- Нарисовать рот, основываясь на местоположении глаз и носа, чтобы они не пересекались.
- Нарисовать щёки, учитывая форму лица и радиус головы.
- Нарисовать уши снаружи лица.
- Нарисовать волосы снаружи лица.
В результате, компьютер создаёт минимальный набор графических элементов, который распознаётся человеческим мозгом как лицо.
PaperJS — одна из нескольких существующих библиотек для рисования в вебе, наряду с Processing.js и Raphaël.
Возможно, алгоритмы генерации уникальных лиц могут пригодиться в будущем для автоматического рендеринга мультфильмов по автоматически сгенерированным сюжетам.