next up previous
Next: Αναγνώριση σε ασύρματα και Up: mythesis Previous: Υλοποίηση της κωδικοποίησης -

Subsections

Πειράματα κωδικοποίησης

Στο Κεφάλαιο 2 αναλύσαμε το σχήμα κωδικοποίησης και τονίσαμε πως αποτελεί μέθοδο κωδικοποίησης φωνής προς αναγνώριση. Επισημάνθηκε επίσης ότι κάνουμε συνδυασμό τεχνικών κωδικοποίησης φωνής (επεξεργασία front-end) και τεχνικών κωδικοποίησης πηγής (διανυσματικός κβαντισμός) προκειμένου να μειώσουμε ακόμα περισσότερο τον ρυθμό μετάδοσης (ή ισοδύναμα να αυξήσουμε στο μέγιστο το βαθμό συμπίεσης), προσπαθώντας παράλληλα να κρατήσουμε υψηλά επίπεδα αναγνώρισης. Αναλύσαμε τεχνικές κβαντισμού με έμφαση στην τεχνική product VQ και είδαμε τις επιλογές που μπορεί να γίνουν κατά τον σχεδιασμό ενός συστήματος διανυσματικού κβαντισμού και τέλος παρουσιάσαμε τις διαδικασίες εκπαίδευσης και κβαντισμού για την κωδικοποίηση που προτείνουμε.

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

Σε αυτό το Κεφάλαιο θα δούμε αναλυτικά την διαδικασία των πειραμάτων και θα παρουσιάσουμε τα πειράματα που έγιναν, τα οποία αφορούν πειράματα τόσο βαθμωτού όσο και διανυσματικού κβαντισμού. Θα παραθέσουμε τον bit allocation αλγόριθμο που μας βοηθά στην εύρεση του επιτρεπόμενου ορίου συμπίεσης χωρίς απώλειες στην απόδοση αναγνώρισης και τέλος θα εξετάσουμε την επίδραση του θορύβου στην κωδικοποίηση. Αξίζει να σημειωθεί ότι στο Κεφάλαιο αυτό παρουσιάζονται τα 'τελικά' αποτελέσματα για τα οποία χρειάστηκε να γίνουν και πολλά άλλα πειράματα. Κάποια αυτά που έγιναν με τη χρήση του bit allocation αλγορίθμου παρουσιάζονται στο Παράρτημα στο τέλος αυτής της εργασίας.

Figure: Διαδικασία πειραμάτων.Οι trainers παράγουν τα L codebooks(όσα και τα υποδιανύσματα). Κάθε ένας από τους L κβαντιστές χρησιμοποιεί το αντίστοιχο codebook για να κβαντίσει το υποδιάνυσμα σε κάθε frame στο test set. Για κάθε κβαντισμένο αρχείο, ο αναγνωριστής συγκρίνει το transcription(περιγραφή πρότασης) με το αποτέλεσμα της αναγνώρισης και υπολογίζει το συνολικό σφάλμα.
[scale=0.490]images/coding-images/eps/experiments.eps

Διαδικασία πειραμάτων

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

Για την εκπαίδευση και τον κβαντισμό χρησιμοποιήσαμε το Yarrow, ενώ για την αναγνώριση χρησιμοποιούμε το σύστημα αναγνώρισης φωνής Decipher (τόσο το Yarrow όσο και το Decipher περιγράφονται στο Κεφάλαιο 4). Για την απόδοση της κωδικοποίησης, χρησιμοποιούμε σαν μέτρο, το σφάλμα της αναγνώρισης (Word Error Rate - WER), το οποίο ορίζεται ως : $WER = \frac{INS + DEL + SUB}{TOTAL} \times 100$. Eίναι δηλαδή ο αριθμός των λάθος εισαγωγών, Sαντικαταστάσεων και παραλείψεων λέξεων, σε σχέση με το συνολικό αριθμό λέξεων στην πρόταση.

