Случайное поколение реалистичных человеческих лиц

9

Каков был бы практичный способ создания огромного количества реально выглядящих человеческих лиц? Рандомизация 3D-моделей и их рендеринг потребуют больших вычислительных мощностей, особенно потому, что они нужны мне на разовой основе. Наслаивание отдельных 2D-деталей требует определенного художественного таланта, которого мне определенно не хватает. Кроме того, я хотел бы параметризовать как можно больше аспектов процесса генерации. Есть ли у вас какие-либо предложения, как это сделать?

Waterhouse
источник
Учитывая, как много трудностей у людей- художников создают реалистично выглядящие человеческие лица, как в 2D, так и в 3D, возможность сделать это автоматически таким образом, чтобы можно было создавать сотни или тысячи превосходных примеров без лишнего шума, кажется несбыточной мечтой для обозримом будущем.
Стивен Стадницки
Вы правы. Я должен был быть более конкретным, то, что мне нужно, это не совсем реалистичный фотореализм, но это должно быть более убедительно, чем карикатура на карикатуру.
Уотерхаус
К сожалению, я подозреваю, что «даже столь же убедительная, как карикатурная карикатура» без участия человека в искусстве - это довольно хорошие пути для достижения. Есть много тонкостей, чтобы получить право, и в любой автоматизированной попытке сверхъестественная долина неизбежно вырастет до глубины души.
Стивен Стадницки
Вероятно, можно найти некоторую полезную информацию из этого поста -> gamedev.stackexchange.com/questions/28363/… Что вам нужно сделать, это взять элементы управления, которые игровой движок дает вам для создания лица, и написать код, который генерирует различные комбинации. Ключ создает "реалистичные" комбинации.
Тим Холт

Ответы:

4

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

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

Ссылки, которые также могут быть забавными:

mikera
источник
1
+1; Я думаю, что в целом это хороший подход, но обратите внимание, что все они начинаются с созданных человеком лицевых элементов, которые ОП предположил, что он не хочет использовать.
Стивен Стадницки,
Возможно, вы захотите взглянуть и на makehuman ( makehuman.org ).
Exilyth
1

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

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

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

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

Джейсон Пинео
источник
Очевидно, что не в игре - но с помощью компьютерных алгоритмов обучения (и системы маркировки), предоставляемых человеком, говорящим «да / нет», или путем некоторого сравнения с «Золотым сечением доктора Марквардта»), можно найти алгоритм, который генерирует формы лица (особенности на сетка голова) довольно хорошо. Текстурирование легко наносится на все, что мешает процессу. Вероятно, есть коммерческая система, которая уже прошла через этот процесс (не смотрела).
Wolf5370
Чуть меньше семи лет спустя мы наконец-то реализовали это. Вот результаты.
wizzwizz4
1

Смешайте существующие фотографии человеческих лиц в новые.

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

Это даст вам случайность и реализм.

Более подробно, я бы создал конвейер обработки человеческих лиц, который бы:

  1. Обнаружение различных особенностей (глаза, рот, уши, лоб, подбородок, челюсть, скула и т. Д.)
  2. Используя местоположение обнаруженной функции, разбейте изображения на компоненты.
  3. Рандомизируйте параметры позиционного и размерного шаблона.
  4. Поместите случайно выбранные компоненты на сгенерированный шаблон.
  5. Смешайте функции друг с другом. (сглаживание границ, тон, цвет и т. д.)

Некоторые быстро нашли ресурсы:

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

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

Brice
источник