• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2023

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

Copied!
69
0
0

Texto

(1)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ

ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ

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

Δαρζέντας Δημήτρης

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

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

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

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

(2)

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

(3)

Ευχαριστίες

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

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

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

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

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

(4)

Πίνακας περιεχομένων

Εισαγωγή ... 1 

Κεφάλαιο 1  Κβάντιση Διανύσματος ... 6 

1.1  Κλασσικές τεχνικές κβάντισης διανύσματος ... 7 

1.1.1  Κωδικοποίηση κατά JPEG ... 7 

1.1.2  Δίκτυα Kohonen ... 13 

1.1.3  Αλγόριθμος Lloyd ... 16 

1.2  Ασαφείς τεχνικές κβάντισης διανύσματος... 21 

1.2.1  Ασαφή δίκτυα Kohonen ... 21 

1.2.2  Ασαφής Κβάντιση Διανύσματος ... 23 

Κεφάλαιο 2  Προτεινόμενος Αλγόριθμος Ασαφούς Κβάντισης Διανύσματος ... 25 

2.1  Εισαγωγή ... 25 

2.2  Προτεινόμενο σχήμα FVQ ... 27 

Κεφάλαιο 3  Πειραματική εφαρμογή ... 37 

3.1  Παράμετροι προσομοιώσεων ... 37 

3.2  Αποτελέσματα προσομοιώσεων ... 39 

Κεφάλαιο 4  Υλοποίηση Αλγορίθμου ... 44 

4.1  Περιβάλλον ανάπτυξης ... 44 

4.2  Προβλήματα και λύσεις ... 44 

4.3  Σχεδιασμός υλοποίησης ... 46 

Αναφορές ... 49 

(5)

1

Εισαγωγή

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

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

Η ανάγκη για συμπίεση δεδομένων φάνηκε νωρίς στην εποχή της πληροφορίας καθώς οι διαθέσιμες υποδομές και τεχνικές μεταφοράς ήταν εξαιρετικά περιορισμένες. Ειδικά στο χώρο των πολυμέσων είναι η συμπίεση είναι κρίσιμη αφού ο όγκος των δεδομένων αυξάνεται αστρονομικά. Η παροιμία «Μια εικόνα αξίζει όσο χίλιες λέξεις» προφανώς δεν δημιουργήθηκε για αυτό το χώρο. Συγκεκριμένα μια έγχρωμη εικόνα 1024x768 pixel έχει όγκο 2.25 MB, ενώ σε αυτή την ανάλυση ένα μόνο δευτερόλεπτο ασυμπίεστου video καταλαμβάνει αποθηκευτικό χώρο γύρω στα 54 ΜΒ. Αν τώρα προσθέσουμε τους παράγοντες του ήχου και το γεγονός ότι πλέον οι τυπικές αναλύσεις είναι διπλάσιες (πενταπλάσιες στην περίπτωση ακίνητης εικόνας) θα φτάσουμε στο συμπέρασμα πως η συμπίεση των δεδομένων είναι και θα είναι ένα αναπόσπαστο κομμάτι οποιουδήποτε συστήματος. Φυσικά δεν γίνεται καν λόγος για μεταφορά πολυφασικών δεδομένων χωρίς κάποιας μορφής συμπίεση.

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

Οι τεχνικές συμπίεσης διαχωρίζονται σε δύο κατηγορίες: Τις τεχνικές απωλεστικής συμπίεσης (lossy) όπου χάνονται δεδομένα και τις μεθόδους μη-απωλεστικής (lossless) συμπίεσης στις οποίες δεν χάνονται δεδομένα. Έχουν ουσιαστικά μόνο μια διαφορά: στην μη-απωλεστική συμπίεση, η πληροφορία μετά την αποσυμπίεση είναι

(6)

2 ακριβώς η ίδια με αυτήν που υπήρχε πριν την συμπίεση. Αντίθετα στην απωλεστική η αποσυμπιεσμένη πληροφορία είναι μικρότερη από πριν αφού ποσότητα της έχει χαθεί.

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