Τα πειράματα έγιναν στο ATIS corpus, το οποίο έχει ένα λεξικό 1500 λέξεων και είναι μέτριας δυσκολίας. Το train set αποτελείται από 700 προτάσεις και το test set από 400 προτάσεις. Στα πειράματα που παρουσιάζουμε γίνεται χρήση Centroid Coded κβαντισμού με τα συνεχή γκαουσιανά ακουστικά μοντέλα του ATIS. Όπως έχουμε τονίσει και προηγούμενα, αυτός ο τρόπος δεν προσφέρει πραγματική συμπίεση (αφού η έξοδος του κβαντισμού αναπαρίσταται με το διάνυσμα και όχι το δείκτη), αλλά είναι αναγκαία για τη διαδικασία των πειραμάτων και την εύρεση των πιο αποδοτικών σχημάτων κωδικοποίησης. Για τα πιο επιτυχημένα τέτοια σχήματα κωδικοποίησης, προχωρούμε στη διακριτοποίηση των ακουστικών μοντέλων (βλέπε παράγραφο 1.5.3), τα οποία προσφέρουν μεγάλη συμπίεση και γρηγορότερη αναγνώριση και θα χρησιμοποιούνται στη πράξη, σε εφαρμογές στηριζόμενες σε αυτή την εργασία.

Η γενική διαδικασία των πειραμάτων είναι η εξής :

Στα πειράματα που ακολουθούν, αρχίζουμε με το baseline πείραμα, το οποίο χρησιμοποιεί το test-set (μη κβαντισμένα αρχεία) και το οποίο καθορίζει την ελάχιστη απόδοση αναγνώρισης που θα δεχόμαστε για τα πειράματα με κβαντισμό. Στα πειράματα αυτά, χρησιμοποιούμε τεχνικές βαθμωτού (ομοιόμορφου και μη) κβαντισμού, καθώς και τεχνικές VQ βασισμένες στη χρήση υποδιανυσμάτων (productVQ). Τέλος θα παρουσιάσουμε την χρήση του bit-allocation αλγορίθμου και πειράματα με θόρυβο.

Baseline πείραμα

Το baseline είναι το βασικό πείραμα που δείχνει την απόδοση για μη κβαντισμένα αρχεία. Σε όλα τα επόμενα πειράματα κβαντισμού, στόχος μας θα είναι να προσεγγίσουμε επίπεδα αναγνώρισης κοντά σε αυτά του baseline πειράματος, κάτι που θα αποδεικνύει ότι ο θόρυβος που εισαγάγει ο κβαντισμός είναι αρκετά μικρός ή δεν θα επηρεάζει αισθητά την διαδικασία της αναγνώρισης. Για τη διεξαγωγή του, χρησιμοποιήθηκαν αρχικά τηλεφωνικής ποιότητας (toll quality) δεδομένα, τόσο σε PCM κωδικοποίηση, όσο και σε GSM. Παρατηρούμε ότι αν και η διαφορά στο bit-rate είναι αρκετά μεγάλη, η διαφορά στην ακρίβεια αναγνώρισης είναι σχετικά μικρή. Το baseline μας ενδιαφέρει κυρίως για υψηλής ποιότητας (high quality) δεδομένα όπου η ακρίβεια αναγνώρισης ήταν 6.55, για μεγαλύτερο όμως bit-rate.


Table: Baseline πείραμα. PCM(high & toll quality) & GSM encoding
Type of Encoding Bit-rate (kbps) Word-error Rate(%)
PCM toll quality(Mlaw) 64 12.7
GSM encoding 13 14.5
PCM high quality 256 6.55


Πειράματα βαθμωτού κβαντισμού

Αρχικά κβαντίσαμε τους συντελεστές τηλεφωνικής ποιότητας φωνής και εξετάσαμε την απόδοση για διαφορετικούς αριθμούς bits/element. Χρησιμοποιήσαμε τόσο ομοιόμορφο όσο και μη-ομοιόμορφο κβαντισμό. Στη περίπτωση του μη-ομοιόμορφου κβαντισμού, η απόσταση μεταξύ των σταθμών, προέκυψε από την κατανομή των συντελεστών του διανύσματος στο train set. Τα αποτελέσματα συνοψίζονται στο πίνακα 4.2.


Table: Bit-rates & WER για scalar quantization των συντελεστών του MFCC διανύσματος για τηλεφωνικής ποιότητας φωνή. ( Για τηλεφωνικής ποιότητας φωνή, το MFCC διάνυσμα έχει μέγεθος 9 : 8 cepstral συντελεστές και 1 συντελεστής για την ενέργεια)
Bits/coef. Bit-Rate (kbps) Uniform (WER%) Non-Uniform (WER%)
8 7.2 12.55 12.82
7 6.3 12.65 12.87
6 5.4 13.08 12.65
5 4.5 13.14 13.62
4 3.6 17.43 13.19
3 2.7 45.47 14.64
2 1.8 108.9 21.07



