Komputerowa animacja twarzy

Komputerowa animacja twarzy to przede wszystkim dziedzina grafiki komputerowej , która obejmuje metody i techniki generowania i animowania obrazów lub modeli twarzy postaci. Postać może być człowiekiem , humanoidem, zwierzęciem , legendarnym stworzeniem lub postacią itp. Ze względu na swoją tematykę i typ twórczości powiązana jest również z wieloma innymi dziedzinami naukowymi i artystycznymi od psychologii po tradycyjną animację . Znaczenie ludzkich twarzy w komunikacji werbalnej i niewerbalnej oraz postęp w sprzęcie i oprogramowaniu do grafiki komputerowej spowodowały znaczne zainteresowanie naukowe, technologiczne i artystyczne komputerową animacją twarzy.

Chociaż rozwój metod grafiki komputerowej do animacji twarzy rozpoczął się na początku lat 70. XX wieku, główne osiągnięcia w tej dziedzinie są nowsze i mają miejsce od późnych lat 80.

Prace związane z komputerową animacją twarzy można podzielić na dwa główne obszary: techniki generowania danych animacji oraz metody zastosowania takich danych do postaci. Techniki takie jak przechwytywanie ruchu i klatki kluczowe należą do pierwszej grupy, podczas gdy animacja morfingu celów (bardziej znana jako animacja blendshape) i animacja szkieletowa należą do drugiej. Animacja twarzy stała się dobrze znana i popularna dzięki animowanym filmom fabularnym i grom komputerowym , ale jej zastosowania obejmują znacznie więcej obszarów, takich jak komunikacja , edukacja , symulacje naukowe i systemy oparte na agentach (na przykład przedstawiciele obsługi klienta online). Wraz z ostatnimi postępami w zakresie mocy obliczeniowej urządzeń osobistych i mobilnych animacja twarzy przestała pojawiać się w wstępnie renderowanych treściach, a zaczęła być tworzona w czasie wykonywania.

Historia

Wyraz twarzy człowieka jest przedmiotem badań naukowych od ponad stu lat. Badanie ruchów i mimiki twarzy rozpoczęto z biologicznego punktu widzenia. Po kilku starszych badaniach, na przykład Johna Bulwera pod koniec lat czterdziestych XVII wieku, książkę Charlesa Darwina The Expression of the Emotions in Men and Animals można uznać za główny przełom we współczesnych badaniach w biologii behawioralnej .

Komputerowe modelowanie i animacja mimiki twarzy nie jest nowym przedsięwzięciem. Najwcześniejsze prace nad komputerową reprezentacją twarzy miały miejsce na początku lat siedemdziesiątych. Pierwsza trójwymiarowa animacja twarzy została stworzona przez Parke'a w 1972 roku. W 1973 roku Gillenson opracował interaktywny system do składania i edycji narysowanych liniami obrazów twarzy. w 1974 roku Parke opracował sparametryzowany trójwymiarowy model twarzy.

Jedną z najważniejszych prób opisu ruchów twarzy był system kodowania czynności twarzy (FACS). Pierwotnie opracowany przez Carla-Hermana Hjortsjö w latach 60. XX wieku i zaktualizowany przez Ekmana i Friesena w 1978 r., FACS definiuje 46 podstawowych jednostek czynności twarzy (AU). Główna grupa tych Jednostek Działania reprezentuje prymitywne ruchy mięśni twarzy podczas czynności takich jak unoszenie brwi, mruganie i mówienie. Osiem jednostek AU odpowiada za sztywne, trójwymiarowe ruchy głowy (tj. obracanie i przechylanie w lewo iw prawo oraz poruszanie się w górę, w dół, do przodu i do tyłu). FACS jest z powodzeniem stosowany do opisywania pożądanych ruchów syntetycznych twarzy, a także do śledzenia czynności twarzy.

Na początku lat 80. Platt opracował pierwszy oparty na fizyce model twarzy kontrolowany przez mięśnie, a Brennan opracował techniki karykatur twarzy. W 1985 roku animowany film krótkometrażowy Tony de Peltrie był przełomem dla animacji twarzy. Oznaczało to, że po raz pierwszy komputerowa mimika twarzy i animacja mowy były fundamentalną częścią opowiadania historii.

Waters opracował nowy model oparty na mięśniach , opracował abstrakcyjny model działania mięśni przez Magnenata-Thalmanna i współpracowników, a Lewis i Hill podjęli podejście do automatycznej synchronizacji mowy. Lata 90. przyniosły wzrost aktywności w zakresie rozwoju technik animacji twarzy i wykorzystania komputerowej animacji twarzy jako kluczowego elementu opowiadania historii, co zilustrowano w filmach animowanych, takich jak Toy Story (1995), Antz (1998), Shrek i Monsters, Inc. (oba 2001) oraz gier komputerowych , takich jak Sims . Casper (1995), kamień milowy w tej dekadzie, był pierwszym filmem, w którym główny aktor został wyprodukowany wyłącznie przy użyciu cyfrowej animacji twarzy.

