Научная статья на тему 'Построение лицевой анимации в реальном времени методом вершинной анимации'

Построение лицевой анимации в реальном времени методом вершинной анимации Текст научной статьи по специальности «Математика»

CC BY
707
80
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Символ науки
Область наук
Ключевые слова
КОМПЬЮТЕРНАЯ ГРАФИКА / ЛИЦЕВАЯ АНИМАЦИЯ / ВЕРШИННАЯ АНИМАЦИЯ / МОРФИНГ

Аннотация научной статьи по математике, автор научной работы — Андрей Владимирович Куров, Сергей Юрьевич Филатов

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Построение лицевой анимации в реальном времени методом вершинной анимации»

На рис. 3 показано распределение теплового потока в зависимости от азимутальной координаты и расстояния до точки привязки дуги при разных углах ее наклона. Установлено, что с увеличением расстояния от точки привязки дуги на расплав тепловой поток резко убывает и практически не зависит от у при r/ld>5. Также выявлено, что при увеличении угла наклона дуги тепловой поток увеличивается.

На рис. 4 приведено распределение теплового потока по азимутальной координате при разном расстоянии от центра распада электродов в трехфазной дуговой печи. Видно, что минимальный тепловой поток наблюдается между электродами в направлениях а=60°, 1800 и 300°. Наибольший - внутри диаметра распада электродов (r<Dp/2) в направлениях их осей (а=00, 1200 и 2400), а вне распада электродов (r>Dp/2) в направлениях, смещенных от осей электродов на угол ±150.

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

1. Макаров А.Н. Теплообмен в дуговых сталеплавильных печах. Тверь: ТГТУ, 1998. - 184 с.

2. Yachikov I.M., Kostyleva E.M. Electromagnetic forces on the arc in a three-phase arc furnace. Steel in Translation. 2015. Т. 45. № 7. С. 467-472. DOI: 10.3103/S0967091215070141.

3. Ячиков И.М., Зарецкая Е.М. Тепловой поток излучения электрической дуги при отклонении ее оси от нормали к поверхности расплава. Научные труды международной заочной конференции, посвященной 15-летию со дня создания Регионального отделения Академии Инженерных Наук им. А.М. Прохорова, «Инженерная поддержка инновации и модернизации» 1-10 декабря 2010 г. Выпуск 1. Екатеринбург: ИВТОБ, 2010. - С 94-97

4. Yachikov I.M., Zaretskaya E.M. Radiant heat flux from an electric arc inclined to the plane of the receiving surface. Steel in Translation. 2011. Т. 41. № 7. С. 550-554. DOI: 10.3103/S0967091211070151.

5. Ячиков И.М. Зарецкая Е.М. Модель распределения теплового потока от излучения электрической дуги, расположенной под углом к плоской тепловоспринимающей поверхности // Инновационные материалы и технологии в машиностроительном производстве: материалы Всероссийской научно-практической конференции (11-12 марта 2011г.); отв. ред. A.A. Веселовский. -Орск: Издательство ОГТИ, 2011. - С. 206-209.

6. Ячиков И.М., Зарецкая Е.М. Модель теплового потока, падающего на поверхность металла от дуг в ДСП // Математическое и программное обеспечение систем в промышленной и социальной сферах: междунар. сб. науч. трудов. — Магнитогорск: Изд-во Магнитогорск. гос. техн. ун-та им. Г.И. Носова, 2011. - Ч. I. С. 161-167.

© Костылева Е.М., 2016

УДК 004.928

Андрей Владимирович Куров,

канд. техн. наук, доцент МГТУ им. Н.Э.Баумана, г.Москва, РФ

E-mail: avkur7@mail.ru Сергей Юрьевич Филатов, студент МГТУ им. Н.Э. Баумана, г. Москва, РФ

E-mail: sf.pfil@live.ru

ПОСТРОЕНИЕ ЛИЦЕВОЙ АНИМАЦИИ В РЕАЛЬНОМ ВРЕМЕНИ МЕТОДОМ ВЕРШИННОЙ АНИМАЦИИ

Аннотация

Рассмотрены существующие подходы к созданию лицевой анимации. Разработана модель лица и

_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №11-3/2016 ISSN 2410-700Х_

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

Ключевые слова

Компьютерная графика, лицевая анимация, вершинная анимация, морфинг.

Введение