Table: Bit rates & WER για scalar quantization των συντελεστών του MFCC διανύσματος για υψηλής ποιότητας φωνή. ( Για υψηλής ποιότητας φωνή, το MFCC διάνυσμα έχει μέγεθος 13 : 12 cepstral συντελεστές και 1 συντελεστής για την ενέργεια)
Bits/coef. Bit Rate (kbps) Uniform (WER%) Non-Uniform (WER%)
8 10.4 6.65 6.53
7 9.1 6.76 6.40
6 7.8 6.65 6.43
5 6.5 6.96 6.32
4 5.2 6.96 6.32
3 3.9 12.45 6.88
2 2.6 95.43 9.04


Παρατηρούμε ότι για 5-8 bits/element η απόδοση της αναγνώρισης είναι αρκετά καλή, και στις 2 περιπτώσεις. Από εκεί και πέρα τα αποτελέσματα αλλάζουν αρκετά. Συγκεκριμένα, για τον ομοιόμορφο κβαντισμό βλέπουμε ότι μειώνοντας έστω και κατά 1 bit/element, η απόδοση πέφτει αμέσως στο 17.43 που ήδη είναι μη αποδεκτό, από άποψη αναγνώρισης. Αυτή η συμπεριφορά των αποτελεσμάτων σημαίνει ότι :
1. Κανένας συντελεστής δεν χρειάζεται περισσότερα από 5 bits.
2. Στον ομοιόμορφο κβαντισμό, χρησιμοποιώντας λιγότερα από 5 bits/element, αφαιρούμε πληροφορία από ποιο σημαντικά elements, ενώ ίσως δίνουμε περισσότερα bits από ότι χρειάζεται σε άλλα elements. Αυτό έχει σαν αποτέλεσμα την ραγδαία αύξηση του WER.
3. Αντίθετα, στην περίπτωση του μη-ομοιόμορφου κβαντισμού, βλέπουμε ότι ακόμα και στα 2.7 Kbps η απόδοση δεν πέφτει σημαντικά. Μάλιστα, είναι σχεδόν ίση με την απόδοση του GSM συστήματος το οποίο έχει ρυθμό μετάδοσης της τάξης των 13 Kbps.

Στη συνέχεια χρησιμοποιήσαμε υψηλής ποιότητας φωνή και διεξάγαμε ανάλογα πειράματα (βλέπε Πίνακα 4.3). Παρατηρούμε πάλι, ότι στην περίπτωση του μη-ομοιόμορφου κβαντισμού έχουμε καλλίτερα αποτελέσματα. Χρησιμοποιώντας 5.2 & 3.9 kbps αντίστοιχα για ομοιόμορφο και μη ομοιόμορφο κβαντισμό, υπερβαίνουμε κατά λίγο το WER στο baseline πείραμα (6.55%). Συμπερασματικά, βλέπουμε ότι χρησιμοποιώντας ένα σχετικά απλό σχήμα παίρνουμε πολύ καλά αποτελέσματα.

Πειράματα διανυσματικού κβαντισμού

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

Επιλογή παραμέτρων συστήματος

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

Επιλογή υποδιανυσμάτων

Για την επιλογή των υποδιανυσμάτων υπήρξαν δυο προσεγγίσεις :

H πρώτη προσέγγιση είναι να ομαδοποιήσουμε τα στοιχεία του MFCC διανύσματος με τέτοιο τρόπο, ώστε αυτά με τη μεγαλύτερη στατιστική συσχέτιση, να ομαδοποιηθούν στο ίδιο υποδιάνυσμα. Η προσέγγιση αυτή δεν έδωσε τα αναμενόμενα αποτελέσματα, καθώς αποδείχθηκε ότι οι συσχετίσεις μεταξύ των elements κυμαίνονταν σε πολύ μικρές τιμές. Αυτό επιβεβαιώνεται από τη χρήση DCT στο front-end (βλέπε Σχήμα 1.2).