Wyrafinowanie filmów wzrosło po 2000 roku. W Matrix Reaktywacja i Matrix Rewolucje gęsty przepływ optyczny z kilku kamer o wysokiej rozdzielczości został wykorzystany do uchwycenia realistycznego ruchu twarzy w każdym punkcie twarzy. Polar Express (film) wykorzystał duży system Vicon do przechwycenia ponad 150 punktów. Chociaż systemy te są zautomatyzowane, nadal potrzebne jest duże nakłady ręcznego czyszczenia, aby dane były użyteczne. Kolejny kamień milowy w animacji twarzy został osiągnięty przez Władcę Pierścieni , w którym opracowano system bazowy kształtu charakterystyczny dla postaci. Mark Sagar był pionierem wykorzystania FACS w rozrywkowej animacji twarzy, a systemy oparte na FACS opracowane przez Sagara były używane w Monster House , King Kong i innych filmach.

Techniki

Generowanie danych animacji twarzy

Do generowania danych animacji twarzy można podejść na różne sposoby: 1.) przechwytywanie ruchu oparte na znacznikach na punktach lub znakach na twarzy wykonawcy, 2.) techniki przechwytywania ruchu bez znaczników przy użyciu różnych typów kamer, 3.) audio- techniki sterowane i 4.) animacja klatek kluczowych .

  • Przechwytywanie ruchu wykorzystuje kamery umieszczone wokół obiektu. Obiekt jest zwykle wyposażony w reflektory (pasywne przechwytywanie ruchu) lub źródła (przechwytywanie aktywnego ruchu), które precyzyjnie określają pozycję obiektu w przestrzeni. Dane zarejestrowane przez kamery są następnie digitalizowane i przekształcane w trójwymiarowy model komputerowy podmiotu. Do niedawna rozmiar detektorów/źródeł używanych przez systemy przechwytywania ruchu sprawiał, że technologia ta nie nadawała się do przechwytywania twarzy. Jednak miniaturyzacja i inne postępy sprawiły, że przechwytywanie ruchu stało się realnym narzędziem do komputerowej animacji twarzy. Przechwytywanie ruchu twarzy było szeroko stosowane w Polar Express przez Imageworks , gdzie przechwycono setki punktów ruchu. Ten film był bardzo udany i chociaż próbował odtworzyć realizm, został skrytykowany za to, że wpadł do „ niesamowitej doliny ”, królestwa, w którym realizm animacji jest wystarczający do rozpoznania przez ludzi i przekazania emocjonalnego przesłania, ale gdzie postacie nie są dostrzegane jako realistyczne. Główne trudności związane z przechwytywaniem ruchu to jakość danych, które mogą obejmować wibracje, a także ponowne ukierunkowanie geometrii punktów.
  • Przechwytywanie ruchu bez znaczników ma na celu uproszczenie procesu przechwytywania ruchu poprzez unikanie obciążania wykonawcy znacznikami. Ostatnio pojawiło się kilka technik wykorzystujących różne czujniki, w tym standardowe kamery wideo, czujniki Kinect i czujniki głębokości lub inne urządzenia oparte na świetle strukturalnym. Systemy oparte na świetle strukturalnym mogą osiągać wydajność w czasie rzeczywistym bez użycia jakichkolwiek znaczników przy użyciu szybkiego skanera światła strukturalnego. System opiera się na solidnym etapie śledzenia twarzy offline, który trenuje system z różnymi wyrazami twarzy. Dopasowane sekwencje są wykorzystywane do budowy liniowego modelu twarzy specyficznego dla danej osoby, który jest następnie wykorzystywany do śledzenia twarzy online i przesyłania ekspresji.
  • Techniki oparte na dźwięku są szczególnie dobrze dopasowane do animacji mowy. Mowa jest zwykle traktowana w inny sposób niż animacja mimiki twarzy, ponieważ proste klatkach kluczowych zazwyczaj zapewnia słabe przybliżenie rzeczywistej dynamiki mowy. Często visemes są używane do reprezentowania kluczowych pozycji w obserwowanej mowie (tj. Pozycji warg, szczęki i języka podczas tworzenia określonego fonemu ), jednak istnieje wiele różnic w realizacji visemes podczas produkcji naturalnej mowy. Źródłem tej zmienności jest koartykulacja , czyli wpływ otaczających viseme na aktualny viseme (tj. efekt kontekstu). Aby uwzględnić koartykulację, obecne systemy albo jawnie biorą pod uwagę kontekst podczas łączenia klatek kluczowych viseme, albo używają dłuższych jednostek, takich jak diphone , triphone , sylaba , a nawet jednostki długości słowa i zdania . Jednym z najczęstszych podejść do animacji mowy jest wykorzystanie funkcji dominacji wprowadzonych przez Cohena i Massaro. Każda funkcja dominacji reprezentuje wpływ w czasie, jaki viseme ma na wypowiedź mowy. Zazwyczaj wpływ będzie największy w środku viseme i będzie się zmniejszał wraz z odległością od środka viseme. Funkcje dominujące są łączone razem, aby wygenerować trajektorię mowy w podobny sposób, jak splajnu są łączone razem, aby wygenerować krzywą. Kształt każdej funkcji dominacji będzie różny w zależności od tego, jaki viseme reprezentuje i jaki aspekt twarzy jest kontrolowany (np. szerokość ust, obrót szczęki itp.). To podejście do animacji mowy generowanej komputerowo można zobaczyć w gadającej głowie Baldiego. Inne modele mowy używają jednostek bazowych, które obejmują kontekst (np. difony , trifony itp.) zamiast visemes. Ponieważ podstawowe jednostki obejmują już zmienność każdego viseme zgodnie z kontekstem i do pewnego stopnia dynamikę każdego viseme, nie jest wymagany żaden model współartykulacji . Mowa jest po prostu generowana przez wybranie odpowiednich jednostek z bazy danych i połączenie jednostek. Jest to podobne do technik konkatenacyjnych w syntezie mowy audio . Wadą tych modeli jest to, że do uzyskania naturalnych wyników wymagana jest duża ilość przechwyconych danych, a podczas gdy dłuższe jednostki dają bardziej naturalne wyniki, rozmiar wymaganej bazy danych zwiększa się wraz ze średnią długością każdej jednostki. Wreszcie, niektóre modele bezpośrednio generują animacje mowy z dźwięku. Systemy te zazwyczaj wykorzystują ukryte modele Markowa lub sieci neuronowe do przekształcania parametrów audio w strumień parametrów kontrolnych dla modelu twarzy. Zaletą tej metody jest możliwość operowania kontekstem głosu, naturalnym rytmem, tempem, emocjami i dynamiką bez skomplikowanych algorytmów aproksymacyjnych. Szkoleniowa baza danych nie musi być oznaczana, ponieważ nie są potrzebne żadne fonemy ani imadła; jedyne potrzebne dane to głos i parametry animacji.
  • Animacja klatki kluczowej jest najmniej zautomatyzowanym procesem tworzenia danych animacji, chociaż zapewnia maksymalną kontrolę nad animacją. Jest często używany w połączeniu z innymi technikami w celu ostatecznego dopracowania animacji. Dane klatki kluczowej mogą składać się z wartości skalarnych określających współczynniki celów morfingu lub wartości rotacji i translacji kości w modelach z platformą opartą na kościach. Często w celu przyspieszenia klatek kluczowych animacja wykorzystuje platformę kontrolną. Platforma kontrolna reprezentuje wyższy poziom abstrakcji, który może oddziaływać na wiele morfowania celów lub kości w tym samym czasie. Na przykład kontrola „uśmiechu” może działać jednocześnie na zakrzywienie ust i mrużenie oczu.