Человеческое лицо - один из важнейших источников информации о человеке. Оно отражает пол, расу, состояние здоровья, эмоциональное состояние и видение человеком себя. Именно поэтому в компьютерной анимации значительное внимание уделяется задаче наиболее реалистичного моделирования мимики человека. По словам Джеффа Уиллсона, главного аниматора в Blur Studio, «создание реалистичной лицевой анимации очень важно, поскольку лицо — фундамент для понимания эмоций» [1].

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

Из-за сложности создания высококачественной анимации лица считается, что невозможно обеспечить её создание в реальном времени на существующем аппаратном обеспечении. Для создания лицевой анимации в реальном времени аниматорам приходится значительно упрощать используемую модель, что особенно заметно в видеоиграх и аватарах социальной сети Xbox Live.

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

Подходы к созданию лицевой анимации

Традиционно для построения лицевой анимации используются алгоритмы, основанные на морфинге модели. В настоящее время этот подход используется такими крупными приложениям для 3D моделирования, как 3DS Max, Maya и Softimage.

Для создания реалистичной лицевой анимации может применяться несколько подходов: морфинг, скелетная анимация, текстурная анимация, физиологическое моделирование

Морфинг - процесс преобразования исходной модели в конечную путем создания промежуточных моделей интерполированием начальной и конечной моделей. Морфинг предоставляет высокую скорость работы и высокую точность передачи эмоций. При использовании этого подхода художником создается несколько моделей, представляющих различные выражения лица, после чего из них посредством морфинга получаются переходные модели. Этот подход нашел широкое распространение в компьютерной анимации, так как он предоставляет художнику максимальный контроль над процессом анимирования. Например, при помощи морфинга был анимирован Голлум в трилогии Питера Джексона «Властелин колец». Недостатком данного подхода является большая трудоемкость [1,2] по сравнению со скелетной анимацией, необходимость сохранять в процессе анимации в памяти данные, необходимые для морфинга, и возможные искажения в форме модели. Для повышения реалистичности анимации может использоваться несколько подходов. Чаще всего все целевые модели являются изменёнными версиями модели лица с нейтральным выражением. Целевая модель получается путем смешивания различных предопределённых вариантов изменения модели с различными весами. Другие подходы предлагают использование более сложных алгоритмов интерполяции [3,4] для улучшения качества получаемой анимации.

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

Текстурная анимация основана на изменении цвета пикселей. Для анимации двумерного изображения используются алгоритмы морфинга (изменение формы и растворение изображения). В трехмерной анимации

_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №11-3/2016 ISSN 2410-700Х_

воздействию подвергаются сами текстуры или UV-преобразование. Данный подход прост в реализации, но не обеспечивает качественной анимации.

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

Модель лица и её ключевые точки

В работе используется модель лица, основанная на модели, предложенной стандартом MPEG-4 FA. Исходная модель имеет нейтральное выражение лица, что означает следующее: направление взгляда — строго вперёд, все мышцы лица расслаблены, губы сомкнуты, рот закрыт, зубы верхней челюсти касаются зубов нижней челюсти, язык плоский и точкой 6.1 касается точек 9.10, 9.11 соприкосновения зубов, голова расположена вертикально.

Кодирование движений и эмоций

Для кодирования возможных лицевых движений и эмоций используется система, основанная на системах FACS и EFACS.

Таблица 1

Используемая кодировка лицевых движений

№ двигательной единицы Расшифровка

1 Открытие рта

2 Улыбка

3 Опускание уголков рта вниз

4 Опускание внутренней стороны бровей

5 Надутие щек

Таблица 2

Используемая кодировка лицевых эмоций.

Эммоция Двигательные единицы

Радость 2

Печаль 3 + 4

Удивленнее 3 + 1

Любая комплексная анимация может быть задана в этой системе путем разложения на базовые компоненты.

Процесс анимирования.

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

Предложенные алгоритмы получения конечной модели

Открытие рта

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

При открытии рта происходит поворот вниз относительно оси, проходящей через точки 2.13 и 2.14, точек модели, расположенных в области, ограниченной кривой, заданной точками 2.14-5.2-8.4-2.5-2.9-2.32.8-2.4-8.3-5.3-2.14. Угол поворота вычисляется таким образом, чтобы точка 2.3 исходной модели оказалась на прямой, проходящей через середину отрезка 2.13-2.14 и точку 2.1

11.5 115

6 1

Рисунок 1 - Ключевые точки используемой модели.

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

