Praca_magisterska - grafika.doc

(6996 KB) Pobierz
Spis treści wersja beta

I Wstęp              5

II Modelowanie i animacja              9

1. Modelowanie i animacja w filmach rysunkowych z elementami 3D              9

2. Kinematyka w animacji              18

3. Animacja komputerowa na przykładzie programu 3D Studio Max z uwzględnieniem animacji poklatkowej              21

a.              Modelowanie obiektów              21

b.              Używanie kości              21

c.              Używanie materiałów              22

d.              Umiejscawianie świateł i kamer.              22

e.               Kluczowanie              23

f.               Kanał alfa              25

g.              Łączenie technik animacyjnych              25

4. Opis filmu o Alicji, opis zastosowanych technik i narzędzi              28

a.               Adobe Premiere w naszym projekcie              33

b.              Adobe After Effects w naszym projekcie              39

III Synchronizacja              46

1. Krótki opis anatomii głowy              46

2. Przygotowanie modelu głowy do animacji              52

a. Metody modelowania głowy              53

3. Fonemy polskie i podstawowe pojęcia z dziedziny fonetyki              63

4. Synteza mowy – podstawowe pojęcia i historia              71

5. Synchronizacja mowy              75

6. Visemy              80

a. Spis              81

b. Metody przejść animacyjnych              89

7. Możliwe przyszłe zastosowania              96

a. Możliwości użycia formatu MPEG-4 dla postaci virtualnych              100

8. Spis programów do synchronizacji dostępnych na rynku              104

9. Opis przykładów              108

a. Przygotowanie postaci              108

b. Opis bazy visemów              115

c. Opis programu              117

IV Zakończenie              128

DODATKI              130

A. Historia animacji w filmie.              130

B. Historia Alicji              134

C.  Słownik podstawowych pojęć z dziedziny syntezy mowy języka polskiego              135

D. Grupy visemów              147

E. Przykłady skryptów do AviSynth              148

F. Kod źródłowy programu              148

BIBLIOGRAFIA              165

Ilustracje –żródła              169

Spis Ilustracji              169

Spis tabel              171

171

 


Teza: synchronizacja mowy z ruchem warg w różnych językach. Podstawowym celem pracy jest pokazanie możliwości synchronizacji mowy z ruchem warg, ze szczególnym uwzględnieniem języka polskiego. Poza tym stworzona zostanie przykładowa baza visemów* (wyjaśnienie słów oznaczonych gwiazdką znajduje się w słowniku na końcu pracy) w celu udowodnienia, że można je traktować tak samo jak fonemy*, łączyć w divisemy[1] czy słowa oraz tworzyć bazę kontekstową i z niej syntezować teksty. Taka baza przydatna mogłaby być do dużych systemów, np. wspomagania niedosłyszących, nauki języków czy w tworzeniu seriali animowanych. 

 

I Wstęp

 

„Nie ma innego tak znanego krajobrazu jak ludzka twarz. Dwadzieścia pięć cali kwadratowych składających się na nią jest najlepiej przebadanym, w historii  terytorium, sprawdzanym stale i delikatnie z zainteresowaniem przekraczającym potrzeby naukowe. Każdy szczegół nosa, oczu i ust, każda regularność w proporcjach, każdy wariant, u każdej osoby jest źródłem wiedzy” [1]

 

Stworzenie realistycznego modelu głowy jest jednym z zagadnień grafiki komputerowej. Publikacje dotyczące tego tematu sięgają lat siedemdziesiątych. Poza tym animacja twarzy jest używana do tak różnych zastosowań jak : animacji do filmów i reklam, gier komputerowych, wideo-konferencji, avatarów i agentów interfejsów użytkownika czy planowania operacji plastycznych. Mimo tego nigdy realistyczna animacja twarzy nie została wygenerowana przez komputer. 

 

Istnieje kilka "szkół" tworzenia realistycznego modelu twarzy. Pierwszą z nich jest stworzenie twarzy z form geometrycznych, które maja wiele punktów kontrolnych. W tej metodzie jednak więcej problemu niż modelowanie sprawia animacja głowy. Drugim sposobem jest modelowanie i animowanie w trzech wymiarach. Kolejna metoda polega  na mierzeniu podstawowych parametrów prawdziwego człowieka i wykorzystaniu tych danych do stworzenia syntetycznego modelu. Dzisiaj do stworzenia modelu można wykorzystać dane pobrane ze cylindrycznego skanera. W celu uzyskania efektu fotorealizmu można użyć morfingu 2D pomiędzy fotografiami (obrazami o fotograficznej jakości).  

 

