• Nenhum resultado encontrado

Συμπίεση εικόνας με μεθόδους μη ελεγχόμενης ασαφούς κβάντισης διανύσματος

N/A
N/A
Protected

Academic year: 2023

Share "Συμπίεση εικόνας με μεθόδους μη ελεγχόμενης ασαφούς κβάντισης διανύσματος"

Copied!
64
0
0

Texto

(1)

Συμπίεση Εικόνας με Μεθόδους μη Ελεγχόμενης Ασαφούς Κβάντισης

Διανύσματος

Πτυχιακή Εργασία του

Μάμαλη Αντώνιου

Τμήμα Πολιτισμικής Τεχνολογίας & Επικοινωνίας Πανεπιστημίου Αιγαίου

Επιβλέπων: Τσεκούρας Γεώργιος, Επίκουρος Καθηγητής Συνεπιβλέποντες: Αναγνωστόπουλος Χρήστος, Επίκουρος Καθηγητής Γαβαλάς Δαμιανός, Επίκουρος Καθηγητής

Φεβρουάριος 2008

(2)

Αφιερώνεται στους γονείς μου

(3)

Ευχαριστίες

Από τη θέση αυτή θα ήθελα πρώτα απ΄όλα, να εκφράσω τις ευχαριστίες και την βαθύτατη ευγνωμοσύνη μου στον επιβλέποντα Επίκουρο Καθηγητή κ. Γεώργιο Τσεκούρα για την αμέριστη συμπαράσταση και την εύστοχη καθοδήγησή του κατά την εκπόνηση της παρούσας πτυχιακής εργασίας. Το ήθος και η άρτια επιστημονική του κατάρτιση υπήρξαν ουσιαστικά στοιχεία για την ολοκλήρωση της εργασίας. Η συνεργασία μαζί του αποτέλεσε για μένα πρωτόγνωρη και καθοριστικής σημασίας εμπειρία .

Επίσης θα ήθελα να ευχαριστήσω τον Επίκουρο Καθηγητή κ. Χρήστο Αναγνωστόπουλο για την πολύτιμη υποστήριξή του.

Tον Επίκουρο Καθηγητή κ. Δαμιανό Γαβαλά για τη συμμετοχή του στην τριμελή επιτροπή και για τη βοήθειά του.

Τέλος, επιθυμώ να εκφράσω την ευγνωμοσύνη μου στους γονείς μου για την υλική και ηθική τους συμπαράσταση καθόλη τη διάρκεια των σπουδών μου.

(4)

ΠΕΡΙΕΧΟΜΕΝΑ

ΕΙΣΑΓΩΓΗ………...1

1. ΣΥΜΠΙΕΣΗ ΕΙΚΟΝΑΣ ΜΕ ΚΒΑΝΤΙΣΗ ΔΙΑΝΥΣΜΑΤΟΣ………...6

1.1 Εισαγωγή στη Συμπίεση Εικόνας………...6

1.2 Συναρτήσεις Παραμόρφωσης……….8

1.2.1 Η Συνάρτηση Παραμόρφωσης Τετραγωνισμένου Σφάλματος……..….…….9

1.2.2 Η Συνάρτηση Παραμόρφωσης Itakura-Saito…………..………10

1.3 Κβάντιση Διανύσματος για Συμπίεση Εικόνας….………11

1.3.1 Δίκτυα Kohonen (Learning Vector Quantization-LVQ)…………..………...12

1.3.2 Ο Αλγόριθμος των c-Μέσων (ή Αλγόριθμος Lloyd)……….…….…14

1.3.3 Ο Γενικευμένος Αλγόριθμος Lloyd (ή Αλγόριθμος LBG)……..…….……..18

1.3.3.1 Βελτιστοποίηση βιβλίου κωδικοποίησης……..……….…….…....19

1.3.3.2 Μονογράφηση του Βιβλίου Κωδικοποίησης………...21

1.3.4 Κβαντιστές Διανύσματος Ανατροφοδότησης………..……….22

1.3.5 Προσαρμοστικοί Κβαντιστές Διανύσματος………..…..23

2. ΚΒΑΝΤΙΣΤΕΣ ΔΙΑΝΥΣΜΑΤΟΣ ΒΑΣΙΣΜΕΝΟΙ ΣΤΗΝ ΑΣΑΦΗ ΛΟΓΙΚΗ……....25

2.1 Εισαγωγή στην Ασαφή Λογική……….………25

2.2 Ο Αλγόριθμος των Ασαφών c-Μέσων (Fuzzy c-Means)……….………….28

2.3 Ο Αλγόριθμος Ασαφούς Κβάντισης Διανύσματος με Εκμάθηση (Fuzzy Learning Vector Quantization –FLVQ)………31

2.4 Ασαφής Κβάντιση Διανύσματος (Fuzzy Vector Quantization-FVQ)…………..32

3. ΠΡΟΤΕΙΝΟΜΕΝΟΣ ΑΛΓΌΡΙΘΜΟΣ ΣΥΜΠΙΕΣΗΣ ΕΙΚΟΝΑΣ ΜΕ ΑΣΑΦΗ ΚΒΑΝΤΙΣΗ ΔΙΑΝΥΣΜΑΤΟΣ………..35

4. ΠΕΙΡΑΜΑΤΙΚΗ ΕΦΑΡΜΟΓΗ ΚΑΙ ΑΠΟΤΕΛΕΣΜΑΤΑ………..41

4.1 Πείραμα 1: Έλεγχος της ευαισθησίας του αλγόριθμου IFLVQ όσον αφορά την επιλογή της παραμέτρου ασάφειας………...42

4.2 Πείραμα 2: Έλεγχος του υπολογιστικού κόστους του IFLVQ………45

4.3 Πείραμα 3: Έλεγχος της επίδρασης του μεγέθους του βιβλίου κωδικοποίησης.47 4.4 Πείραμα 4: Οπτικός έλεγχος των αποτελεσμάτων………..49

4.5 Πείραμα 5: Έλεγχος της επίδρασης της παραμέτρου tmax……….49

(5)

4.6 Πείραμα 6: Έμεση σύγκριση του IFLVQ με μεθόδους στη διεθνή

βιβλιογραφία………..50 5. ΣΥΖΗΤΗΣΗ ΑΠΟΤΕΛΕΣΜΑΤΩΝ ΚΑΙ ΣΥΜΠΕΡΑΣΜΑΤΑ………….…………..52 6.ΑΝΑΦΟΡΕΣ………...56

(6)

ΕΙΣΑΓΩΓΗ

