Содержание

Нейросеть создаёт 3D-модели лиц по одной фотографии — Офтоп на TJ

То, что совсем недавно требовало серьёзной работы, искусственный интеллект теперь делает за пару секунд.

Осторожно, в материале много гифок!

7 сентября специалисты британских Университетов Ноттингема и Кингстона представили проект по 3D-реконструкции лиц на основе одного изображения. Для этого исследователи создали нейросеть, через которую пропустили множество объёмных 3D-моделей людей и обычных портретов. Таким образом алгоритм научился довольно качественно воссоздавать объёмные лица людей на основе всего одного снимка.

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

В Университете Ноттингема смогли избавиться от ошибок и ограничений, обучив свёрточную нейронную сеть (архитектура таких нейросетей нацелена на распознавание изображений) на большом количестве двухмерных изображений и трёхмерных моделей и сканов. Как пояснили исследователи, они добились того, что алгоритму требуется всего одно изображение человека, причём система сможет построить модель с разными позами и эмоциями и даже если часть лица не видна. По словам учёных, они использовали простую архитектуру прямой регрессии объёмного изображения от единственного двухмерного снимка.

Проверить работу искусственного интеллекта можно на сайте исследователей. С 7 сентября пользователи сети загрузили 210 тысяч лиц и просмотрели объёмные модели почти полмиллиона раз. Разработчики обещают удалять все изображения и 3D-маски через полчаса после загрузки и никогда не использовать их вновь.

TJ провёл собственный тест нейросети, загрузив в неё фотографии известных предпринимателей, актёров, политиков, персонажей из популярных фильмов и мемы.

Путин

В случае с президентом России искусственный интеллект справился не особо хорошо

Навальный

С оппозиционным политиком Алексеем Навальным, вышло, наоборот, неплохо

Борис Ельцин

Павел Дуров

Олег Тиньков

Дональд Трамп

Дмитрий Медведев

Дмитрий Песков

Пресс-секретарь президента и его усы

Том Круз

Смеющегося Тома Круза как-будто подменило «Нечто»

Леонардо Ди Каприо

Эмилия Кларк

Мать драконов и её дитя

Наталья Поклонская

Кара Делевинь

Дженнифер Лоуренс

Саша Грей

Алгоритм не всегда хорошо срабатывает с лицами темнокожих людей, однако со сгенерированным на компьютере персонажем из «Аватара» он справился с первого раза.

#нейросети #офтоп

tjournal.ru

Получение морфируемой 3D-модели лица на основе фотографии в произвольном ракурсе

Привет, Хабр! Представляю вашему вниманию перевод статьи «Learning 3D Face Morphable Model Out of 2D Images».

Трёхмерная морфируемая модель лица (3D Morphable Model, далее 3DMM)  —  это статистическая модель структуры и текстуры лица, которая используются компьютерном зрении, компьютерной графике, при анализе человеческого поведения и в пластической хирургии.

Неповторимость каждой черты лица делает моделирование человеческого лица нетривиальной задачей. 3DMM создётся для получения модели лица в пространстве явных соответствий. Это означает поточечное соответствие между полученной моделью и другими моделями, позволяющими выполнять морфирование. Кроме того, в 3DMM должны быть отражены трансформации низкого уровня, такие как отличия мужского лица от женского, нейтрального выражения лица от улыбки.

Исследователи из Университета Мичигана предлагают новейший метод получения 3DMM лица, основанный на глубоком обучении. Используя высокую эффективность глубоких нейронных сетей для осуществления нелинейных отображений, их метод позволяет получить 3DMM на основе 2D изображения, снятого в произвольной обстановке.

Более ранние подходы

Обычно 3DMM получают с помощью набора 3D сканов лиц и набора 2D изображений этих же лиц. Общепринятый подход заключается в использовании редукции размерностей при обучении с учителем, которая выполняется с помощью применения анализа главных составляющих (Principal Component Analysis – PCA) на тренировочном наборе данных, состоящем из 3D сканов лиц и соответствующих 2D изображений. При использовании линейных моделей, таких как PCA, нелинейные трансформации и лицевые вариации не могут быть отражены в 3DMM. Более того, для моделирования точных 3D текстур лиц необходимо большое количество «3D информации». Таким образом, использование данного подхода оказывается неэффективным.

Предлагаемый метод

Идея предлагаемого метода заключается в использовании глубоких нейронных сетей или, более конкретно, свёрточных нейросетей (которые лучше подходят для рассматриваемой задачи и менее затратны в плане времени вычислений, чем многослойные перцептроны) для получения 3DMM. Кодирующая нейросеть (энкодер) принимает на вход изображение лица и генерирует параметры текстуры и альбедо лица, с помощью которых две декодирующих нейросети (декодеры) оценивают текстуру и альбедо.

Как было указано ранее, линейная 3DMM имеет ряд проблем, таких как необходимость наличия 3D сканов лиц, невозможность использования изображений, снятых в произвольном ракурсе и ограниченная точность представления из-за использования линейной PCA. В свою очередь, предлагаемый метод позволяет получить нелинейную 3DMM модель на основе 2D изображений лиц высокого разрешения, снятых с произвольного ракурса.

