KLONIRANJE IZRAZA LICA - POSTUPAK
UVOD POSTUPAK APLIKACIJA REZULTATI ZAKLJUČAK LITERATURA
Opis Interpolacija Projekcija Podešavanje smjera Podešavanje iznosa Dodirna linija usana

DODIRNA LINIJA USANA

Linija dodira gornje i donje usne zahtjeva specijalnu pažnju pri izvedbi algoritma kloniranja izraza. Iako su točke gornje i donje usne vrlo blizu, njihovi vektori pomaka vrlo često imaju različito usmjerenje. Ukoliko točku koja se nalazi na donjoj usni kontrolira trokut gornje usne (tj. pronađen je presjek točke donje usne i trokuta gornje usne kod cilindrične projekcije) doći će do pojave velikih i vidljivih grešaka.

Postoje dva načina rješavanja ovog problema, ovisno o izgledu neutralnog izraza lica naših modela. Ukoliko je neutralni izraz predstavljen sa lagano otvorenim ustima, dovoljno je definirati dvije točke na krajnjim kutovima usta. Linija između te dvije točke definirat će nam granicu koja odjeljuje gornju i donju usnu.

Ukoliko je neutralni izraz predstavljen sa zatvorenim ustima, potrebno je vrlo precizno poravnati dodirne linije usana izvornog i ciljnog modela. Krivo poravnavanje rezultira krivim izračunom presjeka točke i trokuta te pomicanjem točaka usta u krivom smjeru. Slijedeći postupak potreban je da bi se točno poravnale dodirne linije usana izvornog i ciljnog modela:

Prvo, potrebno je uključiti sve točke dodirne linije usana izvornog modela u početni skup za učenje za interpolaciju radij-funkcijama. Budući da se točke izvornog modela najčešće ne poklapaju sa točkama ciljnog modela, potrebno je izračunati te točke na ciljnom modelu, i to na slijedeći način:

- Izračunati sumu udaljenosti između lijevog i desnog kraja dodirne linije za oba modela
- Normalizirati izračunate duljine na [0, 1]
- Lokacije točaka na dodirnoj liniji ciljnog modela pronalaze se pomoću normaliziranih parametara koji odgovaraju parametrima za točke dodirne linije izvornog modela izračunatih u prethodnim koracima. Ako označimo svaki parametar izvornog modela sa s1,2,3,… , a ciljnog modela sa t1,2,3,… . te ako parametar sm pada između tn i tn+1 tada se 3D koordinata c na ciljnom modelu izračunava pomoću:

Izračunom tocaka iz gornje formule dobivamo točke izvornog modela koje se nalaze unutar površine ciljnog modela. No, kao i kod cilindrične projekcije, i ovdje nam je cilj dobiti sve točke izvornog i ciljnog modela unutar jedne površine. Da bi to postigli, potrebno je privremeno pomaknuti točke ciljnog modela na njima odgovarajuće točke u izvornom modelu. Te odgovarajuće pozicije izračunavaju se preko normaliziranih parametara i gornje formule, samo što ovaj put zamijenimo mjesta izvornim i ciljnim parametrima u formuli.

Dvije stvari su bitne kod algoritma poravnavanja dodirnih linija. Prvo, ne dolazi do stvarne degradacije izgleda ciljnog modela pri poravnavanju točaka sa izvornim modelom. Poravnavanje je privremeno i služi samo kako bi se odredili trokuti u izvornom modelu koje točke ciljnog modela sijeku (kao i cilindrična projekcija ciljnog na izvorni model). Za animaciju se koriste originalne točke ciljnog modela. Drugo, mijenjanjem položaja točaka usana na dodirnoj liniji moguća je pojava invertiranih trokuta. To će se desiti ukoliko pomaknemo jednu točku trokuta, a druge dvije ne. U tom slučaju pomak koji smo napravili na jednoj točki prenosimo i na ostale točke u njenoj blizini sve dok ne primijetimo prestanak pojave invertiranih trokuta. Normale invertiranih trokuta gledaju u suprotnom smjeru od normala ostalih trokuta na licu.