Η συμπίεση δεδομένων έχει λάβει αυξανόμενη προσοχή, τα τελευταία χρόνια, λόγω της μεγάλης σημασίας που έχει στις ψηφιακές επικοινωνίες. Παρόλο που τα ευρυζωνικά συστήματα είναι σχετικά φθηνά (π.χ. οπτικές ίνες, συνδέσεις καλωδιακής τηλεόρασης κ.λ.π.), στα πιο πολλά συστήματα το αυξανόμενο ποσό πληροφοριών που οι χρήστες επιθυμούν να αποθηκεύουν απαιτεί κάποια μορφή συμπίεσης για αποδοτική, ασφαλή, και αξιόπιστη χρήση της επικοινωνίας ή του μέσου αποθήκευσης. Ένα απλό παράδειγμα είναι η μετάδοση ψηφιακής εικόνας, όπου απαιτούνται μεγάλοι ρυθμοί μετάδοσης bit και το προκύπτον σήμα χρειάζεται μεγάλο εύρος ζώνης για να μεταδοθεί σε κανάλια. Συνεπώς, η συμπίεση δεδομένων είναι απαραίτητη για την αποδοτική μετάδοση μιας εικόνας γιατί μικραίνοντας το μέγεθος των δεδομένων η μετάδοση είναι εφικτή και σε κανάλια μικρού εύρους ζώνης. Αυτό καθιστά τη συμπίεση εικόνας (ή αλλιώς κωδικοποίηση εικόνας) μια από τις πιο σημαντικές εφαρμογές συμπίεσης δεδομένων. Είναι επίσης μεταξύ των πιο ενδιαφερόντων για μελέτη, επειδή βασίζεται σε ένα καλά δομημένο μαθηματικό υπόβαθρο επιτρέποντας έτσι την ανάπτυξη πολύπλοκων αλγόριθμων.

Η μετάδοση εικόνων μέσω ενός ψηφιακού καναλιού επικοινωνίας προϋποθέτει την συμπίεσή τους για την εύκολη και γρηγορότερη μετάδοσή τους. Για να επιτευχθεί η συμπίεση πρέπει οι εικόνες να κωδικοποιηθούν για να “διαπεράσουν” το ψηφιακό κανάλι και όταν φτάσουν στη πηγή να αποκωδικοποιηθούν. Η συμπίεση δεδομένων είναι η μετατροπή μιας σειράς αρχικών δεδομένων με υψηλό λόγο σήματος προς θόρυβο σε μια σειρά ψηφιακών δεδομένων με σχετικά χαμηλό λόγο σήματος προς θόρυβο ώστε η αποθήκευσή τους να είναι εύκολη. Οι μέθοδοι συμπίεσης εικόνας κατατάσσονται σε δύο μεγάλες κατηγορίες: (α) τη συμπίεση χωρίς απώλειες και (β) τη συμπίεση με απώλειες. Με βάση τις μεθόδους της πρώτης κατηγορίας, η τελική εικόνα είναι ακριβές αντίγραφο της αρχικής. Αυτό σημαίνει ότι, επί της ουσίας, δεν λαμβάνει χώρα καμιά συμπίεση και άρα το κόστος μετάδοσης της εικόνας είναι ασύμφορο. Οι μέθοδοι που ανήκουν στη δεύτερη κατηγορία είναι οι πλέον χρησιμοποιήσιμες γιατί επιτυγχάνουν μικρούς ρυθμούς μετάδοσης bit ενώ η τελική εικόνα που προκύπτει, παρουσιάζει παραμόρφωση και συνεπώς παύει να είναι πιστό αντίγραφο της αρχικής εικόνας.

Στη παρούσα εργασία θα ασχοληθούμε με την συμπίεση με απώλειες και όταν αναφέρεται ο όρος “συμπίεση” θα αφορά τη συμπίεση με απώλειες. Το πρόβλημα που προκύπτει από την συμπίεση μιας εικόνας είναι το κατά πόσο η τελική αποσυμπιεσμένη εικόνα είναι πιστό αντίγραφο της αρχικής εικόνας. Εδώ εμπλέκεται ο “συνήθης ύποπτος”

(7)

της ψηφιακής επεξεργασίας σήματος που είναι ο λόγος σήματος προς θόρυβο. Υψηλή συμπίεση σημαίνει ότι ο λόγος σήματος προς θόρυβο είναι μεγάλος και άρα το ποσοστό καθαρού σήματος στην τελική έκδοση της εικόνας μεγάλο. Στην πράξη όμως είναι πολύ δύσκολο να επιτευχθούν μεγάλοι λόγοι σήματος προς θόρυβο. Έτσι, στο ερευνητικό πεδίο της συμπίεσης μιας εικόνας μιλάμε για “συμβιβασμό” μεταξύ βαθμού συμπίεσης (δηλ.

λόγου σήματος προς θόρυβο) και ποιότητας τελικής εικόνας. Για την επίτευξη καλού βαθμού συμπίεσης συνήθως χρησιμοποιούμε μία συνάρτηση παραμόρφωσης (distortion measure) της τελικής (αποσυμπιεσμένης) εικόνας. Ο βαθμός αυτός είναι αντιστρόφως ανάλογος του λόγου σήματος προς θόρυβο. Συνεπώς για να πάρουμε την καλύτερη δυνατή συμπίεση πρέπει η συνάρτηση παραμόρφωσης να ελαχιστοποιηθεί. Με βάση τη παρατήρηση αυτή οριοθετούμε το σκοπό της χρήσης μιας μεθόδου συμπίεσης στη παρακάτω πρόταση:

Η εφαρμογή μιας μεθόδου συμπίεσης εικόνας έχει ως στόχο την επίτευξη της βέλτιστης (ελάχιστης) τιμής της συνάρτησης παραμόρφωσης, η οποία δίνει την καλύτερη δυνατή ποιότητα στη τελική εικόνα.

Η ποιότητα της τελικής εικόνας αναφέρεται στη ακρίβεια προσέγγισης της αρχικής εικόνας. Ως εκ τούτου ο βασικός στόχος της συμπίεσης εικονικών δεδομένων είναι η επίτευξη της καλύτερης δυνατής ακρίβειας για δεδομένη αναλογία σήματος προς θόρυβο ή, ισοδύναμα, η ελαχιστοποίηση της συνάρτησης παραμόρφωσης για μια δεδομένη απόδοση.

Η συμπίεση εικόνας με απώλειες συνήθως διενεργείται με τη χρήση τεχνικών κβάντισης διανύσματος (Vector Quantization-VQ). Η εφαρμογή της κβάντισης διανύσματος προϋποθέτει την αποσύνθεση της αρχικής ψηφιακής εικόνας σ’ έναν αριθμό από ορθογώνιες περιοχές (blocks), όπου η καθεμιά περιέχει p= p1× p2 pixels. Καθένα από αυτά τα blocks αποτελεί και ένα διανυσματικό δεδομένο. Στη συνέχεια, η κβάντιση διανύσματος προσπαθεί να ταξινομήσει όλα τα διανυσματικά δεδομένα σε έναν αριθμό από συστάδες (clusters). Αυτό επιτυγχάνεται με την ελαχιστοποίηση της συνάρτησης παραμόρφωσης, όπως έχει ήδη προαναφερθεί. Τα κέντρα των παραγόμενων συστάδων ονομάζονται διανύσματα κωδικοποίησης (codebook vectors) ενώ το σύνολο τους ονομάζεται βιβλίο κωδικοποίησης (codebook). Τα δεδομένα που τελικά μεταδίδονται μέσα από το κανάλι είναι τα διανύσματα κωδικοποίησης μαζί με έναν αριθμό δεικτών, οι οποίοι υποδηλώνουν σε πια συστάδα ανήκει τα καθένα από τα αρχικά διανυσματικά δεδομένα.

Έτσι, η εικόνα αναδημιουργείται αντικαθιστώντας κάθε διανυσματικό δεδομένο από το κοντινότερό του διάνυσμα κωδικοποίησης. Μέχρι τώρα, η κβάντιση διανύσματος έχει

(8)