Планарное представление

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

Три различных представления альбедо. (а) – 3D представление, (в) – альбедо как 2D фронтальное изображение лица, (с) – планарное представление.

Планарное представление. x, y, z и суммарное представление текстуры.

Архитектура нейросети

Исследователи спроектировали нейросеть, которая, принимая на вход изображение, кодирует его в вектора текстуры, альбедо и освещения. Закодированные скрытые вектора для альбедо и текстуры декодируются с использованием двух декодеров, в качестве которых используются свёрточные нейросети. На выходе декодеры выдают блики лица, его альбедо и 3D текстуру лица. С использованием этих параметров, дифференцируемый рендеринг-слой генерирует модель лица посредством совмещения 3D текстуры, альбедо, освещения и параметров расположения камеры, полученных энкодером. Архитектура представлена на схеме ниже.

Архитектура предлагаемого метода для получения нелинейной 3DMM

Получаемая устойчивая нелинейная 3DMM может быть использована для 2D наложения лиц и решения проблемы трёхмерной реконструкции лиц.

Схема рендеринг-слоя

Сравнение с другими методами

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

2D наложение лица

Одно из приложений метода — наложение лиц, что должно существенно улучшить анализ лиц в ряде задач (к примеру, распознавание лиц). Наложение лиц – непростая задача, но рассматриваемый метод показывает высокие результаты при её решении.

Результаты 2D наложения лиц. Невидимые пометки отмечены красным. Рассматриваемый метод отражает необычные позы, освещение и выражение лица.

3D реконструкция лица

Рассматриваемый метод также был приведён к сравнению на примере 3D реконструкции лица и показал выдающиеся результаты по сравнению с другими методами.

Количественное сравнение результатов 3D реконструкции

Результаты 3D реконструкции в сравнении с методом Sela и др. Предлагаемый метод сохраняет волосы на лице и другие особенности лица намного лучше, чем этот метод.

Результаты 3D реконструкции в сравнении с VRN от Jackson и др. на примере известного датасета CelebA.

Результаты 3D реконструкции в сравнении с методом Tewari и др. Как видно, предлагаемый метод решает проблему сжимания лица при наличии различных текстур (таких как волосы на лице).

Редактирование лица

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

Результаты добавления бороды. Первая колонка содержит исходные изображения, последующие – разные степени изменения бороды.

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

Вывод

Предлагаемый метод, предположительно, получит широкое распространение, так как он позволяет получить точную и устойчивую 3DMM. Хотя 3DMM была широко распространена с момента своего создания, до появления рассматриваемого метода не существовало эффективного получения этой модели с помощью 2D изображений с произвольного ракурса.

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

Перевод — Борис Румянцев.

habr.com

Создание игровых 3D-моделей «для бедных»: путь инди / Habr

Вы когда-нибудь задумывались о том, как работает небольшая инди-студия, занимающаяся разработкой видеоигр?

Создавать игры с очень маленьким бюджетом можно, но для этого необходима смекалка, много труда и ещё больше любви к своему делу.

Мы — небольшая команда из Польши. Нас всего три человека, но полный рабочий день занимаются проектом всего двое.


Сегодня мы расскажем о процессе создания персонажей для нашей игры «The end of the Sun». Имейте в виду, что показанные в статье скриншоты взяты из проекта, который пока находится в разработке.

Этот текст посвящён только статичным элементам персонажей: мы расскажем, как сканировали персонажа и одежду, как создавались дополнительные элементы, а также о том, как мы настроили движок Unity, чтобы получить такие скриншоты:







Но начнём с начала. Прежде чем приступать к работе, мы подготовили список свойств, необходимых нашим персонажам:

  1. 80% элементов нашей игры сканируется с помощью фотограмметрии. Кроме того, мы хотели придать нашим героям человеческий внешний вид, поэтому решили сканировать лица людей.
  2. Красивые волосы, совместимые с игровым движком Unity.
  3. В нашей игре можно будет встретить одного и того же персонажа в разные периоды его жизни. Что это значит? Нам нужно было создать целых четыре версии персонажей для каждого периода (ребёнок, подросток, взрослый, пожилой). Поэтому нам важно было найти способ как можно более быстрого создания пожилых версий персонажей.
  4. Чтобы подчеркнуть у персонажей славянский внешний вид, типичный для тех мест, где мы живём, также была отсканирована традиционная народная одежда.
  5. Некоторые элементы, которые не существуют в реальном мире или невозможно отсканировать, мы создавали вручную стандартным способом (3D-моделированием).
  6. Каждый элемент персонажа можно включать или отключать. Что это значит? Например, мы можем заменить юбку персонажа, снять шляпу, если она не нужна. Это даёт широкие возможности по созданию нового внешнего вида — в одной катсцене герой может быть без рубашки, во второй — полностью одетым.
  7. Наши персонажи неинтерактивны, то есть игрок не может ими управлять (по крайней мере, напрямую). Но это игра об их истории, поэтому нам очень важно иметь возможность управления всем персонажем с движением лицевых мышц (об этом подробнее будет рассказано в другом посте).


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