Z tym wszystkim związany jest wzrost zainteresowania systemami syntezy audiwizualnej, w których standardowa synteza tekstu w mowę jest rozszerzona o komponenty wizualne wyobrażające „gadającą głowę”.  Pozwala to powiększyć „umiejętności” standardowych już zastosowań animacji, o takie jak cyfrowi aktorzy czy wirtualne avatary, a ponad to może zainteresować psychologów badających percepcję głosu, sposoby komunikacji. Przyczyniać się też może do zwiększenia zrozumiałości mowy dzięki umożliwieniu czytania z ust.

 

„Gadające głowy” stały się popularne za sprawą nowoczesnych interfejsów komputerowych. Ich obecność nadaje programowi cechy osobowe i bardziej przyciąga użytkownika.  Jednak problemem pozostaje cena takich produktów, gdyż jako że najczęściej są to nagrane sekwencje wideo, są drogie w produkcji, wymagają dużo miejsca i ograniczają  płynność przekazu.

 

Sama synteza i animacja realistycznej głowy jest bardzo trudna, gdyż oko człowieka wyłapuje wszystkie niedociągnięcia. Istnieje wiele programów do przygotowywania realistycznych „gadających głów”. Standardem kompresji przyjętym do kodowania animowanych głów jest MPEG[2]. Celem jest transmitowanie tylko kilku parametrów, a cała głowa jest rekonstruowana na końcu procesu, w miarę potrzeb.

 

Przy syntezie obrazu mowy ważne jest zachowanie realizmu, tak by odbiorca miał wrażenie normalnej ludzkiej głowy.

 

Synchronizacja mowy z ruchem warg w animacji jest procesem czaso- i pracochłonnym wymagającym od animatora dużej znajomości ogólnej wiedzy anatomicznej oraz dużej cierpliwości. Jednak nakład pracy jest współmierny do efektów, jakie można osiągnąć. Dlatego w naszej pracy postaramy się pokazać praktyczną i teoretyczną stronę tego zagadnienia załączając proste przykłady.

 

W naszej pracy, mimo że poświęcona jest ona synchronizacji mowy, zawrzeć chcemy wiedze potrzebną na każdym etapie tworzenia filmu animowanego. Dlatego też na początku zajmiemy się samym modelowaniem i technikami animacji ze szczególnym uwzględnieniem zakresu prac, jakie należy ponieść na każdym etapie powstawania filmu animowanego. Nieco uwagi poświęcimy też historii filmu animowanego poczynając od filmu niemego, animacji poklatkowej, a kończąc na animacjach komputerowych z zastosowaniem synchronizacji mowy.

 

Kolejny fragment naszej pracy poświęcimy montażowi filmu animowanego na przykładzie systemów firmy Adobe. Ilustracja do tej części jest krótki, niemy film animowany przedstawiający jedną z przygód Alicji w Krainie Czarów.

 

Następnie skupimy się na zasadniczym temacie naszej pracy jakim jest synchronizacja mowy. Przedstawimy kolejne kroki, jakie należy wykonać żeby osiągnąć wiarygodnie wyglądającą  głowę wypowiadającą słowa zsynchronizowane z ruchem warg i mimiką twarzy. Niezbędne będzie tu zawarcie krótkiego opisu anatomii głowy ludzkiej oraz opis w jaki sposób głowę tę należy przygotować do animacji. Całość uzupełnimy podstawową wiedzą z zakresu fonetyki, ze szczególnym uwzględnieniem fonetyki języka polskiego oraz podstawowymi pojęciami z zakresu audiowizualnej syntezy mowy. Postaramy się również omówić podstawowe programy do synchronizacji mowy.

 

W kolejnej części naszej pracy skupimy się na praktycznej stronie zagadnienia jakim jest synchronizacja mowy oraz przedstawimy nasze problemy jakie napotkałyśmy przy modelowaniu i synchronizacji. Szczególny nacisk zostanie tu położony na visemy, ich podział oraz na metody jakie można stosować przy synchronizacji mowy.