αποδειχθεί ότι είναι μια από τις πιο αποδοτικές διαδικασίες παραγωγής βιβλίων κωδικοποίησης. Ένα ευρύ φάσμα από μεθόδους έχει αναπτυχθεί όσον αφορά αυτό το ζήτημα. Πολλές από αυτές τις προσεγγίσεις είναι βασισμένες στην ανάλυση της συσχέτισης (cross-correlation) μεταξύ των διανυσματικών δεδομένων. Προκειμένου να επιτευχθεί το καλύτερο αποτέλεσμα μεταξύ συμπίεσης και ποιότητας τελικής εικόνας, πολλοί ερευνητές χρησιμοποιούν νευρωνικά δίκτυα (neural networks), μετασχηματισμένους κβαντιστές διανύσματος (transformed vector quantization) και διαδικασίες διαχωρισμού (splitting)και συγχώνευσης (merging) των διανυσμάτων κωδικοποίησης. Ο Kohonen [24] ανέπτυξε έναν αλγόριθμο ανταγωνιστικής εκμάθησης (competitive learning) που ονομάζεται κβάντιση διανύσματος με εκμάθηση (Learning Vector Quantization-LVQ). O LVQ είναι μια προσέγγιση που τροποποιεί τα διανύσματα κωδικοποίησης σε πραγματικό χρόνο (on-line) κάθε φορά που εμφανίζεται ένα καινούριο διανυσματικό δεδομένο.

Όλες οι παραπάνω μέθοδοι σχεδιασμού βιβλίων κώδικα βασίζονται στην χρήση σαφών (διακριτών) αποφάσεων (crisp decisions), υπό την έννοια ότι κάθε διανυσματικό δεδομένο ανήκει σε μία μόνο συστάδα (δηλ. σε ένα μόνο διάνυσμα κωδικοποίησης). Έτσι, αυτές οι μέθοδοι αγνοούν την πιθανότητα ένα συγκεκριμένο διανυσματικό δεδομένο να ανήκει και σε άλλες συστάδες ταυτόχρονα. Η θεωρία ασαφών συνόλων είναι ένα αποδοτικό εργαλείο για να αντιμετωπιστεί αυτό το πρόβλημα. Η εφαρμογή των ασαφών τεχνικών στη συμπίεση εικόνας παρέχει δυο κύρια οφέλη. Πρώτον, η θεωρία ασαφών συνόλων είναι σε θέση να μοντελοποιήσει την αβεβαιότητα που υπάρχει σε ένα σύνολο διανυσματικών δεδομένων. Δεύτερον, προσφέρει μία υπολογιστική πλατφόρμα, η οποία βασίζεται σε ένα στέρεο και καλώς δομημένο μαθηματικό υπόβαθρο. Οι μέθοδοι της ασαφούς λογικής που μπορούν να χρησιμοποιηθούν αποδοτικά στην συμπίεση εικόνας, είναι κυρίως βασισμένοι στην ανάλυση ασαφούς συσταδοποίησης (fuzzy clustering). Ο πιο αντιπροσωπευτικός αλγόριθμος αυτής της κατηγορίας είναι η μέθοδος των Ασαφών c-Μέσων (Fuzzy c-Means- FCM). Η FCM εκλαμβάνει κάθε συστάδα σαν ένα ασαφές σύνολο και άρα, ο σχεδιασμός του βιβλίου κωδικοποίησης (codebook) βασίζεται σε ασαφείς (soft) διαδικασίες λήψης απόφασης και όχι σε σαφείς (crisp). Από τη στιγμή που η ασαφής συσταδοποίηση είναι σε θέση να μοντελοποιήσει την αβεβαιότητα σε ένα σύνολο διανυσματικών δεδομένων, μπορεί αποδοτικά να χρησιμοποιηθεί για να εξαλείψει ή τουλάχιστον να μειώσει σημαντικά την εξάρτηση του σχεδιασμού του βιβλίου κωδικοποίησης από την επιλογή των αρχικών διανυσμάτων κωδικοποίησης. Το τελευταίο ονομάζεται πρόβλημα αρχικοποίησης.

(9)

Η συμπίεση εικόνας πραγματοποιείται με την αντιστοίχηση κάθε διανυσματικού δεδομένου σ’ ένα μόνο διάνυσμα κωδικοποίησης. Συνεπώς, μια αξιόπιστη εφαρμογή της FCM στη συμπίεση εικόνας θα πρέπει να βασίζεται στην αντιστοίχηση κάθε διανυσματικού δεδομένου στο διάνυσμα κωδικοποίησης (κέντρο συστάδας) που εμφανίζει το μεγαλύτερο βαθμό συμμετοχής. Αλλά μια τέτοια σαφής (crisp) ερμηνεία της FCM μπορεί να έχει σοβαρές επιπτώσεις στην ποιότητα της συμπιεσμένης εικόνας.

Για να λυθεί αυτό το πρόβλημα υπάρχουν τρία γενικά πλαίσια. Το πρώτο είναι βασισμένο στην Aσαφή Kβάντιση Διανύσματος (Fuzzy Vector Quantization-FVQ), όπου ειδικές στρατηγικές για την ομαλή μετάβαση από την ασαφή στη σαφή διαδικασία λήψης απόφασης έχουν αναπτυχθεί. Τέτοιου είδους προσεγγίσεις προτάθηκαν από τους Karayiannis and Pai (1995) [22] και Tsekouras (2005) [49]. Το δεύτερο πλαίσιο είναι o αλγόριθμος ασαφούς κβάντισης διανύσματος με εκμάθηση (Fuzzy Learning Vector Quantization-FLVQ), ο οποίος εισήχθη από τους Tsao et al (1994) [48]. Σ’ αυτή την περίπτωση, η μετάβαση από τις ασαφείς στις σαφείς διαδικασίες λήψης απόφασης επιτυγχάνεται με το χειρισμό της παραμέτρου ασάφειας της FCM. Η συσχέτιση αυτού του μοντέλου με τον κλασσικό αλγόριθμο FCM επιτεύχθηκε από τους Karayiannis and Bezdeq (1997) [20]. Μια καίρια διαφορά μεταξύ αυτών των δυο προαναφερθέντων πλαισίων είναι ότι η FVQ διατηρεί σταθερή τη παράμετρο ασάφειας σε όλη τη διαδικασία εκπαίδευσης, ενώ η FLVQ την αλλάζει από μία μεγάλη σε μία μικρή τιμή. Τέλος, το τρίτο πλαίσιο αναπτύχθηκε από τους Tsekouras et al (2008), το οποίο συνδυάζει τις δύο παραπάνω τεχνικές παράγοντας έτσι έναν πολύ αποδοτικό τρόπο σχεδιασμού βιβλίων κωδικοποίησης.

Και τα τρία παραπάνω πλαίσια επεξεργάζονται όλα τα διανυσματικά δεδομένα ταυτόχρονα, σε αντίθεση με τον κλασσικό αλγόριθμο LVQ του Kohonen [24], ο οποίος όπως προαναφέρθηκε, επεξεργάζεται ένα δεδομένο κάθε φορά.

Στόχος της παρούσας πτυχιακής εργασίας είναι η εφαρμογή των αλγόριθμων ασαφούς συμπίεσης σε στατικές grayscale εικόνες και η εκτεταμένη σύγκρισή τους με άλλες μεθόδους, οι οποίες δεν βασίζονται στην ασαφή λογική. Πιο συγκεκριμένα, οι αλγόριθμοι που χρησιμοποιούνται είναι οι εξής:

• Fuzzy Learning Vector Quantization (FLVQ) (Tsao et al. 1994) [48]