Итак, составив список, можно приступать к работе над графикой.

1. Фотограмметрия лица и подготовка трёхмерного тела


Актриса в процессе фотограмметрии.

Фотогра… что?

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

Обратимся к Википедии:

Фотограмметрия — научно-техническая дисциплина, занимающаяся определением формы, размеров, положения и иных характеристик объектов по их фотоизображениям.

Другими словами: фотограмметрия — это способ восстановления 3D-глубины по нескольким фотографиям (или множеству снимков) для создания трёхмерной виртуальной модели, выглядящей как объект в реальном мире.

В крупной AAA-студии с большим бюджетом для сканированимя персонажа используется множество камер. Они располагаются вокруг актёра и делают кучу снимков примерно в одинаковое время…

… Но что если у нас есть только одна камера?

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

Мы сделали множество попыток, поэтому вот советы по созданию снимков только одной камерой:

Актёр или актриса не должны двигаться, пока вы не закончите делать снимки лица. Они не могут даже моргать и дышать. (Съёмка обычно занимает около 10-20 секунд, но этого всё равно сложно добиться)

Нам приходилось очень быстро делать снимки с разных сторон актрисы. Для этого мы использовали режим серии фотографий (burst mode). Иногда возникали проблемы с фокусировкой, но так снимки сделать быстрее всего, чтобы актриса оставалась неподвижной.

Лучше посадить актёра на кресло с подлокотниками, так проще сидеть неподвижно.

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

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

Для такой схемы используйте не менее четырёх софтбоксов, чтобы улучшить текстуру и снизить объём постобработки.

Используйте как можно более высокую скорость затвора, чтобы избежать размытия в движении, а также как можно меньший размер диафрагмы (я имею в виду f.5 и выше), чтобы получать на фотографиях широкий диапазон фокусировки. Именно для этого нужны как минимум четыре очень мощных софтбокса. Разумеется, ISO должно быть как можно меньше, чтобы избежать шума.

Для анализа фотографий и создания модели мы использовали ПО Photoscan 3D. Вот как выглядит облако точек после обработки фотографий:


Облако точек и визуализация схемы расположения фотографий.

Как видите, здесь есть фотографии сверху и снизу персонажа, но сейчас я могу сказать, что мы не рекомендуем их делать. Гораздо лучше сделать примерно 8-12 хороших фотографий передней части лица (дуги от левого до правого уха). Это даёт намного более качественные результаты для текстуры и модели. Единственный недостаток в том, что шею модели нужно создавать вручную, но это небольшая проблема.

После создания облака точек мы перерабатываем его в трёхмерную высокополигональную модель:


Уже выглядит лучше, правда? Но на 3D-модели видно много шума:

Он возникает по следующим причинам:

— Размытие движения при очень быстром создании снимков

— Микродвижения нашей актрисы (да, даже перемещение лица на 1 миллиметр приводит к подобному шуму)

Большинство из вас наверняка думает, что это выглядит ужасно, и вы правы. Именно поэтому мы сделали ещё несколько шагов.

Теперь можно сделать операцию под названием «ретопология». Это техника создания 3D-модели более простой и оптимальной формы на основе высокополигональной модели.

Вот как это выглядит на практике:


Ретопология персонажа.

Это делается потому, что показанная выше модель содержит более миллиона треугольников. Обычный компьютер для работы с частотой кадров 30-60 fps способен обрабатывать 5-6 миллионов. (Эта информация даётся просто для общего понимания, на самом деле, на производительность влияет множество других аспектов.) То есть в игре может отображаться всего несколько моделей с таким количеством треугольников.

Ещё один важный аспект ретопологии — это создание гладкой модели лица, готовой к лицевой анимации. Для выполнения ретопологии мы используем ПО Topogun 2.

Вот наша модель лица после ретопологии (мы отполируем её позже, после текстурирования):


Затем мы запекли (в сленге 3D-графики это означает просто подготовку/создание) текстуру лица с помощью наших фотографий, Эта операция выполняется почти автоматически. Именно поэтому мы решили использовать фотограмметрию — модель лица и хорошая текстура делают наш персонаж естественным.
Хм, тут ещё многое предстоит сделать — как видите, в текстуре есть небольшие ошибки. Ещё одна небольшая проблема заключается в отсутствии задней части головы и глаз.

Поэтому следующим этапом будет создание неотсканированных элементов и элементов, которые невозможно отсканировать, например ресниц, волос, глаз. Поэтому давайте узнаем, как это делается. Мы используем ещё один программный пакет под названием Cinema 4D. В этом ПО мы можем создать остальные части модели и усовершенствовать её текстуру.



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

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

