Speech/Music classification of audio files using machine learning techniques.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

99 lines
8.0 KiB

\section{Προηγούμενες υλοποιήσεις}
% make a table with times
Υπάρχει πληθώρα βιβλιογραφίας σχετική με το θέμα. Έχουν βρεθεί ήδη
αρκετές λύσεις, ενώ οι πιο πρόσφατες πετυχαίνουν αξιοσημείωτα
αποτελέσματα τόσο όσων αφορά την ταχύτητα του διαχωρισμού όσο και την ακρίβεια
των αποτελεσμάτων. Κάποιες από τις δημοσιεύσεις οι οποίες αφορούν το
συγκεκριμένο θέμα, καθώς και τα αποτελέσματά τους παρουσιάζονται παρακάτω.
\vspace{1em}
Στο ~\cite{robust} οι συγγραφείς χρησιμοποιούν τα εξής χαρακτηριστικά (features):
\begin{enumerate}[noitemsep]
\item Διαμόρφωση ενέργειας στα 4Hz του σήματος (4Hz modulation)
\item Διαμόρφωση εντροπίας του σήματος (entropy modulation)
\item Αριθμός των στατικών τμημάτων
\item Διάρκεια των τμημάτων
\end{enumerate}
Παρατηρήθηκε πειραματικά ότι τα πρώτα 3 χαρακτηριστικά δίνουν ξεχωριστά περίπου
το ίδιο ποσοστό επιτυχών ταξινομήσεων (περίπου 84\%) ενώ η Μπαγιεσιανή προσέγγιση
για το χαρακτηριστικό δίαρκειας τμημάτων έδωσε λίγο χαμηλότερο ποσοστό (76.1\%).
Για να αυξηθεί το ποσοστό των συνολικών επιτυχών ταξινομήσεων προτάθηκε ένας
ιεραρχικός αλγόριθμος ταξινόμησης στον οποίο τα χαρακτηριστικά διαμόρφωσης
ενέργειας του σήματος στα 4Ηz και διαμόρφωσης εντροπίας του σήματος συγχωνεύονται.
Σε περίπτωση που οι 2 ταξινομητές συμφωνούν αποφασίζουν για το αν το τμήμα
αποτελεί ομιλία ή όχι, ενώ σε περίπτωση που δεν συμφωνούν, η απόφαση
οριστικοποιείται από το χαρακτηριστικό του αριθμού τμημάτων. Αποδεικνύεται ότι
τα αποτελέσματα αυτού του αλγορίθμου δίνουν 90.1\% σωστές ταξινομήσεις.
\vspace{1em}
Στο ~\cite{mirex} το πρόβλημα που δόθηκε αντιμετωπίζεται ως 2 υποπροβλήματα:
το πρόβλημα εντοπισμού δειγμάτων και το πρόβλημα κατηγοριοποίησής τους.
Για τον εντοπισμό δειγμάτων μουσικής/φωνής εφαρμόστηκε ο αλγόριθμος Random
Forest σε 2 εκδοχές του: στην πρώτη, εφαρμόστηκε μαζί με έναν Silence detection
αλγόριθμο ενώ στη δεύτερη βασίστηκε μόνο στις πληροφορίες ομοιογένειας (self
similarity matrix) και στην λειτουργία του ίδιου του ταξινομητή. Επίσης, για την
ταξινόμηση προτάθηκαν 2 εναλλακτικές: στην πρώτη χρησιμοποιήθηκε ένα
προ-εκπαιδευμένο μοντέλο ενώ στην δεύτερη η εκπαίδευση γίνεται κατά την
αξιολόγηση των δειγμάτων.
Χρησιμοποιήθηκαν τα χαρακτηριστικά (features):
\begin{enumerate}[noitemsep]
\item RMS ενέργεια
\item ZCR (Zero-Crossing Rate)
\item Spectral rolloff (Συχνότητα Αποκοπής)
\item Spectral flux (Φασματική Ροή)
\item Spectral flatness (Φασματική Επιπεδότητα)
\item Spectral flatness per Band (Φασματική Επιπεδότητα ανά συχνοτικές ομάδες)
\item MFCCs (Mel Frequency Cepstral Coefficients)
\end{enumerate}
Έγινε ανάλυση κύριων συνιστωσών (Principal component analysis ή PCA) με στόχο να
μειωθούν οι διαστάσεις των διανυσμάτων χαρακτηριστικών (feature vectors).
Δημιουργήθηκαν οι πίνακες ομοιότητας υπολογίζοντας την ευκλείδεια απόσταση
μεταξύ των δειγμάτων ήχου έτσι ώστε να χωριστούν τα τμήματα. Στη συνέχεια τα
τμήματα αυτά κατηγοριοποιούνται ενώ ταυτόχρονα εφαρμόζεται ο αλγόριθμος Silence
Detection και τα δείγματα αυτά προστίθενται στα προηγούμενα. Για το πρόβλημα της
κατηγοριοποίησης χρησιμοποιείται ο ίδιος αλγόριθμος Random Forest για την
ταξινόμηση σε επίπεδο (frame) τμημάτων ήχου. Εφόσον για κάθε αρχείο ήχου έχουν
εξαχθεί τα παραπάνω χαρακτηριστικά, κάθε τμήμα ήχου ταξινομείται στην κλάση που
αποφασίζεται και έπειτα ολόκληρο το αρχείο ταξινομείται στην κλάση στην οποία
ταξινομήθηκαν τα τμήματά του κατά πλειοψηφία.
\vspace{1em}
Σύμφωνα με το ~\cite{cuckoo} το back propagation neural network πέτυχε ακρίβεια
89.08\%, ενώ το SVM πέτυχε 90.12\% και η δική τους υλοποίηση SVM (με τον
αλγόριθμο cuckoo), CS-SVM, πέτυχε 92.75\%.
\vspace{1em}
Στο ~\cite{hybrid} οι συγγραφείς χρησιμοποιούν τα features:
\begin{enumerate}[noitemsep]
\item ΜFCCs (Mel Frequency Cepstral Coefficients)
\item ZCR (Zero-Crossing Rate)
\item SC (Spectral Centroid)
\item SR (Spectral Rolloff)
\item SF (Specral Flux)
\end{enumerate}
Τα χαρακτηριστικά ΜFCC, ZCR και SF ταξινομούν με accuracy ~90\% το καθένα. Το
feature SR με 83\%, ενώ το SC με 70\%. Ο συνδυασμός όλων των features πετυχαίνει
93.5\% σωστή ταξινόμηση, ενώ με χρήση ενός SVM μοντέλου το ποσοστό φτάνει στο
95.68\%.
Παρατηρείται ότι η σωστή ταξινόμηση της μουσικής είναι αρκετά δυσκολότερη (με
αυτά τα features) σε σχέση με αυτή της ομιλίας. Συγκεκριμένα στην ομιλία
επιτυγχάνεται (με το SVM) accuracy 98.25\% ενώ στη μουσική 93.1\%.
\vspace{1em}
Τέλος, σύμφωνα με το ~\cite{radio}, σε εφαρμογές κατηγοριοποίησης όπου δεν
επιβάλλεται η λειτουργία σε πραγματικό χρόνο, η χρήση energy features είναι
επιθυμητή λόγο της μεγάλης ακρίβειας τους. Συγκεκριμένα η αναζήτηση της Minimum
Energy Density δείχνει να υπερέχει από άλλες μεθόδους energy features και στην
αποτελεσματικότητα της, και στην απλότητα του υπολογισμού της. Σε συνδυασμό με το
χαρακτηριστικό της διαφοράς ενέργειάς στα διάφορα κανάλια μιας πολυκάναλης
εισόδου, στο ~\cite{radio} πέτυχαν ακρίβεια 100\% στα κομμάτια εισόδου όπου
περιείχαν μόνο μουσική ή φωνή και όχι τον συνδυασμό τους (όπως στις ραδιοφωνικές
διατιμήσεις).