• Fuzzy Vector Quantization (FVQ) (Karayiannis and Pai 1995) [22]

• Improved Fuzzy Vector Quantization (IFVQ) (Tsekouras 2005) [49]

• Improved Fuzzy Learning Vector Quantization (IFLVQ) (Tsekouras et al 2008)

(10)

Οι παραπάνω αλγόριθμοι εφαρμόζονται σε δύο δημοφιλή παραδείγματα στατικών εικόνων: (α) την εικόνα Lena και (β) την εικόνα Boat. Στη συνέχεια τα αποτελέσματα αυτών των προσομοιώσεων συγκρίνονται με άλλες μεθόδους οι οποίες έχουν δημοσιευθεί στη διεθνή βιβλιογραφία.

Η παρούσα πτυχιακή δομείται ως ακολούθως: Στο Κεφάλαιο 1 περιγράφεται η συμπίεση εικόνας ως φυσικό αντικείμενο και αναλύεται ένας αριθμός τεχνικών κβάντισης διανύσματος που χρησιμοποιούνται σε αυτή. Στο Κεφάλαιο 2 αναλύονται λεπτομερώς οι παραπάνω αλγόριθμοι ασαφούς κβάντισης διανύσματος. Στο Κεφάλαιο 3 παρατίθενται τα αποτελέσματα των συγκριτικών προσομοιώσεων και τέλος το Κεφάλαιο 4 παραθέτει τη συζήτηση αποτελεσμάτων καθώς και τη πιθανή μελλοντική εργασία που σχετίζεται με την παρούσα πτυχιακή.

(11)

ΚΕΦΑΛΑΙΟ 1

Συμπίεση Εικόνας με Κβάντιση Διανύσματος

1.1 Εισαγωγή στη Συμπίεση Εικόνας