Στο θέμα της συμπίεσης εικόνας χρειάζεται ένας ακριβής ποσοτικός τρόπος υπολογισμού για το ουσιαστικά πόσο «πιστό» αντίγραφο της αρχικής εικόνας είναι το συμπιεσμένο αντίγραφο. Θα χρησιμοποιηθεί ο γνωστός στον ψηφιακό κόσμο λόγος σήματος προς θόρυβο. Δηλαδή ο λόγος της χρήσιμης πληροφορίας προς την περιττή (θόρυβος).

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

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

) , ( i j

f

στον κωδικοποιητή. Μετά τη μετάδοση της μέσα από το κανάλι, η κωδικοποιημένη απεικόνιση τροφοδοτείται στον αποκωδικοποιητή, όπου μια αναδημιουργημένη εικόνα fˆ(i,j) παράγεται. Η fˆ(i,j) είναι μια προσέγγιση της

(7)

3

) , ( i j

f

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

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

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

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

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

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

(8)

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

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

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

(9)

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

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

(10)

6

Κεφάλαιο 1 Κβάντιση ∆ιανύσματος

Ένας κβαντιστής διανύσματος (VQ) είναι ένα σύστημα που αποτυπώνει μια ακολουθία διανυσματικών δεδομένων σε μια ψηφιακή ακολουθία κατάλληλη για μεταβίβαση ή αποθήκευση σε ένα ψηφιακό κανάλι [10,12,35]. Ο σκοπός ενός τέτοιου συστήματος είναι η συμπίεση δεδομένων, δηλ. η μείωση του αριθμού bit και η ελαχιστοποίηση της χωρητικότητας του καναλιού επικοινωνίας ή των απαιτήσεων αποθηκευτικής μνήμης διατηρώντας παράλληλα την απαραίτητη ακρίβεια προσέγγισης των αρχικών από τα συμπιεσμένα δεδομένα[10,12,44]. Η μετατροπή κάθε διανύσματος μπορεί να χρειαστεί ελάχιστη μνήμη υπό την έννοια ότι εξαρτάται από προηγούμενες ενέργειες του κωδικοποιητή. Κατά τη διάρκεια των προηγούμενων ετών πολλοί αλγόριθμοι σχεδιασμού αναπτύχθηκαν για πλήθος διαφορετικών κβαντιστών διανύσματος, ενώ η απόδοση αυτών των κωδικοποιητών έχει μελετηθεί για μία ευρεία γκάμα εφαρμογών[5,6,8,10,11,19,20,21,25,34,35]. Από μαθηματική άποψη, ένας κβαντιστής διανύσματος περιγράφεται ως ακολούθως.

Έστω X

x1,x2,...,xn

p ένα σύνολο p-διάστατων διανυσματικών δεδομένων. Στόχος ενός κβαντιστή διανύσματος είναι ο διαμερισμός του συνόλου X σε ένα σύνολο συστάδων (ομάδων) V

v1,v2,...,vc

, όπου τα διανύσματα

p c 2

1,v ,...,v

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

(11)

7 1.1 Κλασσικές τεχνικές κβάντισης διανύσματος 

1.1.1 Κωδικοποίηση κατά JPEG 

To JPEG (Joint Photographic Experts Group) αποτελεί το πλέον διαδεδομένο σχήμα συμπίεσης (codec) για ψηφιακή εικόνα, τόσο μονόχρωμη (grayscale) όσο και έγχρωμη (RGB) [46]. Μπορεί να προσφέρει σημαντικούς βαθμούς συμπίεσης κρατώντας παράλληλα την ποιότητα τις εικόνας σε υψηλά επίπεδα (τουλάχιστον για την ανθρώπινη κρίση).

Λειτουργία

Το JPEG εντάσσεται στην κατηγορία των απωλεστικών συμπιεστών και βασίζεται στην μαθηματική τεχνική που είναι γνωστή ως «Διακριτός Μετασχηματισμός Συνημίτονου» (Discrete Cosine Transformation). Παρακάτω θα αναλύσουμε τα βήματα που χρησιμοποιεί το JPEG για την συμπίεση μιας ασπρόμαυρης εικόνας. Οι ίδιες αρχές ισχύουν και για την έγχρωμη εικόνα καθώς τις αντιμετωπίζει σαν τρεις ξεχωριστές ασπρόμαυρες, μια για κάθε χρώμα του μοντέλου RGB.

Τα βήματα του DCT είναι [9,25,46]:

Α) Εφαρμογή του μετασχηματισμού DCT στο ψηφιακό σήμα πού αναπαριστά την αρχική εικόνα.