Немного поискав, мы обнаружили отличный способ создания 3D-тел для наших отсканированных лиц. Мы используем для этой задачи бесплатное для коммерческого использования ПО Make human. С помощью этого софта можно создать целое тело, даже с лицом и скелетом. Достаточно просто передвигать ползунки, пока не получишь нужный результат, к тому же у него будет скелет, совместимый с движком Unity 3d.


Поэтому всего за несколько минут мы получили целое тело с отличной топологией и даже весами, готовое к анимированию! (Если вы не понимаете, о чём я говорю, то прочитайте второй пост об анимировании персонажей, который скоро выйдет!) Это очень полезное ПО.

Единственная проблема в том, что нам нужно уничтожить часть модели, отрезав от тела голову (звучит страшновато). Нам нужно это сделать, чтобы заменить её отсканированной моделью.

Самое важное здесь то, что благодаря ПО Make human у нас есть веса на костях, подготовленные к анимированию.


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

На создание правильной системы лицевых костей может уйти целый день (да, я знаю, на лице не кости, а мышцы, но так они называются в 3D-графике).


Разумеется, для создания красивых текстур нужно ещё и много труда. Мы используем Frequency Separation Technique в Photoshop для устранения засветов и ретуши кожи. Так создаётся рабочий процесс, хорошо подходящий для устранения из текстур ненужного освещения (даже когда это отсканированная модель камня, а не человеческого лица). Вам тоже стоит попробовать этот процесс. (В интернете есть множество информации о Frequency Separation.)

Финальная Albedo-текстура выглядит так: (простите, но до выпуска игры мы не хотим выкладывать текстуру большого разрешения)


Albedo-текстура

А вот как выглядит модель с уже наложенной albedo-текстурой.



Теперь мы добавляем зубы, язык и глаза:
Вот как выглядит готовая модель из соединённых вместе отсканированного лица и тела с готовой текстурой (цензура наложена, чтобы можно было делиться картинкой в соцсетях).
Готовый внешний вид 3D-тела и лица.

2. Создание волос головы и ресниц реального времени.

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

Поэтому мы создали волосы из полигонов с наложенной на них текстурой с прозрачностью.

Как это работает? Сначала мы моделируем полигоны в форме волос, а затем располагаем их на голове персонажа и перемещаем/распределяем с помощью инструментов 3D-моделирования. (В нашем случае Cinema 4D.) Также можно сделать это в генераторе сплайнов — создать сплайн с динамическим мешем вдоль него, тогда манипулирование волосами упростится.

Итак, все причёски создавались из таких частей:


Волосы без материала выглядят так:

Вот причёска с наложенной готовой текстурой:

А вот как выглядит причёска со скриншотов, которая показана в начале поста.

Как видите, мы можем менять причёски, поэтому нет никаких проблем, например, в добавлении пожилому персонажу причёски молодого.



Разумеется, при создании волос мы используем Photoshop и BodyPaint 3d для отрисовки полос на волосах и элементов разных форм. Вы можете использовать любое другое ПО, но было бы здорово, если бы в нём присутствовал режим просмотра альфа-прозрачности в реальном времени. Тогда вы точно будете видеть, что делаете (а не только серые полосы на голове персонажа).

Текстура волос выглядит следующим образом:


Albedo-текстура волос с прозрачностью

Чтобы придать волосам естественность поведения, мы пробовали использовать на меше волос компонент ткани Unity 3d, чтобы добавить небольшой эффект ветра или гравитации, но подробнее об этом в другом посте.

3. Создание пожилых версий персонажей


«Girl you’ll be a women soon»

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

Я покажу, как мы сделали красивую девушку намного старше. Мы просмотрели множество видео, картинок и интернет-страниц о том, как стареет человеческое тело.

Дело не только в морщинах, свою форму меняет всё лицо человека. Подробнее об этом можно прочитать например здесь.

В статье я расскажу о технической стороне вопроса. Итак, сначала мы завершили 3D-модель молодого персонажа со всеми костями. Это очень важно, потому что на подготовку скелета и добавление весов уходит очень много времени. После этого мы просто скопировали её и начали работать с копией модели. Благодаря такому рабочему процессу нам не нужно заново заниматься оснасткой (риггингом) пожилой версии персонажа, потому что в ней используется та же система скелета. Это гораздо важнее в движке. Подобная система ускоряет загрузку и выгрузку ресурсов, потому что мы загружаем/выгружаем только нужное нам.

Итак, сначала мы изменяем базовый меш и опускаем некоторые части лица к земле, как это делает при старении мать-гравитация. Нос, щёки, брови, уши. Но мы не слишком увлекаемся, потому что модель имеет те же лицевые кости, что и модель молодого персонажа. (То есть при слишком сильном изменении базового меша могут возникнуть проблемы.)


Только деформация меша

Затем мы наносим скульптингом крупные морщины и детали в каком-нибудь ПО для скульптинга. Например, вы можете воспользоваться бесплатным Scupltris. Затем мы запекаем их в текстуру, называющуюся картой нормалей. Почему? Потому что она даёт нам показанный ниже результат без добавления лишних треугольников в модель. (Чтобы ваш PC смог справиться с её обработкой.) Также мы создаём карту нормалей некоторых деталей на основании текстуры кожи, а затем смешиваем их вместе.