Ένα σύστημα συμπίεσης αποτελείται από δύο δομικά blocks: (α) τον κωδικοποιητή και (β) τον αποκωδικοποιητή. Η βασική δομή ενός συστήματος συμπίεσης δίνεται στο σχήμα 1.1. Με βάση το σχήμα αυτό εισάγεται μία εικόνα στον κωδικοποιητή. Μετά τη μετάδοση της μέσα από το κανάλι, η κωδικοποιημένη απεικόνιση τροφοδοτείται στον αποκωδικοποιητή, όπου μια αναδημιουργημένη εικόνα παράγεται. Η ) είναι μια προσέγγιση της . Εάν η προσέγγιση είναι ακριβής τότε το σύστημα ονομάζεται επιτρεπόμενων σφαλμάτων ή διατηρούμενης πληροφορίας. Στην αντίθετη περίπτωση, ένα επίπεδο παραμόρφωσης εμφανίζεται στην ανακατασκευασμένη εικόνα.

) , (i j f

, ˆ(i

f j) fˆ(i,j )

, (i j f

Σχήμα 1.1: Ένα γενικό σύστημα συμπίεσης εικόνας.

Ο κωδικοποιητής και ο αποκωδικοποιητής που φαίνονται στο σχήμα 1.1 αποτελούνται από δυο συγγενικές ανεξάρτητες συναρτήσεις. Ο κωδικοποιητής αποτελείται από τον κωδικοποιητή πηγής, ο οποίος αφαιρεί τα επιμέρους σφάλματα και τον κωδικοποιητή καναλιού, ο οποίος μειώνει το επίπεδο θορύβου της πηγαίας εικόνας. Αντίστοιχα, ο αποκωδικοποιητής περιλαμβάνει τον αποκωδικοποιητή καναλιού ακολουθούμενο από τον αποκωδικοποιητή πηγής. Στη συνέχεια της ενότητας αναλύονται τα επιμέρους τμήματα του παραπάνω μοντέλου συμπίεσης.

Ο κωδικοποιητής πηγής είναι υπεύθυνος για την μείωση ή εξάλειψη των επιμέρους σφαλμάτων κωδικοποίησης. Οι σχετιζόμενες απαιτήσεις ακρίβειας υπαγορεύουν την καλύτερη προσέγγιση κωδικοποίησης για να χρησιμοποιηθεί σε οποιαδήποτε δεδομένη κατάσταση. Φυσιολογικά, η προσέγγιση μπορεί να διαμορφωθεί από μια σειρά τριών ανεξάρτητων διαδικασιών. Το σχήμα 1.2 δείχνει τη βασική δομή του κωδικοποιητή πηγής.

(12)

Σχήμα 1.2: Κωδικοποιητής πηγής.

Σχήμα 1.3: Αποκωδικοποιητής πηγής.

Με βάση αυτό το σχήμα, το πρώτο στάδιο του κωδικοποιητή πηγής είναι ο αποτυπωτής, ο οποίος μετατρέπει τα εισαγόμενα δεδομένα σε μια μορφή ειδικά σχεδιασμένη ώστε να μειώνει την περιττή πληροφορία των pixels της εισαγόμενης εικόνας.

Αυτή η λειτουργία γενικά είναι αντιστρεπτή και δεν μειώνει απευθείας τη συνολική ποσότητα δεδομένων που απαιτούνται για να εμφανιστεί η εικόνα. Η κωδικοποίηση χρόνου-τρεξίματος είναι ένα παράδειγμα μιας αποτύπωσης που απευθείας καταλήγει στη συμπίεση δεδομένων σε αυτό το αρχικό στάδιο της κωδικοποίησης πηγής. Ένα άλλο παράδειγμα είναι η απεικόνιση μιας εικόνας με ένα σύνολο συντελεστών μετατροπής (συνήθως συντελεστές Fourier), όπου η εικόνα μετατρέπεται σε ένα διάνυσμα αυτών συντελεστών, καθιστώντας έτσι την περιττή πληροφορία των pixels χρήσιμη για συμπίεση σε μεταγενέστερα στάδια της διαδικασίας κωδικοποίησης. Το δεύτερο στάδιο, είναι ο κβαντιστής ή κβαντιστής, ο οποίος μειώνει την ακρίβεια της εξόδου του αποτυπωτή σε συμφωνία με ένα κριτήριο. Αυτή η λειτουργία είναι αμετάκλητη και πρέπει να παραλείπεται όταν είναι επιθυμητή η συμπίεση με σφάλματα. Στο τρίτο και τελευταίο στάδιο της κωδικοποίησης πηγής, ο κωδικοποιητής συμβόλων δημιουργεί έναν κώδικα σταθερού ή μεταβλητού μήκους για να περιγράψει την έξοδο του κβαντιστή. Ο όρος κωδικοποιητής συμβόλων διακρίνει τη λειτουργία κωδικοποίησης από τη γενική διαδικασία κωδικοποίησης πηγής. Στις περισσότερες των περιπτώσεων, ένας κώδικας μεταβλητού μήκους χρησιμοποιείται για να αντιπροσωπεύει το αποτυπωμένο και κβαντισμένο σύνολο δεδομένων. Αυτό γίνεται με το να ορίζει τις μικρότερες λέξεις κώδικα στις πιο συχνά εμφανιζόμενες τιμές εξόδου, μειώνοντας έτσι την περιττή πληροφορία. Η λειτουργία αυτή είναι αντιστρεπτή. Το Σχήμα 1.2 δείχνει την διαδικασία κωδικοποίησης πηγής σαν τρεις επιτυχημένες λειτουργίες, οι οποίες όμως δεν περιλαμβάνονται

(13)

απαραίτητα σε κάθε σύστημα συμπίεσης. O κβαντιστής πρέπει να παραληφθεί όταν επιθυμείται η συμπίεση με σφάλματα.

Το Σχήμα 1.3 παραθέτει τη βασική δομή του αποκωδικοποιητή πηγής. Με βάση το σχήμα αυτό, ο αποκωδικοποιητής πηγής περιέχει μόνο δύο συστατικά: τον αποκωδικοποιητή συμβόλων και έναν αντίστροφο αποτυπωτή, οι οποίοι περιέχουν τις αντίστροφες λειτουργίες του κωδικοποιητή συμβόλων του κωδικοποιητή πηγής, όπως επίσης και τον αποτυπωτή. Πρέπει να σημειωθεί ότι αντίστροφη διαδικασία κβάντισης δεν υπάρχει γιατί, λόγω της απώλειας πληροφορίας, αυτό είναι ανούσιο. Ο κωδικοποιητής και αποκωδικοποιητής καναλιού παίζουν ένα σημαντικό ρόλο στην γενική διαδικασία κωδικοποίησης-αποκωδικοποίησης όταν το κανάλι μετάδοσης είναι θορυβώδες ή επιρρεπές σε σφάλμα. Και οι δύο είναι σχεδιασμένοι να μειώνουν τον θόρυβο του καναλιού με την εισαγωγή μιας ελεγχόμενης φόρμας πλεονασμών (redundancy form) στα κωδικοποιημένα δεδομένα πηγής. Όσο η έξοδος του κωδικοποιητή πηγής περιέχει μικρό πλεονασμό πληροφορίας (redundancy), είναι πολύ ευαίσθητο στο θόρυβο χωρίς την προσθήκη αυτού του “ελεγχόμενου πλεονασμού” (controlled redundancy).

Μία από τις πιο χρήσιμες τεχνικές κωδικοποίησης καναλιού επινοήθηκε από τον Hamming (1950) [16]. Είναι βασισμένο στην επισύναψη αρκετών bits στα δεδομένα που κωδικοποιούνται για να εξασφαλίσουν ότι ένας ελάχιστος αριθμός bit πρέπει να αλλάξει μεταξύ έγκυρων διανυσμάτων κωδικοποίησης. Η κωδικοποίηση με απώλειες είναι βασισμένη στην επίτευξη αυξημένης συμπίεσης της ανακατασκευασμένης εικόνας, η οποία δίνει την καλύτερη δυνατή ακρίβεια. Εάν η προκύπτουσα παραμόρφωση (η οποία μπορεί να είναι οπτικά προφανής) μπορεί να μειωθεί, ο βαθμός συμπίεσης μπορεί να αυξηθεί περισσότερο. Στην πραγματικότητα, πολλές τεχνικές κωδικοποίησης με απώλειες είναι ικανές να αναπαράγουν αναγνωρίσιμες μονόχρωμες εικόνες από δεδομένα που έχουν συμπιεστεί περισσότερο από 30:1 και εικόνες που είναι ουσιαστικά όμοιες από τις αυθεντικές 10:1 σε 20:1. Στη συνέχεια αναλύονται οι βασικές τεχνικές συμπίεσης εικόνας με απώλειες.

1.2 Συναρτήσεις Παραμόρφωσης

Για την υλοποίηση μιας μεθόδου συμπίεσης εικόνας είναι απαραίτητη η ελαχιστοποίηση μιας συνάρτησης παραμόρφωσης. Η πιο απλή μορφή μιας τέτοιας συνάρτησης βασίζεται στο σφάλμα μεταξύ της αρχικής και της τελικής εικόνας και δίνεται ως εξής:

(14)

∑∑ (

= =

= N

i N

j

(i,j) f f(i,j) e

1 1

2 ˆ

)

2 (1.1)

όπου είναι η φωτεινότητα του pixel στην θέση (i, j) της αρχικής εικόνας και

η φωτεινότητα του pixel στην θέση (i, j) της τελικής (ανακατασκευασμένης) εικόνας και είναι η ανάλυση της εικόνας (δηλ. ο συνολικός αριθμός pixels).

) , (i j f

N

) , ˆ(i j f

N×

Μελετώντας μια ποικιλία συστημάτων συμπίεσης πάνω σε κοινές πηγές δεδομένων, τα αποτελέσματα αποφέρουν κάποιες γενικές συγκρίσεις και τάσεις ανάμεσα σε διάφορες τεχνικές κβάντισης διανύσματος. Θα πρέπει να λαμβάνουμε υπόψη δυο περιοριστικούς όρους όταν ερμηνεύουμε τέτοια ποσοτικά αποτελέσματα: Πρώτον, η έμφαση εδώ είναι στα συστήματα χαμηλού ρυθμού μετάδοσης bit και δεύτερον, τα δεδομένα εισόδου και οι σχεδιαστικοί παράμετροι του συστήματος όπως το ποσοστό δειγματοληψίας και το προ- ή μετά-φιλτράρισμα, μπορεί να είναι αρκετά διαφορετικά από εφαρμογή σε εφαρμογή.

Ιδανικά ένα μέτρο παραμόρφωσης πρέπει να είναι πειθήνιο για να επιτρέπει την ανάλυση, υπολογίσιμο έτσι ώστε να μπορεί να αξιολογηθεί σε πραγματικό χρόνο και να χρησιμοποιηθεί σε ελάχιστα συστήματα παραμόρφωσης, και υποκειμενικά τόσο σημαντικό ώστε μεγάλες ή μικρές τιμές παραμόρφωσης να συσχετίζονται με κακή και καλή υποκειμενική ποιότητα, αντίστοιχα. Εδώ δεν εξετάζουμε τα δύσκολα και αμφισβητούμενα ζητήματα της επιλογής ενός μέτρου παραμόρφωσης, αλλά υποθέτουμε ότι κάποιο έχει επιλεγεί και εξετάζουμε τη μέθοδο του σχεδιασμού συστημάτων, η οποία παράγει μικρή μέση παραμόρφωση.

1.2.1 Η Συνάρτηση Παραμόρφωσης Τετραγωνισμένου Σφάλματος

Η συνάρτηση παραμόρφωσης τετραγωνισμένου σφάλματος βασίζεται στον Ευκλείδεια απόσταση p-διάστατων διανυσμάτων,

=

=

= p

j ( j j)

||

||

) , d(

1

2

2 x x

x x x

x ˆ ˆ ˆ (1.2)

Η Σχέση (1.2) είναι το πιο απλό μέτρο παραμόρφωσης. Για τη συνάρτηση τετραγωνισμένου σφάλματος είναι κοινή πρακτική να μετράμε την απόδοση ενός συστήματος με βάση το λόγο σήμα προς θόρυβο, το οποίο για μία εικόνα διάστασης

δίνεται από την παρακάτω σχέση, N

N×

(15)

[ ]

⎢⎢

⎢⎢

=

∑∑

= = N

i N

j

(i,j) f f(i,j) PSNR N

1 1

2 2 2 10

10 255

log ˆ (1.3)

όπου 255 είναι η μέγιστη τιμή σήματος, και είναι οι φωτεινότητες των pixels για την αρχική και την ανακατασκευασμένη εικόνα. Το PSNR αντιστοιχεί στην ομαλοποίηση της μέσης παραμόρφωσης από την μέση ενέργεια και τη χάραξή του σε μια λογαριθμική κλίμακα: Μεγάλο (μικρό) PSNR αντιστοιχεί σε μικρή (μεγάλη) παραμόρφωση.

) , (i j

f fˆ(i, j)

1.2.2 Η Συνάρτηση Παραμόρφωσης Itakura-Saito

Αυτή η συνάρτηση παραμόρφωσης είναι χρήσιμη κυρίως σε εφαρμογές κωδικοποίησης φωνής όπου στο δέκτη στέλνεται ένα γραμμικό πρότυπο της διαδικασίας παραγωγής φωνής και είναι βασισμένη στην έννοια του “ισοδύναμου μέτρου λάθους”. Γενικότερα, αυτή η παραμόρφωση είναι μια ειδική περίπτωση μιας ελάχιστης σχετικής εντροπίας ή μέτρο διάκρισης, όπως αυτό ορίστηκε από τον Shannon [44]. Εδώ το εισαγόμενο διάνυσμα μπορεί πάλι να θεωρηθεί ότι είναι μια συλλογή από διαδοχικά κυματοειδή δείγματα. Τα παραγόμενα διανύσματα έχουν τη μορφή xˆ =

(

a,a1,a2,...,ap

)

, όπου είναι ένα θετικό κέρδος (ή ενεργειακός όρος) και τα είναι αντίστροφοι συντελεστές φίλτρων με την έννοια ότι εάν ο μετασχηματισμός z του αρχικού σήματος δίνεται ως,

a ai

( ) ∑

=

= p i

i iz a z

A

0

(1.4)

τότε το φίλτρο με z-μετατροπή 1/ ( )A z είναι ένα σταθερό φίλτρο. Εδώ η αναπαραγωγή διανυσμάτων μπορεί να θεωρηθεί σαν πρότυπο όλων των πόλων για σύνθεση της αναπαραγωγής στο δέκτη χρησιμοποιώντας έναν τοπικά παραγόμενο θόρυβο ή περιοδική πηγή. Με άλλα λόγια, είναι ένα τμήμα φίλτρου από ένα γραμμικό προβλεπόμενο μοντέλο κωδικοποίησης σε ένα vocoding (κωδικοποίησης φωνής) σύστημα. Η παραμόρφωση Itakura-Saito (1970s) ανάμεσα στο εισαγόμενο διάνυσμα και το μοντέλο μπορεί να

(16)

−1

= a

a a

a R

d at p( )

) ln ) (

( x x

x

x (1.5) όπου at =

(

1, ,...,a1 ap

)

, R x

( )

είναι το x

(

p+1

)

δείγμα αυτοσυσχέτισης πλέγματος του εισαγόμενου διανύσματος x και ap

( )

x είναι ένας εισαγόμενος όρος κέρδους (υπόλοιπη ενέργεια) που καθορίζεται σαν η ελάχιστη τιμή του btR

( )

x b, όπου το ελάχιστο προκύπτει από όλα τα διανύσματα με την πρώτη συνιστώσα ίση με 1. Υπάρχουν πολλές ισοδύναμες μορφές της παραπάνω παραμόρφωσης, κάποιες από τις οποίες είναι χρήσιμες για θεωρία και κάποιες για υπολογισμό. Ο παραπάνω τύπος παραμόρφωσης είναι ένας από τους απλούστερους και καταδεικνύει ότι το μέτρο παραμόρφωσης είναι πράγματι περίπλοκο και όχι μια απλή συμμετρική συνάρτηση ενός διανύσματος σφάλματος.

b

1.3 Κβάντιση Διανύσματος για Συμπίεση Εικόνας

Ένας κβαντιστής διανύσματος (VQ) είναι ένα σύστημα που αποτυπώνει μια ακολουθία διανυσματικών δεδομένων σε μια ψηφιακή ακολουθία κατάλληλη για μεταβίβαση ή αποθήκευση σε ένα ψηφιακό κανάλι. Ο σκοπός ενός τέτοιου συστήματος είναι η συμπίεση δεδομένων, δηλ. η μείωση του αριθμού bit και η ελαχιστοποίηση της χωρητικότητας του καναλιού επικοινωνίας ή των απαιτήσεων αποθηκευτικής μνήμης διατηρώντας παράλληλα την απαραίτητη ακρίβεια προσέγγισης των αρχικών από τα συμπιεσμένα δεδομένα. Η μετατροπή κάθε διανύσματος μπορεί να χρειαστεί ελάχιστη μνήμη υπό την έννοια ότι εξαρτάται από προηγούμενες ενέργειες του κωδικοποιητή. Κατά τη διάρκεια των προηγούμενων ετών πολλοί αλγόριθμοι σχεδιασμού αναπτύχθηκαν για πλήθος διαφορετικών κβαντιστών διανύσματος, ενώ η απόδοση αυτών των κωδικοποιητών έχει μελετηθεί για μία ευρεία γκάμα εφαρμογών. Από μαθηματική άποψη, ένας κβαντιστής διανύσματος περιγράφεται ως ακολούθως.

Έστω ένα σύνολο p-διάστατων διανυσματικών δεδομένων.

Στόχος ενός κβαντιστή διανύσματος είναι ο διαμερισμός του συνόλου

{

x1,x2,...,xn

}

p

X = ⊆ℜ

X σε ένα σύνολο συστάδων (ομάδων) V =

{

v1,v2,...,vc

}

p

vc∈ℜ

V

, όπου τα διανύσματα ονομάζονται διανύσματα κωδικοποίησης (cluster centers ή codebook vectors) και το σύνολο ονομάζεται βιβλίο κωδικοποίησης. Βασικό χαρακτηριστικό του παραπάνω διαμερισμού είναι ότι διανυσματικά δεδομένα που ανήκουν στην ίδια συστάδα είναι όσο το δυνατόν πιο όμοια μεταξύ τους, ενώ διανυσματικά δεδομένα που ανήκουν σε

2 1,v ,..., v

(17)

διαφορετικές ομάδες όσο το δυνατόν πιο ανόμοια. Ο εν λόγω διαμερισμός προκύπτει από την ελαχιστοποίηση μίας αντικειμενικής συνάρτησης κόστους, η οποία σχετίζεται άμεσα με την συνάρτηση παραμόρφωσης, την οποία επιλέγουμε για το σύστημά μας. Στη συνέχεια αναλύονται κλασσικές τεχνικές κβάντισης διανύσματος

1.3.1 Δίκτυα Kohonen (Learning Vector Quantization-LVQ)

Η συσταδοποίηση δικτύων του Kohonen (KCNs) [24] είναι μια χωρίς επίβλεψη διαδικασία, η οποία βρίσκει το καλύτερο σύνολο συστάδων με έναν επαναληπτικό τρόπο.

Η βασική δομή του KCN δίνεται στο Σχήμα 1.4, όπου βλέπουμε ότι αποτελείται από δύο επίπεδα: ένα επίπεδο εισαγωγής (input layer) και ένα επίπεδο εξόδου (output layer). Κάθε νευρώνας (node) εξόδου έχει ένα πρωτότυπο ή διάνυσμα βάρους συνδεδεμένο σε αυτό, και είναι αυτό το διάνυσμα βάρους δικτύου που προσαρμόζεται κατά τη διάρκεια της εκπαίδευσης. Τα διανύσματα βάρους είναι τα κέντρα των συστάδων η σύμφωνα με την ορολογία της παρούσας πτυχιακής τα διανύσματα κωδικοποίησης. Δεδομένου ενός διανύσματος εισαγωγής, οι νευρώνες στο επίπεδο εξόδου ανταγωνίζονται μεταξύ τους και ο νικητής (του οποίου το βάρος έχει την μικρότερη απόσταση από το διάνυσμα εισαγωγής) αναβαθμίζει τα βάρη του και εκείνα από μερικά σύνολα από προκαθορισμένους γείτονες.

Σχήμα 1.4: Η δομή ενός δικτύου Kohonen.

(18)

Η διαδικασία συνεχίζεται μέχρι τα διανύσματα βαρών να σταθεροποιηθούν. Σε αυτή τη μέθοδο, πρέπει να καθοριστεί μία διαδικασία εκπαίδευσης η οποία μειώνεται με το χρόνο και τερματίζεται. Ο τρόπος ανανέωσης των βαρών πρέπει επίσης να μειώνεται με το χρόνο. Η ασυμπτωτική σύγκλιση των KCN καταλήγει σε τοπικό ελάχιστο. Μια συνοπτική προδιαγραφή του KCN αλγόριθμου δίδεται πιο κάτω.

Αλγόριθμος Δικτύου Kohonen

Βήμα 1). Ορίζουμε τον αριθμό των βαρών c και ε > 0 κάποια μικρή σταθερά.

Βήμα 2) Επιλέγουμε τυχαία τα αρχικά κέντρα v0 =

