Σύνθεση Εκφράσεων Προσώπου µε Χρήση Τρισδιάστατων Γραφικών

Σχετικά έγγραφα
ισδιάστατοι μετασχηματισμοί ΚΕΦΑΛΑΙΟ 4: ισδιάστατοι γεωμετρικοί μετασχηματισμοί

Κεφάλαιο 7. Τρισδιάστατα Μοντέλα

Γραφικά µε Υπολογιστές. Μετασχηµατισµοί Σύνθετη Γεωµετρία

Συστήματα συντεταγμένων

Οδηγίες σχεδίασης στο περιβάλλον Blender

MPEG-4 : Διαδραστικές εφαρμογές πολυμέσων

MPEG-4: Διαδραστικές εφαρμογές πολυμέσων

ΕΡΓΑΣΤΗΡΙΟ ΠΟΛΥΜΕΣΩΝ ΚΑΙ ΓΡΑΦΙΚΩΝ

Η διαδικασία Παραγωγής Συνθετικής Εικόνας (Rendering)

Κωδικοποίηση βίντεο (MPEG)

Εισαγωγή στο 3DS Max 2009

Κεφάλαιο 8. Οπτικοποίηση Απαλοιφή

Σχεδιοκίνηση με ενδιάμεση παραγωγή κίνησης

ΦΥΣΙΚΗ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΟΝΤΕΛΟΠΟΙΗΣΗ-ΨΗΦΙΑΚΗ ΣΥΝΘΕΣΗ ΕΙΚΟΝΩΝ Διδάσκων: Ν. ΝΙΚΟΛΑΙΔΗΣ

Γραφικά με υπολογιστές. Διδάσκων: Φοίβος Μυλωνάς. Διαλέξεις #11-#12

ΜΕΤΡΩΝΤΑΣ ΤΟΝ ΠΛΑΝΗΤΗ ΓΗ

Εισαγωγή στη σχεδίαση κινούμενων γραφικών

ΣΧΕΔΙΑΣΗ ΜΗΧΑΝΟΛΟΓΙΚΩΝ ΚΑΤΑΣΚΕΥΩΝ ΜΕ Η/Υ (Computer Aided Design)

Θεωρία μετασχηματισμών

Σχετική κίνηση αντικειμένων

Σχεδιοκίνηση με ενδιάμεση παραγωγή κίνησης

Ενότητα 2. Ζωγραφίζοντας με το ΒΥΟΒ

Διάλεξη #10. Διδάσκων: Φοίβος Μυλωνάς. Γραφικά με υπολογιστές. Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Χειμερινό εξάμηνο.

Απεικόνιση Υφής. Μέρος Α Υφή σε Πολύγωνα

ΥΛΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΟΣ ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ ΕΚΦΡΑΣΕΩΝ ΠΡΟΣΩΠΟΥ ΣΕ ΕΙΚΟΝΟΣΕΙΡΕΣ

Σχεδιαστικά Προγράμματα Επίπλου

Το πρόγραµµα ALGOR και εφαρµογές σε ναυπηγικές κατασκευές

Χωρικές σχέσεις και Γεωμετρικές Έννοιες στην Προσχολική Εκπαίδευση

Συγχρονισµός πολυµέσων

Για τις παρακάτω 3 ερωτήσεις, να γράψετε στο τετράδιό σας τον αριθµό της ερώτησης και δίπλα το γράµµα που αντιστοιχεί στη σωστή απάντηση.

ΕΡΓΑΣΤΗΡΙΟ ΠΟΛΥΜΕΣΩΝ & ΓΡΑΦΙΚΩΝ. Τρισδιάστατοι γεωμετρικοί μετασχηματισμοί

7 ο Εργαστήριο Θόρυβος 2Δ, Μετακίνηση, Περιστροφή

ΕΣΔ 200: ΔΗΜΙΟΥΡΓΙΑ ΠΕΡΙΕΧΟΜΕΝΟΥ ΙΙ. Ακαδημαϊκό Έτος , Χειμερινό Εξάμηνο Διδάσκων Καθ.: Νίκος Τσαπατσούλης

Τμήμα Μηχανικών Σχεδίασης Προϊόντων & Συστημάτων ΓΡΑΦΙΚΑ (6151) ΕΝΔΕΙΚΤΙΚΕΣ ΠΡΟΑΙΡΕΤΙΚΕΣ ΑΣΚΗΣΕΙΣ

Ειδικά Θέµατα Υπολογιστικής Όρασης & Γραφικής. Εµµανουήλ Ζ. Ψαράκης & Αθανάσιος Τσακαλίδης Πολυτεχνική Σχολή Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Μετασχηματισμοί Μοντελοποίησης (modeling transformations)

Εισαγωγή Αλγόριθµοι Αποτελέσµατα Επίλογος Ορισµός του Προβλήµατος Ευθυγράµµιση : Εύρεση ενός γεωµετρικού µετασχηµατισµού που ϕέρνει κοντά δύο τρισδιάσ

ΝΕΕΣ ΔΥΝΑΤΟΤΗΤΕΣ CONSTEEL

Prost S: Οδοποιΐα Σιδηροδρομική Υδραυλικά έργα

Points, Lines, Polygons

Εισαγωγή στην επιστήμη των υπολογιστών

Κεφάλαιο 10 Περιστροφική Κίνηση. Copyright 2009 Pearson Education, Inc.

Γραφικά με Υπολογιστές. Κίνηση - Αλληλεπίδραση

Προτεινόμενα Θέματα Διπλωματικών Εργασιών

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο

Τεχνικές Μείωσης Διαστάσεων. Ειδικά θέματα ψηφιακής επεξεργασίας σήματος και εικόνας Σ. Φωτόπουλος- Α. Μακεδόνας

ΜΗΧΑΝΟΥΡΓΙΚΗ ΤΕΧΝΟΛΟΓΙΑ Ι

Οπτική αντίληψη. Μετά?..

Περιεχόμενα. Κεφάλαιο 1 ΣΥΣΤΗΜΑΤΑ ΣΥΝΤΕΤΑΓΜΕΝΩΝ ΣΕ ΜΙΑ ΕΥΘΕΙΑ Οι συντεταγμένες ενός σημείου Απόλυτη τιμή...14

Μάθημα 1 ο : Εντολές κίνησης

Ο Οδηγός γρήγορης εκκίνησης

ΚΕΦΑΛΑΙΟ 5: ΑΠΕΙΚΟΝΙΣΗ ΚΑΙ ΑΠΟΚΟΠΗ

Προγραμματισμός. Το περιβάλλον του scratch

Σύντομος οδηγός αναφοράς Για Windows Έκδοση 4.0

Χωρικές Περιγραφές και Μετασχηµατισµοί

Απαραίτητες αφού 3Δ αντικείμενα απεικονίζονται σε 2Δ συσκευές. Θέση παρατηρητή. 3Δ Μετασχ/σμός Παρατήρησης

Μορφές των χωρικών δεδομένων

2 Η ΠΡΟΟΔΟΣ. Ενδεικτικές λύσεις κάποιων προβλημάτων. Τα νούμερα στις ασκήσεις είναι ΤΥΧΑΙΑ και ΟΧΙ αυτά της εξέταση

Κλασικη ιαφορικη Γεωµετρια

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

3) το παράθυρο Πίνακας τιμών όπου εμφανίζονται οι τιμές που παίρνουν οι παράμετροι

Μαθήματα Scratch -Δραστηριότητα 1 Παλέτα Κίνηση

Απεικόνιση Υφής. Μέρος B Δημιουργία Συντεταγμένων Υφής

Πίνακες, περιγράµµατα και σκίαση

ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΤΟΠΟΓΡΑΦΙΚΑ ΔΙΚΤΥΑ ΚΑΙ ΥΠΟΛΟΓΙΣΜΟΙ 5 ο εξάμηνο

Περιπτώσεις συνοριακών συνθηκών σε προβλήματα γεωτεχνικής μηχανικής

Στο Κεφάλαιο 5 µελετώντας την προβολή του τρισδιάστατου χώρου στο επίπεδο της κάµερας εξετάστηκε

Φυσική για Μηχανικούς

πάχος 0 πλάτος 2a μήκος

Ειδικά θέματα Πληροφορικής Κινηματογραφίας

Παλέτα Κίνηση. Για να μετακινήσουμε ένα αντικείμενο χρησιμοποιούμε την εντολή ΚΙΝΗΣΟΥ

Ενσωμάτωση εικόνας BMP σε σχέδιο

o AND o IF o SUMPRODUCT

Μέθοδοι Σχεδίασης κίνησης

website:

3. ΥΝΑΜΙΚΗ ΡΟΜΠΟΤΙΚΩΝ ΒΡΑΧΙΟΝΩΝ

ΑΠΛΗ ΑΡΜΟΝΙΚΗ ΤΑΛΑΝΤΩΣΗ - ΜΕΛΕΤΗ ΤΑΛΑΝΤΩΣΗΣ ΕΛΑΤΗΡΙΟΥ [Π. Μουρούζης, Γ. Παληός, Κ. Παπαμιχάλης, Γ. Τουντουλίδης, Ε. Τσιτοπούλου, Ι.

Παλέτα Κίνηση. Καλό είναι πριν ξεκινήσετε το παρακάτω φυλλάδιο να έχετε παρακολουθήσει τα παρακάτω δύο videos: a) Εισαγωγή στο περιβάλλον του Scratch

ΚΡΟΥΣΕΙΣ. γ) Δ 64 J δ) 64%]

Η προέλευση του Sketchpad 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ,

Υπολογισµός των υδροστατικών δυνάµεων που ασκούνται στη γάστρα του πλοίου

ΠΡΟΒΛΗΜΑΤΑ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ

Φυσική για Μηχανικούς

Μεθοδολογίες παρεµβολής σε DTM.

ΜΕΛΕΤΗ ΑΡΜΟΝΙΚΗΣ ΤΑΛΑΝΤΩΣΗΣ ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ ΤΟΥ ΜΑΘΗΤΗ Τάξη, τμήμα: Ημερομηνία:. Επώνυμο-όνομα:..

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΓΡΑΦΙΚΑ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκων: Ν. ΝΙΚΟΛΑΙΔΗΣ

10. ΓΕΩΔΑΙΤΙΚΕΣ ΕΦΑΡΜΟΓΕΣ

ΦΥΣΙΚΗ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ

METROPOLIS. Ένα περιβάλλον σχεδιασμού για ετερογενή συστήματα

Μετασχηµατισµοί συντεταγµένων

ΦΥΣ. 211 Τελική Εξέταση 10-Μάη-2014

Α. ΣΤΟΙΧΕΙΑ ΤΗΣ ΓΡΑΦΙΣΤΙΚΗΣ ΕΚΦΡΑΣΗΣ 6. ΧΩΡΟΣ

ΕΙΣΑΓΩΓΗ ΣΤΗ ΡΟΜΠΟΤΙΚΗ - ΣΥΝΟΨΗ

Κεφάλαιο 6. Εισαγωγή στη µέθοδο πεπερασµένων όγκων επίλυση ελλειπτικών και παραβολικών διαφορικών εξισώσεων

1. Το forehand στο τένις έχει αλλάξει δραστικά τα τελευταία 10 χρόνια

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: PowerPoint Κεφάλαιο 2: Εκκίνηση του PowerPoint... 13

Γραφικά Υπολογιστών. Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Ανατολικής Μακεδονίας και Θράκης. Γραφικά Υπολογιστών ΣΤ Εξάμηνο. Δρ Κωνσταντίνος Δεμερτζής

ΦΥΣ. 211 Τελική Εξέταση 10-Μάη-2014

Transcript:

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Σύνθεση Εκφράσεων Προσώπου µε Χρήση Τρισδιάστατων Γραφικών Διπλωµατική Εργασία του Λεόντιου Παπαλεοντίου (ΑΕΜ: 691) Επιβλέπων Καθηγητής: Νίκος Νικολαΐδης Θεσσαλονίκη 2005

2

Αφιερωµένο στην Andoena και στους γονείς µου 3

4

Περιεχόµενα 1 Εισαγωγή... 9 2 Το πρότυπο MPEG-4...13 2.1 Χαρακτηριστικά του προτύπου...13 2.1.1 Εύρος πιθανών προσώπων και εκφράσεων...13 2.1.2 Μεταφερσιµότητα...14 2.1.3 Αποδοτικότητα σε εύρος ζώνης (bandwidth)...14 2.1.4 Απόδοση λεπτών κινήσεων...14 2.2 Ορισµός και σχεδιοκίνηση προσώπων...15 2.2.1 Το µοντέλο προσώπου του MPEG-4 στην ουδέτερη στάση...15 2.2.1.1 Μονάδες µέτρησης παραµέτρων προσώπου (FAPUs)...16 2.2.1.2 Χαρακτηριστικά σηµεία (FPs)...16 2.2.2 Παράµετροι σχεδιοκίνησης προσώπου (FAPs)...17 2.2.3 Προδιαγραφή µοντέλου προσώπου...20 2.2.3.1 Δηµιουργία ενός µοντέλου προσώπου...21 2.2.3.2 Προσαρµογή µοντέλου προσώπου...22 2.2.3.3 Μοντέλο ουδετέρου προσώπου µε τη χρήση γράφου σκηνής...22 2.2.3.4 Ορισµός κανόνων σχεδιοκίνησης χρησιµοποιώντας FAT...22 3 3D µοντέλα προσώπου...25 3.1 Η γλώσσα VRML...25 3.1.1 Γράφος σκηνής (Scene graph)...26 3.1.2 Αναπαράσταση αντικειµένων...26 3.1.3 Σχεδιοκίνηση χρησιµοποιώντας VRML...27 3.2 Μοντέλο προσώπου...29 3.2.1 Το µοντέλο Candide-3...29 3.2.1.1 Συµβατότητα µε το πρότυπο MPEG-4...30 3.2.1.2 Τροποποιήσεις βελτιώσεις στο µοντέλο Candide...31 3.2.2 Επεκταµένο µοντέλο Candide...32 5

3.2.3 Αρχείο ορισµού παραµέτρων µοντέλου προσώπου... 33 3.3 Μοντέλα εσωτερικής στοµατικής κοιλότητας... 34 3.3.1 Μοντέλα δοντιών... 34 3.3.2 Λοιπά µοντέλα... 35 4 Προσαρµογή 3D µοντέλων... 37 4.1 Μέθοδοι προσαρµογής τρισδιάστατων µοντέλων... 37 4.2 Εφαρµοσµένη µέθοδος... 39 4.2.1 Αρχική τοποθέτηση µοντέλων... 39 4.2.2 Καθολική προσαρµογή... 40 4.2.3 Προσαρµογή µε χρήση 2D FEM... 41 4.2.4 Προσαρµογή µοντέλων εσωτερικής στοµατικής κοιλότητας... 43 4.3 Απεικόνιση υφής (Texture mapping)... 45 5 Σχεδιοκίνηση προσώπου... 47 5.1 Μέθοδοι σχεδιοκίνησης προσώπου... 47 5.2 Εφαρµοσµένη µέθοδος... 50 5.2.1 Σχεδιοκίνηση µοντέλου προσώπου... 51 5.2.2 Σχεδιοκίνηση σιαγόνας... 52 5.2.2.1 Περιστροφική κίνηση... 52 5.2.2.2 Οριζόντια κίνηση... 54 5.3 Αποτελέσµατα σχεδιοκίνησης... 55 6 Υποδιαίρεση 3D µοντέλων... 59 6.1 Τεχνικές υποδιαίρεσης... 59 6.2 Επιφάνειες υποδιαίρεσης... 60 6.3 Tεχνική υποδιαίρεσης Curved PN Triangles... 61 6.3.1 Λόγοι επιλογής της τεχνικής Curved PN Triangles... 61 6.3.2 Περιγραφή της τεχνικής Curved PN Triangles... 62 6.4 Υπολογισµός κάθετων διανυσµάτων... 65 6.5 Η δοµή λίστας ηµιακµών (HDS)... 66 6.5.1 Περιγραφή της δοµής HDS... 66 6.6 Αποτελέσµατα εφαρµογής της υποδιαίρεσης... 67 7 Λειτουργία της εφαρµογής... 71 6

7.1 Διαγράµµατα ροής της εφαρµογής...71 7.2 Γραφικό περιβάλλον εφαρµογής...73 7.2.1 Δυνατότητες απεικόνισης µοντέλων...74 7.2.2 Δυνατότητες εξαγωγής µοντέλων...78 7.3 Αντικατάσταση δοντιού...78 8 Mελλοντικές προοπτικές ανάπτυξης...79 Βιβλιογραφία...81 Παράρτηµα...85 7

8