Меш плюс карта нормалей

Наконец, мы добавляем морщины на albedo-текстуру (текстуру с базовым цветом). Мы сделали снимки нескольких пожилых людей, а затем добавили к модели морщины с помощью смешения в Photoshop.


Меш плюс карта нормалей крупных деталей и albedo-текстурой старой кожи

Итак, в результате в коже нашей модели пожилого персонажа используется карта нормалей деталей и albedo-текстура. Мы также подготавливаем текстуру подповерхностного рассеяния (subsurface scattering, эффект просвечивания света сквозь кожу) и specular-карту, но в том, что вы видите на экране, используются только albedo и карта нормалей (смешанные в одну карта нормалей крупных деталей + карта нормалей деталей).

Здесь мы можем видеть следующие части:

1. Albedo-карту.

2. Карту нормалей крупных деталей, основанную на вылепленных деталях модели.

3. Карту нормалей крупных деталей, смешанную с деталями кожи, созданными из albedo-текстуры.




Пожилой персонаж выглядит гораздо лучше в движке Unity 3D, где мы используем подходящие шейдеры:

А вот соединённые в Photoshop две версии персонажа (размещённые в движке в одном месте)

4. Сканирование для персонажей настоящей одежды.

Итак, мы добрались почти до конца, но чтобы добиться финального внешнего вида персонажа, предстоит ещё многое сделать.

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

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

— Самое важное — закрепить конструкцию, чтобы одежда была неподвижной; ещё лучше расположить одежду в устойчивой T-позе. Что это значит? Это поза с широко расставленными руками, стандартная позиция для персонажей игр, к которым применяется анимация. Также в такой позе лучше всего сканировать одежду.

Для этого мы купили манекен. Нам не удалось сразу найти манекен в T-позе, поэтому съёмка под руками была очень сложной, а ещё больше работы требовалось на совмещение 3D-моделей отсканированной одежды с руками, опущенными вдоль тел персонажей. Изначально система выглядела так:


Наш первый манекен с опущенными вниз руками

… поэтому мы модифицировали его, чтобы он поднял руки. Мы сделали новые руки из ПВХ-трубы. Вот как теперь выглядит наш «трубонекен» в T-позе:


У этого манекена руки сделаны из ПВХ и он поставлен в T-позу
Мы можем снимать эту трубу, чтобы упростить одевание манекена.
Ну ладно, это отлично, но зачем на нашем пластмассовом друге эти чёрные точки?

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

Вот как выглядит на нём одежда, в данном случае меховая (в T-позе):


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

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


Красная часть — это элементы меха, созданные вручную с альфа-каналом
Вот как это выглядит без текстуры

— Некоторые типы объектов сканировать проще, например, эта матовая юбка выглядит очень хорошо, потому что сделана из матового материала. Также здесь мы использовали HDR-снимки, чтобы получить больше информации в тенях и засветах, но hdr-фотограмметрия занимает кучу времени. Почему? Потому что каждый снимок нужно делать со штатива, иначе фотографии будут размытыми. Теперь представьте уровень раздражения, когда спустя час работы одна из наших кошек просто прыгнула на этот мех. Нам пришлось всё начинать с начала.



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

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



— Венок тоже делался аналогично волосам, с использованием прозрачности. Он ещё не готов, но его видно на скриншотах:
Ну, на этом пока всё об одежде.

5. Соединение всего в игровом движке.

Ранее я говорил, что мы используем движок Unity 3D. Расскажу о том, какие шейдеры и настройки мы использовали, для того чтобы модель выглядела как на скриншотах.

Для всех элементов персонажей мы сейчас используем бесплатный Alloy Shader. Мы выбрали его, потому что в нём есть всё необходимое нам, особенно опция растворения для каждой вариации шейдера и многие другие опции в сегментах. Вы можете использовать любой другой шейдер, но мы пользуемся Alloy (кроме того, он бесплатен).


Различное положение света даёт интересные эффекты

— Кожа: для этой части персонажей мы используем шейдер кожи с эффектом подповерхностного рассеяния и передачей света. Что такое эффект подповерхностного рассеяния? Это симуляция фактора прохождения освещения сквозь кожу. Посмотрите на сделанные нами снимки:


Вот как выглядит подповерхностное рассеяние на руке в реальном мире

Как видите, освещение (если оно достаточно сильное) проходит сквозь кожу.

Это придаёт очень естественный внешний вид, особенно при слабом освещении. Можно увидеть, как этот эффект ведёт себя в The End of the Sun на примере этого gif и показанных выше скриншотов. (Учтите, что пока у модели даже нет specular-текстуры и Subsurface-карты, поэтому на финальном этапе она будет выглядеть немного лучше.)