(

v1,0,v2,0,...,vc,0

)

Rcpκαι τον ρυθμό μεταβολής αik,0∈(1,0).

Βήμα 3). Για t=1, 2, …, tmax Για k=1, 2, …, n:

Α. Υπολογίζουμε την Ευκλείδεια απόσταση dik2 = xkvi,t 2, για i=1 μέχρι c.

B. Ταξινομούμε την

{ }

dik2 με σειρά από το μικρότερο στο μεγαλύτερο:

2 2 .

1k 2k ...

dd ≤ ≤dck2

C. Ενημερώνουμε το νικητή: v1,t =vi,t1+aik,t

(

xkvi,t1

)

.

D. Αν Nt =nt ενημερώνουμε τους (nt−1)δεσμούς οι οποίοι είναι κοντινότερα στο xk στο Β: vi,t =vi,t1+aik,t

(

xkvi,t1

)

, 2,3,...,(i= nt−1).

Ε. Επόμενο . k

Βήμα 4). Υπολογίζουμε το Et = vtvt1 2 =

i vi,t vi,t1 2.

Βήμα 5) Αν Et ≤ε τότε ο αλγόριθμος σταματάει αλλιώς αλλάζουμε τους ρυθμούς μεταβολής

{ }

aik t, και ενημερώνουμε την γειτονιά Nt. Επόμενο t.

