Uvod

Matematička podloga

Opis rada programa

Ulazni podaci

Interpolacija na cijelom modelu

Interpolacija na označenom području

Izlazni podaci

Rezultati

Zaključak

Literatura

Download

Ulazni podaci

Kao ulazne podatke koriste se 3D modeli glava iz rada "Razvoj aplikacije za rekonstrukciju modela glave" od Nikole Prtenjače [2] . On u svojem radu pomoću fotografija lica i seta točaka koje korespondiraju točkama na generičkom 3D modelu ljudske glave, taj generički model matematičkim modelom transformira da odgovara fotografijama, te time dobiva približan 3d model glave fotografiranog subjekta.
Kao ulazni podatak nam nije dovoljan samo jedan model, već nam je potrebno nekoliko modela istog lica, ali sa različitim izrazima. Za dobivanje izraza iskorišten je rad "Kloniranje izraza lica" Ognjena Kosanovića [3]. Njegov rad izvodi kloniranje izraza lica između modela različite topologije, te je kao takav vrlo kvalitetan i pogodan za primjenu. Bilo je potrebno pronaći bilo kakve 3D modele lica sa bilo kakvim izrazom i onda te izraze preslikati na izvorno lice dobiveno iz rada Nikole Prtenjače. Time je eliminiran problem različitih topologija modela jer se rad Ognjena Kosanovića odlično nosi sa preslikavanjem izraza između modela različitih topologija.
Kombiniranjem ta dva rada dobili smo naš set od pet osnovnih izraza lica: iznenađen, ljut, prestrašen, tužan i sretan.

 

Slika 3.3a Iznenađenje                Slika 3.3b Ljutnja

 

  

Slika 3.3c Strah                    Slika 3.3d Tuga

 

Slika 3.3e Sreća

 

Osim ta četiri izraza potreban nam je i model neutralnog lica bez izraza. Na taj model ćemo "preslikavati" izraze sa gornjih modela.

Slika 3.3f Ulazni model sa neutralnim izrazom

Sve izraze smo pomoću [3] klonirali na slijedeće 3D modele čime smo dobili pet kompleta modela lica sa gore navedenim izrazima.

 

Slika 3.4 Ostali ulazni modeli sa neutralnim izrazima

 

Format ulazne datoteke

Kao format ulazne datoteke koristimo .head format kojeg koristi i Prtenjača u [2]. To je jednostavan ASCII format za zapisivanje osnovnih informacija o 3D modelu. U prvom retku datoteke je broj točaka, zatim slijede njihove x, y i z koordinate. Nakon toga ide broj trokuta, te zatim redni brojevi točaka koje čine te trokute. Primjer jednostavne .head datoteke:

5828                           : broj točaka
8.834340 1.314000 -5.031600    : x y z
8.650320 1.756540 -5.142420
8.595130 1.378790 -5.127090
8.933140 2.695929 -4.932910
8.692630 2.774378 -5.021520
8.909760 1.894650 -5.031890
7.704570 1.211270 -2.082010
7.687590 1.122560 -2.001130
7.755700 1.278160 -1.983800
...
-1.212670 -0.618436 9.903000
-1.551470 -11.600700 -9.004350
-1.141160 -0.595206 9.875780
-6.040170 6.279050 5.770860
-0.150536 -0.515351 11.483570
-0.268676 -0.503691 11.447510
-0.849424 8.013040 8.478650
-0.113519 -0.620967 11.169660
11370                           : broj trokuta
0 1 2                           : redni brojevi točaka
3 4 5
6 7 8
9 7 10
11 12 13
14 15 16
17 18 19
...

 


3D uzorkovani modeli lica

Na ZESOI-u smo dobili mogućnost koristiti sustav razvijen na tom zavodu od Tomislava Pribanića za 3D skeniranje vlastitih lica. Sustav je baziran na dvije video kamere kojima se snimi sekvenca lica, dok preko lica prelazi tražilo koje projicira projektor. Zatim se iz tih video zapisa vadi slika po slika i pomoću matematičkih funkcija koje su za tu priliku razvijene u programskom paketu Matlab se dobiju 3D koordinate svake točke na licu. Konačan rezultat je oblak točaka i datoteka za zapisom boje svake točke.

Problem na koji smo naišli kad smo pokušali iskoristit te 3D skenove je preveliki šum u oblaku točaka. Šum nije bilo moguće ukloniti u realnim rokovima, a besplatna programska podrška koja bi bila u stanju obaviti zadatak kvalitetnog uklanjanja šuma ne postoji.

Na slici 3.5 je jedan primjer dobivenog oblaka točaka.

Slika 3.5 Oblak obojanih točaka dobiven 3D uzorkovanjem