— Глаза: как известно, глаза — зеркало души. И это правда — очень сложно придать персонажу естественный вид, не сделав его глаза идеальными. Глаз — это не просто сфера. Он плоский там, где находится радужная оболочка, а зрачок даже ещё ниже. Именно поэтому мы используем шейдер Parallax. Это поверхность, создающая иллюзию того, что глубже есть что-то ещё, и она даёт очень хорошие результаты!

Глаза с дополнительной прозрачной сферой большего размера для эффекта дальнего отражения
Глаза без этой сферы.

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


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

6. Окончательные результаты

Под катом представлена полная галерея того, как выглядит финальная версия персонажа в движке Unity 3D: (но он по-прежнему находится в разработке)

habr.com

Создание 3d модели портрета по фотографии

Я принимаю заказы на изготовление 3d моделей по фотографиям, эскизам, чертежам, описанию и т.п. Модель будет сделана в программах 3DsMax и Zbrush. Вы получите файлы в формате obj, stl, 3ds. Они отлично подойдут для фрезеровки и печати. Модель по фотографии может быть в разных вариантах, таких как просто портрет, портрет с руками, фигура полностью. Различные позы, возможное добавление различных декоративных элементов, таких как: рамка, узоры, основа. Цена зависит от сложности предполагаемого изделия.

 

Образец 3d модели барельефа, Вы можете скачать бесплатно

Модель в формате: 3ds, obj, stl

Кол-во полигонов: 805 236


3d модель «Портрет А. Джоли»

Файлы в архиве (RAR размер: 40,5 МБ):
3d-portret-po-foto_3d-prom_ru.STL — 37,4 МБ
3d-portret-po-foto_3d-prom_ru.MAX — 31,5 МБ
3d-portret-po-foto_3d-prom_ru.OBJ -85,7 МБ

Цена: бесплатно

Скачать →


 

Если Вы хотите заказать такой портрет отправьте свою заявку

Используйте социальные сети для быстрой связи со мной:


Также Вы можете написать письмо на почту [email protected]
Либо воспользуйтесь данной формой, укажите свой e-mail и я отвечу в ближайшее время




 

Примеры выполненных работ:



 

Комментарии (10)
Denis
Здравствуйте, а может быть выполнена 3D модель головы для последующего использования в Daz3d?
Елена
Здравствуйте! Достаточно ли будет для создания 3d головы только одной фотографии анфас? Сколько будет стоить создание такого чертежа?
Тигран
Добрый день,
Возможно ли по фотографии персонажа выполнить 3D модель полноценной объёмной скульптуры либо бюста?
Жибек
Здравствуйте! Анджелина Джоули — создание такого 3d-портрета сколько стоит. Вам достаточно одной фотографии?
Антон
Александр, добрый день. Созданием моделей для лазерного гравера не делаю. На сколько я понимаю это 2d рисунок, я делаю 3d модели. Если есть необходимость можете посмотреть бесплатные 3d модели на сайте для ознакомления.
Александр
Добрый день. Занимаемся лазерной гравировкой. Был ли у вас опыт изготовления моделей
под лазерный гравер? сколько стоит изготовление модели?
Можете выслать пробный файл, чтобы мы попробовали сделать гравировка в латуни.
Arkadiy
Здравствуйте, интересует стоимость барельефа по фото.
Сергей
Интересует изготовление стилизованного бюста. Если это Вы можете-пожалуйста, свяжитесь со мной
Антон
Alex, создание такого 3d портрета стоит 3000 руб, срок в среднем 3 дня.
alex
здравствуйте хотелось бы узнать стоимость такого портрета и сроки изготовления файла. спасибо
Оставить комметрарий:

www.3d-prom.ru

Создание 3D-модели объекта по фотографиям студия промышленного дизайна KLONA, Москва

Создание 3D-модели объекта по фотографиям относится к дисциплине фотограмметрии. Существует два больших направления в фотограмметрии:


  • фототопография, которая помогает составлять карты и планы местности;

  • прикладная фотограмметрия, которая нужна в строительстве, архитектуре и криминалистике.

Для производства также используют 3D-моделирование по фотографии. С помощью набора фото можно произвести точную 3D-модель и создать копию объекта.


Изначально фотограмметрия использовалась только для воссоздания ландшафтов и построения карт. Сегодня она работает лучше, так как мощные цифровые камеры позволяют получить качественное изображение объекта, что упрощает процесс 3D-моделирования.



3D-объект из фотографий — статуэтка по фото


3D-моделирование по фотографии: техники


Основная причина использования этого метода — отсутствие чертежей или самого объекта рядом с 3D-моделлером. Эта технология полезна тем, что позволяет моделировать большие объекты, не снимая замеры. Также она подходит для территорий или объектов, находиться на которых человеку небезопасно.


3D-моделирование по фотографии также используют археологи, чтобы презентовать результаты раскопок.


Читайте также: Промдизайн: 7 новых продуктов, которые упрощают жизнь



3D-модель фигурки по фото


Сделать 3D-модель по фотографии: применение в кино и играх


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