Η δεύτερη προσέγγιση βασίστηκε στο γεγονός, ότι κάποια στοιχεία του διανύσματος είναι πιο σημαντικά από κάποια άλλα και επομένως ο αριθμός των bits που πρέπει να διαθέσουμε κυμαίνεται αρκετά, ανάλογα με τη σημαντικότητα του στοιχείου. Συγκεκριμένα, προχωρώντας από τα πρώτα στα τελευταία στοιχεία του διανύσματος, ο λόγος bits/elements μειώνεται δραστικά, κάτι το οποίο οφείλεται στη χρήση της Mel-frequency κλίμακας στο front-end και έχει σαν αποτέλεσμα την συμπίεση της πληροφορίας στα πρώτα στοιχεία του διανύσματος (βλέπε επίσης Σχήμα 1.2). Αυτό σημαίνει ότι προκειμένου όλα τα υποδιανύσματα να ``περιέχουν'' ίσο ποσό πληροφορίας, θα πρέπει να ομαδοποιήσουμε τα πιο σημαντικά από αυτά σε μικρά υποδιανύσματα και τα λιγότερο σημαντικά σε μεγαλύτερα υποδιανύσματα. Τα αποτελέσματα για τις δυο προσεγγίσεις φαίνονται στον Πίνακα 4.4.


Table: Σύγκριση correlation & knowledge based partitioning. Στην περίπτωση χρήσης συσχέτισης για την επιλογή των υποδιανυσμάτων, τα αποτελέσματα είναι σαφώς μη ικανοποιητικά. Τα υποδιανύσματα που χρησιμοποιήθηκαν είναι τα : (1,5), (3,9,12,13), (4,6), (2,7,11), (8,10). Στη δεύτερη περίπτωση αντίθετα, όπου το κριτήριο είναι η σημαντικότητα των στοιχείων, τα αποτελέσματα είναι σαφώς καλλίτερα. Σε αυτή τη περίπτωση, τα υποδιανύσματα που χρησιμοποιήθηκαν είναι τα : (1,2), (3,4), (5,6,7), (8,9,10), (11,12,13).
Bit Rate (bps) Correlation based Knowledge based
1400 18.77 11.71
1600 13.36 9.30
1800 10.24 8.10
1900 8.92 6.99
2000 8.38 6.63
2100 7.72 -
2200 7.01 -


Επιλογή αριθμού bits ανά υποδιάνυσμα : bit allocation αλγόριθμος

Η δεύτερη παράμετρος που πρέπει να καθοριστεί είναι ο αριθμός των centroids ανά υποδιάνυσμα. Η διαδικασία που ακολουθήσαμε βασίζεται στον bit-allocation αλγόριθμο και είναι η εξής :

Αρχικοποίηση : Διάθεση ενός αρχικού αριθμού bits στα υποδιανύσματα και αξιολόγηση της αναγνώρισης. Αυτό είναι και το αρχικό σχήμα.

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

Βήμα 2 : Αν έχει επιτευχθεί το επιθυμητό αποτέλεσμα αναγνώρισης ή αν φτάσαμε το μέγιστο διαθέσιμο αριθμό bits σταματάμε, αλλιώς συνεχίζουμε τη διαδικασία από το Βήμα 1.

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


Table: Bit allocation για τα 5 υποδιανύσματα. Όπως φαίνεται καθαρά, τα υποδιανύσματα 1 & 2 είναι τα ποιο σημαντικά αν και μικρότερα. Ακολουθούν τα 3 & 4, ενώ το υποδιάνυσμα 5 φέρει την λιγότερη πληροφορία. Παρατηρούμε επίσης ότι με μόλις 2kbps διατηρούμε ίδιο WER με την περίπτωση όπου δεν έχουμε καν κβαντισμό!
  Composition of subVectors
  1,2 3,4 5,6,7 8,9,10 11,12,13

Total bits subvector bits per iteration Bit Rate WER(%)
12 3 3 2 2 2 1200 16.76
14 5 3 2 2 2 1400 11.71
16 5 3 4 2 2 1600 9.30
18 5 3 4 4 2 1800 8.10
19 5 4 4 4 2 1900 6.99
20 5 4 4 4 2 2000 6.63