Stosowanie animacji twarzy do postaci

Główne techniki stosowane do zastosowania animacji twarzy do postaci to: 1.) animacja morfingu celów , 2.) animacja oparta na kościach , 3.) animacja oparta na teksturach (2D lub 3D) oraz 4.) modele fizjologiczne .

  • elementach Morph (zwanych również „blendshapes” ) oferują szybkie odtwarzanie, a także wysoki stopień wierności ekspresji. Technika ta obejmuje modelowanie części siatki twarzy w celu przybliżenia ekspresji i visemes , a następnie mieszanie różnych podsiatek, znanych jako cele morfingu lub blendshapes. Być może najbardziej utalentowaną postacią używającą tej techniki był Gollum z Władcy Pierścieni . Wadą tej techniki jest to, że wymaga ona intensywnej pracy fizycznej i jest specyficzna dla każdej postaci. Ostatnio zaczęły pojawiać się nowe koncepcje w modelowaniu 3D. Ostatnio zaczyna pojawiać się nowa technologia odchodząca od tradycyjnych technik, taka jak Curve Controlled Modeling, która kładzie nacisk na modelowanie ruchu obiektu 3D zamiast tradycyjnego modelowania statycznego kształtu.
  • Animacja oparta na kościach jest bardzo szeroko stosowana w grach. Konfiguracja kości może wahać się od kilku kości do blisko stu, aby umożliwić wszystkie subtelne mimiki. Główną zaletą animacji opartej na kościach jest to, że ta sama animacja może być użyta dla różnych postaci, o ile morfologia ich twarzy jest podobna, a po drugie nie wymagają ładowania do pamięci wszystkich danych celów Morph . Animacja oparta na kościach jest najczęściej obsługiwana przez silniki gier 3D. Animacja sterowana kością może być używana zarówno w animacji 2D, jak i 3D. Na przykład możliwe jest rigowanie i animowanie za pomocą kości postaci 2D za pomocą Adobe Flash .
