Актриса сидит в куполообразной клетке, окруженной лампами и камерами. Она закрывает глаза, и лампы начинают мигать. Меньше чем за минуту камеры собрали достаточно данных, чтобы создать трехмерную цифровую копию, которую состарят, снабдят загаром или реалистично подсветят, чтобы она подходила почти к любой ситуации.
Это взгляд в будущее, когда реальное и виртуальное станут неразделимы. Группа, которую возглавляют Ханспетер Пфистер в Исследовательских лабораториях Mitsubishi Electric в Кембридже, Массачусетс, и Маркус Гросс в Швейцарском федеральном институте технологий в Цюрихе, уже использует купол диаметром 2,5 метра для создания цифровых клонов человеческих лиц, которые они могут воспроизвести на экране монитора при любом освещении. "Я могу поместить вас где угодно, на пляже под солнцем или в темной церкви", - говорит Пфистер.
Группа использует также сотни сканированных изображений более старых и более молодых лиц и людей с разными цветами кожи, чтобы понять, как состарить клон или изменить его окраску. В сочетании со сканированными изображениями, поймавшими реальную мимику человека, получившийся в результате клон готов заменить актера в эпизодах, слишком опасных или сложных, чтобы их мог сыграть человек.
Эта работа является частью попыток индустрии развлечений создавать все более реалистичных цифровых двойников. Некоторые из самых реалистичных виртуальных людей, до сих пор появлявшихся в фильмах и компьютерных играх, созданы Джорджем Боршуковым и его коллегами в компании Electronic Arts в Ванкувере, Канада. Группа изобрела метод, который называет "универсальным фиксированием", и использовала для создания виртуальных версий таких персонажей, как Нео, Морфей и агент Смит в фильме "Матрица: Перезагрузка", а позже - для создания виртуального тигра Вудса для игры Sony PlayStation 3 под названием Tiger Woods PGA Tour.
Боршуков начинает с того, что снимает видео реального человека под шестью углами, в то время как человек выполняет требуемое действие, и использует его для создания виртуальной трехмерной модели головы человека. Затем он вновь проецирует видео на пустой экран, чтобы создать окончательную версию клона, которого затем можно пускать в игру под разными углами. Например, в игре Tiger Woods игроки могут выбирать, под каким углом посмотреть на игрока в гольф, и даже провоцировать разную мимику в зависимости от того, как они играют. "В Tiger Woods игрок может вызвать мимику, которая выглядит вполне реальной", - говорит Боршуков.
Однако даже эти виртуальные двойники не вполне устраивают Пфистера. Это потому, что Боршуков использует художника, чтобы оценить, как отражается свет от лица актера, и в соответствии с этим подправляет конечный результат. Пфистер же считает, что ключом к более реалистичному виду является обеспечение того, чтобы модель сама отражала свет так же, как отражало бы в данной ситуации лицо индивида. То, как наши лица отражают свет, является важной причиной того, что мы выглядим так, как выглядим, говорит он.
Первый шаг его группы - это фиксирование формы лица. Два трехмерных сканера, установленных на противоположных сторонах купола, направлены внутрь, на объект, а лампы на сканерах проецируют двухмерную модель на лицо человека. Затем сканеры фиксируют, как искажают модель изгибы лица, и используют это для реконструкции трехмерного строения лица.
К этому они добавляют "микрогеометрию" кожи вплоть до пор и морщин. Это фиксируют 16 камер с высоким разрешением, установленных вокруг купола и делающих 4 тыс. изображений почти со всех мыслимых углов камеры и света. Сшив изображения со всех этих камер, группа создает плоскую карту лица, которую раскалывает на 500 тыс. пикселей. Из этого можно выстроить картину кривизны лица, сравнивая каждый пиксель со всеми 4 тыс. изображений.
Например, если пиксель находится на месте морщинки, он будет ярким, если его осветит лампа, находящаяся прямо над морщинкой, и темным, если его осветят под углом 90 градусов к морщинке. Когда сочетаются все полученные позиции пикселей, в результате появляется карта лица, покрытого всеми порами и морщинами. Потом ее добавляют к общей форме лица, чтобы создать полную геометрическую модель.
Когда группа получает лицо, ее следующий шаг - это обеспечить, чтобы оно отражало свет так же, как природная кожа. У кожного отражения есть две составляющих: цвет, который является результатом отражения из-под поверхности, и черты, которые являются отражениями только верхнего слоя и подвержены влиянию грубости кожи. Чтобы зафиксировать это, группа изобрела способ извлечения оценки цвета, яркости и грубости кожи на каждом пикселе. Используя изображения, сделанные камерами.
Когда эти значения известны, они могут освещать модель любым способом, какой придет в голову, используя методику, которая называется лучевым слежением. Программное обеспечение проецирует на объект тысячи виртуальных лучей света и подсчитывает, как будет реагировать каждый пиксель, на основе его цвета, жирности и грубости. "Каждая точка отражает свет немного иначе", - говорит Пфистер. В результате появляется клон человеческого лица (хотя и с закрытыми глазами), виртуально неотличимый от фотографии.
Впрочем, для некоторых применений точная копия не является целью. Наоборот, кинорежиссер или разработчик игры может хотеть изменить облик человека: сделать его загорелым, если он только что вернулся из отпуска, или, скажем, заставить его побледнеть от страха. Чтобы этого добиться, группа Пфистера использует библиотеку "донорских" лиц - к настоящему моменту она отсканировала в куполе 400 человек - и переносит на каждый пиксель лица актера цвета кожи подходящего донора. Это сохраняет форму лица и кожное отражение актера, но меняет их цвет.
Чтобы сделать человека старше или моложе, тоже нужно донорское лицо, но в этом случае группа переносит только морщины и поры. Она берет морщины донора, создавая гладкую версию поверхности кожи и вычитая ее из полной геометрической модели, чтобы оставить только эти несовершенства.
Чтобы заставить клоны двигаться, Пфистер использует методику, названную фиксированием движения, которая широко применяется в индустрии. Снятое лицо человека помечают 90 цветными точками в ключевых местах. Программное обеспечение технического зрения следит за каждой точкой, когда актер исполняет эпизод, и движение каждой точки передается в соответствующую точку лица клона, чтобы вдохнуть в него жизнь.
Тем временем другие группы совершенствуют этот подход, чтобы сделать движения еще более плавными и реалистичными. Например, компания Mova из Сан-Франциско создала макияж, содержащий флуоресцентную пудру, вместо цветных точек. Составом покрывают все лицо, позволяя компьютеру зафиксировать движение в 100 тыс. точек его поверхности и создать гораздо больше деталей.
Пфистер тоже начал использовать краску при фиксировании движения, чтобы придать своим моделям морщины, которые появляются и исчезают на лбу, под глазами и вокруг рта. Чтобы этого добиться, он красит все морщинки и следит, когда они появляются при разговоре.
Проблемы в создании цифровых двойников, в точности как в жизни, до сих пор остаются. Неменьшими проблемами является правдоподобное изображение глаз, волос и внутренней части рта. И все же удивительно, до чего может дойти ваше виртуальное альтер эго. "Мы можем дать вам загар, можем вас состарить, можем даже накачать вас ботоксом", - говорит Пфистер.
Без прикрас
Чтобы создать компьютерную модель человеческого лица, отражающую свет так же, как настоящая кожа, ученым нужно знать цвет, жирность и грубость кожи в каждой точке лица.
Группа Хансапетера Пфистера в Исследовательских лабораториях Mitsubishi Electric в Кембридже, Массачусетс, сначала делит лицо на пиксели, а затем анализирует 4 тыс. световых измерений каждого пикселя. Их получают с изображений, снятых с 16 разных положений камер и 150 углов освещения. "Мы хотим получить реальные параметры индивида", - говорит он.
Чтобы получить цветовое значение, система выбирает 20 наименее ярких световых параметров для каждого пикселя, таким образом предотвращая появление уклона в белый, создаваемый чертами лица. Это позволяет группе получить только тот компонент световых данных, который присущ цвету кожи. Среднее значение 20 таких измерений дает цвет пикселя.
Чтобы получить значения жирности и грубости для каждого пикселя, ученые вычитают цветовое значение пикселя из 4 тыс. измерений, и остается только яркость, связанная с чертами. Затем для каждого из этих измерений они движутся назад, чтобы вывести значения жирности и грубости на основе уравнения компьютерной графики для подсчета интенсивности света. Они ищут наиболее подходящий вариант, изучая известный угол зрения и направление света для каждого значения яркости, а затем пробуют разные значения жирности и грубости в уравнении. Те, которые дают наблюдаемую интенсивность света для каждого угла зрения и направления света, считаются самым близким соответствием реальной жирности и грубости пикселя.