При анимировании улыбки все точки, лежащие на кривых 8.4-8.6-8.9 (8.3-8.5-8.10) поднимаются до одной высоты с точкой 8.9 (8.10). Точки, лежащие на отрезке 2.5-2.9 (2.4-2.8) поднимаются до уровня исходной высоты точки 8.6 (8.5). Точки, принадлежащие верхней губе, перемещаются для соответствия новому положению граничных точек.

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

Опускание уголков рта. Анимирование опускания уголков рта предполагает построение конечной модели по алгоритму,

аналогичному используемому при анимировании улыбки.

_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» №11-3/2016 ISSN 2410-700Х_

При анимировании опускания уголков рта все точки, лежащие на кривых 8.4-8.8-8.2 (8.3-7.5-8.2) опускаются до одной высоты с точкой 8.2. Точки, лежащие на отрезке 2.5-2.7 (2.4-2.6) опускаются до уровня исходной высоты точки 2.9 (2.8). Точки, принадлежащие нижней губе, перемещаются для соответствия новому положению граничных точек.

Анимирование бровей

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

При выполнении анимации брови точка 4.6 (4.5) поднимается до одной высоты с точкой 4.4 (4.3). Координаты точек, принадлежащих области брови, изменяются для соответствия новому положению крайних точек.

Раздувание щек. При раздувании щек расстояние между точками 5.1 и 5.2 увеличивается на 20%.

Также увеличивается расстояние между центром отрезка 5.1-5.2 и точками, щеки удаленными от 5.1 (5.2) не более чем на минимальное расстояние от точки 5.2 (5.1) до кривой 2.12-2.14 (2.11-2.13). Величина увеличения убывает по закону косинуса.

Рисунок 2- Схема алгоритма открытия рта

liQHitlT^J

Рисунок 3 - Схема алгоритма анимирования улыбки

Рисунок 4 - Схема алгоритма анимирования опускания уголков губ Предложенные алгоритмы преобразования модели

Для выполнения преобразования исходной модели в конечную предлагается использования 3 вариантов интерполяции моделей: линейной интерполяции, улучшенной линейной интерполяции, сферической линейной интерполяции. Линейная интерполяция

При использование линейной интерполяции точка переходит из начального положения в конечное с постоянной скорость вдоль прямой, соединяющей их.

v(s,e,t) = s + (e-s) * t, где s - начальное положение точки, e - конечное положение точки, t - параметр. Улучшенная линейная интерполяция

При использовании улучшенной линейной интерполяции параметр t заменяется на выражение cos( ; ). При такой замене аргумента скорость движения точки между начальным и конечным положением

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

¿Mi-Г;

v(s,e,t) = s + (e-s) * cos( ~ ), где s - начальное положение точки, е - конечное положение точки, t -

параметр.

Рисунок 5 - Схема алгоритма поднятия внешней части брови.

Рисунок 6 - Схема алгоритма раздувания щек.

Сферическая линейная интерполяция

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

л л ± г\\ ия(С1—£)*о] . вгп0*0 _ „

У(з,еД, (У) = -г-— * 5 Л--— * е. где (У — угол между начальной и конечной точками, э -

начальное положение точки, е - конечное положение точки, t - параметр.

Сравнение результатов при использовании различных алгоритмов интерполяции

На приведенных ниже рисунках показаны анимации в 3 промежуточных положениях: 20%, 50% и 80% выполнения. Из рисунков, приведенных в таблицах 3 и 4, видно, что использование улучшенной линейной и

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

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

Таблица 3

Сравнительные результаты выполнения анимации (1)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Таблица 4

Сравнительные результаты выполнения анимации (2).

Линейная интерполяция

Улучшенная линейная интерполяция

Сферическая линейная интерполяция

Заключение

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

Список использованной литературы.

1. Liu C. An analysis of the current and future state of 3D facial animation techniques and systems - School of Interactive Arts & Technology-Simon Fraser University, 2009.

2. Parus J. Morphing of meshes. - Technical Report No. DCSE/TR-2005-02, University of West Bohemia in Pilsen, 2005.

3. Yan H. B., Hu S. M., Martin R. R. 3D morphing using strain field interpolation //Journal of Computer Science and Technology. - 2007. - Vol. 22. - №. 1. - P. 147-155.

4. Zhu Y., Gortler S. J. TR-10-07. - 2007.

5. Yang M., Wang K., Zhang L. Realistic real-time facial expressions animation via 3D morphing target //Journal of Software. - 2013. - Vol. 8. - №. 2. - P. 418-425.

©Куров А.В., Филатов С.Ю. 2016

i Надоели баннеры? Вы всегда можете отключить рекламу.