Zrzut ekranu z filmu animowanego „Kara” studia Quantic Dream
  • Animacja oparta na teksturach wykorzystuje kolor pikseli do tworzenia animacji na twarzy postaci. Animacja twarzy 2D jest zwykle oparta na transformacji obrazów, w tym zarówno obrazów z fotografii, jak i sekwencji wideo. Morfing obrazu to technika, która umożliwia generowanie pośrednich obrazów przejściowych między parą docelowych nieruchomych obrazów lub między klatkami z sekwencji wideo. Te morfingu zwykle składają się z kombinacji techniki deformacji geometrycznej, która wyrównuje docelowe obrazy, oraz przenikania, które tworzy płynne przejście w teksturze obrazu. Wczesny przykład morfingu obrazu można zobaczyć w teledysku Michaela Jacksona do „Black Or White”. W animacji 3D animację opartą na teksturach można uzyskać animując samą teksturę lub mapowanie UV. W tym drugim przypadku tworzona jest mapa tekstury całego wyrazu twarzy, a animacja mapy UV jest używana do przejścia od jednego wyrazu do drugiego.
  • Modele fizjologiczne , takie jak układy mięśni szkieletowych i fizyczne modele głowy, stanowią inne podejście do modelowania głowy i twarzy . W tym przypadku symulowane są fizyczne i anatomiczne cechy kości , tkanek i skóry , aby zapewnić realistyczny wygląd (np. elastyczność przypominająca sprężystość). Takie metody mogą być bardzo skuteczne w tworzeniu realizmu, ale złożoność struktur twarzy sprawia, że ​​są one kosztowne obliczeniowo i trudne do stworzenia. Biorąc pod uwagę skuteczność sparametryzowanych modeli do celów komunikacyjnych (jak wyjaśniono w następnej sekcji), można argumentować, że modele fizyczne nie są zbyt wydajnym wyborem w wielu zastosowaniach. Nie zaprzecza to zaletom modeli opartych na fizyce i faktowi, że można ich używać nawet w kontekście modeli sparametryzowanych, aby w razie potrzeby dostarczać lokalnych szczegółów.

Języki animacji twarzy

Do opisania treści animacji twarzy używa się wielu języków animacji twarzy. Można je wprowadzić do kompatybilnego oprogramowania „odtwarzacza” , które następnie tworzy żądane działania. Języki animacji twarzy są blisko spokrewnione z innymi multimedialnych , takimi jak SMIL i VRML . Ze względu na popularność i skuteczność XML jako mechanizmu reprezentacji danych, większość języków animacji twarzy jest oparta na XML. Na przykład jest to próbka z Virtual Human Markup Language (VHML):

 
     
   
  <vhml> <   dyspozycja  osoby =   "gniewny"  >  Najpierw mówię gniewnym głosem i wyglądam na bardzo wściekłego, <   intensywność  zaskoczenia =   "50"  >  ale nagle zmieniam się i wyglądam na bardziej zaskoczonego.  </zdziwiony>  </osoba>  </vhml> 

Bardziej zaawansowane języki umożliwiają podejmowanie decyzji, obsługę zdarzeń oraz działania równoległe i sekwencyjne. Face Modeling Language (FML) to oparty na XML język do opisu animacji twarzy . FML obsługuje parametry animacji twarzy MPEG-4 (FAPS), podejmowanie decyzji i dynamiczną obsługę zdarzeń oraz typowe konstrukcje programistyczne , takie jak pętle . Jest częścią systemu iFACE. Poniżej znajduje się przykład z FML:

 
   
     
 	     
 	     
     
         
 	      
 	      
     
   
  <fml>  <act>  <par>  <hdmv  type=  "yaw"  value=  "15"  begin=  "0"  end=  "2000"  />  <expr  type=  "joy"  value=  "-60"  begin=  "0 "  end=  "2000"  />  </par>  <excl  event_name=  "kbd"  event_value=  ""  repeat=  "kbd;F3_up"  >  <hdmv  type=  "yaw"  value=  "40"  begin=  "0"  end=  "2000"  event_value=  "F1_up"  />  <hdmv  type=  "yaw"  value=  "-40"  begin=  "0"  end=  "2000"  event_value=  "F2_up"  />  </excl>  </act>  </ fml> 

Zobacz też

Dalsza lektura

Linki zewnętrzne