Τα χαρακτηριστικά του παραπάνω αλγόριθμου αναλύονται στη συνέχεια.

Όπως διευκρινίζεται, o KCN είναι σειριακός (online) – ένα xk τροφοδοτείται στο δίκτυο, και κάποια βάρη ενημερώνονται αμέσως.

Η παράμετρος aέχει συνταχθεί στο i k, και t. Αυτό γίνεται εξαιτίας του ότι οι τιμές του a που χρησιμοποιήθηκαν στην ενημέρωση των βαρών διανέμονται στο Nt, κεντραρισμένες στο νικητή, το v1,t, και η σύνταξη του v1 είναι μια συνάρτηση του xk. Επιπλέον, το aσυνήθως μειώνεται με το χρόνο (t) για να εξαναγκάσει το Et ≤ε (καθαρά Et →0όπως aik t, →0). Αυτό είναι μια τεχνητή στρατηγική

(19)

τερματισμού, στην οποία ο κανόνας ενημέρωσης εγγυάται την εξάρτηση των διαδοχικών επαναλήψεων μετά από αρκετό χρόνο, ακόμη κι αν αυτοί δεν είναι κοντά σε ένα διάνυσμα λύσης.

Επιλέγοντας το μέγεθος της γειτονιάς, η αναλογία εκπαίδευσης και οι στρατηγικές για να λειτουργήσουν αυτοί οι παράμετροι είναι κρίσιμες για τον τερματισμό της KCN. Επιπλέον διαφορετικά σύνολα παραμέτρων αποφέρουν διαφορετικά αποτελέσματα. Ο Kohonen έχει δείξει ότι αυτή η διαδικασία συγκλίνει, υπό την έννοια ότι το

{ } { }

vtv* για

{ }

a 0, αλλά το v* είναι απλώς ένα σημείο ορίου της επανάληψης αλληλουχίας (και όχι το βέλτιστο σημείο).

• Το KCN δεν χρησιμοποιεί ένα συγκεκριμένο διαμερισμό των δεδομένων κατά τη διάρκεια της εκπαίδευσης.

1.3.2 Ο Αλγόριθμος των c-Μέσων (ή Αλγόριθμος Lloyd)

Ο αλγόριθμος c-Means ονομάζεται και αλγόριθμος Lloyd και ανήκει σε μια μεγάλη κατηγορία αλγορίθμων ομαδοποίησης που είναι γνωστοί ως αλγόριθμοι διαμέρισης (partitioning algorithms). Στην ίδια κατηγορία ανήκει και ο KCN. Ουσιαστικά οι αλγόριθμοι αυτοί είναι έτσι φτιαγμένοι, ώστε να διαμερίζουν τον χώρο των δεδομένων σε περιοχές και να αντιστοιχεί μια περιοχή σε κάθε ομάδα. Η μέθοδος θεωρεί πως ο αριθμός των ομάδων (συστάδων) που θα προκύψουν είναι γνωστός εκ των προτέρων. Αυτό αποτελεί έναν περιορισμό της μεθόδου, καθώς είτε πρέπει να τρέξουμε τον αλγόριθμο με διαφορετικές επιλογές ως προς το πλήθος των ομάδων είτε πρέπει με κάποιον άλλο τρόπο να έχουμε καταλήξει στον αριθμό των ομάδων. Η μέθοδος δουλεύει επαναληπτικά.

Χρησιμοποιεί την έννοια του κέντρου της συστάδας (cluster center) και στη συνέχεια κατατάσσει τις παρατηρήσεις ανάλογα με την απόστασή τους από τα κέντρα όλων των ομάδων. Το κέντρο της ομάδας δεν είναι τίποτα άλλο από τη μέση τιμή για κάθε μεταβλητή όλων των παρατηρήσεων της ομάδας. Στη συνέχεια για κάθε παρατήρηση (διανυσματικό δεδομένο) υπολογίζουμε την Ευκλείδεια απόστασή της από τα κέντρα των ομάδων που έχουμε και κατατάσσουμε κάθε παρατήρηση στην ομάδα που είναι πιο κοντά (για την ακρίβεια στην ομάδα με κέντρο πιο κοντά στην παρατήρηση). Αφού κατατάξουμε όλα τα δεδομένα, τότε υπολογίζουμε εκ νέου τα κέντρα, απλώς ως τα διανύσματα των μέσων για τα δεδομένα που ανήκουν στην κάθε ομάδα. Η διαδικασία επαναλαμβάνεται μέχρις ότου δεν υπάρχουν διαφορές ανάμεσα σε δύο διαδοχικές επαναλήψεις. Συνήθως η απόσταση που χρησιμοποιείται για να κατατάξει τα δεδομένα είναι η Ευκλείδεια