1 Εισαγωγή Η ρεαλιστική σύνθεση προσώπου είναι ένα από τα πιο βασικά προβλήµατα στα γραφικά υπολογιστών και ένα από τα πιο δύσκολα. Οι προσπάθειες για µοντελοποίηση και σχεδιοκίνηση (animation) ρεαλιστικών ανθρώπινων προσώπων χρονολογούνται από τις αρχές της δεκαετίας του 70 [1], µε πολλές δεκάδες ερευνητικών άρθρων να έχουν εκδοθεί από τότε. Οι εφαρµογές της σχεδιοκίνησης προσώπου περιλαµβάνουν πεδία όπως σχεδιοκίνηση χαρακτήρων για ταινίες και διαφήµιση, ηλεκτρονικά παιχνίδια, συνεδριάσεις µέσω βίντεο, εικονική οδοντιατρική και άλλες. Παρόλα αυτά, ποτέ δεν έχει πραγµατοποιηθεί τελείως ρεαλιστική σχεδιοκίνηση προσώπου από υπολογιστή: κανένα «τεστ Touring σχεδιοκίνησης προσώπου» δεν έχει περάσει τη δοκιµασία. Υπάρχουν πολλοί παράγοντες που κάνουν την σχεδιοκίνηση προσώπου τόσο δύσκολη. Πρώτα απ όλα, το ανθρώπινο πρόσωπο είναι µια εξαιρετικά πολύπλοκη γεωµετρική µορφή. Επιπλέον, το πρόσωπο παρουσιάζει πολυάριθµες µικρές ρυτίδες και πτυχές, γεγονός που καθιστά την µοντελοποίηση του µια περίπλοκη διαδικασία. Περισσότερα προβλήµατα παρουσιάζονται στην σχεδιοκίνηση του προσώπου, αφού η κίνηση του είναι αποτέλεσµα της δοµής των µυών, καθώς και των µηχανικών ιδιοτήτων του δέρµατος και των υποδόριων στρωµάτων. Όλα αυτά τα προβλήµατα µεγεθύνονται ουσιαστικά από το γεγονός ότι σαν άνθρωποι έχουµε την ικανότητα να διαβάζουµε εκφράσεις και πρόσωπα µια ικανότητα που είναι µέρος των πιο βασικών µας ενστίκτων [2]. Αυτό, έχει σαν συνέπεια το γεγονός ότι στην σύνθεση εκφράσεων, η παραµικρή απόκλιση από την αλήθεια, γίνεται αντιληπτή από οποιονδήποτε. Αντικείµενο αυτής της διπλωµατικής εργασίας ήταν η ανάπτυξη µιας εφαρµογής για σχεδιοκίνηση προσώπου µε χρήση τρισδιάστατων γραφικών. Η εφαρµογή είναι βασισµένη στο πρότυπο MPEG-4, το οποίο δηµιουργήθηκε το 1993 από την Moving Pictures Experts Group (MPEG). Το πρότυπο αυτό, προσφέρει το απαραίτητο υπόβαθρο για την παραµετρική µοντελοποίηση και σχεδιοκίνηση ενός τρισδιάστατου προσώπου. 9

Η εφαρµογή, βασισµένη σε δυο εικόνες ενός προσώπου τραβηγµένες από µπροστά και πλάι αντίστοιχα (από φωτογραφία ή βίντεο), προσαρµόζει τα γενικά τρισδιάστατα µοντέλα του προσώπου και της εσωτερικής στοµατικής κοιλότητας µε ένα ηµιαυτόµατο τρόπο, εφαρµόζοντας ταυτόχρονα την υφή του προσώπου πάνω τους. Στη συνέχεια µπορεί να φορτώσει µια σχεδιοκίνηση από ένα αρχείο και να την εφαρµόσει πάνω στα µοντέλα, εφαρµόζοντας τεχνικές βελτίωσης της ποιότητας των µοντέλων σε πραγµατικό χρόνο. Ο χρήστης έχει πλήρη έλεγχο στα µοντέλα και στον τρόπο παρουσίασης τους, ενώ δίνονται επιλογές εξαγωγής της σχεδιοκίνησης σε µοντέλα VRML ή βίντεο. Η διπλωµατική αυτή εργασία αποτελείται από οχτώ κεφάλαια και ένα παράρτηµα, στα οποία περιγράφεται το θεωρητικό υπόβαθρο πάνω στο οποίο στηρίχθηκε η εφαρµογή, οι τεχνικές που εφαρµόζει για να πετύχει τον σκοπό της, καθώς και η λειτουργία της. Πιο συγκεκριµένα: Κεφάλαιο 2: Στο κεφάλαιο αυτό παρουσιάζεται το πρότυπο MPEG-4 για την σχεδιοκίνηση προσώπου, πάνω στο οποίο στηρίχθηκε η λειτουργία της εφαρµογής που αναπτύχθηκε. Αναφέρονται τα χαρακτηριστικά του προτύπου και περιγράφεται ο τρόπος µε τον οποίο προδιαγράφεται το µοντέλο του προσώπου. Επίσης, επεξηγείται ο µηχανισµός µε βάση τον οποίο γίνεται η σχεδιοκίνηση του προσώπου, όπως αυτός ορίζεται από το πρότυπο. Κεφάλαιο 3: Το κεφάλαιο αυτό περιγράφει τα προκαθορισµένα τρισδιάστατα µοντέλα που χρησιµοποιούνται από την εφαρµογή για να εκτελέσει την σχεδιοκίνηση. Περιγράφεται το χρησιµοποιούµενο µοντέλο προσώπου, καθώς και τα µοντέλα της εσωτερικής στοµατικής κοιλότητας. Επιπλέον, γίνεται µια αναφορά στην γλώσσα VRML, η οποία χρησιµοποιείται για την περιγραφή των µοντέλων αυτών, άλλα και για την εξαγωγή της σχεδιοκίνησης που παράγει η εφαρµογή. Κεφάλαιο 4: Σε αυτό το κεφάλαιο παρουσιάζονται οι διάφορες µέθοδοι που υπάρχουν για την προσαρµογή ενός γενικού τρισδιάστατου µοντέλου προσώπου στο σχήµα ενός συγκεκριµένου προσώπου. Στη συνέχεια αναλύεται η µέθοδος που εφαρµόστηκε στην παρούσα διπλωµατική εργασία για την προσαρµογή των προκαθορισµένων µοντέλων στις φωτογραφίες του προσώπου. 10

Κεφάλαιο 5: Στο κεφάλαιο αυτό περιγράφονται συνοπτικά οι διάφορες µέθοδοι που υπάρχουν για την σχεδιοκίνηση τρισδιάστατων προσώπων. Ακολουθεί µια περιγραφή της µεθόδου που εφαρµόστηκε στα πλαίσια της παρούσας διπλωµατικής εργασίας. Πιο συγκεκριµένα, αναλύεται ο τρόπος µε τον οποίο γίνεται η σχεδιοκίνηση του προσώπου, ενώ στη συνέχεια ο τρόπος κίνησης της σιαγόνας. Κεφάλαιο 6: Το κεφάλαιο αυτό περιγράφει µια τεχνική βελτίωσης της οπτικής ποιότητας των τρισδιάστατων µοντέλων που υιοθετήθηκε, η οποία ονοµάζεται υποδιαίρεση. Η τεχνική αυτή οµαλοποιεί την επιφάνεια των µοντέλων, αυξάνοντας σηµαντικά τον ρεαλισµό τους. Κεφάλαιο 7: Σε αυτό το κεφάλαιο αναλύεται λεπτοµερώς η λειτουργία της εφαρµογής που αναπτύχθηκε. Περιγράφεται το γραφικό της περιβάλλον, και ο τρόπος µε τον οποίο ο χρήστης αλληλεπιδρά µε αυτό. Επίσης παρουσιάζονται οι δυνατότητες που παρέχονται για την απεικόνιση των τρισδιάστατων µοντέλων. Κεφάλαιο 8: Στο τελευταίο κεφάλαιο παρατίθενται οι µελλοντικές προοπτικές ανάπτυξης της εφαρµογής. 11

12

2 Το πρότυπο MPEG-4 Σε αυτό το κεφάλαιο παρουσιάζεται µια περίληψη της σχεδιοκίνησης προσώπου όπως αυτή υποστηρίζεται από το πρότυπο MPEG-4. Το πρότυπο σχεδιοκίνησης προσώπου MPEG-4 (MPEG-4 Facial Animation Standard), είναι η πρώτη παραµετροποίηση ελέγχου προσώπου που έχει τυποποιηθεί. Έχει δηµιουργηθεί για να γεφυρώσει το χασµα ανάµεσα στα ερευνητικά κέντρα και τους καλλιτέχνες που ασχολούνται µε την σχεδιοκίνηση προσώπου, έτσι ώστε να υπάρχει µια ενιαία γλώσσα που να επιτρέπει την επικοινωνία και αλληλοσύνδεση των διαφόρων συστηµάτων. Χρησιµοποιώντας τις Παραµέτρους Σχεδιοκίνησης Προσώπου (Facial Animation Parameters FAPs), το MPEG-4 επιτρέπει την σχεδιοκίνηση ενός προσώπου το οποίο µπορεί να υπάρχει στο σύστηµα του πελάτη, ή να κατεβεί µέσω του δικτύου. Για το µοντέλο του προσώπου, το MPEG-4 ορίζει σηµεία χαρακτηριστικών (Feature Points FPs), τα οποία κινούνται από τα FAPs [3]. Το πρότυπο αυτό, έχει καταργήσει την βασική αρχή ότι ο αποκωδικοποιητής πρέπει να είναι πλήρως ορισµένος, αφού µόνο η µορφοποίηση των µεταδιδόµενων δεδοµένων έχει προτυποποιηθεί, ενώ τα µέρη που εκτελούν την κωδικοποίηση και αποκωδικοποίηση δεν έχουν ορισθεί πλήρως, δίνοντας έτσι ένα µεγάλο βαθµό ελευθερίας στο πως υλοποιούνται [4]. 2.1 Χαρακτηριστικά του προτύπου 2.1.1 Εύρος πιθανών προσώπων και εκφράσεων Όσο άφορα το εύρος των πιθανών προσώπων, οι Παράµετροι Ορισµού Προσώπου (Facial Definition Parameters FDPs) επιτρέπουν την τροποποίηση του σχήµατος του προσώπου αποστέλλοντας ένα αριθµό FPs ή σε υψηλότερο επίπεδο ολόκληρο το πολυγωνικό πλέγµα που αναπαριστά το πρόσωπο καθώς και την υφή, και τα δυο αυθαίρετης πολυπλοκότητας. Αυτό καθιστά το εύρος των προσώπων που µπορούν να αναπαρασταθούν απεριόριστο. Όσο αφορά το εύρος των εκφράσεων, τα FAPs καλύπτουν όλες τις κύριες αρθρώσεις του προσώπου σε λεπτοµέρεια. 13

Παρόλα αυτά, εκ φύσεως τους (αφού είναι ορισµένα µε βάση µετακινήσεις σηµείων) τα FAPs δεν επιτρέπουν προσδιορισµό πιο λεπτών κινήσεων και σχηµατισµών όπως ρυτίδες και πτυχές του δέρµατος. Τα FAP µπορούν να ερµηνευτούν µε τέτοιο τρόπο έτσι ώστε να περιλαµβάνουν τέτοιες κινήσεις και παραµορφώσεις, άλλα αυτό εναποτίθεται στη συγκεκριµένη υλοποίηση του κάθε αποκωδικοποιητή FAP. Για να καθοριστούν λεπτοµερώς αυτές οι κινήσεις, είναι αναγκαία η χρήση Πινάκων Σχεδιοκίνησης Προσώπου (Facial Animation Tables FATs) οι οποίοι επιτρέπουν ακριβή προσδιορισµό της κίνησης των κορυφών που αντιστοιχούν σε κάθε FAP. Αυτός ο µηχανισµός επεκτείνει τον ορισµό του κάθε FAP σε οποιοδήποτε επιθυµητό επίπεδο λεπτοµέρειας [4]. 2.1.2 Μεταφερσιµότητα Τα FAP κανονικοποιούνται µε βάση το πρόσωπο στο οποίο εφαρµόζονται και συνεπώς είναι µεταφέρσιµα από ένα πρόσωπο σε άλλο. Πειράµατα έχουν δείξει ότι γίνεται πιστή αναπαραγωγή υψηλού επιπέδου εκφράσεων σε διαφορετικά µοντέλα προσώπου [4]. 2.1.3 Αποδοτικότητα σε εύρος ζώνης (bandwidth) Το MPEG-4 ορίζει την κωδικοποίηση των παραµέτρων σε µια πολύ αποδοτική ροή από bits. Το σύστηµα κωδικοποίησης βελτιστοποιεί την ροή δεδοµένων µεταδίδοντας µονό τις παραµέτρους οι οποίες χρησιµοποιούνται. Ο τυπικός ρυθµός δεδοµένων κυµαίνεται από 3 µέχρι 6 kbit/sec για πλήρη σχεδιοκίνηση προσώπου στα 25 ή 30 πλαίσια το δευτερόλεπτο [4]. 2.1.4 Απόδοση λεπτών κινήσεων Η προσοµοίωση πολύ λεπτοµερών εκφράσεων προσώπου είναι µια από τις πιο µεγάλες προκλήσεις στην σχεδιοκίνηση προσώπου. Τα FAP του MPEG-4, καλύπτουν τις περισσότερες κινήσεις του προσώπου και µπορούν να ελεγχθούν σε αρκετά µικρά µεγέθη για να επιτρέψουν κινήσεις οι οποίες να είναι ελάχιστα αντιληπτές. Όπως αναφέρθηκε και πριν, υπάρχει έλλειψη έλεγχου σε παραµορφώσεις εκτός των κύριων 14

κινήσεων, όπως ρυτίδες στα µάγουλα και στο µέτωπο. Αυτό µπορεί να ξεπεραστεί µε τη χρήση του µηχανισµού των FAT [4]. 2.2 Ορισµός και σχεδιοκίνηση προσώπων Το MPEG-4 ορίζει ένα µοντέλο προσώπου στην ουδέτερη στάση, ένα αριθµό FPs σε αυτό το ουδέτερο πρόσωπο και ένα σύνολο από FAPs, το καθένα από τα οποία αντιστοιχεί σε µια συγκεκριµένη ενέργεια προσώπου, που παραµορφώνει το ουδέτερο µοντέλο προσώπου. Η παραµόρφωση ενός ουδετέρου προσώπου σύµφωνα µε κάποιες τιµές FAPs σε κάθε χρονική στιγµή, έχει ως αποτέλεσµα την δηµιουργία µιας αλληλουχίας κίνησης (animation sequence). Η τιµή ενός FAP δείχνει το µέγεθος της συγκεκριµένης ενέργειας, για παράδειγµα ένα µικρό ή µεγάλο χαµόγελο. Για να κατανοήσει ένα σύστηµα σχεδιοκίνησης προσώπου τις τιµές των FAP χρησιµοποιώντας το µοντέλο προσώπου του, είναι αναγκαίο να έχει προκαθορισµένους κάνονες για το συγκεκριµένο µοντέλο, που να αντιστοιχούν στο κάθε FAP. Το σύστηµα µπορεί να χρησιµοποιήσει είτε τους δικούς του κάνονες, είτε να κατεβάσει ένα µοντέλο και τα αντίστοιχα FAT. Αφού τα FAP χρησιµοποιούνται για την κίνηση προσώπων διαφορετικών µεγεθών και αναλογιών, οι τιµές τους είναι κανονικοποιηµένες και ορισµένες σε µονάδες µέτρησης παραµέτρων προσώπου (Face Animation Parameter Units FAPUs). Τα FAPU υπολογίζονται από τις αποστάσεις ανάµεσα σε σηµαντικά χαρακτηριστικά του µοντέλου του προσώπου όταν αυτό βρίσκεται στην ουδέτερη στάση [3]. 2.2.1 Το µοντέλο προσώπου του MPEG-4 στην ουδέτερη στάση Σαν πρώτο βήµα, το MPEG-4 ορίζει ένα γενικό µοντέλο προσώπου στην ουδέτερη στάση µε τις παρακάτω ιδιότητες (Σχήµα 2-1): Η κατεύθυνση του βλέµµατος είναι στην κατεύθυνση του άξονα των z Όλοι οι µύες του προσώπου είναι χαλαροί Τα βλέφαρα είναι εφαπτόµενα στην ίριδα Η κόρη του µατιού είναι το ένα τρίτο της διαµέτρου της ίριδας Τα χείλη είναι σε επαφή και η γραµµή των χειλιών είναι οριζόντια και στο ίδιο ύψος µε τα άκρα των χειλιών Το στόµα είναι κλειστό και τα επάνω δόντια αγγίζουν τα κάτω 15

