3D реконструкция лица, или как получить своего цифрового двойника (Часть 1) / Хабр
Фотография (слева) и рендеринг 3D модели лица (справа)
Поговорим об одном интересном методе восстановления 3D лица человека, которое почти не отличить от фотографий.
На Хабре уже 2 года не появлялись статьи про лицевую 3D реконструкцию, и в Twin3D мы хотим постепенно заполнять этот пробел и регулярно выкладывать обзоры интересных статей, методов и наших собственных результатов на тему 3D digital human в целом.
Сначала пара слов о том, кому и зачем эти 3D лица и тела нужны (вообще об этом можно отдельную статью написать). Изначально 3D сканирование человека использовалось в кино для спецэффектов, где с лицом героя должно произойти что-то мало желаемое в реальности (например, взрыв) или невозможное. С увеличением требований к графике в компьютерных играх появилась потребность создавать всё более реалистичных персонажей — и гораздо проще отсканировать живого человека, чем лепить/рисовать с нуля по фотографиям. Теперь же к этому прибавляется желание людей оказаться в виртуальном мире или самим быть персонажами игр — и для этого, естественно, тоже нужны 3D модели.
Стоит отметить, что предыдущие статьи на Хабре фокусировались на методах легкого создания 3D моделей лиц. Как обычно, тут есть trade-off между качеством и простотой получения 3D модели. В нашем цикле статей мы расскажем про 3 метода в порядке убывания сложности процесса сканирования: от специального сетапа с 24 камерами и 6 вспышками (об этом методе поговорим сейчас) до фотографии со смартфона.
Исторически реконструкция лица начиналась со стандартных методов multi-view stereo (об этом можно почитать в википедии, а также есть классная брошюра от Google), и понятно, что для таких методов требуется большое число фотографий с разных ракурсов. Эти методы основаны на математической оптимизации.
Терминология
Результатом базовой 3D реконструкции лица является следующее сочетание: геометрия + текстура альбедо + отражаемость и нормали (картинки будут ниже).
Геометрия — это просто меш, т.е. упорядоченный набор связанных между собой точек в 3D.
Текстура альбедо — это по сути набор пикселей, которые покрывают этот меш, настоящий цвет кожи.
Отражаемость и карта нормалей — информация про каждый пиксель о том, как он отражает падающий свет (как сильно и в каком направлении).
Только при наличии всех эти трех компонент можно получить качественную фотореалистичную 3D модель лица.
Пара слов о методе
Метод реконструкции лица, о котором мы сейчас поговорим, описан в статье «Near-Instant Capture of High-Resolution Facial Geometry and Reflection», которая написана G. Fyffe, P. Graham, B. Tunwattanapong, A. Ghosh, P. Debevec и представлена на Eurographics 2016. Ее можно почитать здесь (дальше все картинки взяты оттуда). Эта работа примечательна тем, что авторам впервые удалось получить качество восстановления с точностью до пор кожи при почти мгновенном сканировании (66 мс). На заставке вы увидели результаты именно этой статьи. Статье уже 5 лет, но она стала своего рода классикой, да и авторы у нее широко известны в узких кругах (тот же Дебевек из Google). Статья написана довольно специфичным языком и с опусканием многих неочевидных деталей, так что пришлось немного поломать голову, чтобы ее понять и написать этот текст.
Как это работает
Для начала, авторы собрали весьма интересный риг из камер и вспышек. В нем 24 DSLR камеры Canon EOS 600D и 6 профессиональных вспышек Sigma EM-140. Вспышки эти включаются последовательно, а вместе с ними одновременно фотографируют какое-то подмножество камер, так что в итоге каждая камера фотографирует ровно один раз. Камеры установлены и разбиты на группы так, чтобы оптимально покрыть всю область лица и для каждой точки увидеть хотя бы 3 разных отражения (дальше увидим, зачем). Реализована съемка с помощью микроконтроллера 80MHz Microchip PIC32. Авторы отдельно продумали, что весь этот процесс должен занимать меньше скорости моргания человека (~100 мс), так что от первой до последней фотографии проходит 66 мс, согласно статье.
Риг для съемки лица
Алгоритм на вход получает 24 фотографии и информацию про вспышки, на основе этого создает базовый меш, а далее — с помощью небольшой магии и математики делает по две карты альбедо и нормалей (диффузную и спекулярную), на основе чего получается детализированный меш с точностью до пор и морщинок.
Пайплайн алгоритма
Исходный меш получается через обычный multiview stereo (например, Metashape). Но его качество довольно низкое (+- 2 мм), так что на основе карты нормалей этот меш в конце уточняется.
Поэтапное улучшение исходного меша
В основе алгоритма лежит photometric stereo — набор методов компьютерного зрения, при котором используются не только сами фотографии, но и информация о падающем свете: интенсивность и направление света. Этот подход позволяет понять, как конкретный пиксель текстуры отражает свет в разных условиях, что для кожи человека особенно важно. Как я упомянул выше, алгоритм выдает две карты нормалей. Первая — диффузная — соответствует матовому отражению лица, то есть отражениям от глубинных слоев кожи. Вторая — спекулярная — нужна для рендеринга мельчайших деталей поверхности кожи.
Диффузная и спекулярная карты нормалей
А получаются эти нормали для каждого пикселя по сути через решение систем линейных уравнений
где L — матрица направлений света для всех видов камер, \beta — искомая нормаль (3-мерный вектор), P — условные значения пикселей для этих точек и видов камер. После пристального взгляда на эту систему становится понятным, зачем нужно видеть точку хотя бы с трех ракурсов — в противном случае систему однозначно не решить. Если хочется иметь карту разрешения 4096×4096, то соответственно нужно решить 16 млн таких систем, так что эффективное использование GPU здесь must have. Параллелизация таких вычислений — отдельная нетривиальная задача.
Эти уравнения решаются в рамках ламбертового приближения для диффузных нормалей, потому что как раз это нужно для описания матового отражения кожи от ее глубинных слоев. Для спекулярных нормалей решаются более сложные уравнения в приближении Blinn-Phong, чтобы учесть возможность зеркальных отражений кожи, но суть остается той же.
Результаты
При наличии уточненного меша, альбедо, освещаемости и карт нормали можно зарендерить 3D модель лица под произвольным ракурсом и освещением.
Для начала сравним кусок щеки фотографии и рендеринга под тем же ракурсом и освещением. Как видим на картинке ниже, результаты очень точные вплоть до мельчайших пор и отражений света.
Сравнение фотографии (слева) и рендеринга 3D модели под тем же углом и освещением (справа)
Если же мы посмотрим на рендеринг под новым ракурсом и освещением, то тут тоже всё весьма прилично.
Уточненный меш и рендеринг под новым ракурсом и освещением
Итоги
При всей крутости результата и метода, конечно, в результате не получается супер-идеальный аватар человека. Тут никак не обрабатываются несколько ключевых элементов:
Волосы — на всех результатах люди просто в шапочках, ни у кого нет щетины
Отдельные артефакты — уши, ноздри носа и другие слабо видимые места никаким специальным образом не процессятся
Глаза — они, конечно, не подойдут для игр или кино
В Twin3D мы тоже работаем над алгоритмами фотореалистичной реконструкции лица и тела человека; собрали свой риг, в котором можем отсканировать лицо и по классической фотограмметрии, и по фотометрик стерео . Мы верим, что такими подходами можно и нужно вдохновляться, но в конечном итоге для получения фотореалистичных цифровых людей без артефактов нужен элемент обучения на данных, ибо классический подход не понимает, что ноздри и глаза нужно как-то иначе обрабатывать, чем кожу. О подходах с элементами обучения мы расскажем в будущих статьях.
3d моделирование лица человека по фотографиям.
В последнее время очень популярна услуга создания 3D-модели человека по фотографиям для её последующей печати в виде гипсополимерной 3D-статуэтки. Самым непростым и высокохудожественным этапом в этой услуге является моделирование лица. В данной статье мы вам поэтапно расскажем, на что стоит обращать внимание 3D-моделлерам при создании 3D-лиц, какие при этом бывают сложности и как их избежать.
1. Конструкция черепа
При создании портрета очень важно учитывать конструкцию черепа, так как кость является единственной недеформируемой частью головы (за исключением движения нижней челюсти).
Мышечные ткани, жир и кожа, деформируются в зависимости от эмоций на лице.
Очень важно при создании экстремальных (в плане деформации) эмоций не потерять наличие конструкции черепа. При «потере черепа» лицо может выглядеть неестественно, хотя при этом и может быть согласовано клиентом.
Для начала определим такое понятие как Лицевой индекс.
Лицевой индекс помогает более точно установить пропорции соотношений между шириной скул и длины лица, чтобы избежать ошибки узких лиц.
В среднем высоту головы от подбородка до макушки можно взять за 22-23 сантиметра (оно может меняться в зависимости от формы черепа). А за среднюю ширину головы 16 см (расстояние измеряемое между точками эурион). Как правило, расстояние между точками эурион является самым широким на черепе.
Неверную конструкции головы выдает ощущение диспропорций лица, дисгармония масс, излишняя карикатурность. Наиболее это заметным становится при просмотре головы с экстремальных ракурсов, с углов с которых обычно никто никогда не фотографирует.
Как пример, с нижнего ракурса, голова кажется вытянутой и узкой. Лобные массы кажутся сильно выставленными вперед, контур нижней челюсти пропадает. Подбородок кажется непропорциональным по отношению к низу лица.
Однако ощущения некорректной анатомии и фактические нарушения конструкции лица могут совершенно некоррелировать между собой.
Например, на ниже приведённом примере, может казаться, что лоб сильно выставлен вперед, однако ошибка не во лбу, а в некорректной постановке скул и в ширине головы.
Лицо может казаться яйцеобразным не из-за ширины щек, а из-за отсутствия конструкций нижней челюсти и неверной постановки ширины точек черепа эурион (точек над ухом).
Изменение угла источников света и добавление перспективы, очень помогают определить нарушения в конструкции лица.
2. Портрет.
Создание верной конструкции черепа — это половина дела. Без портретных сходств лицо не получится узнаваемым, хоть конструкция лица и несет в себе большинство портретно-узнаваемых особенностей головы и лица в целом. Например, выступающий подбородок или выпирающие губные массы, что является следствием выступающих вперед зубов или же массивность надбровных дуг. Но речь идет больше о чертах лица, как об особенной совокупности костных масс, мышечных масс, процента жировых масс, качества и количества кожных масс. В нашем мире огромное количество людей, но людей с одинаковыми лицами практически единицы. Каждое лицо по-своему уникально и отличается от другого лица своим набором уникальных черт и форм. Это и есть ключевой момент для создания портрета, понять особенности моделируемого лица.
Рассматривание других лиц и их сравнение со «средним» лицом помогает быстрее выделить конкретные уникальные отличия моделируемого лица от среднестатистического лица.
3. Объективное лицо и искажения объективного лица.
Предположим, есть некое объективное лицо, характерное конкретному периоду жизни человека, с конкретной эмоцией, которое необходимо создать. Объективное лицо, это то самое «истинное лицо» или же, то лицо которое мы получим при трехмерном сканировании. Но художник воспринимает это лицо только через фотографии. И это восприятие может быть в разной степени коррелировать с объективным лицом. Заказчик же, видел владельца лица воочию, и воспринимает лицо с этих же фотографий совершенно по-другому, в его голове возникает совершенно другая база образов отличная от базы образов художника. Мы думаем, что это и является проблемой между ожиданиями клиента и поисками проделанными художником. Поэтому для создания наиболее объективного портрета нужно отбросить как можно больше субъективных или искажающих факторов.
Вот примерный перечень искажающих восприятие факторов.
- Угол обзора камеры или «сила» перспективы.
- Низкое разрешение изображения, его явная пикселизация или же расфокусировка лица.
- Качество освещения на фотографии.
- Наличие заграждающих факторов (очки, маски, кепки, падающие тени на лице)
- Отсутствие достаточного количества ракурсов и плохие углы съемки.
- Посторонние эмоции и разный возраст на фотографиях.
- Качество кожи, наличие пост эффектов и фильтров.
- Метод наложения фотографии на модель.
- Привыкание к лицу.
Начнем по порядку.
3.1. Угол обзора камеры очень сильно влияет на воспринимаемую форму лица.
Чем больше угол обзора, тем сильнее вытягивается лицо. Все что ближе к камере становится крупнее, все что дальше от камеры, меньше и уходит как бы во внутрь. Такие фотографии чаще всего получаются при съёмке лица вблизи камеры и при создании селфи. Чем дальше сфотографирован человек, тем меньше в его лице перспективных искажений и тем сильнее перспектива стремится к фотографии.
3.2. Сжатие изображения.
Чем сильнее сжато фото, тем недостовернее воспринимается форма лица. Как правило, фотографии большого разрешения читаются лучше, и мозгу не нужно прилагать дополнительные усилия для распознавания черт лица. С клиентом же ситуация состоит по-другому. Клиент даже в сильно сжатой фотографии низкого разрешения увидит своего друга, любимого, коллегу. Все это связано с механизмом распознавания образов. При просмотре «пиксельного» фото, у клиента в голове, уже есть библиотека образов связанная с этим конкретным человеком и он с легкостью по некачественному фото может описать его конкретные черты. Однако настоящим источником информации клиента является не фото, а его голова. Желательно меньше ориентироваться на некачественные фото, так как они могут в голове 3D-художника посеять сомнения об объективном лице.
3.3. Качество и углы освещения, ракурс.
Это те самые искажения, которые применяются профессиональными фотографами для преображения фотографируемой модели. Не все лица, красивы со всех ракурсов и не на все лица хорошо падает свет. Именно этого и стараются избежать, когда фотографируют. Фотографии человека, присланные клиентом, всегда чуть более привлекательные, чем объективная реальность и менее привлекательные, чем профессиональная фотосессия. Но для создания верной формы головы, для отображения всех черт лица, нужно увидеть все стороны лица. Поэтому наличие как можно большего количества фотографий и их анализ, создание подобных фотосклеек, помогут построить в голове образ объективной головы.
Наличие разных ракурсов позволит соотнести позиции тех или иных черт и масс лица в пространстве.
3.4. Заграждающие факторы.
Тут все просто. Очки, падающие тени на лице, портят восприятие лица. В глазах клиента, лицо с заграждающими факторами воспринимается абсолютно так же как и объективное лицо, а в глазах художника это полная неопределенность.
3.5. Отсутствие профиля.
Тот случай, когда все присланные фото только в фас и анфас. Наш мозг заточен под распознавание образов. Поэтому сделав поиск лица лишь только по анфасам, мы можем сказать, похоже, лицо или нет, и то не с полной уверенностью, так как присутствуют другие виды искажений. Клиент же знает, как выглядит объективное лицо, и несхожесть сразу распознает. Единственный вариант решения проблемы — это сделать как можно больше поисков и отправить клиенту, в надежде, что он сможет описать профиль либо найти дополнительные материалы по лицу.
3.6. Эмоции и возраст.
Эмоции очень сильно могут изменить восприятие объективного лица. Особенно в тех случаях, когда требуется конкретная эмоция, а на присланных фото она совершенно другая. В таких случаях лучше опираться на конструкцию лица, на костные структуры. Например, при открытой улыбке, мягкие массы лица очень сильно меняются и меняют восприятие лица, нежели чем на лице без эмоций. Однако костные массы, при этом остаются неизменными. Для создания улыбок надо опираться на анатомические материалы, сканы и экорше лиц с улыбками. И соотносить динамику деформаций лиц в примере с динамикой на конкретном объективном лице. Особенно в тех случаях, когда улыбка есть только в анфас.
Зачастую присылаемые фотографии сделаны в разные периоды жизни человека. Надо учитывать, что форма головы, лица, его черт меняется из года в год. Кроме того, помимо изменения мягких мышечных и кожных масс, меняются также и костные массы. А значит, с возрастом меняется и конструкция черепа. В итоге, более молодые лица воспринимаются иначе, чем более возрастные и тут нужен общий анализ фотографий. Какие черты сильнее сохраняются с возрастом, по какому принципу меняется лицо с возрастом. Зачастую, молодые лица могут сбивать художника с толку при моделировании состарившегося лица.
3.7. Макияж, фотошоп.
Использование фильтров и макияжа, еще один способ уйти от объективной реальности и исказить визуальное восприятие лица. Как правило, лица девушек на фото и в жизни две совершенно разные стихии. Девушки хотят выглядеть привлекательнее, чем они есть на самом деле. В таких случаях похожая конструкция лица и гладкая упругая кожа уже сделают большой вклад в портретное сходство. Однако порой бывает тяжело определить конструкцию лица на «зафотошопленных» фото. Также надо учитывать и то, что объективные формы могут не такими, какими они кажутся на фотографии, и придётся искать любые зацепки в других ракурсах. Сильно бликующая кожа тоже портит восприятие формы лица, в этом случае с фотографией можно поработать в фотошопе и заглушить мешающие блики.
3.8. Метод наложения фотографии на модель.
Этот метод используется для быстрого поиска формы лица, однако при неправильном использовании этого метода, можно сильно исказить лицо. Для того чтобы избежать подобных искажений, нужно правильно выставить перспективу и ракурс. Найти точки опоры и оси лица. Одна из таких вспомогательных осей, это линия между основанием носа и мочкой уха. Угол поворота анфас-профиль можно ровнять по линии глаз. При этом нужно обязательно учитывать перспективные искажения. Так как два фото при разных полях зрения и углах обзора (например, профиль и полуанфас) при наложении никогда не сведут модель в единый объективный образ.
Негативная сторона такого метода ещё и в том, что лицо может сойтись с фото, даже может быть в некотором проценте случаев согласовано, но фактически в печати будет выглядеть совершенно иначе и расходиться с объективным лицом. Например, в печати лицо может быть более узким. Такие ошибки возникают при недостаточном количестве сведений фотографий с моделью, либо при неверном соотнесение углов лица на фото и угла модели. В идеале лицо должно сходиться с фото как минимум в 4-5 разных ракурсах.
3.9. Привыкание к лицу.
В процессе создания портрета художник привыкает к лицу. Из-за этого, некоторые уникальные особенности лица, воспринимаются им уже не так уникально, либо художник начинает принижать значение некоторые особенностей лица, дабы подчеркнуть его незначительные особенности. Проблема заключается в том, что когда мы первый раз видим лицо какого-то человека, то мы его воспринимаем, основываясь на своем опыте увиденных нами лиц. Наш мозг устроен так, что он склонен подчеркивать и запоминать различия или особенности лица, по сравнению с ранее увиденными лицами. Это требует минимум энергии для запоминания. При долгой же работе с лицом, мы принимаем все особенности этого лица как само собой разумеющееся и не отходящее от среднего лица. Это накладывает искажения на восприятие лица. Несмотря на все это, лицо увиденное в первый раз на фотографии, также может быть изначально неправильно прочитано и воспринято, но это уже совокупность всех вышеописанных проблем восприятия. Желательно делать перерывы при моделировании лица, отвлекаться, рассматривать другие лица. Этот простой метод помогает начать заново, свежо воспринимать создаваемое лицо.
С уважением, студия 3DKLON.
Лучшие мобильные приложения для преобразования изображения лица в 3D-модель
Преобразование изображений лица в 3D-модель с помощью мобильных приложений
3D-сканирование с помощью смартфона — отличная альтернатива дорогостоящему сканирующему оборудованию.
С небольшой очисткой вы можете воссоздать некоторые 3D-модели ваших любимых физических объектов.
Ограничение использования мобильных инструментов
- Время: вы можете потратить много времени, пытаясь заставить работать многие из этих приложений, и это может разочаровать людей, которым просто нужно хорошее сканирование.
- Усилия: чтобы добиться наилучшего качества 3D-сканирования, необходима программная ретушь.
- Результаты. Плохое качество изображений — распространенная проблема с нынешним поколением приложений для 3D-сканирования, поскольку многие смартфоны не имеют необходимого аппаратного обеспечения для хорошего сканирования.
Здесь мы перечислили некоторые БЕСПЛАТНЫХ приложений для сканирования смартфонов, используемых для создания 3D-моделей объектов. Все они работают с искусством фотограмметрии и извлекают 3D-модели из 2D-изображений. Все, что вам нужно, это делать фотографии с разных ракурсов и сшивать их вместе с помощью технологии 3D-сканирования, которую вы установили на свой телефон с помощью этих инструментов.
Значок | Приложение | Операционная система | Дополнительное оборудование |
---|---|---|---|
3DSizeME | ИОС | Да (379 долл. США) | |
Создатель 3D | Андроид | № | |
Холст | IOS (только iPad) | Да (379 долл. США) | |
Захват: 3D-сканирование чего угодно | IOS (iPhone X) | № | |
ItSeez3D | IOS (только iPad) | Да (379 долларов США) | |
Qlone | iOS/Андроид | № | |
Скэнди Про | IOS (iPhone X) | № | |
Scann3D | Андроид | № |
Объект недоступен? Неважно! У вас еще есть шанс получить свою 3d модель. Мобильные приложения Converter были разработаны для решения этой проблемы. нет необходимости в объекте, используйте существующие фотографии.
Значок | Приложение | Описание |
---|---|---|
ПопПик | PopPic — бесплатная, популярная Приложение 3D-камеры , позволяющее быстро и легко делать 3D-фотографии. Пользователю не нужно перемещать камеру вокруг объекта. В этом приложении 3D Photo есть фильтры, которые пользователи могут применять к своим фотографиям непосредственно в приложении. | |
Преобразователь изображений 2D в 3D | 2D to 3D Image Converter предлагает вам простой способ конвертировать 2D-изображения из вашей телефонной галереи в 3D-изображения SBS, которые вы можете смотреть на 3D-телевидении или устройствах виртуальной реальности (например, Google Cardboard, VR-гарнитурах). |
ЗАКАЗАТЬ 3D МОДЕЛЬ
Если вам нужна точная и профессиональная 3D-модель, попробуйте Selfix.
Заказать сейчас
Ищете
ПРОФЕССИОНАЛОВ?
Мы Selfix, профессиональная группа дизайнеров 3D-портретов. Неважно, для какой цели вам нужна 3D-модель, Мы ее создадим!
Ссылки
1. Что такое 3D-моделирование?
2. Четыре лучших приложения для 3D-фотографий 2019 года
3. Лучшие приложения для 3D-сканирования
4. Преобразование 2D-изображения в 3D
FaceGen Modeller
FaceGen Modeller
FaceGen Создание реалистичных анимированных 3D-сеток лица и головы. |
|
Создание 3D-лиц из одной или нескольких фотографий (или случайным образом, или с использованием данных 3D-сканирования):
… до …
Изменение лиц с использованием более 150 элементов управления, включая перетаскивание:
Применить текстуру кожи к лицу, которое вы создали:
. .. переходит к …
Применение морфов выражений и моделей аксессуаров. Modeller поставляется с более чем 110 целями морфинга.
включая всю систему кодирования лицевых движений (FACS). Все модели выражений и аксессуаров
автоматически адаптируется к каждому лицу:
Экспорт в Collada (DAE), Filmbox (FBX), 3D Studio (3DS), Maya ASCII (ma), Lightwave 6.x LWO2 (LWO),
Wavefront (OBJ), Softimage dotXSI 3.0 (XSI), VRML 97 (WRL) или STL
включая все цели морфинга экспрессии, если это необходимо.
Выберите масштаб, поворот и перевод по умолчанию для всех экспортируемых файлов.
Экспортируйте карты текстур в форматы PNG, JPEG, TGA или BMP.
FaceGen Modeller работает на Windows 7/8/10/11.
- Системные требования
- Дополнительные волосы
- Наборы моделей
- Руководство пользователя
- Часто задаваемые вопросы по FaceGen
- Сопутствующие товары
- Лицензия и юридическая информация
Версия Pro добавляет все функциональные возможности Artist Pro и
3D Print Pro, числовые поля редактирования для точного управления всеми ползунками, экспорт всех ползунков
значения в файл CSV, а также экспорт всех базовых коэффициентов лицевого пространства в файл CSV.
Демо (бесплатно) | Ядро (299 долларов США) | Pro (699 долларов США) | Предприятие (1395 долларов США) | |
Экспорт в форматы 3D | ||||
Без логотипа на лицевой стороне | ||||
Дополнительные наборы моделей и прически | ||||
Экспорт Daz Genesis (Artist Pro) | ||||
Сетки для 3D-печати (3D Print Pro) | ||||
Экспорт CSV и числовые поля редактирования | ||||
Средство настройки и интеграции FaceGen | ||||
Лицензия на распространение |
Обновление : Напишите по адресу support@facegen.