На основе их фотографий рисуют персонажей, это добавляет им реалистичности и гармонизирует персонажа. Так, прототипом джина из «Алладина» стал Робин Уильямс, а характерная внешность злой королевы из белоснежки — заслуга Джоан Кроуфорд, звезды первой величины эпохи Золотого Голливуда.


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



Изготовление 3D-модели по фотографии: пример Disney


Разработка 3D-модели по фото: услуги прототипирования


В случае, если у заказчика есть фотографии готового изделия, копия или вариация которого нужна, 3D-модель можно изготовить по ним. Важно, что если деталь сложная, то нужно много фото с разных ракурсов. Конечно же, если есть возможность предоставить 3D-моделлеру само изделие, а не фото, лучше так и сделать.


3D-модель по фотографии: промдизайн


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


Построение 3D-модели по фотографии: правила


Для получения качественной и точной 3D-модели нужно придерживаться определенных правил.


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

  2. Большой объект может не получится вращать. Если платформу для автомобиля найти еще реально, то вращать жилое здание не получится, если вы не Халк, конечно же. Поэтому придется вращаться вокруг объекта, держа всегда одинаковую дистанцию, с какой бы стороны ни велась съемка. Если все это вызывает затруднения, то можно вызвать фотографа компании KLONA, и он сделает снимки вместо вас. Также, если фотографировать совсем не получается, можно снять замеры с изделия.

  3. Фотокамеру нужно позиционировать в вертикальной и горизонтальной плоскости, поэтому штатив должен быть с уровнем.

Обязательными являются как минимум 3 фотографии предмета: нужен вид сбоку, спереди и сверху. Необязательным, но желательным, является фото в полупрофиль.


Читайте также: 7 заблуждений заказчика о промдизайне


Построение 3D-модели по фото: дополнительные рекомендации


  • Результат будет лучше, если поместить объект на однотонном фоне.

  • Фон с маркировкой — калиброванный стенд, он поможет получить более точную 3D-модель.

  • Изображения нужно конвертировать или сохранить в формате .JPG.

  • Высота и ширина всех изображений не должны отличаться.

  • Важно пронумеровать все изображения, разместив их последовательно.

Создание 3D-модели по фотографии: обзор программного обеспечения


В этом разделе мы расскажем о программах, которые помогут превратить набор фотографий в 3D-модель, однако важно помнить, что они любительские и используются для малобюджетных проектов. И если вам нужна качественная 3D-модель, с помощью которой нужно изготовить партию изделий, обратитесь в студию КЛОНА. С нами вы быстрее получите требуемый результат.


CrazyTalk — программа для создания лицевой анимации. В нее встроена технология 3D Head Creation, что повышает точность полученных моделей. Также она позволяет имитировать движение губ, что увеличивает реалистичность.




3D-моделирование и лицевая анимация по фотографии


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


Headshop — программа для моделирования лиц по портретным фотографиям. Кроме загрузки фото потребуется отметить на них опорные точки, и лишь потом приступить к моделированию.


Strata Foto 3D — программа, которая превращает фотографии в 3D-модели. Её главным преимуществом является возможность импортировать и экспортировать изображения в Photoshop. В отличие от предыдущих примеров, Starta в основном используется для интернет-магазинов и приложений.



3D-объект из фотографий: Starta


360.3D — более функциональная программа, для которой потребуется от 4 до 8 фотографий изделия. В программном обеспечении предусмотрено 3 уровня работы в зависимости от навыков моделлера. Она подходит для профессиональных разработчиков и для начинающих специалистов, нужно только выбрать свой уровень подготовки. 360.3D лучше всего подходит для создания виртуальных туров. Среди функций — возможность настроить фон, выставить свет и добавить анимационные эффекты.


123В — наиболее простая в применении программа,так как для работы с ней подойдут фото не только с профессиональной камеры, а и изображения, полученные с помощью телевизионной камеры или планшета. Она популярна среди новичков и тех, кто пользуется трехмерным редактором Autodesk, так как 123В выпустили ее создатели.


3D-моделирование по фотографии: главные моменты


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

  2. В любом случае потребуется редактирование полученной 3D-модели, а для сложных моделей этот процесс может затянуться.

  3. Если внутри модели есть детали или что-то, что нужно отразить, то придется моделировать вручную.

  4. 3D-модели, полученные после фотомоделирования, могут значительно отличаться габаритами от исходного предмета.

3D-моделирование по фотографии: преимущества


  1. Позволяет создать 3D-модель габаритного объекта.

  2. Дает возможность моделировать существующие объекты, не сталкиваясь с ними вживую.

  3. Позволяет не проводить замеры предмета.

  4. Сделать 3D-модель по фотографии можно, не имея чертежей.

  5. Разрешает не обращать внимания на внутреннее устройство объекта.

  6. Подходит для 3D-моделирования лиц и используется при разработке малобюджетных игр и анимации.

  7. Также используется для создания виртуальных туров по салонам, гостиницам и торговым центрам, демонстрации товаров в онлайн-магазинах.

  8. Является хорошим способом, если нужно один раз напечатать 3D-модель объекта и важен сам факт ее наличия, а не качество.

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