Η γλώσσα είναι επίπεδη και οριζόντια, µε το άκρο της γλωσσάς να αγγίζει το σύνορο ανάµεσα στα πάνω και κάτω δόντια. Σχήµα 2-1: Ένα µοντέλο προσώπου στην ουδέτερη του στάση και τα χαρακτηριστικά που ορίζουν τα FAPUs. Κλάσµατα των αποστάσεων µεταξύ των σηµειωµένων χαρακτηριστικών χρησιµοποιούνται για να ορίσουν τα FAPUs [5]. 2.2.1.1 Μονάδες µέτρησης παραµέτρων προσώπου (FAPUs) Για να οριστούν FAPs για αυθαίρετα µοντέλα, το MPEG-4 ορίζει τα FAPUs, τα οποία έχουν ως σκοπό των κλιµάκωση των FAPs για οποιοδήποτε µοντέλο. Τα FAPUs ορίζονται ως κλάσµατα των αποστάσεων ανάµεσα σε σηµαντικά χαρακτηριστικά του προσώπου (Σχήµα 2-1). Αυτά τα χαρακτηριστικά, όπως η απόσταση ανάµεσα στα µάτια, ορίζονται σε ένα µοντέλο που βρίσκεται στην ουδέτερη στάση. Τα FAPUs επιτρέπουν την µετατροπή των FAPs για οποιοδήποτε πρόσωπο µε ένα συνεπή τρόπο, παράγοντας έτσι λογικά αποτελέσµατα. Οι µονάδες µέτρησης φαίνονται στον Πίνακα 2-1. 2.2.1.2 Χαρακτηριστικά σηµεία (FPs) Το MPEG-4 προδιαγράφει 84 FPs στο ουδέτερο πρόσωπο (Σχήµα 2-2). Ο κύριος τους σκοπός είναι να παρέχουν χωρικές αναφορές για τον ορισµό των FAPs. Κάποια FPs, όπως αυτά στα µαλλιά, δεν επηρεάζονται από FAPs. Ωστόσο, είναι απαραίτητα για τον ορισµό του σχήµατος του µοντέλου. Τα FPs, είναι χωρισµένα σε οµάδες, όπως µάγουλα, µάτια και στόµα. Η τοποθεσία αυτών των FPs πρέπει να είναι 16

γνωστή για να είναι ένα µοντέλο συµβατό µε το πρότυπο MPEG-4. Τα FPs στο µοντέλο πρέπει να βρίσκονται όπως στο Σχήµα 2-2 και στον Πίνακα Α του παραρτήµατος. Πίνακας 2-1: Τα FAPUs και οι ορισµοί τους IRISD0 Διάµετρος ίριδας (εξ ορισµού είναι ίση µε την IRISD=IRISD0/1024 απόσταση ανάµεσα στο πάνω και κάτω βλέφαρο) ES0 Απόσταση ανάµεσα στα µάτια ES=ES0/1024 ENS0 Απόσταση ανάµεσα στα µάτια και τη µύτη ENS=ENS0/1024 MNS0 Απόσταση ανάµεσα στη µύτη και το στόµα MNS=MNS0/1024 MW0 Πλάτος στόµατος MW=MW0/1024 AU Μονάδα µέτρησης γωνιών 10E-5 rad 2.2.2 Παράµετροι σχεδιοκίνησης προσώπου (FAPs) Τα FAPs είναι βασισµένα στην έρευνα των ελάχιστων αντιληπτών ενεργειών (Minimal Perceptible Actions - MPA) και είναι στενά συσχετισµένα µε τις ενέργειες των µυών [6][7][8][9]. Οι 68 παράµετροι κατηγοριοποιούνται σε 10 οµάδες, οι οποίες σχετίζονται µε τα µέρη του προσώπου (Πίνακας 2-2). Τα FAP αναπαριστούν ένα ολοκληρωµένο σύνολο βασικών ενεργειών οι οποίες συµπεριλαµβάνουν την κίνηση του κεφαλιού, της γλώσσας, των µατιών και του στόµατος. Επίσης επιτρέπουν την αναπαράσταση φυσικών εκφράσεων προσώπου (Πίνακας A στο παράρτηµα). Για κάθε FAP, το πρότυπο ορίζει το κατάλληλο FAPU, την οµάδα στην οποία ανήκει, την κατεύθυνση της θετικής κίνησης και το κατά ποσόν η κίνηση του FP είναι µονοκατευθυντική (βλέπε FAP 3, άνοιγµα σιαγόνας) ή δικατευθυντική (βλέπε FAP 48, περιστροφή κεφαλιού). Τα FAPs στις οµάδες 2 µέχρι 10 θεωρούνται παράµετροι χαµηλού επιπέδου, αφού ορίζουν επακριβώς πόσο πρέπει να µετακινηθεί ένα FP ενός προσώπου [3]. 17

Σχήµα 2-2: Τα χαρακτηριστικά σηµεία µπορούν να χρησιµοποιηθούν για να ορίσουν το σχήµα ενός µοντέλου προσώπου. Τα FAPs ορίζονται από την κίνηση κάποιων από αυτών των σηµείων [3]. 18

Πίνακας 2-2: Οι οµάδες των FAPs [3] Οµάδα Αριθµός FAPs 1. Visemes και εκφράσεις 2 2. Σιαγόνα, πιγούνι, εσωτερικό κάτω χείλος, 16 άκρες των χειλιών, µέσο του χείλους 3. Μάτια, κόρες, βλέφαρα 12 4. Φρύδια 8 5. Μάγουλα 4 6. Γλώσσα 5 7. Περιστροφή του κεφαλιού 3 8. Θέσεις του εξωτερικού των χειλιών 10 9. Μύτη 4 10. Αυτιά 4 Το σύνολο των FAP, περιέχει δυο παραµέτρους υψηλού επιπέδου, τα visemes 1 (FAP 1) και τις εκφράσεις (FAP 2). Η παράµετρος των εκφράσεων, ορίζει τις έξι βασικές εκφράσεις (Σχήµα 2-3), και αποτελεί ένα αποδοτικό τρόπο για την σχεδιοκίνηση προσώπων. Σχήµα 2-3: Εκφράσεις προσώπου [3] 1 Το οπτικό ανάλογο του φωνήµατος (phoneme). Τα visemes περιγράφουν το σχήµα του προσώπου όταν προφέρεται ένας φθόγγος. 19

Όπως αναφέρθηκε και πιο πάνω, η παραµόρφωση ενός ουδετέρου προσώπου σύµφωνα µε κάποιες τιµές FAPs σε κάθε χρονική στιγµή, έχει ως αποτέλεσµα την δηµιουργία µιας αλληλουχίας κίνησης (animation sequence). Μια τέτοια αλληλουχία, περιγράφεται σε αρχεία τα οποία περιέχουν τις τιµές του κάθε FAP για κάθε χρονική στιγµή. Η δοµή ενός τέτοιου αρχείου µε 100 πλαίσια και ρυθµό πλαισίων ίσο µε 30 φαίνεται στο Σχήµα 2-4. Σε ένα τέτοιο αρχείο, κάθε πλαίσιο της σχεδιοκίνησης περιγράφεται από δυο έγγραφες. Στην πρώτη δίνεται µια «µάσκα» των ενεργών FAPs. Το καθένα από τα 68 FAP αναπαρίσταται µε 1 αν είναι ενεργό ή 0 αν δεν είναι. Στην δεύτερη εγγραφή, δίνονται οι τιµές των ενεργών FAPs. #Version number, Sequence name, Frame rate, Sequence length 2.1 Example 30 100 #Frame 0 #FAP mask <viseme> <expression> <open_jaw>...<pull_r_ear> 0 0 1 1 1 0 0 0 #FAP values #<frame number> <viseme> <expression> <open_jaw>...<pull_r_ear> 0 20 30 25 #Frame 1 #FAP mask 0 0 0 1 0 1 0 0 #FAP values 1 17 22 Σχήµα 2-4: Αρχείο περιγραφής σχεδιοκίνησης µε βάση τα FAP 2.2.3 Προδιαγραφή µοντέλου προσώπου Κάθε σύστηµα MPEG-4 το οποίο είναι σε θέση να αποκωδικοποιεί ακολουθίες FAP πρέπει να παρέχει ένα µοντέλο προσώπου συµβατό µε το MPEG-4, το οποίο χρησιµοποιεί για την σχεδιοκίνηση. Ο κωδικοποιητής δεν γνωρίζει πως µοιάζει αυτό το µοντέλο. Χρησιµοποιώντας ένα κόµβο FDP, το MPEG-4 επιτρέπει στον κωδικοποιητή να ορίσει πλήρως το µοντέλο που θα χρησιµοποιηθεί. Αυτό περιλαµβάνει τον ορισµό 20

της στατικής γεωµετρίας του µοντέλου του προσώπου στην ουδέτερη του στάση χρησιµοποιώντας ένα γράφο σκηνής (scene graph), ορίζοντας τους κάνονες της σχεδιοκίνησης χρησιµοποιώντας FAT που αναφέρουν λεπτοµερώς πως παραµορφώνεται το µοντέλο από τα FAPs. Εναλλακτικά, ο κόµβος FDP µπορεί να χρησιµοποιηθεί για να παραµορφώσει το µοντέλο του αποκωδικοποιητή. Ωστόσο, το MPEG-4 δεν προσδιορίζει µε ποιο τρόπο να γίνει αυτή η παραµόρφωση [3]. 2.2.3.1 Δηµιουργία ενός µοντέλου προσώπου Για να είναι ένα µοντέλο συµβατό µε το MPEG-4, πρέπει να είναι ικανό να εκτελεί όλα τα FAPs σύµφωνα µε την παράγραφο 2.2.1 και 2.2.2. Εποµένως, το µοντέλο πρέπει να έχει τουλάχιστον τόσες κορυφές, όσες και FDPs, δηλαδή το ελάχιστο 50 [3]. Ένα µοντέλο προσώπου µπορεί να δηµιουργηθεί σε 4 βήµατα: 1. Δηµιουργούµε το σχήµα του µοντέλου και ορίζουµε την θέση των χαρακτηριστικών σηµείων πάνω στο µοντέλο σύµφωνα µε την παράγραφο 2.2.1 και το Σχήµα 2-2. 2. Για κάθε FAP, ορίζουµε πως θα µετακινηθεί το σηµείο. Για τα περισσότερα σηµεία, το MPEG-4 ορίζει µόνο την κίνηση σε µια διάσταση. Για παράδειγµα θεωρούµε το FAP 54, το οποίο µετακινεί την γωνία του εξωτερικού δεξιού χείλους οριζόντια. Στο ανθρώπινο πρόσωπο, η γωνία αυτή κινείται προς τα πίσω ταυτόχρονα µε την οριζόντια της κίνηση. Εναποτίθεται στον σχεδιαστή του µοντέλου να ορίσει αληθοφανείς παραµορφώσεις του προσώπου για κάθε FAP. 3. Μετά τον ορισµό της κίνησης των σηµείων χαρακτηριστικών για κάθε FAP, ορίζουµε πώς η κίνηση ενός σηµείου επηρεάζει τα γειτονικά του σηµεία. Αυτή η λειτουργία µπορεί να γίνει µε πίνακες όπως το FAT [10], παραµόρφωση σηµείων µε µυς [6][8][9], µετασχηµατισµούς απόστασης [11] ή κλωνοποίηση από υπάρχοντα µοντέλα [12][13]. 4. Για τις εκφράσεις, το MPEG-4 παρέχει µόνο ποιοτικές ενδείξεις για το πως πρέπει να σχεδιαστούν. 21

2.2.3.2 Προσαρµογή µοντέλου προσώπου Ο αποκωδικοποιητής πριν ξεκινήσει την σχεδιοκίνηση, πρέπει να προσαρµόσει το προκαθορισµένο του µοντέλο. Το MPEG-4 δεν προσδιορίζει µε ποιο τρόπο γίνεται αυτή η προσαρµογή. Η διαδικασία αυτή, όπως εφαρµόζεται από το σύστηµα που αναπτύχθηκε στα πλαίσια αυτής της διπλωµατικής εργασίας παρουσιάζεται στο Κεφάλαιο 4. 2.2.3.3 Μοντέλο ουδετέρου προσώπου µε τη χρήση γράφου σκηνής Η στατική γεωµετρία του µοντέλου του κεφαλιού ορίζεται µε ένα γράφο σκηνής χρησιµοποιώντας το BIFS (BInary Format for Scenes) του MPEG-4. To BIFS ορίζει τους ίδιους κόµβους µε την VRML (Βλέπε Παράγραφο 3.1). Η VRML και το BIFS περιγράφουν τις σκηνές σαν ένα σύνολο κόµβων σε ένα γράφο σκηνής. Ο κόµβος IndexedFaceSet ορίζει την γεωµετρία (τρισδιάστατο πλέγµα) και τις ιδιότητες ενός πολυγωνικού αντικειµένου [3]. 2.2.3.4 Ορισµός κανόνων σχεδιοκίνησης χρησιµοποιώντας FAT Τα FATs ορίζουν πως ένα µοντέλο παραµορφώνεται σαν συνάρτηση του πλάτους των FAPs. Οι κόµβοι FaceDefTable και FaceDefMesh, οι οποίοι είναι µέρος του µοντέλου, παρέχουν αυτή τη λειτουργικότητα. Χρησιµοποιώντας κόµβους FaceDefMesh, ο κόµβος FaceDefTable καθορίζει για ένα FAP ποιους κόµβους κινεί και πώς. Αν ένα FAP όπως η χαρά, προκαλεί ελαστική παραµόρφωση του µοντέλου, ο κόµβος FaceDefTable χρησιµοποιεί ένα κόµβο FaceDefMesh για να ορίσει την παραµόρφωση των κόµβων IndexedFaceSet. Η κίνηση των επηρεαζόµενων κορυφών είναι µια γραµµική συνάρτηση του πλάτους του FAP. Ο κόµβος FaceDefMesh ορίζει για κάθε επηρεαζόµενη κορυφή την δική της γραµµική συνάρτηση ορίζοντας διαστήµατα του πλάτους του FAP και τρισδιάστατες µετατοπίσεις για κάθε διάστηµα. Στον Πίνακα 2-3 φαίνεται ένα απλουστευµένο παράδειγµα [3]. 22

Πίνακας 2-3: Απλουστευµένο παράδειγµα ενός FaceDefMesh [3] #FaceDefMesh FAP 6 (τέντωµα της αριστερής γωνίας των χειλιών) IndexedFaceSet: Face Interval borders: -1000, 0, 500, 1000 Displacements: Vertex 50 1 0 0, 0.9 0 0, 1.5 0 4 Vertex 51 0.8 0 0, 0.7 0 0, 2 0 0 23

24

3 3D µοντέλα προσώπου Τα τρισδιάστατα µοντέλα που χρησιµοποιούνται από την εφαρµογή, είναι τριγωνικά πλέγµατα τα οποία είναι αποθηκευµένα σε αρχεία σύµφωνα µε το πρότυπο VRML 2.0. Τα µοντέλα έχουν ιδιότητες υλικού και µπορούν να υποστηρίξουν ύφη, ενώ προσαρµόζονται στο σχήµα του προσώπου για ρεαλιστικότερη σχεδιοκίνηση (Βλέπε Κεφάλαιο 4). Το κάθε µοντέλο, το οποίο αναπαριστά ένα µέρος του πρόσωπου (πρόσωπο, γλώσσα, ούλα κτλ.) είναι αποθηκευµένο σε ένα ξεχωριστό αρχείο, δίνοντας έτσι την δυνατότητα στον χρήστη, αν αυτός το επιθυµεί, να αντικαταστήσει ένα από τα προκαθορισµένα µοντέλα. Αυτό καθιστά την εφαρµογή πιο ευέλικτη και παραµετροποιήσιµη. Συνολικά η εφαρµογή χρησιµοποιεί µοντέλα για το πρόσωπο, τη γλώσσα, τα δόντια, τα ούλα, τον λάρυγγα και τις αµυγδαλές, αν και η επέκταση του για χρησιµοποίηση περισσότερων µοντέλων είναι πολύ εύκολη. Το µοντέλο του προσώπου συνοδεύεται από ένα αρχείο το οποίο ορίζει τις παραµέτρους που είναι αναγκαίες για την σχεδιοκίνηση του µοντέλου. Παρακάτω παρουσιάζεται η γλώσσα VRML και αναλυτικά το καθένα από τα µοντέλα αυτά. 3.1 Η γλώσσα VRML Η γλώσσα VRML (Virtual Reality Modelling Language), είναι ένα είδος µορφοποίησης αρχείων για την περιγραφή τρισδιάστατων αντικειµένων και κόσµων. Είναι σχεδιασµένη για χρήση στο Internet, τοπικά δίκτυα και τοπικά συστήµατα εξυπηρέτη. Είναι επίσης ένα κοινά αποδεκτό πρότυπο για τρισδιάστατα γραφικά και πολυµέσα. Η VRML είναι ικανή να αναπαραστήσει στατικά και κινούµενα (δυναµικά) τρισδιάστατα αντικείµενα. Κάθε αρχείο VRML, είναι ένας τρισδιάστατος χώρος, όπου είναι ορισµένο ένα σύστηµα συντεταγµένων για όλα τα αντικείµενα [14]. 25