Table: Bit allocation για τη scalar περίπτωση Φαίνεται καθαρά πως οι 4 πρώτοι συντελεστές είναι οι πιο σημαντικοί (3 bits) ενώ οι υπόλοιποι είναι λιγότερο σημαντικοί και απαιτούν μόνο 2 συντελεστές. Παρατηρούμε πως ήδη από τα 2600 bits, έχουμε καταφέρει να προσεγγίσουμε την απόδοση του baseline πειράματος. Παρατηρούμε επίσης πως σε σχέση με το προηγούμενο πίνακα, χρειάζονται 10 bits παραπάνω (3kbps) για να φτάσουμε την ίδια απόδοση στην αναγνώριση.
  MFCC
  1 2 3 4 5 6 7 8 9 10 11 12 13

$Total$ bits element bits per iteration Bit Rate WER (%)
17 2 2 2 2 1 1 1 1 1 1 1 1 1 1700 12.78
18 3 2 2 2 1 1 1 1 1 1 1 1 1 1800 10.66
20 3 3 2 3 1 1 1 1 1 1 1 1 1 2000 8.69
22 3 3 3 3 1 2 1 1 1 1 1 1 1 2200 7.67
24 3 3 3 3 2 2 1 1 1 1 1 2 1 2400 6.69
26 3 3 3 3 2 2 1 1 2 1 2 2 1 2600 6.81
28 3 3 3 3 2 2 1 2 2 2 2 2 1 2800 6.71
30 3 3 3 3 2 2 2 2 2 2 2 2 2 3000 6.55



Table: Κβαντισμός παρουσία θορύβου.
Test SNR(db) Train VQ SNR(db) Encoding bits/subvector WER(%)
Clean Clean No encoding 6.55
Clean Clean 5 5 4 4 2 6.63
24 Clean No encoding 8.51
24 Clean 5 5 4 4 2 12.19
24 24 5 5 4 4 2 11.89
24 Clean 5 5 5 4 2 11.18
24 Clean 6 5 5 4 2 10.49
24 Clean 6 6 5 4 3 9.47
24 Clean 7 6 5 4 4 9.32
24 Clean 7 6 5 4 5 8.94


Πειράματα με θόρυβο.

Στην εφαρμογή της μεθόδου που ακολουθήσαμε έως τώρα, δεν υπολογίσαμε την επίδραση του θορύβου. Για να διαπιστώσουμε την επίδραση του θορύβου, κάναμε το εξής πείραμα :Προστέθηκε θόρυβος στο test set έτσι ώστε ο λόγος σήματος/θορύβου (SNR) να φτάσει τη τιμή των 24 dB. Ακολουθώντας το bit allocation σχήμα για άλλη μια φορά, προσπαθήσαμε να βρούμε το κατάλληλο αριθμό bits που απαιτούνται για να φτάσουμε τα επίπεδα αναγνώρισης στη περίπτωση του μη κβαντισμού. Τα αποτελέσματα φαίνονται στον Πίνακα 2.7.

Αναλυτικότερα, στη 1η και 2η γραμμή επαναλαμβάνονται τα αποτελέσματα που πήραμε πριν την εισαγωγή του θορύβου για τα πειράματα χωρίς κβαντισμό (baseline) και για το καλλίτερο πείραμα με χρήση κβαντισμού. Όλα τα επόμενα πειράματα είναι παρουσία θορύβου. Στην 3η και 4η γραμμή επαναλαμβάνουμε τα 2 παραπάνω πειράματα . Το σφάλμα αναγνώρισης χωρίς κβαντισμό είναι 8.51% ενώ με κβαντισμό αυξάνει ακόμα περισσότερο φτάνοντας το 12.19%. Αν προσθέσουμε 24 dB στο train set έχουμε μικρή μείωση του σφάλματος (11.89%). Στα επόμενα πειράματα εφαρμόζουμε το bit-allocation σχήμα με σκοπό να προσεγγίσουμε το 8.51%. Στις υπόλοιπες γραμμές φαίνεται πως μειώνεται το WER στο σε 8.94 προσθέτοντας συνολικά 7 bits παραπάνω, φτάνοντας έτσι στα 27 bits, δηλαδή 2.7kbps.

Συμπεράσματα


next up previous
Next: Αναγνώριση σε ασύρματα και Up: mythesis Previous: Υλοποίηση της κωδικοποίησης -
root 2001-02-24