Στη φάση αυτή καθορίζονται οι συντελεστές του DCT.

Β) Κβάντιση συντελεστών DCT

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

Γ) Περαιτέρω συμπίεση με την εφαρμογή του αλγορίθμου συμπίεσης RLE (Run Length Encoding).

Στη φάση αυτή η σειρά των συντελεστών που έχει προκύψει από τις δύο προηγούμενες διαδικασίες συμπιέζονται κατά RLE ώστε να αποθηκευθεί και να δημιουργήσει το τελικό JPEG αρχείο.

(12)

8 Πιο αναλυτικά τα δυο βήματα DCT έχουν ως εξής:

Φάση (α): Εφαρμογή DCT

Η ασυμπίεστη μονόχρωμη ψηφιακή εικόνα με βάθος χρώματος 8 bit είναι ένα διακριτό σήμα δηλαδή μια σειρά από τιμές που κυμαίνονται από 0-255. Κάθε τέτοια τιμή αναπαριστά την πληροφορία που αντιστοιχεί σε ένα εικονοστοιχείο της εικόνας και συνολικά η σειρά καταγράφει την ένταση του φωτεινού σήματος που δημιουργεί την εικόνα και αποτελεί μια αναπαράσταση στο χρόνο (θεωρώντας ότι η πληροφορία των εικονοστοιχείων παρουσιάζεται στον άξονα του χρόνου.

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

Ο DCT αποτελεί ουσιαστικά μια μαθηματική τεχνική «προετοιμασίας» των ψηφιακών δεδομένων για συμπίεση και χρησιμοποιείται σήμερα από πολλούς απωλεστικούς συμπιεστές π.χ. (JPEG, MPEG, H.261). Εκείνο που κάνει είναι να δίνει τέτοια δομή στα δεδομένα ώστε να είναι εύκολο να εντοπιστούν εκείνα που μπορούν να αγνοηθούν χωρίς αισθητή απώλεια στην ποιότητα της πληροφορίας. Ο μετασχηματισμός DCT έχει προκύψει από την θεωρία των μετασχηματισμών Fourier (Fourier Transform) και παρουσιάζει σημαντική ομοιότητα με το διακριτό μετασχηματισμό Fourier.

Συγκεκριμένα:

Γενικά ο DCT μετασχηματίζει την πληροφορία του σχήματος από τον χώρο του χρόνου (time domain) στο χώρο των συχνοτήτων (frequency domain). Στην περίπτωση της ψηφιακής εικόνας μετασχηματίζει την πληροφορία των εικονοστοιχείων της εικόνας σε πληροφορία που αφορά τις συχνότητες μεταβολής της εικόνας. Αυτό σημαίνει πως μετά την εφαρμογή του μετασχηματισμού η πληροφορία της εικόνας αποτελείται από αριθμούς, που ονομάζονται Συντελεστές DCT και δείχνουν την σχετική βαρύτητα που έχει κάθε συχνότητα μεταβολής του σήματος της εικόνας σύνθεσης της.

(13)

9 Μαθηματική περιγραφή:

Ας υποθέσουμε ότι η εικόνα αποτελείται από ΜxN εικονοστοιχείο. Η εικόνα χωρίζεται σε υποτυπώδη τμήματα (blocks) μεγέθους 8x8 εικονοστοιχείων.

Οι συντελεστές , αυτού του πίνακα (i,j = 0..7) είναι οι 8bit τιμές (0-255) που παριστάνουν την φωτεινή ένταση των εικονοστοιχείων και αποτελούν τα δεδομένα εισόδου στον μετασχηματισμό DCT.

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

, 2 1

16

2 1

16  

Όπου x,y είναι οι παράμετροι θέσης και u,v οι παράμετροι στο φάσμα των συχνοτήτων. Για το 8x8 block οι τιμές όλων αυτών των παραμέτρων κυμαίνονται από το 0 έως 7.

Η Γενική εξίσωση που δίνει του συντελεστές DCT σε μία διάσταση (1 D) είναι:

2

2 2 1

Και για τις δύο διαστάσεις (2 D):

, 2 2

2 2 1

2 2 1 ,

Όπου:

 Οι διαστάσεις σε pixels της εικόνας εισόδου, δηλαδή τια τα block 8x8 είναι Ν=Μ=8

 , είναι η τιμή φωτεινότητας του εικονοστοιχείο στη γραμμή i και στήλη j

 F(u,v) είναι ο συντελεστής DCT στη γραμμή u και στήλη v του πίνακα συντελεστών DCT

 είναι ένας απλός αριθμητικός συντελεστής

(14)

10 Τα δεδομένα εξόδου που προκύπτουν από τον μετασχηματισμό DCT είναι οι συντελεστές που δημιουργούν των πίνακα DCT. Οι συντελεστές αυτοί υποδηλώνουν τη σχετική βαρύτητα κάθε συχνότητας που συμβάλει στη σύνθεση του διακριτού σήματος της εικόνας και έχουν ακέραιες τιμές μεταξύ -1024 και 1023 (ο μετασχηματισμός DCT χρησιμοποιεί μόνο συνημιτονοειδείς συχνότητες που έχουν πραγματικούς συντελεστές).

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

Έτσι ο μετασχηματισμός DCT παράγει έναν πίνακα συντελεστών block όπου οι σημαντικότεροι βρίσκονται στην πάνω αριστερή γωνία, ενώ οι λιγότερο σημαντικοί βρίσκονται στην κάτω δεξιά γωνία. Ο όρος «υψηλή συχνότητα»

αναφέρεται στην συχνότητα μεταβολής της πληροφορίας και για την εικόνα σημαίνει:

σημαντικές αλλαγές τιμής της πληροφορίας χρώματος μεταξύ των γειτονικών εικονοστοιχείων.

Φάση (β): Κβάντιση συντελεστών DCT

Ο μετασχηματισμός DCT είναι απλά μια προετοιμασία της πληροφορίας της εικόνας για συμπίεση. Η πραγματική συμπίεση γίνεται στη φάση της κβάντισης.

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

Στη περίπτωση των 8 bit το βήμα είναι 1/256. Το JPEG κάνει κάτι ακόμη πιο αποδοτικό στο θέμα της κβάντισης: χρησιμοποιεί μεταβλητό βήμα ανάλογα με το αν πρόκειται για συντελεστές χαμηλών ή υψηλών συχνοτήτων. Ο πίνακας συντελεστών

(15)

11 DCT διαιρείται με τον πίνακα κβάντισης δηλαδή έναν πίνακα που περιέχει στις διαφορές θέσεις το βήμα κβάντισης που θα χρησιμοποιηθεί για τον αντίστοιχο συντέλεση DCT.

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

Συνήθως οι τιμές εκεί είναι 1. Αυτό σημαίνει πως οι συντελεστές DCT αυτών των θέσεων διατηρούνται αναλλοίωτοι και στο νέο πίνακα.

Όσο πηγαίνουμε προς τις υψηλότερες συχνότητες (κάτω δεξιά γωνία) χρησιμοποιούνται όλο και μεγαλύτερα βήματα στον πίνακα κβάντισης. Το αποτέλεσμα είναι ότι οι νέοι συντελεστές DCT των συχνοτήτων αυτών είτε μικραίνουν παρά πολύ είτε και μηδενίζονται και μπορούν πλέον να συμπιεστούν με εξαιρετική απόδοση. Αυτή η διαδικασία ακριβώς προσδίδει τον απωλεστικό χαρακτήρα στο JPEG. Μετά το μηδενισμό των συντελεστών DCT στις υψηλές συχνότητες οι αρχικές τιμές δεν είναι δυνατόν πλέον να ανακτηθούν και να επανέλθει η εικόνα ακριβώς στην αρχική της μορφή. Εν τούτοις η απώλεια αυτή δεν γίνεται αισθητή γιατί η ευαισθησία του ανθρωπινού ματιού είναι σημαντικά χαμηλότερη στις υψηλές συχνότητες του σήματος (που εξαλείφονται) παρά στις χαμηλότερες (που διατηρούνται σχετικά άθικτες).

Φάση (γ): Συμπίεση Εντροπίας

Μετά τη κβάντωση πολλοί από τους συντελεστές DCT έχουν μηδενιστεί. Για την συμπίεση αυτών των δεδομένων το JPEG μπορεί να χρησιμοποιήσει κάποιον αλγόριθμο κωδικοποίησης εντροπίας, που συνήθως είναι ο RLE (Run Length Encoding). Συμφώνα με τον RLE για μια ακολουθία μηδενικών συντελεστών DCT αποθηκεύεται το πλήθος των μηδενικών, και η τιμή. Η σάρωση των συντελεστών του πίνακα γίνεται με διαγώνια κατεύθυνση. Η ακολουθία των ψηφιακών δεδομένων που προκύπτει αποτελεί συμπίεση του αρχικού 8x8 block εικονοστοιχείων. Το JPEG τοποθετεί μια συγκεκριμένη σειρά ψηφίων που σηματοδοτεί την ολοκλήρωση του συγκεκριμένου block και προχωρεί στην κωδικοποίηση του επόμενου. Όταν

(16)

12 τελειώσουν όλα τα block τοποθετείται μια ακολουθία που υποδηλώνει το τέλος του αρχείου. Η ακολουθία αυτών των ψηφιακών δεδομένων αποθηκεύεται και συνιστά το αρχείο jpg,

Στην αποσυμπίεση το JPEG ακλουθώντας την αντίστροφη πορεία ανακτά τους κβαντισμένους συντελεστές DCT από την αποσυμπιεσμένη κατά RLE ακολουθία ψηφίων και εφαρμόζει τον αντίστοιχο μετασχηματισμό DCT ώστε να δημιουργήσει το ψηφιακό σήμα που προσδιορίζει τις τιμές φωτεινότητας των εικονοστοιχείων και αναδημιουργεί την εικόνα.

Βασικά χαρακτηριστικά του JPEG

Βαθμός Συμπίεσης

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

Μπορεί κάνει επομένως να επιλέξει τι τον εξυπηρετεί καλυτέρα:

 Μεγάλος βαθμός συμπίεσης με μειωμένη σχετικά ποιότητα εικόνας και μικρότερο μέγεθος αρχείου ή

 Μικρός βαθμός συμπίεσης με βελτιωμένη ποιότητα εικόνας και μεγαλύτερο μέγεθος αρχείου

Το JPEG μπορεί να εύκολα να προσφέρει λόγους συμπίεσης 10:1 μέχρι και 20:1 χωρίς καμία ορατή μείωση της ποιότητας της εικόνας. Τέτοιοι λόγοι συμπίεσης προφανώς διευκολύνουν τόσο την μεταφορά του αρχείου μέσω του διαδικτύου όσο και την αποθήκευση του. Μεγαλύτερες συμπιέσεις (30:1 μέχρι 50:1) είναι επίσης δυνατές αλλά με κάποιες μικρές έως μεσαίες παραμορφώσεις της εικόνας ενώ τέλος εξαιρετικά μεγάλες συμπιέσει (100:1) είναι επίσης δυνατές αν δεν ενοχλεί η σημαντική πτώση της ποιότητας (π.χ. Σε thumbnails).

Σε σύγκριση με το GIF ο λόγος των συμπιέσεων μπορεί να φτάνει και το 4:1 υπέρ του JPEG. Φυσικά η ισχυρότερη κωδικοποίηση που εφαρμόζει το JPEG σημαίνει πως κατά την αποκωδικοποίηση θα χρειαστεί κάποιος χρόνος για να

(17)

13 παρουσιαστεί η εικόνα στην οθόνη (σε σχέση με το απλούστερο GIF). Όμως λαμβάνοντας υπόψη και τη μεταφορά στα δίκτυα υπολογιστών καταλήγει κανείς πως η καθυστέρηση για τη μεταφορά του GIF αποδεικνύεται μεγαλύτερη από την από την όποια καθυστέρηση στην αποκωδικοποίηση του JPEG.

Διατήρηση πραγματικού χρώματος 24bit

Ένα ακόμη σημαντικό χαρακτηριστικό του JPEG είναι ότι διατηρεί την χρωματική ποικιλία εικόνων με πραγματικό χρώμα σε αντίθεση με το GIF που χρησιμοποιεί μόνο 256 χρώματα. Αυτό φυσικά το καθιστά καταλληλότερο το GIF για την συμπίεση αρχείων με πληροφορία πραγματικού χρώματος και μεταφορά τους στο διαδίκτυο.

1.1.2 Δίκτυα Kohonen 

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

(18)

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

Η διαδικασία συνεχίζεται μέχρι τα διανύσματα βαρών να σταθεροποιηθούν.

Σε αυτή τη μέθοδο, πρέπει να καθοριστεί μία διαδικασία εκπαίδευσης η οποία μειώνεται με το χρόνο και τερματίζεται. Ο τρόπος ανανέωσης των βαρών πρέπει επίσης να μειώνεται με το χρόνο. Η ασυμπτωτική σύγκλιση των 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:

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

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

 

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

2 2 2

1k 2k ... ck

dd  d .

C. Ενημερώνουμε το νικητή: v1,tvi,t1aik,t

xkvi,t1

.

(19)

15 D. Αν Ntnt ενημερώνουμε τους (nt 1)δεσμούς οι οποίοι είναι κοντινότερα στο xk στο Β: vi,tvi,t1aik,t

xkvi,t1

, i2,3,...,(nt1). Ε. Επόμενο k.

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

i vi,tvi,t1 2.

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

μεταβολής

 

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

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

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

Η παράμετρος aέχει συνταχθεί στο

i k ,

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

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

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

   

vtv* για

 

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

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

(20)

16 1.1.3 Αλγόριθμος Lloyd 

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

Ουσιαστικά οι αλγόριθμοι αυτοί είναι έτσι φτιαγμένοι, ώστε να διαμερίζουν τον χώρο των δεδομένων σε περιοχές και να αντιστοιχεί μια περιοχή σε κάθε ομάδα [24,26,31].

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

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

‖ ‖ (1.6)

(21)

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

1, ‖ ‖ ‖ ‖

0, ώ (1.7)

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

∑ (1.8)

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

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

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

1

( i c

i  

v .

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

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

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

(22)

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

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

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

(23)

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

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

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

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

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

(24)

20 ήταν μια καλή ιδέα να ξανατρέξουμε τον αλγόριθμο, αυξάνοντας κατά ένα τον αριθμό των ομάδων.

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

Μπορεί να αποδειχθεί ότι ελαχιστοποιώντας την αντικειμενική συνάρτηση κόστους της εξίσωσης (1.6), ουσιαστικά ελαχιστοποιείται η συνάρτηση παραμόρφωσης τετραγωνισμένου σφάλματος της εξίσωσης (1.2) και άρα μεγιστοποιείται το PSNR της εξίσωσης (1.3). Στην περίπτωση αυτή, η συνάρτηση παραμόρφωσης τετραγωνισμένου σφάλματος της εξίσωσης (1.2), τροποποιείται ώστε να μοντελοποιήσει την συνολική παραμόρφωση της αναδημιουργούμενης εικόνας και ονομάζεται Μέση Παραμόρφωση, η οποία δίνεται από την παρακάτω σχέση.

1 min ‖ ‖ (1.9)

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

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

Referências

Documentos relacionados

Η ανάπτυξη και η ανεξαρτητοποίηση των Μέσων Μαζικής Ενημέρωσης, η γιγάντωση των εργατικών συνδικάτων, η δημιουργία κινημάτων για την προστασία του καταναλωτή καθώς και το ότι