3.1.1 Γράφος σκηνής (Scene graph) Ένα αρχείο VRML, αναπαριστά τα αντικείµενα του εικονικού κόσµου χρησιµοποιώντας ένα γράφο σκηνής (Scene graph). Ο γράφος σκηνής περιέχει κόµβους (nodes) οι οποίοι περιγράφουν τα αντικείµενα και τις ιδιότητες τους. Περιέχει ιεραρχικά οµαδοποιηµένη γεωµετρία για να παρέχει οπτικοακουστική αναπαράσταση των αντικείµενων, καθώς επίσης και κόµβους που συµµετέχουν στον µηχανισµό δηµιουργίας και δροµολόγησης γεγονότων. Κάποιοι κόµβοι VRML δηµιουργούν µηνύµατα αντιδρώντας σε αλλαγές του περιβάλλοντος ή µετά από αλληλεπίδραση του χρήστη. Η δροµολόγηση των µηνυµάτων παρέχει ένα µηχανισµό ξεχωριστό από την ιεραρχία του γράφου σκηνής, µέσα από τον οποίο αυτά τα µηνύµατα µπορούν να διαδοθούν για να επηρεάσουν άλλους κόµβους. Τα µηνύµατα αυτά µπορεί να επηρεάσουν την κατάσταση του κόµβου, να δηµιουργήσουν επιπλέον µηνύµατα ή να αλλάξουν την δοµή ενός γράφου σκηνής [14]. 3.1.2 Αναπαράσταση αντικειµένων Τα αντικείµενα αναπαριστώνται µε κόµβους Shape, οι οποίοι συσχετίζουν τους κόµβους γεωµετρίας µε κόµβους που ορίζουν την εµφάνιση της γεωµετρίας. Στην περίπτωση της παρούσας εφαρµογής, η γεωµετρία των µοντέλων αναπαρίσταται µε κόµβους τύπου IndexedFaceSet, οι οποίοι αναπαριστούν ένα αντικείµενο ως σύνολο από πολύγωνα, των οποίων οι συντεταγµένες των κορυφών δίνονται ρητά. Παρακάτω φαίνεται ένα παράδειγµα ενός κόµβου Shape, που παρουσιάζει πως αναπαριστώνται τα µοντέλα της εφαρµογής. Shape { appearance Appearance { material Material { diffusecolor 0.8 0.3 0.2 ambientintensity 0.5 specularcolor 0.8 0.3 0.2 emissivecolor 0 0 0 shininess 0.5 transparency 0 } texture ImageTexture { repeats FALSE repeatt FALSE url [ "Texture.jpg" ] 26

} } texturetransform TextureTransform { translation 0 0 rotation 0 scale 1 1 center 0 0 } } geometry IndexedFaceSet { ccw TRUE colorpervertex TRUE normalpervertex TRUE convex TRUE creaseangle 1 solid FALSE coord DEF ShapeName Coordinate { point [ x i y i z i ] } coordindex [ Vertex 1, Vertex 2, Vertex 3, -1 ] } Σχήµα 3-1: Παράδειγµα VRML αρχείου εισόδου 3.1.3 Σχεδιοκίνηση χρησιµοποιώντας VRML Η σχεδιοκίνηση στη VRML, µπορεί να γίνει µε συνδυασµό διαφόρων µεθόδων. Τα αρχεία τα οποία εξάγει η εφαρµογή, υλοποιούν την σχεδιοκίνηση εκµεταλλευόµενα τον µηχανισµό µηνυµάτων της VRML. Ένας κόµβος µετρητή χρόνου (timer) στέλνει µηνύµατα σε προκαθορισµένες χρονικές στιγµές (χρησιµοποιώντας το µηχανισµό δροµολόγησης µηνυµάτων της VRML), σε ένα κόµβο που εκτελεί παρεµβολή στις συντεταγµένες του αντικείµενου. Ο κόµβος αυτός, ο οποίος ονοµάζεται CoordinateInterpolator, ανήκει σε µια γενικότερη κατηγορία κόµβων παρεµβολής, που έχουν σχεδιαστεί για γραµµική σχεδιοκίνηση µε πλαίσια κλειδιά (keyframed linear animation). Τα πλαίσια κλειδιά είναι πλαίσια τα οποία ορίζουν τις συντεταγµένες του µοντέλου σε κάποιες χρονικές στιγµές. Οι συντεταγµένες για τις ενδιάµεσες χρονικές στιγµές υπολογίζονται µε γραµµική παρεµβολή. Για κάθε πλαίσιο κλειδί (keyframe) της κίνησης, ορίζεται ένα κλειδί (key) και οι συντεταγµένες των κορυφών σε αυτό το 27