Контактная информация:


+7 (499) 112 08 50


+7 (910) 479 24 20


[email protected]

klona.ru

3D модель из фото за несколько минут.: ravvinoff — LiveJournal

3D наступает. 3D проектирование сложнейших механизмов, создание 3D дизайнов интерьеров, 3D картография, 3D моделирование и печать всевозможных изделий.

В общем 3D плотно входит в нашу жизнь. Но есть одна очень серьезная помеха – чтобы пустить 3d в свою жизнь надо уметь моделировать. А для этого нужны недешевые программы для построения 3D моделей, да еще и не слабо в них разбираться. И тут возникает резонный вопрос «а оно мне надо?» или «нафига козе баян?» ну или что-то типа того.

Лайфхак:.

Кубики в детстве собирали? Так есть возможность моделировать еще проще чем кубики строить (гравитация не мешает☺☺☺) Да еще и без покупки дорогого ПО. За несколько секунд создать 3d модель лица? Без проблем. Не так давно появился сервис, моделирующий лица из фотографий, еще точнее, всего по одной фотографии в анфас.
Загружаем фотографию, например, та что в начале поста и немного ждем.

Всего через несколько минут получаем результат.

Можно скачать модель лица в файле obj и распечатать на 3d принтере.

Раскрасить и будет как настоящий☺
Сервис по созданию 3D моделей лиц из фотографии http://www.cs.nott.ac.uk/~psxasj/3dme/

ravvinoff.livejournal.com

Нейросеть выполняет 3D-реконструкцию лица по фотографии / Habr


Некоторые результаты применения метода VRN — Guided на изображениях из набора AFLW2000-3D

В интернете есть ряд стартапов, в том числе российские, которые занимаются восстановлением 3D-структуры лица по фотографиям. Например, VisionLabs со своим приложением Face.DJ умеет выполнять 3D-реконструкцию по единственной фотографии. Такая трансформация (3D-моделирование по фото) имеет практический смысл. После создания модели появляется возможность, например, изменить причёску, примерить очки, отрастить бороду и т. д. Технология может использоваться в системах проверки и распознавания лиц.

Но теперь бизнес подобных стартапов под угрозой: их работу легко выполняет новая нейросеть VRN (Volumetric Regression Network), которую выложили в открытый доступ на GitHub. Прямо на сайт вы можете загрузить свою или любую другую фотографию — и нейросеть осуществит преобразование в онлайне за несколько секунд (демо).


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

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

Авторы этой разработки под руководством Аарона Джексона (Aaron Jackson) из Ноттингемского университета (Великобритания) применили очень простой подход к вокселизации изображений. Он лишён многих недостатков, присущих другим методам 3D-реконструкции (в том числе 3D Morphable Model — 3DMM). В общем виде суть нового метода VRN изображена на иллюстрации ниже.


(а) Предлагаемая Volumetric Regression Network (VRN) принимает в качестве входящих данных RGB-изображение и напрямую возвращает 3D-объёмные выходные данные, полностью пропуская подгонку 3DMM. Каждый прямоугольник — это остаточный модуль из 256 признаков. (b) Предлагаемая архитектура VRN — Guided сначала определяет 2D-проекцию по 3D-ориентирам и стыкует её с оригинальным изображением. Этот стек отправляется в сеть реконструкции, которая напрямую возвращает объём. (с) Предлагаемая архитектура VRN — Multitask возвращает и объёмное 3D-изображение лица, и набор разреженных 3D-ориентиров.

Авторы исследования доказали, что свёрточная нейросеть (CNN) способна успешно генерировать 3D-модели из фотографий после обучения на наборе данных, который содержит фотографии и соответствующие им 3D-модели. В данном случае обучение проводили на 60 000 двумерных фотографиях лиц из базы 300W и соответствующих им 3D-сетках, полученных с помощью 3DMM.

Как выяснилось, для выдачи удовлетворительного результата нейросеть не нуждается в использовании модели 3DMM и успешно выполняет прямое преобразование из 2D в 3D.

Дееспособность модели доказана на большом количестве произвольных фотографий, которые пользователи загружают через интернет (демо). Судя по всему, метод VRN превосходит любые другие системы 3D-реконструкции по единственной фотографии. К настоящему моменту демо-версия обработала уже более 400 000 произвольных фотографий из интернета.

Нейросеть можно запустить и локально на собственном компьютере. Код программы опубликован на GitHub. Для работы требуется установленный фреймворк для научных вычислений Torch7, более-менее производительный графический процессор Nvidia с поддержкой CUDA. Программа тестировалась в операционной системе Linux и автор понятия не имеет, как она работает под Windows. Понадобятся ещё MATLAB, bash, ImageMagick, GNU awk, Python 2.7 (+ visvis, imageio, numpy).

Научная статья с описанием нейросети опубликована 22 марта 2017 года (arXiv:1703.07834, pdf).

habr.com