II Modelowanie i animacja

 

1. Modelowanie i animacja w filmach rysunkowych z elementami 3D

Jako że klasyczna animacja jest procesem bardzo pracochłonnym, powstała technika animacji oparta na klatkach kluczowych (keyframes). Zaobserwowano, że w sekwencji filmowej znajduje się wiele klatek które różnią się od siebie tylko minimalnie, dlatego też nie ma potrzeby żeby artysta rysował je wszystkie ( byłoby ich od 720 do 1800 ma minutę), wystarczy jak narysuje tylko te najważniejsze. Następnie asystent może wydedukować, co jest pomiędzy nimi. Takie klatki pomiędzy kluczowymi nazywamy tweens. Kiedy już wszystkie klatki kluczowe i tweens są gotowe można je wydrukować lub wyrenderować* jako produkt finalny. Niestety, ta metoda również wymaga ogromnego nakładu pracy wielu artystów.

 

Oprogramowanie graficzne bardzo uprościło ten proces. Teraz wystarczy już tylko  ustawić klatki kluczowe, a program sam wyliczy klatki pośrednie. Polega to na tym, że człowiek tworzy klatki kluczowe, które są początkiem i końcem sekwencji. Następnie program przelicza wartości przybliżone w celu stworzenia pełnej animacji. Trzeba jednak pamiętać o tym, że program może animować tylko te parametry, które wystąpiły  w scenie (animator może dodać ich wiele, takich jak przezroczystość, kolory i tekstury czy skręty). Jednym z ważniejszych parametrów, które możemy ustawić jest wyrenderowanie każdej klatki, co w rezultacie daje nam film w bardzo dobrej jakości.

 

Nastawienie klasyczne, czyli ukierunkowane na animację klatka po klatce jest do przyjęcia jeżeli zawsze pracujemy w tym samym formacie i nie potrzebujemy efektów specjalnych dokładnie umiejscowionych w czasie. Niestety animacje występują w różnych formatach, najpopularniejsze to  PAL  (24 klatki/sekunda) i NTSC video (30 klatek/sekunda).

 

Klatki kluczowe używane są do kontroli animacji. Klatki kluczowe zaznaczają punkt w czasie kompozycji, gdzie podana jest wartość własności warstwy (ścieżki). W animacji używającej klatek kluczowych muszą znaleźć się co najmniej dwie z nich. Komputer tworzy animację poprzez wyliczenie pośrednich klatek między nimi bazując na wartościach zmiany pomiędzy jedną klatką kluczową a następną.  Klatki kluczowe zawierają informacje o typie i prędkości zmian pomiędzy sąsiednimi wartościami pośrednimi. Możliwa jest również modyfikacja warstw z lub bez klatek kluczowych. Jeżeli nie są one użyte lub jeśli użyta jest tylko jedna, zmiany będą miały wpływ na całą warstwę.

 

W programie przeznaczonym do tworzenia animacji należy tylko podać, gdzie znajdują się klatki kluczowe i dołączyć ich opis, a resztę wyliczy komputer. Klatki przejściowe wyznaczane są na podstawie wzorów matematycznych więc przejścia są płynne. Zadaniem animatora jest więc stworzenie tych właśnie klatek kluczowych. Jednak jak się okazuje nie jest to takie proste. Świetną ilustracją jest tutaj animacja chodu człowieka, gdyż wtedy w jednym momencie dzieje się wiele różnych rzeczy, między innymi nogi i stawy są w ruchu, kołyszą się ramiona, kiwa się głowa. Przy tak skomplikowanych kompozycjach najpierw należy ustawić klatki kluczowe dla najważniejszych ruchów, a później dodawać szczegóły. W  tym wypadku najlepiej ustawić w pierwszej klatce lewą nogę wysuniętą maksymalnie do przodu, a prawą rękę do tyłu, w klatce środkowej odwrotnie, a ostatnia klatka powinna być taka sama jak pierwsza by umożliwić powtarzalność całej sekwencji.  

 