πλαίσιο (Βλέπε Σχήµα 3-2). Τα κλειδιά αυτά, πρέπει να είναι κατανεµηµένα στο διάστηµα [0,1]. Στην περίπτωση των αρχείων που δηµιουργούνται από την εφαρµογή, η σχεδιοκίνηση του προσώπου γίνεται µε ένα σταθερό ρυθµό πλαισίων (frame rate) και έτσι τα κλειδιά που ορίζονται πρέπει να είναι οµοιόµορφα κατανεµηµένα. Shape { appearance Appearance { material Material { diffusecolor 0.8 0.3 0.2 ambientintensity 0.5 specularcolor 0.8 0.3 0.2 emissivecolor 0 0 0 shininess 0.5 transparency 0 } texture ImageTexture { repeats FALSE repeatt FALSE url ["Texture.jpg" ] } texturetransform TextureTransform { translation 0 0 rotation 0 scale 1 1 center 0 0 } } geometry IndexedFaceSet { ccw TRUE colorpervertex TRUE normalpervertex TRUE convex TRUE creaseangle 1 solid FALSE coord DEF ShapeName Coordinate { point [ x i y i z i ] } coordindex [ Vertex 1, Vertex 2, Vertex 3, -1 ] } } # Shape animation coordinate interpolator DEF ShapeMorph CoordinateInterpolator{ key [0 0.5 1 ] 28

} keyvalue[ # Frame number 1 x i y i z i # Frame number 2 x i y i z i # Frame number 3 x i y i z i ] # Animation clock DEF Timer TimeSensor{ cycleinterval 1 loop FALSE } DEF Touch TouchSensor{} ROUTE Touch.touchTime TO Timer.set_startTime ROUTE Timer.fraction_changed TO ShapeMorph.set_fraction ROUTE ShapeMorph.value_changed TO ShapeName.set_point Σχήµα 3-2: Παράδειγµα VRML αρχείου εξόδου µε σχεδιοκίνηση 3 πλαισίων (frames) 3.2 Μοντέλο προσώπου Εκτός από την δυνατότητα του χρήστη να εισάγει ένα µοντέλο της δικής του επιλογής, προσφέρονται από την εφαρµογή δυο µοντέλα πρόσωπου. Το ένα είναι το διεθνώς χρησιµοποιούµενο Candide-3 (έκδοση 3.1.6), ενώ το άλλο είναι µια επέκταση του προαναφερθέντος µοντέλου. 3.2.1 Το µοντέλο Candide-3 Το Candide είναι µια παραµετροποιηµένη µάσκα προσώπου, η οποία έχει σχεδιαστεί ειδικά για την κωδικοποίηση ανθρώπινων προσώπων. Ο χαµηλός αριθµός τριγώνων που το αποτελούν το καθιστούν κατάλληλο για γρήγορη ανακατασκευή χρησιµοποιώντας πολύ λίγη υπολογιστική ισχύ. Για τον λόγο αυτό, δηλαδή την 29

απλότητα του, αλλά και το γεγονός ότι είναι δηµοσίως διαθέσιµο, χρησιµοποιείται σε πολλά εργαστήρια σε όλο τον κόσµο [15]. Το αρχικό µοντέλο Candide-1 είχε δηµιουργηθεί το 1987 στο πανεπιστήµιο Linköping της Σουηδίας [16]. Από τότε το µοντέλο έχει δεχθεί δυο αναθεωρήσεις, µε την πιο πρόσφατη να είναι το Candide-3 (Σχήµα 3-3). Σχήµα 3-3: Το µοντέλο Candide-3 [15] 3.2.1.1 Συµβατότητα µε το πρότυπο MPEG-4 Η τελευταία έκδοση του Candide (η οποία και χρησιµοποιείται από την εφαρµογή), έχει τροποποιηθεί έτσι ώστε να είναι συµβατή µε το πρότυπο MPEG-4. Οι τροποποιήσεις αυτές αφορούν την πρόσθεση κορυφών σε σηµεία που ορίζονται από τα FDP του πρότυπου MPEG-4, καθώς και την υποστήριξη των FAP του πρότυπου MPEG-4 (Βλέπε Κεφάλαιο 2). Παρόλα αυτά, τα FDP που αντιστοιχούν στο άκρο της σπονδυλικής στήλης (FDP 7.1), το πίσω µέρος του κρανίου (FDP 11.6), τα αυτιά (FDP 10.1 10.6) και το πάχος των µαλλιών (FDP 11.5) δεν έχουν αντίστοιχες κορυφές στο µοντέλο Candide-3. Λόγω της απουσίας των παραπάνω FDP, κάποια από τα FAP που ορίζονται από το πρότυπο MPEG-4, δεν µπορούν να υλοποιηθούν και έτσι αγνοούνται. Αυτά τα FAP 30

είναι τα 65-68 που είναι υπεύθυνα για την κίνηση των αυτιών και τα 48-50 τα οποία είναι υπεύθυνα για την καθολική (global) περιστροφή του κεφαλιού [15]. 3.2.1.2 Τροποποιήσεις βελτιώσεις στο µοντέλο Candide Για την σωστή λειτουργία της εφαρµογής, ήταν αναγκαίες κάποιες τροποποιήσεις / βελτιώσεις στο µοντέλο Candide: 1. Για να γίνει συµβατό µε το πρότυπο MPEG-4, είχαν προστεθεί στο µοντέλο από τους σχεδιαστές της τρίτης του έκδοσης, ασύνδετες κορυφές, δηλαδή κορυφές οι οποίες δεν ανήκουν σε κανένα τρίγωνο. Για παράδειγµα, τέτοιες κορυφές προστέθηκαν στις κόρες των µατιών. Οι κορυφές αυτές δηµιουργούν πρόβληµα στον αλγόριθµο προσαρµογής του πλέγµατος µε τη µέθοδο FEM (Βλέπε Παράγραφο 4.2.3) και για αυτό το λόγο έχουν αφαιρεθεί. 2. Ο προσανατολισµός µερικών τριγώνων του µοντέλου, όπως αυτό ορίζεται από τους σχεδιαστές του, ήταν λανθασµένος, υπό την έννοια ότι ήταν προσανατολισµένα προς τα µέσα. Στο Σχήµα 3-4 φαίνονται αυτά τα τρίγωνα µε γκρίζο χρώµα. Το πρόβληµα αυτό είχε ως αποτέλεσµα τον υπολογισµό λανθασµένων κάθετων διανυσµάτων για τα συγκεκριµένα τρίγωνα, και συνεπώς την εσφαλµένη σκίαση και υποδιαίρεση των τριγώνων (Βλέπε Παράγραφο 6.3). 3. Το σύνολο των κορυφών που επηρεάζεται από το FAP 3 (άνοιγµα της σιαγόνας) έχει επεκταθεί έτσι ώστε να περιλαµβάνει όλες τις κορυφές της περιοχής της σιαγόνας. Στον αρχικό ορισµό, το FAP αυτό επηρέαζε µόνο 3 κορυφές. Επίσης έχει προστεθεί κίνηση στον άξονα των z για πιο ρεαλιστική κίνηση, ενώ το αρχικό µοντέλο όριζε κίνηση µόνο στον κάθετο άξονα (Σχήµα 3-6). 31

Σχήµα 3-4: Με γκρίζο χρώµα φαίνονται τα τρίγωνα µε λανθασµένο προσανατολισµό, πριν την διόρθωση τους. 3.2.2 Επεκταµένο µοντέλο Candide Εκτός από την χρήση του µοντέλου Candide-3, δίνεται η επιλογή στο χρήστη για την χρήση ακόµα ενός προκαθορισµένου µοντέλου. Το µοντέλο αυτό, που φαίνεται στο Σχήµα 3-5, είναι µια επέκταση του µοντέλου Candide-3, για να περιλαµβάνει και το πίσω µέρος του κρανίου. Το µοντέλο έχει αναπτυχθεί στο εργαστήριο Τεχνητής Νοηµοσύνης και Ανάλυσης Εικόνων του Αριστοτέλειου Πανεπιστηµίου Θεσσαλονίκης. 32 Σχήµα 3-5: Το επεκταµένο µοντέλο Candide

3.2.3 Αρχείο ορισµού παραµέτρων µοντέλου προσώπου Για να είναι το µοντέλο συµβατό µε το πρότυπο MPEG-4, πρέπει να οριστούν τα FDPs του µοντέλου, και ο τρόπος µε τον οποίο θα γίνεται η σχεδιοκίνηση (Βλέπε Παράγραφο 2.2.3.1). Για το λόγο αυτό, το αρχείο VRML που ορίζει τη γεωµετρία του µοντέλου του προσώπου συνοδεύεται από ένα αρχείο στο οποίο είναι ορισµένες οι αντιστοιχίες ανάµεσα στις κορυφές του µοντέλου και τα FDPs, καθώς και ποιες κορυφές επηρεάζονται από κάθε FAP και πώς. Το τελευταίο γίνεται µε ένα τρόπο παρόµοιο µε αυτόν που περιγράφεται στην Παράγραφο 2.2.3.4, όµως πιο απλό. Για κάθε FAP, ορίζεται ο αριθµός των κορυφών που επηρεάζεται από αυτό, και για κάθε κορυφή ορίζεται ο αριθµός της και το ποσοστό επηρεασµού σε κάθε διάσταση. Οι πληροφορίες αυτές ορίζονται από το αρχείο περιγραφής του µοντέλου Candide-3, αν και έχουν γίνει βελτιώσεις σε ορισµένα FAP. Στο Σχήµα 3-6 φαίνεται ένα µέρος αυτού του αρχείου που δείχνει την σύνταξη του. Αν ο χρήστης εισάγει ένα δικό του µοντέλο στην εφαρµογή, ορίζοντας το αρχείο αυτό καθοδηγεί την εφαρµογή µε ποιο τρόπο να κάνει την σχεδιοκίνηση. Έτσι είναι δυνατή η εισαγωγή και σχεδιοκίνηση οποιουδήποτε µοντέλου, ανθρώπινου ή όχι. Επίσης, αλλάζοντας το αρχείο για τα προκαθορισµένα µοντέλα της εφαρµογής, µπορεί να επιτευχθεί πιστότερη και ρεαλιστικότερη σχεδιοκίνηση του προσώπου χωρίς να είναι απαραίτητη καµιά τροποποίηση της εφαρµογής. #FAP 1 viseme 0 #FAP 2 expression 0 #FAP 3 open_jaw 10 9 0-1 -0.8 31 0-1 -0.8 56 0-1 -0.8 8 0-1 -0.5 34 0 0-0.5 74 0 0-0.5 75 0 0-0.5 7 0 0-0.5 76 0 0-0.5 77 0 0-0.5 33

# Αντιστοίχηση FDP # Οµάδα - Υποοµάδα Αριθµός κορυφής 2 1 9 2 2 78 2 3 34 Σχήµα 3-6: Παράδειγµα αρχείου ορισµού παραµέτρων µοντέλου προσώπου 3.3 Μοντέλα εσωτερικής στοµατικής κοιλότητας Τα µοντέλα της εσωτερικής στοµατικής κοιλότητας που χρησιµοποιούνται στην εφαρµογή έχουν αναπτυχθεί στο εργαστήριο Τεχνητής Νοηµοσύνης και Ανάλυσης Εικόνων του Αριστοτέλειου Πανεπιστηµίου Θεσσαλονίκης. 3.3.1 Μοντέλα δοντιών Στην εφαρµογή έχουν υλοποιηθεί τα 28 από τα 32 δόντια, καθώς λείπουν οι φρονιµίτες. Τα µοντέλα βρίσκονται το καθένα σε ξεχωριστά αρχεία, και για την αναγνώριση και διαχείριση τους από την εφαρµογή, έχει υιοθετηθεί η αρίθµηση όπως αναφέρεται στο [17] (Σχήµα 3-7). Η αρίθµηση αυτή χρησιµοποιείται επίσης στην λειτουργία αντικατάστασης ενός δοντιού, για τον καθορισµό του δοντιού που θα αντικατασταθεί (Βλέπε Παράγραφο 7.3). 34

Σχήµα 3-7: Αρίθµηση των δοντιών µε βάση το διεθνές πρότυπο [17] 3.3.2 Λοιπά µοντέλα Τα υπόλοιπα µοντέλα που χρησιµοποιούνται για την εσωτερική στοµατική κοιλότητα είναι η γλώσσα, τα άνω και κάτω ούλα, ο λάρυγγας και οι αµυγδαλές. Παρακάτω φαίνονται τα µοντέλα αυτά. Σχήµα 3-8: Τα τρισδιάστατα µοντέλα της γλώσσας, λάρυγγα και αµυγδαλών (αριστερά) και δοντιών και ουλών (δεξιά) 35

36

4 Προσαρµογή 3D µοντέλων Ένα χαρακτηριστικό της ποικιλίας και ιδιαιτερότητας των ανθρώπων είναι το εύρος που παρουσιάζει το σχήµα των προσώπων τους. Μια προσοµοίωση ή σχεδιοκίνηση που αποτυγχάνει να αναπαράγει αυτή την ποικιλία, στερεί από τους χαρακτήρες της την ταυτότητα τους [18]. Ο σκοπός της διαδικασίας προσαρµογής ενός µοντέλου, είναι να προσαρµόσει ένα γενικό µοντέλο προσώπου έτσι ώστε να ταιριάζει στο πρόσωπο ενός συγκεκριµένου ατόµου. Όπως αναφέρθηκε και στην παράγραφο 2.2.3.2, η προσαρµογή των τρισδιάστατων µοντέλων, έχει ως αποτέλεσµα την δραµατική αύξηση του ρεαλισµού στα αποτελέσµατα της σχεδιοκίνησης. Το στάδιο αυτό θα µπορούσε να ξεπεραστεί µε τη χρήση τεχνολογίας τρισδιάστατης σάρωσης (range scanning technology) η οποία παρέχει λεπτοµερή εξαγωγή της τρισδιάστατης γεωµετρίας. Το µειονέκτηµα ωστόσο, είναι ότι η διαθεσιµότητα της τεχνολογίας αυτής δεν είναι ευρεία, αλλά και το γεγονός ότι τα δεδοµένα σάρωσης είναι συχνά αναγκαίο να διορθωθούν µε το χέρι, αφού περιέχουν ατέλειες. Μια άλλη λύση, θα µπορούσε να ήταν η χειρωνακτική δηµιουργία του µοντέλου εξ αρχής, µόνο που αυτό προϋποθέτει καλλιτεχνικές ικανότητες και είναι υπερβολικά χρονοβόρο [18]. Σε αυτό το κεφάλαιο παρουσιάζονται διάφορες µέθοδοι που χρησιµοποιούνται για την προσαρµογή των τρισδιάστατων µοντέλων, ενώ παρουσιάζεται αναλυτικά η µέθοδος που χρησιµοποιήθηκε από την εφαρµογή. 4.1 Μέθοδοι προσαρµογής τρισδιάστατων µοντέλων Ο πρώτος ερευνητής που ασχολήθηκε µε την µοντελοποίηση προσώπων ήταν ο Parke [1][19], ο οποίος χρησιµοποίησε δυο φωτογραφίες (µπροστά και πλάι) ενός 37

προσώπου στο οποίο ήταν σχεδιασµένο µε τον µαρκαδόρο ένα πλέγµα για να εξάγει τις συντεταγµένες των κορυφών. Έκτοτε, έχουν προταθεί πολλές µέθοδοι για προσαρµογή δισδιάστατων ή τρισδιάστατων µοντέλων προσώπου, µε την δηµοφιλέστερη να είναι η κλωνοποίηση προσώπου. Αυτή η κατηγορία τεχνικών, επιχειρεί να εξάγει την τρισδιάστατη γεωµετρία του προσώπου από φωτογραφίες, τραβηγµένες από διάφορες γωνίες του προσώπου [20]. Τέτοιες τεχνικές παρουσιάζονται στα [19][21][22]. Από αυτές, µάλλον τα πιο ρεαλιστικά αποτελέσµατα έχουν επιτευχθεί από τον Pighin. Στο άρθρο του [23], ο Pighin παρουσιάζει το υψηλό επίπεδο ρεαλισµού που µπορεί να επιτευχθεί από την ανάλυση ενός συνόλου ακαλιµπράριστων φωτογραφιών ενός προσώπου. Η µέθοδος, η οποία αποτελείται από τρία στάδια, εξάγει αρχικά την θέση και τις ιδιότητες της κάµερας µε χρήση τεχνικών µηχανικής όρασης. Ταυτόχρονα, εξάγονται οι τρισδιάστατες συντεταγµένες κάποιων χαρακτηριστικών σηµείων που ορίζονται πάνω στις φωτογραφίες από τον χρήστη. Τέλος, µια αυτόµατη µέθοδος παρεµβολής χρησιµοποιεί τις πληροφορίες αυτές για να υπολογίσει τις µετατοπίσεις που είναι αναγκαίο να γίνουν στις κορυφές του γενικού µοντέλου για να προσαρµοστεί στις φωτογραφίες. Στο [20], περιγράφεται µια αυτόµατη µέθοδος προσαρµογής ενός τρισδιάστατου µοντέλου µε βάση µια µόνο φωτογραφία. Ξεκινώντας από ένα γενικό µοντέλο προσώπου, η µέθοδος εκτελεί ένα βρόγχο ανάλυσης-µέσω-σύνθεσης (analysis-bysynthesis) για να εξάγει την γεωµετρία του µοντέλου. Αυτό σηµαίνει ότι σε κάθε επανάληψη, δηµιουργείται ένα τρισδιάστατο µοντέλο µε υφή και απεικονίζεται. Στη συνέχεια υπολογίζεται η διαφορά της απεικόνισης του µε την φωτογραφία και προσαρµόζονται κάποιοι παράµετροι που αλλάζουν το σχήµα του προσώπου. Η διαδικασία επαναλαµβάνεται µέχρι η διαφορά αυτή να µηδενιστεί. Μια άλλη κατηγορία τεχνικών, η οποία εφαρµόζεται σε συστήµατα τα οποία χρησιµοποιούν εικονικούς µύες για την σχεδιοκίνηση του προσώπου (Βλέπε Παράγραφο 5.1), προσαρµόζει το γενικό µοντέλο προσώπου - στο οποίο είναι ορισµένοι οι εικονικοί µύες και δέρµα βασιζόµενη σε τρισδιάστατο µοντέλο το οποίο έχει ληφθεί µε χρήση τρισδιάστατου σαρωτή [24][25][26][27]. Τέτοιες τεχνικές συνήθως αποτελούνται από 4 στάδια: τον ορισµό από τον χρήστη ορισµένων χαρακτηριστικών σηµείων πάνω στο γενικό µοντέλο και των αντίστοιχων τους σηµείων στο µοντέλο από τον σαρωτή, την καθολική προσαρµογή, όπου το γενικό µοντέλο περιστρέφεται, µετακινείται και κλιµακώνεται για να ταυτιστεί µε το µοντέλο από τον 38

σαρωτή, στην τοπική προσαρµογή όπου το γενικό µοντέλο παραµορφώνεται έτσι ώστε να συµπέσουν τα σηµεία που έχει ορίσει ο χρήστης µε αυτά στο µοντέλο από τον σαρωτή, και τέλος το στάδιο της προσαρµογής των µυών στο παραµορφωµένο µοντέλο. 4.2 Εφαρµοσµένη µέθοδος Για την προσαρµογή του πλέγµατος, έχει επιλέγει ένας ηµιαυτόµατος τρόπος, που στηρίζεται εν µέρει στο δισδιάστατο FEM (Finite Element Model). Η µέθοδος αυτή έχει επιλέγει επειδή προσφέρει ταχύτητα, αξιοπιστία και απαιτεί µικρή αλληλεπίδραση µε το χρήστη. Για να πετύχει τον σκοπό της, είναι απαραίτητες δυο φωτογραφίες του προσώπου οι οποίες να είναι τραβηγµένες µε διάφορα γωνίας 90 µοιρών (µια από µπροστά και µια από το πλάι). Η διαδικασία της προσαρµογής ολοκληρώνεται σε 3 κύρια στάδια, ενώ προσφέρονται λειτουργίες για περαιτέρω προσαρµογή των δοντιών. Παρακάτω επεξηγούνται τα βήµατα που ακολουθούνται για την προσαρµογή. 4.2.1 Αρχική τοποθέτηση µοντέλων Αρχικά, το µοντέλο του προσώπου και τα µοντέλα της εσωτερικής στοµατικής κοιλότητας τοποθετούνται αυτόµατα στο κέντρο των φωτογραφιών και κλιµακώνονται έτσι ώστε να έχουν ύψος ίσο µε τα 4/5 των φωτογραφιών, µια προσέγγιση του συνήθους µεγέθους προσώπου σε µια φωτογραφία. Τα τρισδιάστατα µοντέλα υπερθέτονται πάνω στις φωτογραφίες. Σχήµα 4-1: Τα µοντέλα µετά την αυτόµατη αρχικοποίηση τους 39

4.2.2 Καθολική προσαρµογή Στη συνέχεια γίνεται καθολική προσαρµογή των µοντέλων από τον χρήστη, δηλαδή κλιµακώνονται / µετατοπίζονται ολόκληρα τα µοντέλα σαν σύνολο. Αν συµβολίσουµε µε C face το κέντρο βάρους του µοντέλου προσώπου και µε P i τις κορυφές του, τότε N C face = 1 " P i C face, P i # R 3 N i=1 οπού Ν ο αριθµός των κορυφών στο µοντέλο. Η κλιµάκωση του µοντέλου προσώπου γίνεται µε την µετατόπιση κάθε κορυφής του µοντέλου σε σχέση µε τον παράγοντα κλιµάκωσης και την απόσταση του από το κέντρο βάρους του µοντέλου, λαµβάνοντας υπόψη την θέση της κορυφής σε σχέση µε το κέντρο βάρους. Έτσι αν P είναι µια κορυφή του µοντέλου πριν την κλιµάκωση τότε η κορυφή P µετά την κλιµάκωση θα είναι P'= P ± a* C face " P οπού µε a συµβολίζεται ο παράγοντας κλιµάκωσης. Η µετατόπιση του µοντέλου επιτυγχάνεται µε την µετατόπιση κάθε κορυφής του κατά τον παράγοντα µετατόπισης. Αν P είναι µια κορυφή πριν την µετατόπιση, τότε η κορυφή P' µετά την µετατόπιση θα είναι: P'= P'±b όπου µε b συµβολίζεται ο παράγοντας µετατόπισης. Τα µοντέλα της εσωτερικής στοµατικής κοιλότητας κλιµακώνονται και µετατοπίζονται µε τον ίδιο τρόπο, µε βάση πάντα το κέντρο βάρους του µοντέλου προσώπου, όχι του δικού τους. Ο χρήστης εκτελεί τις παραπάνω λειτουργίες, µέσα από το γραφικό περιβάλλον της εφαρµογής που αναπτύχθηκε, όπως επεξηγείται στο Κεφάλαιο 7. 40

Σχήµα 4-2: Τα µοντέλα µετά το στάδιο της καθολικής προσαρµογής 4.2.3 Προσαρµογή µε χρήση 2D FEM Για να προσαρµοστεί το πλέγµα λεπτοµερώς πάνω στις φωτογραφίες, χρησιµοποιήθηκε η τεχνική δισδιάστατου FEM [28][29] η οποία εκτελείται σε πραγµατικό χρόνο. Η λειτουργία της τεχνικής αυτής, βασίζεται στην αναπαράσταση του πλέγµατος του µοντέλου σαν ένα σύστηµα ελατηρίων τα οποία υπακούν στους νοµούς της Φυσικής. Τα FEM µπορούν να χρησιµοποιηθούν για να περιγράψουν παραµορφώσιµα αντικείµενα εκµεταλλευόµενα τόσο το περίγραµµα όσο και το εµβαδό των αντικειµένων. Για να χρησιµοποιηθεί η τεχνική δισδιάστατου FEM σε ένα τρισδιάστατο µοντέλο, όπως αυτά που χρησιµοποιούνται από την εφαρµογή, είναι αναγκαία η µείωση των διαστάσεων του µοντέλου από τρεις σε δυο. Για το λόγο αυτό, στην περίπτωση της µπροστινής φωτογραφίας, λαµβάνονται υπόψη µόνο οι x και y διαστάσεις του τρισδιάστατου µοντέλου (αγνοείται η z), ενώ στην πλαϊνή λαµβάνονται υπόψη η y και z διάσταση (αγνοείται η x). Η προσαρµογή µε αυτή την µέθοδο, στηρίζεται στην αντιστοίχηση κάποιων κορυφών του πλέγµατος του µοντέλου, µε σηµεία στην εικόνα. Αυτό αντιστοιχεί στην «αγκύρωση» των ακρών των αντίστοιχων ελατηρίων στα σηµεία στην εικόνα. Το σύστηµα ελατηρίων το οποίο προσοµοιώνει το µοντέλο, αφήνεται να ταλαντωθεί µέχρι να φτάσει σε ηρεµία. Έτσι κινούνται και οι υπόλοιπες κορυφές του πλέγµατος µε 41

αποτέλεσµα στο τέλος να έχουµε το προσαρµοσµένο µοντέλο. Υποθέτουµε ότι τα ελατήρια που αποτελούν το µοντέλο έχουν σκληρότητα k. Για να πραγµατοποιηθούν οι υπολογισµοί του συστήµατος ελατηρίων, είναι αναγκαίο να οριστούν οι δυνάµεις που ασκούνται πάνω του. Οι δυνάµεις αυτές καθορίζονται µε βάση τις αντιστοιχίες των σηµείων στο µοντέλο και στην φωτογραφία. Ένα παράδειγµα του ορισµού της δύναµης που ασκείται σε µια κορυφή του πλέγµατος φαίνεται στο Σχήµα 4-3. Αν υποθέσουµε ότι i είναι µια κορυφή του πλέγµατος και i το αντίστοιχο σηµείο στην εικόνα, τότε η διεύθυνση της δύναµης f i συµπίπτει µε το ευθύγραµµο τµήµα που συνδέει το i µε το i, ενώ το µέτρο της δύναµης ισούται µε την Ευκλείδεια τους απόσταση. Οι δυο συνιστώσες f x i και y αντίστοιχα είναι: i [ f y ] T της δύναµης f i, στους άξονες x f x i = f i cos" f y i = f i sin" όπου µε " συµβολίζεται η κλίση της γραµµής που συνδέει τα σηµεία (i,i ), όπως φαίνεται στο Σχήµα 4-3. Αντίστοιχα, στην περίπτωση της παραµόρφωσης του πλέγµατος στην πλαϊνή φωτογραφία, οι δυο συνιστώσες f z i άξονες z και y αντίστοιχα είναι: i [ f y ] T της δύναµης f i, στους f z i = f i cos" f y i = f i sin". i " f x i x f y i f i i' y Σχήµα 4-3: Ο ορισµός της δύναµης ελατηρίου [32] 42

Οι νέες θέσεις των κορυφών του πλέγµατος υπολογίζονται λύνοντας το σύστηµα: Ku = fext! όπου K είναι ο πίνακας σκληρότητας των ελατηρίων, u ο πίνακας παραµορφώσεων των κορυφών του πλέγµατος και f ο πίνακας των εξωτερικών δυνάµεων [30]. Όπως αναφέρθηκε και παραπάνω, η διαδικασία αυτή γίνεται σε πραγµατικό χρόνο επιτρέποντας στο χρήστη να βλέπει το οπτικό αποτέλεσµα της µετακίνησης των κορυφών του πλέγµατος. Ο τρόπος µε τον οποίο ο χρήστης εκτελεί τις παραπάνω λειτουργίες, µέσα από το γραφικό περιβάλλον της εφαρµογής που αναπτύχθηκε, επεξηγείται στο Κεφάλαιο 7. Στο Σχήµα 4-4 φαίνεται το τελικό αποτέλεσµα της προσαρµογής του µοντέλου του προσώπου µετά το στάδιο του FEM. Σχήµα 4-4: Το µοντέλο προσώπου µετά το στάδιο της προσαρµογής µε τη χρήση FEM 4.2.4 Προσαρµογή µοντέλων εσωτερικής στοµατικής κοιλότητας Η τεχνική FEM εφαρµόζεται µόνο στο µοντέλο του προσώπου. Τα µοντέλα της εσωτερικής στοµατικής κοιλότητας µετατοπίζονται και κλιµακώνονται σε πραγµατικό χρόνο µε βάση το στόµα του µοντέλου. Πιο συγκεκριµένα, µετά από κάθε ταλάντωση του εικονικού πλέγµατος ελατηρίων του µοντέλου του προσώπου, υπολογίζεται το διάνυσµα της σχετικής 43

µετατόπισης της θέσης του κέντρου του στόµατος και τα µοντέλα µετατοπίζονται κατά το ίδιο διάνυσµα. Το κέντρο του στόµατος υπολογίζεται µε βάση τα FDP που ορίζουν τις άκρες του στόµατος σύµφωνα µε το πρότυπο MPEG-4 (Σχήµα 2-2). Τα FDP αυτά είναι τα 8.4 και 8.3. Έτσι το κέντρο του στόµατος ορίζεται ως: C mouth = (FDP 8.3 + FDP 8.4 )/2 Αν συµβολίσουµε µε P µια κορυφή ενός µοντέλου της εσωτερικής στοµατικής κοιλότητας πριν την µετατόπιση τότε η νέα του θέση P' µετά την µετατόπιση θα ισούται µε: P'= P + (C' mouth "C mouth ) Επίσης, τα µοντέλα κλιµακώνονται µε βάση το πλάτος της σιαγόνας πριν και µετά την ταλάντωση. Το πλάτος της σιαγόνας αντιστοιχεί στην απόσταση ανάµεσα στα FDP 5.1 και 5.2 (Σχήµα 2-2) και δίνεται από την σχέση W jaw = FDP 5.1.x " FDP 5.2.x Αν συµβολίσουµε µε P µια κορυφή ενός µοντέλου της εσωτερικής στοµατικής κοιλότητας πριν την κλιµάκωση τότε η νέα του θέση P' µετά την κλιµάκωση θα ισούται µε: P'= P *(W ' jaw /W jaw ) όπου µε W jaw και W ' jaw συµβολίζεται το πλάτος της σιαγόνας πριν και µετά την ταλάντωση του µοντέλου του προσώπου αντίστοιχα. Σαν τελευταίο στάδιο στην προσαρµογή των δοντιών, έχει ληφθεί υπόψη η ασυνήθιστη άλλα όχι απίθανη περίπτωση να λείπει ένα δόντι από ένα άτοµο. Έτσι υπάρχει η δυνατότητα αφαίρεσης ενός (ή και περισσότερων) δοντιών για πλήρη προσαρµογή των τρισδιάστατων µοντέλων (Βλέπε Σχήµα 5-8). Η αφαίρεση ενός δοντιού γίνεται µέσω του γραφικού περιβάλλοντος, όπως περιγράφεται στο Κεφάλαιο 7. 44

Σχήµα 4-5: Το µοντέλο προσώπου και τα µοντέλα της εσωτερικής στοµατικής κοιλότητας µετά την διαδικασία προσαρµογής στις φωτογραφίες 4.3 Απεικόνιση υφής (Texture mapping) Στο τρισδιάστατο µοντέλο προσώπου, εφαρµόζεται υφή για επίτευξη πρόσθετου ρεαλισµού. Η εφαρµογή υφής σε ένα τρισδιάστατο αντικείµενο είναι µια διαδικασία η οποία τροποποιεί την εµφάνιση ενός αντικειµένου χρησιµοποιώντας µια εικόνα. Για να γίνει η απεικόνιση υφής, αντιστοιχίζεται η κάθε κορυφή του µοντέλου µε ένα σηµείο στην φωτογραφία που χρησιµοποιείται ως υφή. Οι συντεταγµένες του σηµείου αυτού συµβολίζονται µε (s,t), ονοµάζονται συντεταγµένες υφής (texture coordinates) και παίρνουν τιµές στο διάστηµα [0,1]. Υπάρχουν διάφορες µέθοδοι χαρτογράφησης υφής στα αντικείµενα όπως κυλινδρική, σφαιρική και επίπεδη. Η µέθοδος χαρτογράφησης είναι βασικά µια συνάρτηση που αντιστοιχίζει τις συντεταγµένες (s,t) της υφής στις συντεταγµένες (x,y,z) του τρισδιάστατου αντικειµένου, δηλαδή s = s(x,y,z) t = t(x,y,z)! Η µέθοδος που χρησιµοποιήθηκε είναι η απλούστερη, και χρησιµοποιεί την µπροστινή φωτογραφία για να την προβάλει µε ορθογραφική προβολή πάνω στο µοντέλο, δηλαδή δεν λαµβάνεται υπόψη η συντεταγµένη z του αντικειµένου. Αυτό σηµαίνει ότι οι 45

συντεταγµένες της κάθε κορυφής του µοντέλου διαιρούνται µε τις διαστάσεις της φωτογραφίας για να προκύψουν οι συντεταγµένες υφής. Πιο συγκεκριµένα, s = x W t = y H όπου µε W και H συµβολίζεται το πλάτος και το ύψος της µπροστινής φωτογραφίας αντίστοιχα. Το αποτέλεσµα της εφαρµογής υφής φαίνεται στο Σχήµα 4-6. Σχήµα 4-6: Τα τρισδιάστατα µοντέλα όπως προκύπτουν µετά την διαδικασία προσαρµογής. Στην δεξιά εικόνα, το µοντέλο προσώπου είναι ηµιδιαφανές για να φανούν τα µοντέλα της εσωτερικής στοµατικής κοιλότητας. 46

5 Σχεδιοκίνηση προσώπου Η πρώτη τρισδιάστατη σχεδιοκίνηση προσώπου δηµιουργήθηκε από τον Parke το 1972 [1], ενώ το 1974, ο ίδιος ερευνητής ανέπτυξε ένα παραµετροποιηµένο τρισδιάστατο µοντέλο προσώπου [19]. Την αρχή της δεκαετίας του 80 εµφανίστηκαν τα πρώτα µοντέλα προσώπου ελεγχόµενα από εικονικούς µύες, από τον Platt [47], µέθοδο που βελτίωσε η Waters στα τέλη της δεκαετίας [9]. Τα τελευταία χρόνια έχει παρουσιαστεί αυξανόµενη δραστηριότητα στην ανάπτυξη νέων τεχνικών σχεδιοκίνησης προσώπου [31]. Σε αυτό το κεφάλαιο παρουσιάζονται οι διάφορες µέθοδοι που χρησιµοποιούνται για την σχεδιοκίνηση του πρόσωπου, ενώ παρουσιάζεται αναλυτικά η µέθοδος που χρησιµοποιήθηκε από την εφαρµογή. 5.1 Μέθοδοι σχεδιοκίνησης προσώπου Σε αυτή την παράγραφο παρουσιάζονται οι πιο βασικές τεχνικές που υπάρχουν για την σχεδιοκίνηση προσώπου [32]. Οι τεχνικές παρεµβολής είναι µια διαισθητική προσέγγιση στη σύνθεση εκφράσεων προσώπου. Τυπικά, µια συνάρτηση παρεµβολής ορίζει οµαλή κίνηση ανάµεσα σε δυο πλαίσια κλειδιά σε ακραίες θέσεις, σε ένα κανονικοποιηµένο διάστηµα χρόνου. Παρόλο που οι τεχνικές αυτές είναι γρήγορες και παράγουν εύκολα βασικές εκφράσεις, η ικανότητα τους να παράγουν ένα µεγάλο εύρος ρεαλιστικών εκφράσεων είναι περιορισµένη. Στο [2] περιγράφεται µια τέτοια µέθοδος, όπου εξάγονται τρισδιάστατα µοντέλα του προσώπου από φωτογραφίες για κάποιες βασικές εκφράσεις του προσώπου. Για να δηµιουργηθεί µια διαφορετική έκφραση, δηµιουργούνται 47

µεταβάσεις ανάµεσα σε αυτά τα µοντέλα µε τη χρήση παρεµβολής τρισδιάστατων αντικείµενων, ενώ την ίδια στιγµή γίνεται ανάµιξη των αντίστοιχων υφών (textures). Οι παραµετρικές τεχνικές [33], υπερπηδούν κάποιους από τους περιορισµούς των απλών παρεµβολών. Ιδανικά, οι παραµετροποιήσεις είναι ικανές να ορίσουν οποιοδήποτε πρόσωπο και έκφραση συνδυάζοντας ανεξάρτητες τιµές παραµέτρων. Οι παράµετροι είναι τιµές που ορίζουν το ποσοστό παραµόρφωσης ενός προσώπου για κάποιες βασικές κινήσεις του προσώπου. Αντίθετα µε τις τεχνικές παρεµβολής, οι παραµετρικές τεχνικές επιτρέπουν πλήρη έλεγχο του προσώπου. Συνδυασµοί παραµέτρων παρέχουν ένα µεγάλο εύρος εκφράσεων προσώπου µε σχετικά χαµηλό υπολογιστικό κόστος. Παρόλα αυτά, δεν υπάρχει ένας συστηµατικός τρόπος επίλυσης συγκρούσεων ανάµεσα σε δυο αλληλοσυγκρουόµενες παραµέτρους, µε αποτέλεσµα σπάνια να δηµιουργούνται φυσικές ανθρώπινες εκφράσεις. Ακόµα ένας περιορισµός αυτών των τεχνικών είναι ότι η επιλογή του σύνολου των παραµέτρων βασίζεται στην τοπολογία του πλέγµατος του προσώπου και εποµένως µια γενική συνολική παραµετροποίηση δεν είναι δυνατή. Επιπλέον, χειροκίνητες ρυθµίσεις είναι απαραίτητες για τον ορισµό των τιµών των παραµέτρων, άλλα ακόµα και µετά από αυτό, µπορεί να προκύψουν µη ρεαλιστικές κινήσεις. Οι τεχνικές που χρησιµοποιούν µοντέλα µυών βασισµένα στη φυσική χωρίζονται σε τρεις κατηγορίες: τα συστήµατα µάζας ελατηρίων (mass-spring systems), τις διανυσµατικές αναπαραστάσεις (vector representations) και τα πλέγµατα ελατηρίων σε στρώµατα (layered spring meshes). - Οι µέθοδοι µάζας ελατηρίων διαδίδουν τις µυϊκές δυνάµεις σε ένα ελαστικό πλέγµα ελατηρίων το οποίο µοντελοποιεί την παραµόρφωση του δέρµατος. Οι δυνάµεις που ασκούνται σε ελαστικά πλέγµατα µέσω των µυών παράγουν ρεαλιστικές εκφράσεις προσώπου. Στο [24] έχει προταθεί µια αυτόµατη µέθοδος τοποθέτησης µυών σε ένα προσαρµοσµένο πλέγµα (Σχήµα 5-1). 48

Σχήµα 5-1: Παράδειγµα σχεδιοκίνησης µε βάση µοντέλα µυών. Αριστερά φαίνεται ένα εικονογράφηµα των µυών του προσώπου [34], ενώ δεξιά τα µοντέλα των µυών προσαρµοσµένα στο τρισδιάστατο µοντέλο του προσώπου [24]. - Η µέθοδος διανυσµατικού µυ (vector muscle) [9] µοντελοποιεί την δράση των µυών πάνω στο δέρµα εκµεταλλευόµενη ένα σκιαγραφηµένο πεδίο παραµορφώσεων (delineated deformation field). Αυτό σηµαίνει ότι για κάθε µυ ορίζεται µια συνάρτηση που περιγράφει πως επηρεάζεται η περιοχή γύρω από τον µυ (Σχήµα 5-2). Η τοποθέτηση διανυσµατικών µυών σε ανατοµικά ορθές θέσεις είναι µια δύσκολη διαδικασία, ενώ δεν έχουν προταθεί µέθοδοι για αυτόµατη τοποθέτηση των διανυσµατικών µυών σε ένα µοντέλο προσώπου. Σχήµα 5-2: Παράδειγµα ενός διανυσµατικού µυ, όπου φαίνεται η περιοχή επιρροής του µυ πάνω στο πλέγµα που προσοµοιώνει το δέρµα του προσώπου [9]. 49

- Η µέθοδος που χρησιµοποιεί µύες σε πλέγµατα ελατηρίων σε στρώµατα µοντελοποιεί την λεπτοµερή ανατοµική δοµή και δυναµική του ανθρώπινου κεφαλιού. Στο [8] παρουσιάζεται µια τεχνική όπου το ανθρώπινο πρόσωπο προσοµοιώνεται από τρία στρώµατα: τους µυς, το δέρµα και την επιδερµίδα. Τα στρώµατα είναι συνδεδεµένα µεταξύ τους µε εικονικά ελατήρια, τα οποία συµπεριφέρονται όπως το πραγµατικό δέρµα. Τα µοντέλα αυτά επιτυγχάνουν υψηλά επίπεδα ρεαλισµού, όµως η προσοµοίωση παραµορφώσεων χρησιµοποιώντας τρισδιάστατα πλέγµατα είναι υπολογιστικά ακριβή. Για την προσοµοίωση ρυτίδων ή πτυχών του δέρµατος χρησιµοποιούνται δυο τεχνικές, το bump mapping και τα φυσικά µοντέλα. - Το bump map είναι µια ασπρόµαυρη εικόνα, βάση της οποίας µετατοπίζονται τα κάθετα διανύσµατα των κορυφών του προσώπου, αλλάζοντας έτσι την σκίαση και δηµιουργώντας την εντύπωση ότι παραµορφώνεται το δέρµα. Στο [24] περιγράφεται µια µέθοδος αυτόµατης δηµιουργίας του bump map µε βάση την έκφραση του εικονικού προσώπου και την υφή του. Άλλες µέθοδοι αυτόµατης δηµιουργίας του bump map, περιλαµβάνουν την δηµιουργία του χρησιµοποιώντας συναρτήσεις ρυτίδων, δηλαδή µαθηµατικές εξισώσεις που τις περιγράφουν, ή µε συνδυασµό επιµέρους bump maps [46]. - Ρυτίδες βασισµένες σε φυσικά µοντέλα χρησιµοποιούν τις πλαστικοελαστικές ιδιότητες του δέρµατος του προσώπου [35]. Οι τεχνικές αυτές εφαρµόζονται σε µοντέλα προσώπου τα οποία προσοµοιώνουν το δέρµα µε πλέγµατα ελατηρίων. 5.2 Εφαρµοσµένη µέθοδος Η µέθοδος που υιοθετήθηκε για την παρούσα εφαρµογή βασίζεται στην παραµετρική σχεδιοκίνηση (Παράγραφος 5.1) µε βάση το πρότυπο MPEG-4. Η εφαρµογή δέχεται ως είσοδο την σχεδιοκίνηση ορισµένη σε ένα αρχείο FAP, το οποίο περιέχει για κάθε πλαίσιο της σχεδιοκίνησης τις τιµές του κάθε FAP (Βλέπε Παράγραφο 2.2.2). 50

5.2.1 Σχεδιοκίνηση µοντέλου προσώπου Για την σχεδιοκίνηση µε βάση παραµετρικές τεχνικές, πρέπει να είναι γνωστοί οι κάνονες της σχεδιοκίνησης, δηλαδή πως θα παραµορφωθεί το µοντέλο του προσώπου για κάποιες βασικές εκφράσεις. Το υπόβαθρο για αυτούς τους κάνονες παρέχει το πρότυπο MPEG-4 µέσω των FAP και FAT (Παράγραφος 2.2). Όπως αναφέρθηκε και στην Παράγραφο 3.2.3, το µοντέλο προσώπου συνοδεύεται από ένα αρχείο το οποίο περιέχει αυτούς τους κάνονες, υπό την µορφή ενός απλουστευµένου FAT. Πιο συγκεκριµένα, για κάθε FAP παρέχονται ο αριθµός των κορυφών που µετακινούνται, ποιες είναι οι κορυφές αυτές και το ποσοστό επηρεασµού τους σε κάθε άξονα (Σχήµα 3-6). Ο αλγόριθµος σχεδιοκίνησης προσώπου αναφέρεται παρακάτω: 1. Για κάθε πλαίσιο της σχεδιοκίνησης εύρεση των ενεργών FAP 2. Αρχικοποίηση των κορυφών του µοντέλου του τρέχοντος πλαισίου στις αντίστοιχες θέσεις τους στο ουδέτερο πρόσωπο. Αν συµβολίσουµε µε P την θέση µιας κορυφής στο ουδέτερο µοντέλο και µε P' την θέση της αντίστοιχης κορυφής στο µοντέλο του τρέχοντος πλαίσιου τότε P'= P. 3. Για κάθε ενεργό FAP εύρεση της τιµής του 4. Για κάθε επηρεαζόµενη από το FAP κορυφή, η θέση της κορυφής µετά την εφαρµογή του FAP ισούται µε: P'= P'+D *FAPU value * FAP value όπου µε D συµβολίζεται το διάνυσµα επηρεασµού της κορυφής από το FAP, µε FAP value η τιµή του FAP και µε FAPU value η τιµή του FAPU το οποίο επηρεάζει το FAP. 51

5.2.2 Σχεδιοκίνηση σιαγόνας 5.2.2.1 Περιστροφική κίνηση Αυτή η κίνηση της σιαγόνας είναι µια περιστροφή γύρω από τον άξονα στον οποίο φαίνεται στο Σχήµα 5-3. Μαζί µε την σιαγόνα κινούνται η κάτω οδοντοστοιχία, τα κάτω ούλα και η γλώσσα. Σχήµα 5-3: Θέση του άξονα περιστροφής της σιαγόνας [34]. Για να περιστρέψουµε την σιαγόνα καθώς ανοίγει το στόµα, είναι αναγκαίο να γνωρίζουµε την γωνία περιστροφής. Γνωρίζοντας τον άξονα περιστροφής της σιαγόνας, µπορούµε να υπολογίσουµε την γωνία αυτή µε βάση την µετατόπιση του σηµείου που αντιπροσωπεύει το πηγούνι, δηλαδή του FDP 2.1 (Σχήµα 2-2). Ο τρόπος υπολογισµού της γωνίας " περιστροφής της σιαγόνας φαίνεται στο Σχήµα 5-4. Αν (x k,y k,z k ) είναι το σηµείο του άξονα περιστροφής της σιαγόνας, (x 1,y 1,z 1 ) η αρχική θέση του σηµείου του πηγουνιού και (x 2,y 2,z 2 ) η τελική θέση του πηγουνιού, τότε η ακτίνα περιστροφής R είναι ίση µε: R = (z 1 " z k ) 2 + (y 1 " y k ) 2 Αν γράψουµε την εξίσωση του κύκλου πάνω στον οποίο κινείται το σηµείο του πηγουνιού σε πολικές συντεταγµένες τότε 52

(x k,y k,z k ) " 1 R z " 2 (x 1,y 1,z 1 ) (x 2,y 2,z 2 ) y Σχήµα 5-4: Υπολογισµός της γωνίας περιστροφής της σιαγόνας z 1 " z k = R cos# 1 $ % y 1 " y k = Rsin# 1 & ' # = ( 1 sin"1 * ) y 1 " y k R + -, Όµοια για την " 2, z 2 " z k = R cos# 2 $ % y 2 " y k = Rsin# 2 & ' # = ( 2 sin"1 * ) y 2 " y k R + -, Η γωνία περιστροφής της σιαγόνας τότε γίνεται " = # 2 $# 1. Αν συµβολίσουµε µε P ένα σηµείο του µοντέλου που πρέπει να περιστραφεί τότε η νέα του θέση υπολογίζεται σύµφωνα µε τη σχέση: x P' = x P y P' = z P *sin" + y P *cos" z P' = z P *cos" # y P *sin" 53

Σχήµα 5-5: Η περιστροφική κίνηση της σιαγόνας όπως εκτελείται από την εφαρµογή 5.2.2.2 Οριζόντια κίνηση Η οριζόντια κίνηση της σιαγόνας φαίνεται στο Σχήµα 5-6. Για να επιτευχθεί η κίνηση αυτή, τα επηρεαζόµενα µοντέλα µετατοπίζονται στον άξονα των x κατά την ίδια απόσταση και κατεύθυνση που µετατοπίζεται το σηµείο του πιγουνιού (FDP 2.1). Σχήµα 5-6: Οριζόντια κίνηση της σιαγόνας [34]. 54

Σχήµα 5-7: Οριζόντια κίνηση της σιαγόνας όπως εκτελείται από την εφαρµογή 5.3 Αποτελέσµατα σχεδιοκίνησης εφαρµογή. Παρακάτω φαίνονται εικόνες παρµένες από σχεδιοκινήσεις που παρήγαγε η 55

56

Σχήµα 5-8: Αποτελέσµατα σχεδιοκίνησης. 57

58

6 Υποδιαίρεση 3D µοντέλων Ο µικρός αριθµός κορυφών και τριγώνων στο µοντέλο Candide, αλλά και στα µοντέλα της εσωτερικής κοιλότητας του στόµατος, µπορεί να διευκολύνουν την διαχείριση τους, άλλα τα καθιστούν ακατάλληλα για ρεαλιστική απόδοση ενός ανθρώπινου προσώπου. Για τον λόγο αυτό, έχει εφαρµοστεί µια τεχνική υποδιαίρεσης, η οποία αυξάνει σηµαντικά την οπτική ποιότητα των µοντέλων. Η υποδιαίρεση εκτελείται σε πραγµατικό χρόνο, σε κάθε πλαίσιο της σχεδιοκίνησης. 6.1 Τεχνικές υποδιαίρεσης Οι τεχνικές υποδιαίρεσης είναι µια σχετικά καινούρια µέθοδος για τη δηµιουργία οµαλών και συνεχών καµπύλων και επιφανειών. Ένας από τους λόγους για τον οποίο οι τεχνικές αυτές είναι ενδιαφέρουσες, είναι ότι γεφυρώνουν το χασµα ανάµεσα στις διακριτές επιφάνειες (τριγωνικά πλέγµατα) και στις συνεχείς επιφάνειες (για παράδειγµα τµήµατα επιφανειών Bézier Bézier patches) [36]. Με είσοδο ένα σύνολο από σηµεία, τα οποία ορίζουν ένα τριγωνικό πλέγµα ή ένα πολύγωνο, ένας αλγόριθµος υποδιαίρεσης έχει ως σκοπό να δηµιουργήσει µια οµαλή επιφάνεια ή καµπύλη αντίστοιχα. Με τον τρόπο αυτό, βελτιώνεται σηµαντικά η οπτική ποιότητα των τρισδιάστατων µοντέλων. Γενικά, υπάρχουν δυο είδη µεθόδων υποδιαίρεσης: οι µέθοδοι παρεµβολής και οι µέθοδοι προσέγγισης. Στις µεθόδους προσέγγισης, όπως για παράδειγµα η µέθοδος του Loop [37], η οριακή επιφάνεια / καµπύλη δεν περνάει αναγκαία από το αρχικό σύνολο των σηµείων έλεγχου (control points). Αντίθετα, στις µεθόδους παρεµβολής, όπως η µέθοδος PN Triangles [38], η οριακή επιφάνεια / καµπύλη περνάει από τα σηµεία έλεγχου [39]. Στο Σχήµα 6-1 και Σχήµα 6-2, φαίνεται η διαφορά των δυο τεχνικών µέσα από ένα παράδειγµα, χρησιµοποιώντας το ίδιο αρχικό πολύγωνο. Το 59

αρχικό πολύγωνο υποδιαιρείται αναδροµικά και η προκύπτουσα καµπύλη, η οποία ονοµάζεται οριακή καµπύλη, είναι οµαλή. Η διαδικασία συχνά συµβολίζεται ως P 0 " P 1 " P 2 " K " P #, όπου µε P 0 συµβολίζεται το αρχικό πολύγωνο και µε P " η οριακή καµπύλη [36]. Σχήµα 6-1: Υποδιαίρεση µε παρεµβολή χρησιµοποιώντας την µέθοδο των 4 σηµείων [40]. Η µέθοδος αυτή χρησιµοποιεί τα τέσσερα γειτονικά σηµεία για να δηµιουργήσει ένα νέο. Γενικά, η καµπύλη P i+1 περνάει από τα σηµεία της P i. Σχήµα 6-2: Υποδιαίρεση µε προσέγγιση χρησιµοποιώντας την µέθοδο του Chaikin [41]. Όπως φαίνεται, οι γωνίες κάθε πολύγωνου P i αποκόπτονται µε κάθε υποδιαίρεση. Μετά από άπειρες υποδιαιρέσεις, λαµβάνεται η οριακή καµπύλη P ". 6.2 Επιφάνειες υποδιαίρεσης Οι επιφάνειες υποδιαίρεσης, αποτελούν ένα ισχυρό παράδειγµα δηµιουργίας οµαλών, συνεχών και χωρίς «σχισµές» επιφανειών, από πλέγµατα αυθαίρετης τοπολογίας. Όπως και µε τις καµπύλες υποδιαίρεσης, οι επιφάνειες αυτές προσφέρουν άπειρο βαθµό λεπτοµέρειας, δηλαδή, µπορούµε να δηµιουργήσουµε όσα τρίγωνα ή πολύγωνα επιθυµούµε. Επίσης, η αρχική αναπαράσταση της επιφάνειας είναι πολύ 60

συµπαγής, αφού απαιτείται µονό ένα πολύ αραιό πλέγµα έλεγχου (control mesh). Ένα άλλο πλεονέκτηµα, είναι ότι οι κάνονες υποδιαίρεσης είναι απλοί και εύκολα υλοποιήσιµοι. Γενικά, η υποδιαίρεση επιφανειών (και καµπυλών) είναι µια διαδικασία δυο σταδίων. Ξεκινώντας µε ένα πολυγωνικό πλέγµα, το οποίο ονοµάζεται πλέγµα έλεγχου, το πρώτο στάδιο δηµιουργεί νέες κορυφές και τις συνδέει για να δηµιουργηθούν νέα, µικρότερα τρίγωνα. Στο δεύτερο στάδιο, υπολογίζονται οι νέες θέσεις για κάποιες ή όλες τις κορυφές του πλέγµατος. Μια τεχνική υποδιαίρεσης διαφοροποιείται από τις άλλες µε βάση τον τρόπο µε τον οποίο εκτελεί αυτά τα δυο στάδια, όπως φαίνεται στο Σχήµα 6-3. Στο πρώτο στάδιο, ένα πολύγωνο µπορεί να χωριστεί µε διαφορετικούς τρόπους, ενώ στο δεύτερο στάδιο, η επιλογή κανόνων υποδιαίρεσης δίνει διαφορετικά χαρακτηριστικά, όπως το επίπεδο συνέχειας και το αν η επιφάνεια θα είναι προσεγγιστική ή παρεµβολής [36]. Σχήµα 6-3: Η υποδιαίρεση σαν διαδικασία 2 στάδιων [36] 6.3 Tεχνική υποδιαίρεσης Curved PN Triangles Η τεχνική Curved PN Triangles (Curved Point-Normal Triangles) είναι µια τεχνική παρεµβολής βασισµένη σε τρίγωνα. Έχει σχεδιαστεί µε σκοπό να εφαρµόζεται σε κάθε τρίγωνο ξεχωριστά, έτσι ώστε να µπορεί να υλοποιηθεί σε επίπεδο υλικού. Για να το πετύχει αυτό, το µόνο που χρειάζεται για την υποδιαίρεση ενός τρίγωνου είναι οι συντεταγµένες των κορυφών του, και τα κάθετα διανύσµατα στις κορυφές του [38]. 6.3.1 Λόγοι επιλογής της τεχνικής Curved PN Triangles Είναι φανερό ότι για την υποδιαίρεση του µοντέλου Candide, αλλά και των άλλων µοντέλων της εσωτερικής στοµατικής κοιλότητας, είναι αναγκαία µια τεχνική 61

υποδιαίρεσης τύπου παρεµβολής, αφού θέλουµε η προκύπτουσα επιφάνεια να περνάει από όλες τις κορυφές της αρχικής επιφάνειας. Θέτοντας αυτό το κριτήριο, αλλά και µε βάση το γεγονός ότι τα µοντέλα αποτελούνται από τριγωνικά πλέγµατα, οι επιλογές περιορίζονται σε δυο τεχνικές υποδιαίρεσης: τον τροποποιηµένο αλγόριθµο πεταλούδας (Modified Butterfly Algorithm [42]) και τον αλγόριθµο κυρτών τριγώνων σηµείου-κάθετου διανύσµατος (Curved Point- Normal Triangles) Μετά από δοκιµές, αποδείχθηκε ότι ο αλγόριθµος τριγώνων PN, παράγει καλύτερα οπτικά αποτελέσµατα από τον αλγόριθµο Modified Butterfly, ειδικά στην περιοχή του στόµατος και των χειλιών. 6.3.2 Περιγραφή της τεχνικής Curved PN Triangles Κάθε τρίγωνο PN αντικαθιστά ένα αρχικό επίπεδο τρίγωνο µε ένα καµπύλο σχήµα το οποίο αποτελείται από 9 υποτρίγωνα. Η γεωµετρία ενός τρίγωνου PN ορίζεται σαν ένα κυβικό τµήµα επιφάνειας Bézier. Το τµήµα επιφάνειας ταυτίζεται µε το αρχικό τρίγωνο όσον άφορα τις συντεταγµένες των κορυφών και τα κάθετα διανύσµατα στις κορυφές του τριγώνου. Η µόνη είσοδος του αλγορίθµου είναι τα σηµεία P1, P2, P 3 " R 3 και τα κάθετα διανύσµατα N 1, N 2, N 3 " R 3 όπως φαίνεται στο σχήµα: Σχήµα 6-4: Τα δεδοµένα εισόδου του αλγορίθµου PN Triangles: κορυφές P i και κάθετα διανύσµατα N i [38] 62

Η γεωµετρία ενός κυρτού τριγώνου PN που ορίζεται από ένα κυβικό τµήµα επιφάνειας Bézier δίνεται από τις παρακάτω σχέσεις (Σχήµα 6-5): b : R 2 a R 3, for w = 1" u " v, u,v,w # 0 b(u,v) = 3! $ bijk i+ j+k=3 i! j!k! u i v j w k = b300w 3 + b030u 3 + b003v 3 + b2103w 2 u + b1203wu 2 + b2013w 2 v + b0213u 2 v + b1023wv 2 + b0123uv 2 + b1116wuv Οµαδοποιούµε τα b ijk ως εξής: Συντελεστές κορυφής: b 300, b 030, b 003 Εφαπτοµενικοί συντελεστές: b 210, b 120, b 021, b 012, b 102, b 201 Κεντρικός συντελεστής: b 111 Σχήµα 6-5: Οι συντελεστές ή σηµεία έλεγχου ενός τριγωνικού τµήµατος επιφάνειας Bézier τοποθετηµένα έτσι ώστε να δηµιουργούν ένα πλέγµα έλεγχου [38]. Οι συντελεστές συχνά αποκαλούνται και σηµεία έλεγχου και συνδέονται για να δηµιουργήσουν ένα πλέγµα έλεγχου (Σχήµα 6-5). Για την εύρεση των b ijk εφαρµόζονται οι παρακάτω κάνονες: 1. Τα b ijk κατανέµονται οµοιόµορφα στο επίπεδο τρίγωνο, δηλαδή γίνεται τοποθέτηση του κάθε b ijk στην ενδιάµεση θέση (ip 1 +jp 2 +kp 3 )/3. 63

2. Οι συντελεστές κορυφής µένουν στη θέση τους έτσι ώστε να ταυτίζονται µε τις γωνιακές θέσεις. 3. Για κάθε γωνία, γίνεται η προβολή των δυο εφαπτοµενικών συντελεστών που βρίσκονται πιο κοντά στη γωνία, πάνω στο εφαπτόµενο επίπεδο το οποίο ορίζεται από το κάθετο διάνυσµα στη γωνία. Αυτή η διαδικασία φαίνεται στο Σχήµα 6-6. Υπενθυµίζεται ότι η προβολή ενός σηµείου Q πάνω σε ένα επίπεδο που περνάει από το σηµείο P και είναι κάθετο στο διάνυσµα N, δίνεται από τον τύπο Q'= Q " wn όπου το w = (Q " P) # N. 4. Ο κεντρικός συντελεστής µετακινείται από την ενδιάµεση του θέση V στο µέσο όρο των έξι εφαπτοµενικών σηµείων και συνεχίζει την κίνηση του στην ίδια κατεύθυνση για το ½ της απόστασης που έχει ήδη διανυθεί. Σχήµα 6-6: Δηµιουργία ενός εφαπτοµενικού συντελεστή: προβολή του (2P 1 +P 2 )/3 στο εφαπτοµενικό επίπεδο στο σηµείο P 1 [38]. Οι παραπάνω κανόνες, µεταφράζονται στους έξης τύπους για τον υπολογισµό των συντελεστών του κυρτού τρίγωνου PN: b 300 = P 1, b 030 = P 2, b 003 = P 3, b 210 = (2P 1 + P 2 " w 12 N 1 )/ 3, b 120 = (2P 2 + P 1 " w 21 N 2 )/3, b 021 = (2P 2 + P 3 " w 23 N 2 )/ 3, b 012 = (2P 3 + P 2 " w 32 N 3 )/ 3, b 102 = (2P 3 + P 1 " w 31 N 3 )/ 3, b 201 = (2P 1 + P 3 " w 13 N 1 )/ 3, b 111 = E + (E " V )/2 64

όπου: w ij = (P j " P i ) # N i $ R, E = (b 210 + b 120 + b 021 + b 012 + b 102 + b 201 )/6, V = (P 1 + P 2 + P 3 )/ 3. Παρόλο που το τρίγωνο PN πρέπει να είναι οµαλό, δεν πρέπει να αποκλίνει πολύ από το αρχικό τρίγωνο, για να διατηρηθεί το σχήµα του µοντέλου. Για αυτό, σαν τελικό βήµα, η τελική γεωµετρία του τριγώνου παρεµβάλλεται µε τις κορυφές του αρχικού τριγώνου [38]. 6.4 Υπολογισµός κάθετων διανυσµάτων Η τεχνική PN Triangles, όπως αναφέρεται στο [38], υπολογίζει τα κάθετα διανύσµατα των κορυφών των νέων τριγώνων προσεγγιστικά, κάνοντας κυβική παρεµβολή. Παρόλα αυτά, στην υλοποίηση του συστήµατος δεν εφαρµόζεται αυτή η µέθοδος, αλλά γίνεται υπολογισµός του κάθετου διανύσµατος σε κάθε κορυφή τρίγωνου, σύµφωνα µε τον ορισµό. Αυτό γίνεται για να έχουµε πιστότερη αναπαράσταση του µοντέλου µε τα πραγµατικά κάθετα διανύσµατα και όχι µε προσεγγίσεις. Ο υπολογισµός του κάθετου διανύσµατος N ενός τριγώνου µε κορυφές P 0, P 1, P 2 όπως αυτού που φαίνεται στο Σχήµα 6-4, δίνεται από την παρακάτω σχέση: N = (P 2 " P 0 )# (P 1 " P 0 ) Για τον υπολογισµό του κάθετου διανύσµατος N v µιας κορυφής ενός τριγώνου, χρειάζεται να γνωρίζουµε τα κάθετα διανύσµατα N 1, N 2, N 3, K των γειτονικών της τριγώνων. Ο υπολογισµός του N v γίνεται µε την παρακάτω σχέση: N v = N 1 + N 2 + N 3 +K N 1 + N 2 + N 3 +K 65

6.5 Η δοµή λίστας ηµιακµών (HDS) Η ανάγκη του γρήγορου υπολογισµού των κάθετων διανυσµάτων στις κορυφές των τριγώνων για την λειτουργία της τεχνικής PN Triangles, απαιτεί πληροφορία για τα «γειτονικά» τρίγωνα. Για το λόγο αυτό, απαιτείται µια δοµή αναπαράστασης των τρισδιάστατων µοντέλων η οποία να βοηθάει στην παροχή αυτής της πληροφορίας. Η δοµή που προσφέρεται για αυτές τις λειτουργίες, είναι η δοµή λίστας ηµιακµών (Halfedge Data Structure - HDS) ή όπως ονοµάζεται διαφορετικά, διπλά συνδεδεµένη λίστα ακµών (Doubly connected edge list DCEL). 6.5.1 Περιγραφή της δοµής HDS Η δοµή HDS είναι µια δοµή βασισµένη στις ακµές, ικανή να διατηρεί πληροφορίες γειτονικών στοιχείων για κορυφές, ακµές και τρίγωνα. Ενώ οι δοµές οι οποίες βασίζονται στα πολύγωνα, αποθηκεύουν τις πληροφορίες συνδετικότητας στα πολύγωνα αναφέροντας τις κορυφές και τους γείτονες τους, οι δοµές που βασίζονται στις ακµές τοποθετούν τις πληροφορίες συνδετικότητας στις ακµές. Η δοµή αυτή χρησιµοποιεί δυο αντικείµενα για να αναπαραστήσει κάθε ακµή, όπου το κάθε αντικείµενο ονοµάζεται ηµιακµή (halfedge) [44]. Στο Σχήµα 6-7 φαίνεται ο τρόπος µε τον οποίο αναπαρίσταται η συνδεσιµότητα των στοιχείων µιας δοµής ηµιακµών: Κάθε κορυφή (µαύρη τελεία) αναφέρει µια ηµιακµή η οποία ξεκινά από την κορυφή (1). Κάθε πολύγωνο (σκούρος γκρίζος κύκλος) αναφέρει µια από τις ηµιακµές που το περιβάλλουν (2) Κάθε ηµιακµή (γκρίζο τετράγωνο) αναφέρει: - την κορυφή την οποία δείχνει (3), - το πολύγωνο στο οποίο ανήκει (4), - την επόµενη ηµιακµή µέσα στο πολύγωνο (5), - την απέναντι ηµιακµή (δίδυµη ηµιακµή) (6). Έχοντας αυτούς τους συνδέσµους ανάµεσα στα στοιχεία της δοµής, είναι δυνατό να διασχίσουµε κυκλικά γύρω από ένα πολύγωνο για να επισκεφθούµε όλες τις κορυφές του, τις ηµιακµές, ή τα γειτονικά πολύγωνα [43]. 66

Σχήµα 6-7: Παράδειγµα συνδέσεων µεταξύ των στοιχείων µιας δοµής halfedge για δυο γειτονικά τρίγωνα. 6.6 Αποτελέσµατα εφαρµογής της υποδιαίρεσης Παρακάτω φαίνονται τα αποτελέσµατα της εφαρµογής της υποδιαίρεσης στα µοντέλα του συστήµατος. Η διαδικασία της υποδιαίρεσης είναι αρκετά γρήγορη έτσι ώστε να εφαρµόζεται σε πραγµατικό χρόνο σε σχεδιοκίνηση µέχρι και 30 fps, αλλά και στη διαδικασία της προσαρµογής των µοντέλων στις φωτογραφίες. 67

Σχήµα 6-8: Αποτέλεσµα της υποδιαίρεσης στα µοντέλα. Αριστερά φαίνονται τα αρχικά µοντέλα, στο κέντρο το αποτέλεσµα µιας υποδιαίρεσης και δεξιά το αποτέλεσµα δυο υποδιαιρέσεων. Είναι εµφανής η οµαλοποίηση των χαρακτηριστικών του προσώπου και τα επιπλέον τρίγωνα που παράγονται. Σχήµα 6-9: Αποτέλεσµα της υποδιαίρεσης στα µοντέλα της εσωτερικής στοµατικής κοιλότητας µε οµαλή σκίαση. Αριστερά φαίνονται τα αρχικά µοντέλα, ενώ δεξιά τα µοντέλα µετά από µια υποδιαίρεση. 68

Σχήµα 6-10: Αποτέλεσµα της υποδιαίρεσης σε µοντέλα µε υφή. Αριστερά φαίνεται το αρχικό µοντέλο, ενώ δεξιά το µοντέλο µετά από µια υποδιαίρεση. 69

70

7 Λειτουργία της εφαρµογής Στο κεφάλαιο αυτό, παρουσιάζονται οι κύριες λειτουργίες και δυνατότητες της εφαρµογής που αναπτύχθηκε. 7.1 Διαγράµµατα ροής της εφαρµογής Στο Σχήµα 7-1 φαίνεται το διάγραµµα ροής της λειτουργίας της εφαρµογής. Αφού φορτωθούν οι δυο εικόνες του προσώπου, είτε από φωτογραφίες είτε από βίντεο, η εφαρµογή φορτώνει αυτόµατα τα τρισδιάστατα µοντέλα του προσώπου και της εσωτερικής στοµατικής κοιλότητας και τα απεικονίζει στην οθόνη. Στη συνέχεια ακολουθεί το βήµα προσαρµογής των µοντέλων στις φωτογραφίες. Όπως περιγράφηκε και στην Παράγραφο 4.2, η διαδικασία αυτή ολοκληρώνεται σε τρία στάδια: 1. Εκτελείται αυτόµατη αρχικοποίηση της θέσης και του µεγέθους των µοντέλων, έτσι ώστε να βρίσκονται στο κέντρο των φωτογραφιών και το µέγεθος τους να είναι ίσο µε τα 4/5 του ύψους της µπροστινής φωτογραφίας. 2. Εκτελείται καθολική µετακίνηση και κλιµάκωση των µοντέλων για να προσεγγιστεί το γενικό σχήµα του προσώπου. Η µετακίνηση των µοντέλων γίνεται µε την τεχνική drag & drop, ενώ η κλιµάκωση γίνεται µε την µετακίνηση του ποντικιού στην οριζόντια ή κάθετη κατεύθυνση (για την επιλογή του άξονα κλιµάκωσης). Το ποσοστό της κλιµάκωσης ελέγχεται από την απόσταση που διανύει το ποντίκι. 3. Εκτελείται τοπική προσαρµογή του µοντέλου του προσώπου µε χρήση FEM. Κατά την λειτουργία αυτή, ο χρήστης επιλέγει και µετακινεί µια-µια κάποιες κορυφές του µοντέλου στην µπροστινή ή πλαϊνή φωτογραφία, µε την τεχνική drag & drop. Επειδή το πλέγµα του µοντέλου προσοµοιώνεται µε ένα σύστηµα 71

ελατηρίων, η µετακίνηση µιας µόνο κορυφής παρασύρει και άλλες κορυφές µαζί της. Το µοντέλο παραµορφώνεται σε πραγµατικό χρόνο καθώς ο χρήστης κάνει την µετακίνηση. Οι επιλεγµένες κορυφές οι οποίες «καρφώνονται» στην φωτογραφία, ζωγραφίζονται µε κόκκινο χρώµα για να είναι εύκολα αντιληπτές. Οι κορυφές αυτές µένουν ανέπαφες από µελλοντικές µετακινήσεις άλλων κορυφών. Δίνεται επίσης η δυνατότητα «ξεκαρφώµατος» µιας κορυφής έτσι ώστε να µπορεί και πάλι να επηρεάζεται από την µετακίνηση των άλλων κορυφών. Μπροστινή φωτογραφία Πλαϊνή φωτογραφία 3D Μοντέλα VRML Αυτόµατη αρχικοποίηση µοντέλων Προσαρµογή 3D µοντέλων Καθολική προσαρµογή Προσαρµογή µε χρήση FEM Αρχείο ορισµού σχεδιοκίνησης Υπολογισµός σχεδιοκίνησης 3D µοντέλων Αρχείο ορισµού παραµέτρων µοντέλων Σχεδιοκίνηση προσώπου Σχεδιοκίνηση σιαγόνας Σχήµα 7-1: Διάγραµµα ροής της λειτουργίας της εφαρµογής Στο καθένα από αυτά τα στάδια, γίνεται αυτόµατη προσαρµογή των µοντέλων της εσωτερικής στοµατικής κοιλότητας µε βάση το µοντέλο του προσώπου. Ο χρήστης προσαρµόζοντας τα µοντέλα, µπορεί να δει την τρισδιάστατη τους αναπαράσταση να ενηµερώνεται αυτόµατα και αµέσως µετά από κάθε αλλαγή σε πραγµατικό χρόνο, ενώ 72

µπορεί να περιεργαστεί τα µοντέλα περιστρέφοντας τα ή µετακινώντας την εικονική κάµερα. Επίσης µπορεί να επαναφέρει τα µοντέλα στην αρχική τους κατάσταση σε περίπτωση που θέλει να ξεκινήσει από την αρχή την διαδικασία της προσαρµογής. Αφού ολοκληρωθεί το στάδιο της προσαρµογής, επιλέγεται από τον χρήστη ένα αρχείο σχεδιοκίνησης που ορίζει την κίνηση του προσώπου βάση των FAP. Με βάση αυτό το αρχείο, και το αρχείο το οποίο περιέχει τους κάνονες παραµετρικής σχεδιοκίνησης των µοντέλων, δηµιουργείται η σχεδιοκίνηση του µοντέλου του προσώπου, και αυτόµατα της σιαγόνας όπως περιγράφεται στην Παράγραφο 5.2. Αφού ολοκληρωθεί αυτή η λειτουργία, ο χρήστης έχει την δυνατότητα να δει την σχεδιοκίνηση του προσώπου στο τρισδιάστατο παράθυρο αλλά και να επανέλθει στο στάδιο προσαρµογής για να βελτιώσει τα µοντέλα. Η απεικόνιση των µοντέλων στην οθόνη, ακολουθεί την δική της ροή η οποία φαίνεται στο Σχήµα 7-2 και εκτελείται συνεχώς και ανεξάρτητα από την ροή λειτουργίας της εφαρµογής. Η υποδιαίρεση των µοντέλων και η εφαρµογή της υφής, εκτελούνται µε κάθε ανανέωση της οθόνης σε πραγµατικό χρόνο. Όπως αναφέρθηκε και πιο πάνω, ο χρήστης έχει την δυνατότητα ανα πάσα στιγµή να δει τα τρισδιάστατα µοντέλα από οποιαδήποτε οπτική γωνία και θέση επιθυµεί. Υποδιαίρεση 3D µοντέλων Εφαρµογή υφής Απεικόνιση µοντέλων Σχήµα 7-2: Διάγραµµα ροής της απεικόνισης των µοντέλων 7.2 Γραφικό περιβάλλον εφαρµογής Όλες οι λειτουργίες της εφαρµογής εκτελούνται µέσω ενός γραφικού περιβάλλοντος πολλαπλών παραθύρων, το οποίο φαίνεται στο Σχήµα 7-3. Η κάθε φωτογραφία εµφανίζεται στο δικό της παράθυρο, και τα µοντέλα υπερθέτονται πάνω 73

στις φωτογραφίες. Σε ένα ξεχωριστό παράθυρο, παρουσιάζεται το τρισδιάστατο µοντέλο το οποίο µπορεί να περιστρέψει, να µετακινήσει ή να κλιµακώσει ο χρήστης. Όλες οι λειτουργίες είναι προσβάσιµες από ένα κεντρικό παράθυρο το οποίο καθοδηγεί τον χρήστη στην όλη διαδικασία. Σχήµα 7-3: Γραφικό περιβάλλον εφαρµογής 7.2.1 Δυνατότητες απεικόνισης µοντέλων Η τρισδιάστατη απεικόνιση των µοντέλων στηρίζεται στο µοντέλο σκίασης του Gouraud µε µια σηµειακή λευκή πηγή φωτός. Ως εκ τούτου, έχουν δοθεί ιδιότητες στα 74

µοντέλα που αφορούν τον τρόπο µε τον οποίο γίνεται η σκίαση τους. Ο χρήστης έχει πλήρη έλεγχο πάνω στις ιδιότητες του καθενός µοντέλου. Όπως φαίνεται και στο Σχήµα 7-4, είναι δυνατός ο ορισµός του χρώµατος κατευθυντικής (specular) και διάχυτης (diffuse) ανάκλασης, ανάκλασης περιβάλλοντος (ambient), καθώς και του συντελεστή γυαλάδας (shininess) για κάθε µοντέλο ξεχωριστά. Στην περίπτωση του µοντέλου του προσώπου, υπάρχει η δυνατότητα να εµφανίζεται ως ηµιδιαφανές, έτσι ώστε να είναι ορατά τα µοντέλα της εσωτερικής στοµατικής κοιλότητας κατά την λειτουργία της προσαρµογής των µοντέλων ή της σχεδιοκίνησης τους. Σχήµα 7-4: Παράθυρο επιλογής υλικού για κάθε µοντέλο Επίσης παρέχεται η επιλογή του τρόπου απεικόνισης του κάθε µοντέλου µέσω του παράθυρου που φαίνεται στο Σχήµα 7-5. Οι διάφοροι τρόποι απεικόνισης των µοντέλων που υποστηρίζονται είναι: Πλέγµα (Wireframe) Επίπεδη σκίαση χρησιµοποιώντας τα κάθετα διανύσµατα των τριγώνων (Flat shading) Οµαλή σκίαση χρησιµοποιώντας τα κάθετα διανύσµατα στις κορυφές του µοντέλου (Smooth shading) Εφαρµογή υφής (Texture mapping) Εφαρµογή υφής µε επίπεδη σκίαση όπου η υφή επηρεάζεται από τον φωτισµό της σκηνής χρησιµοποιώντας τα κάθετα διανύσµατα των τριγώνων Εφαρµογή υφής µε οµαλή σκίαση χρησιµοποιώντας τα κάθετα διανύσµατα στις κορυφές του µοντέλου 75

Σχήµα 7-5: Παράθυρο επιλογής µεθόδου απεικόνισης των µοντέλων Ο τρόπος υπολογισµού των κάθετων διανυσµάτων στα τρίγωνα και στις κορυφές των µοντέλων, ο οποίος είναι απαραίτητος για την απεικόνιση τους, περιγράφεται στην Παράγραφο 6.4. Στο Σχήµα 7-6 και Σχήµα 7-7 φαίνονται τα µοντέλα απεικονισµένα µε τους προαναφερθέντες τρόπους. Σχήµα 7-6: Απεικόνιση του µοντέλου προσώπου ως πλέγµα (αριστερά), µε επίπεδη σκίαση (κέντρο) και µε οµαλή σκίαση (δεξιά). 76

Σχήµα 7-7: Απεικόνιση του µοντέλου προσώπου µε υφή (αριστερά), µε υφή και επίπεδη σκίαση (κέντρο) και µε υφή και οµαλή σκίαση (δεξιά) Τέλος, είναι δυνατή η απόκρυψη κάποιων επιλεγµένων µοντέλων έτσι ώστε ο χρήστης να µπορεί να βλέπει µόνο τα µοντέλα που επιθυµεί. Στην περίπτωση των δοντιών, δίνεται µεµονωµένος έλεγχος πάνω σε κάθε δόντι, όπως φαίνεται και στο Σχήµα 7-8. Σχήµα 7-8: Παράθυρο επιλογής ορατών µοντέλων 77

7.2.2 Δυνατότητες εξαγωγής µοντέλων Η εφαρµογή προσφέρει επιλογές για την εξαγωγή στατικών ή κινούµενων µοντέλων. Μπορεί να γίνει εξαγωγή του ουδετέρου προσώπου, ενός πλαίσιου της σχεδιοκίνησης ή ενός µέρους της σχεδιοκίνησης. Η εξαγωγή µπορεί να γίνει σε αρχεία VRML ή σε αρχείο βίντεο. Επιπλέον, ο χρήστης µπορεί να επιλέξει ποια µοντέλα θέλει να εξάγει. Στην περίπτωση της εξαγωγής σε αρχείο VRML, υπάρχει η δυνατότητα εξαγωγής της υφής του προσώπου και των συντεταγµένων υφής. 7.3 Αντικατάσταση δοντιού Σαν επέκταση της εφαρµογής, έχει δοθεί η δυνατότητα συνεργασίας του µε µια εφαρµογή εικονικής οδοντιατρικής, η οποία προσφέρει εικονικά οδοντιατρικά εργαλεία για το σφράγισµα ή το τρύπηµα των δοντιών. Τα δόντια προέρχονται µε εφαρµογή του αλγόριθµου discrete marching cubes σε ογκοµετρικά δεδοµένα, που µε τη σειρά τους προέρχονται από τοµές αληθινών δοντιών [45]. Η εφαρµογή επιτρέπει την αντικατάσταση ενός από τα προκαθορισµένα δόντια, µε ένα δόντι που προέρχεται από τοµές, και την αυτόµατη τοποθέτηση του στην σωστή θέση. Στην συνέχεια, γίνεται αυτόµατη ενηµέρωση του δοντιού από το πρόγραµµα της εικονικής οδοντιατρικής κατά τη διάρκεια της χρήσης των εργαλείων σε πραγµατικό χρόνο. Σχήµα 7-9: Αντικατάσταση µοντέλου δοντιού από δόντι που προέκυψε µε τριγωνοποίηση τοµών πραγµατικού δοντιού. Αριστερά φαίνεται το πραγµατικό δόντι [45], ενώ δεξιά η τοποθέτηση του πάνω στη σιαγόνα. 78