(20)

απόσταση. Αν θέλουμε να χρησιμοποιήσουμε άλλη απόσταση, θα πρέπει να κάνουμε ειδικούς μετασχηματισμούς στα δεδομένα πριν τη χρησιμοποιήσουμε. Όπως είπαμε και πριν, ο αλγόριθμος αυτός δουλεύει ικανοποιητικά για μεγάλα σύνολα δεδομένων. Αυτός είναι και ο λόγος που η μέθοδος μερικές φορές καλείται και γρήγορη ομαδοποίηση (Quick Clustering).

Η αντικειμενική συνάρτηση κόστους που ελαχιστοποιεί ο αλγόριθμος c-Means δίνεται στη συνέχεια,

∑∑

= =

= n

k c

i ik k i

Means

c μ || ||

J

1 1

v 2

x (1.6)

Όπου n είναι ο αριθμός των διανυσματικών δεδομένων, c ο αριθμός των διανυσμάτων κωδικοποίησης (κέντρα συστάδων), το k-οστό διανυσματικό δεδομένο, το i-οστό διάνυσμα κωδικοποίησης και είναι η συνάρτηση συμμετοχής του στην i-οστή συστάδα και δίνεται από την παρακάτω σχέση, που είναι γνωστή ως ο νόμος του κοντινότερου γείτονα,

xk vi

μik xk

{ }

⎪⎩

⎪⎨

⎧ − = −

= αλλι ς μ αν

ώ

j j k

i k

ik ,

||

||

min

||

||

, 0

1 x v 2 x v 2

(1.7)

Η ελαχιστοποίηση της επιτυγχάνεται αν υπολογίζουμε τα κέντρα με βάση την παρακάτω εξίσωση,

Means

Jc

=

= =n k

ik n

k

k ik i

μ μ

1 1

x

v (1.8)

Η τελευταία εξίσωση υποδηλώνει ότι ένα διάνυσμα κωδικοποίησης είναι το κέντρο βάρους (μέσος όρος) των διανυσματικών δεδομένων που έχουν βαθμό συμμετοχής ίσον με τη μονάδα ως προς αυτό το διάνυσμα κωδικοποίησης. Η επαναληπτική διαδικασία, η οποία ελαχιστοποιεί τη συνάρτηση της εξίσωσης (1.7) δίνεται στη συνέχεια.

(21)

Αλγόριθμος c-Means

Βήμα 1). Τυχαία επιλογή των αρχικών τιμών των διανυσμάτων κωδικοποίησης .

) 1

( i c

i ≤ ≤

v

Βήμα 2). Προσδιορισμός των συναρτήσεων συμμετοχής με βάση την εξίσωση (1.7) και κατάταξη των διανυσματικών δεδομένων στις συστάδες.

Βήμα 3). Υπολογισμός των καινούργιων κέντρων των συστάδων (διανύσματα κωδικοποίησης) με βάση την εξίσωση (1.8).

Βήμα 4). Προσδιορισμός των συναρτήσεων συμμετοχής με βάση την εξίσωση (1.7) και ανακατάταξη των διανυσματικών δεδομένων στις συστάδες.

Σχήμα 1.5: Επαναληπτική διαδικασία του αλγόριθμου c-Means.

Το Σχήμα 1.5 δείχνει πώς δουλεύει ο αλγόριθμος, όπου τα δεδομένα συμβολίζονται με

«x» και τα κέντρα με «ο». Για κάθε δεδομένο μετράμε την απόσταση από κάθε κέντρο και το κατατάσσουμε στην ομάδα με το πλησιέστερο κέντρο. Σχηματίζουμε δηλαδή τα δύο νέφη της εικόνας β. Στη συνέχεια, από όλες τις παρατηρήσεις που έχουμε κατατάξει υπολογίζουμε τα νέα κέντρα των ομάδων. Έτσι, στο Σχήμα 1.5(γ) βλέπουμε πως τα κέντρα μετατοπίζονται. Με βάση αυτά τα νέα κέντρα ξεκινάμε από την αρχή κατατάσσοντας πάλι παρατηρήσεις κ.λπ. Τα αρχικά κέντρα μπορούν είτε να οριστούν από το χρήστη είτε υπολογίζονται με κάποιο συγκεκριμένο αλγόριθμο.

(22)

Ο παραπάνω αλγόριθμος είναι ιδιαίτερα γρήγορος και στην πράξη σταματάμε συνήθως μετά από σχετικά λίγες επαναλήψεις. Αυτό τον κάνει ιδιαίτερα χρήσιμο για τις περιπτώσεις μεγάλων συνόλων δεδομένων. Επίσης, δε χρειάζεται να κρατά στη μνήμη πολλά στοιχεία και επομένως δε χρειάζεται ιδιαίτερα μεγάλη υπολογιστική ισχύ.

Σχήμα 1.6: Ευαισθησία του αλγορίθμου c-Means στην επιλογή αρχικών κέντρων

Το μεγάλο μειονέκτημα του αλγορίθμου είναι ότι εξαρτάται από τις αρχικές τιμές οι οποίες, αν δεν βρεθούν με καλό τρόπο, μπορεί να οδηγήσουν σε κακή ομαδοποίηση. Για να το ξεπεράσουμε αυτό, μια λύση είναι να τρέξουμε τον αλγόριθμο με διάφορες αρχικές τιμές, ώστε να είμαστε σίγουροι πως δεν παγιδεύτηκε σε κάποια μη βέλτιστη λύση. Το παράδειγμα του Σχήματος 1.6 αναφέρεται στο πρόβλημα αυτό. Με βάση το σχήμα αυτό, έστω ότι έχουμε 7 παρατηρήσεις και θέλουμε να τις κατατάξουμε σε 3 ομάδες. Αν χρησιμοποιήσουμε ως αρχικές τιμές τα σημεία Α, Β, C, τότε οι ομάδες που προκύπτουν συμβολίζονται με τις ελλείψεις. Οι ομάδες είναι {Α}, {Β,C}, {Ε,D,G,F}. Αν όμως ξεκινήσουμε από τα σημεία Α, D και F, τότε οι ομάδες που φτιάχνουμε συμβολίζονται με τα τετράγωνα και είναι {Α,Β,C}, {Ε,D}, {G,F}). Στην πρώτη περίπτωση οι διαφορές μέσα στις ομάδες είναι πολύ μεγαλύτερες απ’ ότι στη δεύτερη.

Ένα άλλο πρόβλημα έχει να κάνει με την επιλογή του αριθμού των ομάδων. Όπως είπαμε, μια τακτική θα μπορούσε να είναι η ομαδοποίηση με διαφορετικό κάθε φορά αριθμό ομάδων και στο τέλος την επιλογή της ομάδας που είναι κατά κάποιον τρόπο βέλτιστη. Με βάση, λοιπόν, τα παραπάνω μερικές χρήσιμες στρατηγικές είναι οι ακόλουθες:

• Η επιλογή των αρχικών κέντρων πρέπει να γίνεται έτσι ώστε αυτά να είναι όσο γίνεται πιο μακριά μεταξύ τους.

Referências

Documentos relacionados

Οι τεχνικές ηθικής ενίσχυσης που ευνοούν την ανάπτυξη του αλτρουισμού, όπως είναι η ενσυναίσθηση των δεινών και των συμφερόντων των άλλων σε συνδυασμό με την συμπαθητική ανταπόκριση