W tej chwili każda metoda animacji opiera się na klatkach kluczowych. Bez względu na to czy animujemy obiekty dwuwymiarowe czy trójwymiarowe. W wypadku animacji obiektów dwuwymiarowych klatki kluczowe służą do zaznaczenia przejść, zmiany warstwy, zmiany położenia, obrotu i skalowania ścieżki. W przypadku animacji trójwymiarowej klatek kluczowych używa się między innymi do zaznaczenia momentu zmiany położenia, obrotu i skalowania obiektu, ruchu kamer i świateł, morfowania, itp.

 

Jednym z najbardziej użytecznych narzędzi w produkcji animacji komputerowej jest możliwość połączenia obiektów w jedną formę zwaną hierarchią. O hierarchii mówimy wtedy gdy obiekt nadrzędny kontroluje transformacje jednego lub więcej obiektów podwładnych. Połączenia te są tak skonstruowane, że obiekt nadrzędny kontroluje podrzędny, ale nigdy odwrotnie. Przez połączenie jednego obiektu z innym tworzy się relacje rodzic-dziecko. Dzięki temu każda transformacja dokonana na obiekcie-rodzicu przechodzi automatycznie na obiekt-dziecko. Przez połączenie większej ilości obiektów z obojgiem rodziców i dzieci można wykreować hierarchię kompleksową.

 

Relacje między obiektami połączonymi w hierarchie są analogiczne do drzewa genealogicznego:

-        Rodzic - obiekt kontrolujący jedno lub więcej dzieci. Jest on często kontrolowany przez inny obiekt nadrzędny.

-        Dziecko – obiekt kontrolowany przez rodzica. Obiekt-dziecko może stać się również rodzicem.

-        Przodek – rodzic i wszyscy dziadkowie obiektu-dziecko

-        Potomek – dziecko i wszyscy wnukowie obiektu-rodzic.

-        Hierarchia – kolekcja wszystkich rodziców i dzieci połączonych razem w jedną strukturę.

-        Korzeń – jeden obiekt-rodzic który nadzoruje wszystkie inne obiekty w hierarchii.

-        Poddrzewo – wszyscy potomkowie konkretnego rodzica

-        Gałąź – ścieżka biegnąca przez hierarchię od rodzica do ostatniego potomka.

-        Liść – obiekt-dziecko który nie posiada żadnych potomków.

-        Więź - połączenie pomiędzy rodzicem I jego dzieckiem. Więź przekazuje informacje o pozycji, obrocie i skali z rodzica do dziecka.

-        Oś – definiuje lokalne centrum i system koordynacji dla każdego obiektu.

 

Pomiędzy obiektami istnieją różne możliwości połączeń:

-        Połączenie wielkiej ilości obiektów do jednego rodzica. Dzięki temu mogą być łatwo animowane oraz zmieniane przez dziedziczone z rodzica parametry ruchu, obrotu i skali 

-        Połączenie kamery lub światła do innego obiektu . Dzięki temu mogą one śledzić obiekt przez scenę.

-        Połączenie obiektu z atrapą obiektu w celu stworzenia kompleksowego ruchu przez kombinację wielu pojedynczych ruchów.

 

Wbrew pozorom wszystkie obiekty są częścią hierarchii. Nawet jeżeli obiekt nie  jest połączony z żadnym innym jest on dzieckiem Świata. Wyimaginowany obiekt Świat jest korzeniem wszystkiego w scenie. Obiekt Świat i jego dzieci mają specjalne funkcje gdy używamy odwróconej kinematyki*.

 

Teraz przyjrzyjmy się jak działają więzi i osie. Pewne dwa obiekty są połączone razem, obiekt-dziecko ma pozycje, obrót i skalę zgodną z danymi obiektu-rodzica. Wielkości te są mierzone od osi rodzica do osi dziecka. Więź działa jako jednostronny przekaźnik danych transformacji od rodzica do dziecka. Jeżeli zmienimy jakiś parametr rodzica, dziecko zaraz przyjmie te same wartości. A dodatkowo to, że przekaz jest jednostronny zmiana parametrów dziecka w żaden sposób nie wpływa na rodzica. Końcowym rezultatem jest zatem zaaplikowanie dziedziczonej transformacji od rodzica dziecka.

 

Zwykła metoda manipulacji hierarchią używa techniki zwanej właściwą linią czasu. Główne zasady rządzące tą techniką to:

-    ...

Zgłoś jeśli naruszono regulamin