Professional Documents
Culture Documents
Bez (Mavi-Siyah) Cillte Bu Bölüm Olmayacaktır
Bez (Mavi-Siyah) Cillte Bu Bölüm Olmayacaktır
Bez (Mavi-Siyah) Cillte Bu Bölüm Olmayacaktır
Ali ÖZKAHRAMAN
OCAK 2018
İSTANBUL TEKNİK ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ
Ali ÖZKAHRAMAN
(504141240)
OCAK 2018
İTÜ, Fen Bilimleri Enstitüsü’nün 504141240 numaralı Yüksek Lisans Öğrencisi Ali
ÖZKAHRAMAN, ilgili yönetmeliklerin belirlediği gerekli tüm şartları yerine
getirdikten sonra hazırladığı “AKUSTİK VE GÖRSEL ÖZELLİKLERİ
KULLANARAK MÜZİK TÜR SINIFLANDIRMASI UYGULAMASI” başlıklı
tezini aşağıda imzaları olan jüri önünde başarı ile sunmuştur.
v
vi
ÖNSÖZ
vii
viii
İÇİNDEKİLER
Sayfa
ix
KAYNAKLAR .........................................................................................................53
ÖZGEÇMİŞ……. ....................................................................................................57
x
KISALTMALAR
xi
xii
SEMBOL LİSTESİ
L(x,y) : Laplasyan
I(x,y) : Görüntü
G(x,y) : Gaussian Fonksiyonu
σ : Gaussian Dağılımının Standart Sapması
D(x) : Taylor Serisi Açılımı
Hf : Hessian Matrisi
m : Gradyen Genliği
ϴ : Yönelim
σi : Piksel Birimleri
d : Mesafe Uzaklığı
M(f) : Mel Ölçeği
Si(k) : Ayrık Fourier Dönüşümü
h(n) : Analiz Penceresi
S_V : Sonuç verisi
Pi(k) : Güç Spektrumunun Periyodogram Değeri
f(i) : FFT Değerleri
r : Marjin
xiii
xiv
ÇİZELGE LİSTESİ
Sayfa
xv
xvi
ŞEKİL LİSTESİ
Sayfa
xvii
Şekil 4.3 : Frekans ölçeğiyle mel ölçeği arasındaki ilişki......................................... .29
Şekil 4.4 : Mel filterbank ve güç spektrumu. ............................................................. 31
Şekil 4.5 : Filterbanklar. ............................................................................................ 33
Şekil 5.1 : Destek vektör makinesi. ........................................................................... 35
Şekil 5.2 : Doğrunun denklemi ve sınıfların elde edilmesi........................................ 36
Şekil 5.3 : Destek vektör makinesinde çok sayıda doğrunun iki sınıfı ayırabilmesi . 36
Şekil 5.4 : Doğruya en yakın vektörlerin doğruya olan uzaklığı. .............................. 36
Şekil 5.5 : Kernel fonksiyonu ile boyut arttırarak bir sistemi doğrusallaştırma. ....... 37
Şekil 5.6 : İki farklı sınıf. ........................................................................................... 39
Şekil 5.7 : Bilinmeyen bir c vektörünün temsili. ....................................................... 39
Şekil 5.8 : Bilinmeyen vektöre en yakın komşuluktaki vektörler.............................. 39
Şekil 5.9 : Bilinmeyen vektörün hangi sınıfa ait olduğunun belirlenmesi................. 39
Şekil 5.10 : K=5 için K katlamalı çapraz doğrulama eğitim ve test seti ayrıştırması.41
Şekil 6.1 : Raspberry pi 2........................................................................................... 43
xviii
AKUSTİK VE GÖRSEL ÖZELLİKLERİ KULLANARAK MÜZİK TÜR
SINIFLANDIRMASI UYGULAMASI
ÖZET
Bu teze konu olan çalışmada, sesin hem görsel hem de akustik özellikleri kullanılarak
müzik tür sınıflandırması uygulaması geliştirilmiştir. Müzik türleri olarak en çok
bilinen dört farklı müzik türü seçilmiştir. Bunlar Elektronik, Jaz, Klasik ve Metal
müzik türleridir.
Görsel özelliklerin tasarımında SIFT ve SURF görüntü tanımlayıcıları kullanılmıştır.
Akustik özellik olarak da Mel Frekans Kepstral Katsayıları (Mel Frequency Cepstral
Quefficients(MFCC)) kullanılmıştır. Sınıflandırıcı olarak ise Destek Vektör Makinesi
ve k-nn sınıflandırıcısından yararlanılmıştır.
Teknolojinin gelişmesiyle insanların otomatik sınıflandırma yapan cihaz ya da
yazılımlara güveni artmaktadır. Bununla beraber müzik piyasasının gelişmesiyle
otomatik müzik tür sınıflandırması uygulamasına olan ilgi artmakta ve bu tür
sistemlerin kullanımı da buna paralel bir şekilde her geçen gün artmaktadır. Bu
ihtiyaçtan yola çıkarak müzik tür sınıflandırması uygulaması geliştirilerek bu ihtiyacın
giderilmesi amaçlanmıştır.
Müzik türleri kendi içinde belirli özelliklere sahiptir. Her türün kendine özgü akustik
özellikleri bu türün diğer türlerden ayırt edilmesinde kullanılır. Sese ait akustik
özellikler 3 ana sınıftan oluşur. Bunlar Tını özellikleri, Ritmik özellikler ve Makam
özellikleridir. Görsel özelliklerle birleştirme işlemi yapıldığından burada sadece
Timbral özellikler sınıfına ait olan MFKK özelliği kullanılmıştır. MFKK ses işlemede
en çok kullanılan ve en etkin bir özelliktir. Özellikle ses tanıma ve konuşmacı tanıma
gibi uygulamalarda karşımıza çıkmaktadır. Müzik tür sınıflandırması uygulamalarında
da şimdiye kadar kullanılmıştır. MFKK, insan kulağının sesi algılamasına benzer
şekilde çalışır. Yapılan deneylere göre insan kulağı sesi ilk 1000Hz de doğrusal olarak,
1000Hz ‘den büyük frekanslarda da logaritmik olarak algılamaktadır. Buradan
esinlenerek MFKK özellikleri çıkarılmıştır.
Görsel özellik elde edilmesinde müziğin spektrogramı elde edilerek bu spektrogram
üzerinde görüntü işleme teknikleriyle özellik çıkarılmıştır. Görsel özellikler kısmında
kullanılan görüntü tanımlayıcılardan bir tanesi SIFT’ dir. Görüntü tanımlayıcılar bir
görüntüye ait olan özelliklerin çıkarılmasını sağlar. SIFT görüntü tanımlayıcısı
görüntüden özellik çıkarırken hem görüntü rotasyonundan hem de ölçekten bağımsız
çalışmaktadır. Yani görüntü rotasyonunda ya da ölçekte meydana gelebilecek herhangi
bir değişiklik SIFT görüntü tanımlayıcısının performansını herhangi bir şekilde
etkilememektedir. SURF algoritması da bir diğer görüntü tanımlayıcısı olarak
kullanılmıştır. SURF, SIFT algoritmasının hızlandırılmış şeklidir. Dolayısıyla SURF’
de hem görüntü rotasyonundan hem de ölçekten bağımsız çalışmaktadır.
Görüntü tanımlayıcılar elde edildikten sonra bu tanımlayıcılardan çıkan vektörler
kullanılarak özellik kümesi histogramı oluşturulur. Özellik kümesi özellikle son
xix
yıllarda görüntü sınıflandırmada kullanılan bir yöntemdir. Görüntü tanımlayıcılardan
elde edilen vektörler k-means yöntemi kullanılarak benzerliklerine göre sınıflandırılır
ve bunların histogramı alınır. Daha sonra bu histogramlar sınıflandırıcı eğitiminde
kullanılır.
Sınıflandırıcı olarak da destek vektör makinesi ve k-nn sınıflandırıcısı kullanılmıştır.
K-nn sınıflandırıcısı uygulaması basit olan bir sınıflandırma çeşididir. Bu
sınıflandırıcının diğer sınıflandırıcılardan farkı eğitim aşamasına gerek duymamasıdır.
Eğitim verileri sınıflandırma sırasında bu sınıflandırıcı tarafından direkt olarak
kullanılır. Destek vektör makinesi de bir danışmanlı öğrenme çeşididir. Görüntü ve ses
işleme alanında sınıflandırıcı olarak en çok kullanılan yöntemdir. Bu sınıflandırıcı
farklı sınıfları birbirinden ayırt edebilecek en iyi hyperplane’ı bularak sınıflandırma
işlemini gerçekleştirir.
Sistem gerçeklemesinde kullanılan temel eleman Raspberry pi vakfı tarafından
üretilmekte olan Raspberry pi 2 ‘dir. Raspberry pi, içinde Linux Raspbian işletim
sistemi olan bir karttır. Dolayısıyla aslında Linux yüklü bir bilgisayar gibi de
düşünebiliriz. Dolayısıyla herhangi bir yazılım programı(c,c++,python…) yüklenerek
yazılım geliştirilmesi mümkündür. Bu çalışma python 2 kullanılarak geliştirilmiştir.
Raspberry pi 2 4 çekirdekli ARMV7 cortex 900MHZ işlemci, 1GB RAM ve SD kart
yuvasına sahiptir.
Yapılan çalışmalar sonucunda elde edilen performansın dört müzik türünü ayırt
etmede iyi sonuç verdiği görülmektedir. Sadece görsel özellikler kısmının bile müzik
tür sınıflandırmasında kullanılabileceğini göstermiştir.
İlk bölümde müzik ve müzik türlerinden bahsedilmiş ve müzik türlerinin kendine özgü
özelliklerinin olduğundan bahsedilmiş ve gösterilmiştir.
İkinci bölümde de özellik detektörler ve görüntü tanımlayıcılardan bahsedilmiştir.
Sesin spektrogram görüntüsü üzerinden özellik detektörler yardımıyla anahtar
noktaların bulunup, bu anahtar noktalardan da görüntü tanımlayıcılar yardımıyla
özellik çıkarma işlemi uygulandığından bahsedilmiştir.
Müteakiben oluşturulan üçüncü bölümde, görüntü tanımlayıcılardan çıkan vektörlerin
benzerliklerine göre kümelenmesi ve bunların histogramının çıkarılmasıyla özellik
kümesinin elde edilmesinden bahsedilmiştir.
Dördüncü bölümde ise sesin akustik özelliklerinden olan Mel Frekans Kepstral
Katsayıların dan bahsedilmiştir.
Beşinci bölümde hem akustik özellikleri hem de görsel özellikleri sınıflandırma
işleminde kullanılan Destek Vektör Makinesi ve knn sınıflandırıcısına değinilmiştir.
Son olarak ise altıncı bölümde sistemin gerçeklenmesine değinilmiş ve elde edilen
sonuçlar gösterilmiştir.
xx
MUSICAL GENRE CLASSIFICATION APPLICATION USING BOTH
ACOUSTIC AND VISUAL FEATURES
SUMMARY
In this thesis, the application of musical genre classification has been improved by
using both visual and acoustical features of the voice. Four different types of music
were chosen as the most popular types of music.
SIFT and SURF image descriptors are used in the design of visual features. Mel
Frequency Cepstral Coefficients are used as the acoustic features. Support Vector
Machine and k-nn classifier are used also as classifiers.
With the development of technology, people are increasingly reliant on automatic
classification devices or software. With the development of the music market,
however, there is growing interest in the application of automatic musical genre
classification, and the use of such systems is increasing day by day. Therefore, it is
aimed to eliminate this necessity by developing the application of music genre
classification.
Music genres have certain characteristics in themselves. Each unique acoustic feature
is distinguished from the other genres. To classify genres, people first need to know
these genres. They need to listen many songs about that genre to learn it. So, they can
classify them.
Digitally, it is in same manner. We should train classifiers with using many songs for
each genres. Then, the classifier can learn the genres and classify the test songs easily.
It is not possible to classify all songs hundred percent. Because, some songs can
contain not just one genre’s features. They can have many genres’ features. So, when
classifiying, the classifier can give different results.
Acoustic features of sound consist of 3 main classes. These are Timbral features,
Rythmic features and Tune features. Because of combining visual features, only the
MFCC property belonging to the class of the timbral features was used here. MFCC is
the most used and most effective feature in sound processing. Especially in
applications such as voice recognition and speaker recognition, confusion arises. It has
been also used in the Music Genre Classification applications up to now. The MFCC
Works in a similar way to the perception of the human ear. According to the
experiments performed, the human ear perceives the sound linearly in the first 1000Hz
and logarithmically in the frequencies more than 1000Hz. Inspired by this, MFCC
features have been obtained.
In the visual feature extraction part, first the spectrogram is obtained from the music
files. Then, image processing techniques are applied to this spectrogram image to
obtain visual features. One of the image descriptors used in visual features is SIFT.
Image descriptors allow you to extract properties that belong to an image. The SIFT
image descriptor works independently of both the image rotation and the scale when
xxi
extracting features from the image. In other words, any change that may ocur in image
rotation or scale does not affect the performance of the SIFT image descriptor in any
way. The SURF algorithm is also used as another image descriptor. SURF is the
accelerated version of the SIFT algorithm. Therefore, SURF works independently of
both image rotation and scale.
After the image descriptors are obtained, the bag of feature histogram is created using
the vectors that come out of these descriptors. The bag of feature method used in image
classification especially in recent years. The vectors obtained from the image
descriptors are classified according to their similarity using the k-means method and
their histograms are taken. These histograms are then used in classifier training stage.
Support Vector Machine and k-nn classifier are used as classifier. The application of
k-nn classifier is a sort of classification that is simple. This classifier differs from the
other classifiers in that it does not need the training phase. Training data is used directly
by this classifier during classification. The support vector machine is a supervised
learning type of classifiers. It is the most used method as classifier in image and sound
processing field. This classifier performs the classification process by finding the best
hyperplane to distinguish the different classes frorm each other.
The basic element used in the system realization is Raspberry pi 2 produced by
Raspberry pi foundation. Raspberry pi is a card with Linux Raspbian operating system.
So we can think of it as a computer with Linux installed. Therefore, it is possible to
develop software by installing any computer software program(c, c++, python…). This
work has been developed using python 2. Raspberry pi 2 has a 4-core ARMV7 Cortex
900MHZ processor, 1GB of RAM and an SD card slot.
The conducted work has shown that the algorithm can classify four different genres
successfully even with using only visual features. When used just visual features, the
algorithm can classify Metal, Pop and Classic musics succesfully. However, Jaz music
classification performance is lower than other types with using visual features.
The acoustic features show that the classification performance of all 4 types are similar
to each other. Without considering Jaz music performance, the visual features are more
succesfull than acoustic feautres. For the Jaz music, acoustic features are more
succesful than visual features.
In the first chapter, music and music genres and their features with distinctive
properties are discussed and obtaining spectrogram is mentioned.
In the second chapter, feature detectors and image descriptor are mentioned. Key
points are found by feature detectors on the spectrogram and features are detected by
image descriptors. SIFT(Scale-Invariant Feature Transform) and SURF(Speeded-Up
Robust Features) image descriptors are mentioned.
In the third section, the vectors obtained by the image descriptors are group based on
their similarities and the histogram is obtained based on that group. The bag of features
are obtained by using histogram.
In the fourth section, acoustic properties of the sound and Mel Frequency Cepstral
Coeficient are mentioned. Four diffrent number of MFCC coefficients are used. 9, 11,
13 and 15 MFCC coefficients are used and their performance are compared in the
conclusion part.
In the fifth section, Support Vector Machine and knn are mentioned, which are used
to classify both visual and sound features. Both linear and nonlinear SVM classifying
xxii
algorithm discussed in that section. Also, selecting the appropriate ‘k’ value is
mentioned.
In the sixth section, implementation of the system and results are shown.
xxiii
xxiv
1. GİRİŞ
Dijital müzik piyasasının son yıllarda gelişmesiyle müziğe yönelik uygulamalar her
geçen gün artmaktadır. Bu uygulamalar özellikle son yıllarda artan teknolojiyle
beraber tamamen insandan bağımsız olarak çalışabilecek şekilde tasarlanmakta ve
insan performansından çok daha iyi sonuçlar elde edilmektedir. Müzik tür
sınıflandırması da son yıllarda birçok bilim adamının ilgi odağı olmuştur. Özellikle
müzik severlerin bu işleri otomatik olarak kendi yerlerine yapan yazılımlara ilgisinin
artması bilim adamlarının da bu alana olan ilgisini daha fazla artırmaktadır.
Müzik tür sınıflandırmasıyla ilgili bilinen eski çalışmalardan biri 2002 yılında
Tzanetakis ve arkadaşları tarafından yapılmıştır. Tzanetakis ve arkadaşlarının 2002
yılında yapmış olduğu bu çalışmada müzik tür sınıflandırmasında insan performansı
üzerine yapılan bir çalışmadan da bahsedilmiştir. Bu çalışmada on faklı müzik türünün
insanlar tarafından sınıflandırılması istenmiştir. Bir gurup insana bu on farklı müzik
türünden şarkıların 250ms’lik kısmı dinlettirildiğinde bu insanların bu şarkıları doğru
bilme oranının %53 olduğu gözlemlenmiştir. 3s dinlettirildiğinde ise bu oranın %70
olduğu ve 3s’den fazla dinlettirildiğinde bu oranın değişmediği yine %70 olduğu
gözlemlenmiştir. Tzanetakis ve arkadaşlarının çalışması da bu on farklı müzik türünü
%61 oranında bir başarıyla sınıflandırmıştır. Yani yapılan bu eski(2002) çalışmada
bile insan performansına yaklaşılmıştır. Daha sonra yapılan çalışmalar da bu elde
edilmiş insan performansından(%70) çok daha yüksek sonuçlar alınmıştır.
1
gösterildiğinde sistem daha önce kendisinin öğrenmiş olduğu türler ile bir kıyaslama
yapar ve bir sonuca varır. Baştaki eğitim aşamasında müzik sayısı ne kadar fazla olursa
elde edilen performans da o kadar iyi olur.
İlk yıllarda yapılan çalışmalarda müziğin sadece akustik özellikleri kullanılmıştır. Son
yıllarda ise müziğin akustik özelliklerinin yanında görsel özellikleri de kullanılmaya
başlanmış ve elde edilen performansın arttığı gözlemlenmiştir. Bu görsel özelliklerin
kullanılması sadece müzik tür sınıflandırmasında değil ses işleme alanında da son
yıllarda kullanılmaya başlanmıştır. Özellikle ses tanıma ya da konuşmacı tanıma gibi
uygulamalarda karşımıza çıkmaktadır. Sesin görsel özellikleri spektrogramının
çıkarılıp görsel olarak işlenmesiyle elde edilmektedir. Bu görsel özelliklerin
performansta yapmış olduğu dikkate değer artıştan dolayı son yıllarda araştırmaların
bu alana yönelmesi sağlanmıştır.
Bu çalışmada dört farklı müzik türünü ayırt edebilen bir sistem gerçeklenmesi
amaçlanmıştır. Kullanıcı müzik türü bilinmeyen bir parçanın bu dört müzik türünden
birine ait olup olmadığını belirleyebilir. Bu müzik türlerinin sınıflandırılmasında sesin
hem akustik hem de görsel özellikleri kullanılmıştır. Görsel özellikler sese ait
spektrogramın çıkarılıp işlenmesiyle elde edilmiştir. Sesin sadece görsel özellikleri
kullanılarakda sınıflandırılabileceği gösterilmiştir. Bu çalışmayla ses işleme alanında
karşılaşılabilecek kısıtlamalarda sesin görsel özelliklerine de başvurulabileceği
gösterilmiştir.
Müzik farklı çalgı aletleriyle insan sesinin karışımından oluşan belirli bir duyguyu
içeren ve dinlenildiğinde kulağa hoş gelen bir sanat dalıdır. Yaşanılan ortama, kültüre
ya da duygusal yoğunluğa göre insanlar farklı müzik türlerinden hoşlanabilirler. Her
müzik türü kendine özgü bir ritme sahiptir. İnsanlar da içinde bulundukları duygu
durumuna göre bu müzik türlerini seçip dinlemektedir. İşte bu farklılıklar farklı müzik
türlerinin ortaya çıkmasını sağlamıştır. Ortak bir müzik ritmine, duyguya sahip olan
şarkılar aynı müzik türüne ait olarak nitelendirilmektedir. Müzik türlere ayrılırken
kültürel ve sosyal faktörler kadar kullanılan seslerin akustik özellikleri de etkili
olmuştur. Bir müzik türü için ezgi oluşturulurken notalar sistemsel bir şekilde dizilir
2
ve kulağa hoş gelecek bir ses topluluğu oluşur. Bu sistemsel dizileri çok bilinen
matematiksel dizilere benzetebiliriz. Bu türlerin farklı dizilimiyle de türler oluşur ve
türlerin sınıflandırmasında yardımcı olur. Modüler aritmatiğin çok güzel
örneklerinden oluşan ezgiler toplumdan topluma değişkenlik gösterir.
Dijital olarak bu müzik türlerini iyi bir performansla ayırt etmek de mümkündür.
Aşağıda dört farklı müzik türünün üç farklı şarkı için spektrogramları gösterilmiştir.
Bunlara bakılacak olunursa her bir müzik türünün kendine ait olan spektrogramlarının
birbirine benzer olduğu görülmektedir.
3
Şekil 1.2: Jaz Müzik Spektrogramları.
Spektrogram bir sinyalin zaman içindeki frekans değişimini görsel olarak göstermenin
bir yoludur. Spektrogramlar sinyalin farklı frekanslardaki ses yüksekliğini görsel
olarak renklerle temsil eder. Temelde iki boyutlu grafiklerdir, üçüncü boyut renklerle
temsil edilir.
Ses sinyali birbiriyle örtüşecek şekilde bir pencere yardımıyla küçük bölümlere ayrılır
ve bu ayrılan her bölüm için Ayrık Fourier Dönüşümü hesaplanır. Daha sonra elde
edilen bu katsayılar sütunlar zamanı satırlar frekansı temsil edecek şekilde ayrı bir
4
matris ile temsil edilir. Burada her bir katsayının büyüklüğü hesaplanarak yeni bir
matris elde edilir ve bu matris de bize spektrogram görüntüyü verir.
N
S i (k ) si (n)h(n)e j 2 kn / N ,1 k K (1.1)
n 1
İle hesaplanır.
5
6
2. ÖZELLİK DETEKTÖRLER VE GÖRÜNTÜ TANIMLAYICILAR
Görüntü tanımlayıcılar ise görüntüye ait olan özelliklerin çıkarılmasını sağlar. Bir
görüntüyü başka bir görüntüden ayıracak o görüntüye ait özellik vektörünü oluşturur.
Görüntü tanımlayıcılar görüntü üzerinde bazı işlemler yaparak bu görüntüye ait
özellikleri çıkarır. Bu işlemler her özellik tanımlayıcıda kendine özgü yöntemlerle
yapılır. SIFT(scale invariant feature transform) ve SURF(speeded-up robust features)
sık kullanılan özellik detektörlerin ve görüntü tanımlayıcıların başında gelmektedir.
7
Şekil 2.1: Köşe noktalarına bakış açısı.[2]
Büyük köşe noktalarını küçük bir pencere kullanarak bu yerin köşe noktası olduğunun
tespitinin zor olduğu yukarıda da bahsedilmişti. Yani aynı boyutta bir pencere
kullanarak farklı ölçeklerdeki anahtar bölgeleri bulmak mümkün değildir. Dolayısıyla
farklı ölçeklerde pencereler seçip bu pencereler yardımıyla anahtar noktaları bulmamız
gerekir. Bunun içinde Gauss fark(Difference of Gaussian) metodu kullanılır.
2I 2I
L ( x, y ) (2.1)
x 2 y 2
0 1 0
1 -4 1 (2.2)
0 1 0
8
2 f 2 f
f 2 2
2
x y
2 f
f ( x 1, y ) f ( x 1, y ) 2 f ( x, y )
x 2
2 f
f ( x, y 1) f ( x, y 1) 2 f ( x, y )
y 2
2 f f ( x 1, y) f ( x 1, y) f ( x, y 1) f ( x, y 1) 4 f ( x, y)
Elde edilir.
a b c
g ( x, y) f ( x, y) 2 f 5 f ( x, y) f ( x 1, y) f ( x 1, y) f ( x, y 1) f ( x, y 1) (2.3)
0 -1 0
-1 5 -1 (2.4)
0 -1 0
9
Laplacian uygulanmış bir görüntü gürültüye karşı hassaslaşır. Nedeni de bu kernellerin
ikinci dereceden kısmi türevi gerçeklemesidir. Bunu önlemek için Laplacian filtreyi
uygulamadan önce görüntüye Gaussian düzleştirme metodu uygulanır. Gaussian
düzleştirme metodu görüntüyü bulanıklaştırarak gürültüden temizler.
x2 y 2
1
G ( x, y ) e 2 2
(2.5)
2 2
x2 y 2
1 x2 y 2
LoG( x, y ) 1 2 2 e
2 2
4
(2.6)
SIFT algoritmasında LoG yerine, bir LoG yaklaşımı olan Gaussian Fark(Difference of
Gaussian(DoG)) metodu kullanılmıştır. Bu metot da öncelikle bir görüntünün iki farklı
σ değeri için Gaussainı hesaplanıp birbirinden çıkarılır. Bu işlem Gaussian
piramidindeki farklı oktav değerleri için yapılır.
Gaussian piramidi:
10
Şekil 2.4: Gaussian Piramidi [6]
DoG elde edildikten sonra her bir DoG üzerinde bölgesel ekstrem noktları tespit edilir.
Her bir piksel komşu 8 piksel ile ve kendinden önceki ve sonraki ölçeklerindeki
piksellerle(9 piksel kendinden önceki ölçek ve 9 piksel kendinden sonraki ölçek olmak
üzere toplamda 18 piksel) kıyaslanır. Bu kıyaslamadaki maksimum ve minimum
değerler anahtar noktalar olarak belirlenir ve seçilir.
11
2.1.2 Anahtar nokta konumlandırma
Anahtar noktalar belirlenip seçildikten sonra daha iyi sonuç alabilmek için bu anahtar
noktalar tekrar gözden geçirilir. Bu işlem sırasında bazı noktaların düşük kontrasta
sahip olduğu için doğru anahtar nokta olmadığı tespit edilir.
D T 1 T 2 D T
D( x ) D
x x x (2.7)
x 2 x 2
Düşük kontrast değerlerine sahip olan noktalar anahtar nokta olmaktan çıkarılır. Yani
D(x) değerinin 0.03’den küçük olduğu değerler kötü kontrasta sahip noktalar olarak
belirlenir ve anahtar nokta olmaktan çıkarılır.
SIFT algoritmasında daha önce de değinildiği gibi DoG metodu kullanılır. Bu metot
da görüntünün kenarlarına yüksek yanıt verdiğinden, bu yüksek değere sahip olan
kenarlar anahtar nokta olmaktan çıkarılır. Bu kenar çıkarma işlemi için de 2x2 Hessian
matrisi kullanılır. Hessian matris[8]:
2 f 2 f
x 2 xy
Hf ( x, y ) (2.8)
2 f 2 f
[ yx y 2 ]
12
2.1.3 Yönelim atama
Görüntü rotasyonundan bağımsız çalışılabilmesi için her anahtar nokta için yönelim
ataması yapılır. Daha önceki adımda elde edilmiş görüntü(I) kullanılarak gradyen
genliği(m) hesaplanır[8].
Yönelim ϴ ise[8] ;
Her bir anahtar noktanın etrafında 16x16 boyutlarında bir komşuluk seçilir. Bu seçilen
16x16 boyutlarındaki komşuluk 4x4 boyutlarında 16 alt bloğa bölünür ve bu her bir
alt blok için 8’lik yönelim histogramı çıkarılır(Toplamda 128 yönelim değeri). Bu 128
değer de vektör olarak her bir anahtar nokta tanımlayıcısını temsil eder.
13
Şekil 2.9: Anahtar nokta tanımlama. [9]
Burada bir görüntü ile diğer görüntüdeki benzerliği bulmak için anahtar noktaları
eşleştirmek amaçlanır. İlk görüntüdeki bir anahtar nokta ile diğer görüntüdeki tüm
anahtar noktalar kıyaslanır. Bu kıyaslama işlemi uzaklık kavramı ile yapılır.
Dolayısıyla ilk görüntüdeki bu seçilen anahtar nokta ile diğer görüntüdeki anahtar
noktalar kıyaslandıktan sonra ikinci görüntüdeki en küçük değeri veren yani en yakın
olan anahtar nokta ile eşleştirilir.
Fakat bazen bu işlem en doğru sonucu vermeyebilir. İkinci en yakın eşleşme birinci en
yakın eşleşmeden daha yakın olabilir. Bunu önlemek için en yakın olan ile ikinci en
yakın olanın oranı alınır. Eğer bu oran 0.8’den büyükse bu eşleşme elenir. Bu şekilde
yaklaşık %90 yanlış eşleşme önlenmiş olur.
14
2.2 SURF(Speeded-Up Robust Features) Görüntü Tanımlayıcısı
SIFT ‘de ölçek uzay bulma işleminde LoG’a DoG metodu kullanılarak yaklaşılmıştır.
SURF’de ise kutu filtresi(Box Filter) kullanılarak bu işlem gerçekleştirilmiştir.
Aşağıdaki şekil SURF’de kullanılan kutu filtresi yaklaşımını göstermektedir.
Kutu filtresi yaklaşımının en büyük avantajlarından bir tanesi kutu filtresi ile
konvolüsyon işleminin integral görüntü yardımıyla kolaylıkla
hesaplanabilmesidir.
Bir resmin her bir pikselinin bir kutudaki ortalama değer ile değiştirilmesidir. Bu kutu
filtresi kullanarak Gauss Fark metoduna yaklaşılma işlemi gerçekleştirilir.
15
Şekil 2.12: Örnek Kutu Filtresi
Şekil 2.11’de verilen kutu filtresi integral görüntüyle konvolüsyona sokularak Gauss
Fark metoduna yaklaşılır. İntegral görüntü birçok işlemin daha kısa adımda
yapılmasını sağlar. Dolayısıyla eldeki görüntülerimiz önce integral görüntüye
dönüştürülür. İntegral görüntüye dönüştürme işlemi yatay ve dikey olarak kendinden
önceki pikseller toplanarak elde edilir.
Şekil 2.15: Orijinal görüntüde belli bir kısımda averaj alma işlemi [11]
37 / 9 = 4.11
Şekil 2.16: İntegral görüntüde belli bir kısımda averaj alma işlemi [11]
37 / 9 = 4.11
(2.11)
X=(x,y)
17
olarak temsil edilir. Anahtar nokta etrafında her π/3’lük bölümde dominant yanıt
bulunur.
Özellik tanımlama işlemi için de SURF yine yatay ve dikey yönde dalgacık(wavelet)
yanıtını kullanır. Anahtar nokta etrafında 20sX20s (s: boyut) boyutunda bir komşuluk
alınır.
Daha sonra bu 4x4 alt bölgelere ayrılır ve her alt bölge için yatay ve dikey yönde
dalgacık yanıtı alınır ve aşağıdaki gibi bir vektör oluşturulur [12].
18
SURF görüntü tanımlayıcısı aynı zamanda 128 boyuta ulaştırılarak da
kullanılmaktadır. Buna şu şekilde ulaşılır: dx ve |dx| toplamları dy<0 ve dy≥0 için ayrı
ayrı hesaplanır. Benzer şekilde dy ve |dy| toplamları da dx<0 ve dx≥0 için ayrı ayrı
hesaplandığında sahip olunan özellik sayısı iki katına çıkar ve toplamda 64x2=128
boyutlu SURF özellik elde edilir.
19
20
3. ÖZELLİK KÜMESİ (BAG of FEATURES)
Özellik kümesi görüntü sınıflandırmada kullanılan etkin bir yöntemdir. Bir görüntüyü
o görüntüye ait özelliklerin histogramıyla temsil ederek sınıflandırma işlemini yapar.
Histogram elde edilirken görüntüdeki özelliklerin sırası önemli değildir. Örneğin,
yarısı siyah yarısı beyaz bir görüntü ile beyaz ve siyah renkler ile değişen bir satranç
tahtasının histogramı aynıdır. Çünkü her iki resimde de aynı sayıda siyah ve beyaz
piksel vardır. Bu yöntem “kelime kümesi” yöntemi temel alınarak geliştirilmiştir.
Kelime kümesi bir sözlükte ya da dökümandaki kelimelerin sıklığı çıkarılarak elde
edilir. Burada yukarıda bahsedildiği gibi kelimelerin sırası önemli değildir.
Kelimelerin nerede gerçekleştiği değil sayısı histogramda temsil edilir.
Görüntü üzerinden özellik kümesi elde etme işlemi de benzer şekilde yapılır.
21
Şekil 3.2: Özellik kümesi adımları. [13]
İlk olarak görüntü üzerinden anahtar nokta çıkarma işlemi yapılır. Bu işlem özellik
detektörler kullanılarak yapılır. En sık kullanılan özellik detektörler SIFT, Harris ve
Dense’ dir. SIFT özellik detektörüne yukarıda değinilmişti. Bu özellik detektörü
kullanılmak istenmezse görüntüdeki her belirli bir sayıdaki pikselden biri anahtar
nokta olarak kabul edilir. Dense özellik detektörü bu şekilde çalışır. Yani görüntüdeki
her 5 pikselden ya da 10 pikselden birini anahtar nokta olarak kabul eder.
22
Şekil 3.4: Özellik detektörü dense anahtar nokta seçimi. [13]
2. Adım:
23
Buradaki her bir nokta görüntü üzerindeki anahtar noktaların özellik tanımlayıcılarla
hesabını temsil eder. Bu noktalar benzerliklerine göre k-means algoritmasına göre
kümelenir ve her bir küme görsel kelime haznesi(visual vocabulary) olarak
adlandırılır.
Yukarıdaki şekilde görülen her farklı renkteki bir top kelime haznesi olarak
nitelendirilir. Kümeleme işlemi ise k-means yöntemiyle yapılır. Kümeleme
yapıldıktan sonra görüntülerden elde edilen bu kelimelerin histogramı çıkarılır ve
özellik kümesi histogramı elde edilir.
24
3.1 K-means Kümeleme
Vektörler benzerliklerine göre daha önceden seçilmiş k sayısına göre kümelenir. Sabit
bir k sayısı yoktur. Uygulamadan uygulamaya bu değerin performansı değişmektedir.
Bazı uygulamalarda küçük k sayısı iyi performans gösterebilirken bazı uygulamalarda
iyi performans elde edebilmek için k sayısını artırmamız gerekir. K-means
kümelemede yakınlık kavramı için Öklid mesafe ölçüm formülü[13] kullanılır.
k
d (x
i 1
i yi ) 2 (3.1)
Şeklide siyah noktalar görüntü üzerinden elde edilmiş vektörleri temsil etmektedir. K-
means algoritmasına bakıldığında, bu siyah noktalar içinde 3 tane rastgele nokta
seçilsin(Şekilde sarı noktalar). Bu üç nokta ile diğer bütün noktalar arasındaki uzaklık
Öklid mesafe ölçümüyle hesaplanır ve bu üç noktaya en yakın olan noktalar o noktayla
beraber bir sınıf oluşturur ve bu üç sınıfı birbirinden ayırt edebilecek bölge belirlenir(1
numaralı kısım). Daha sonra her bir sınıfa ait olan noktaların ortalaması(mean) alınır
ve her bir sınıfa ait yeni bir nokta olmak üzere toplamda 3 adet yeni nokta
seçilir(turuncu noktalar). Tekrardan bu noktalar ile diğer bütün siyah noktalar
kıyaslanır ve bu yeni noktalara en yakın noktalar bu yeni noktayla beraber bir sınıf
oluşturur ve bu yeni belirlenen sınıflar birbirinden farklı olacak şekilde bölgelere
25
ayrılır(2 numaralı kısım). Şekilden de görüleceği üzere her işlemde ortalama alınıyor
ve bulunan bu ilk kümelerin ortalaması değişiyor. Bu işlem kümelerin ortalaması
değişmeyene kadar gerçekleştirilir ve son durumda kümeleme işlemi gerçekleşmiş
olur.
k sayısı kadar her bir kümenin merkezi olacak şekilde nokta seç
Kümelerin merkezi değişmeyene kadar
o Her bir noktayı bu merkez noktalarla kıyasla ve en yakın
olanları bu merkez noktaya ata.
o Seçilen yeni kümenin tekrar merkez noktasını bul ve bunu eski
merkez noktaların yerine yerleştir.
26
4. AKUSTİK ÖZELLİKLER
Ses işleme yapılırken genellikle ses sinyali birbiriyle örtüşen küçük pencerelere(short
term /short time) ayrılarak her bir pencere için özellik çıkarma işlemi yapılır. Bunun
nedeni sesin belirli periyodlarda istatistiksel olarak sabit olmamasıdır. Örneğin, iki
insan normal bir ses tonuyla kendi arasında konuşuyor olsun bu konuşma sırasında
üçüncü bir insan ani bir ses tonuyla bağırarak konuşmaya dâhil olduğu düşünülürse bu
üçüncü kişinin ses tonu diğer konuşmadan çok farklı şiddette bir ses özelliğine sahip
olacaktır. Dolayısıyla sesi bütün bir şekilde değerlendirmek yerine birbiriyle örtüşecek
şekilde küçük pencerelere ayırıp her bir kısmı ayrı ayrı değerlendirmek daha sağlıklı
olacaktır.
Sesi küçük pencerelere ayırıp özellik çıkardıktan sonra, bu seçilen pencereden daha
büyük boyutta olacak şekilde orta boyutta pencere(mid-term windowing / texture
window) kullanılarak daha önce hesaplanmış özelliklerin istatistiği çıkarılır.
27
Yukarıdaki şekillere bakılacak olursa sesin önce birbiriyle örtüşen 23ms boyutlarında
özellikleri çıkarılır. Daha sonra 1s boyutlarında bir pencere seçilerek bu çıkarılan
özelliklerin istatistiksel değerleri hesaplanır.
Daha önce de değinildiği gibi ses sinyali istatistiksel olarak sabit olmadığı için bu ses
sinyali birbiriyle örtüşen küçük pencerelere bölünerek özellik çıkarma işlemi yapılır.
Bu pencereler yaklaşık olarak 20-40ms arasında değişmektedir.
Bir sonraki adım ise her bir pencerenin güç spektrogramının hesaplanmasıdır. Bunun
nedeni insan kulağındaki koklea denen bir organa benzer mantıkta çalıştırma isteğidir
bu algoritmayı. Koklea gelen seslerin frekansına bağlı olarak farklı seslerde titreşen
bir organdır. Kokleanın titreştiği yere bağlı olarak farklı sinirler beyne belirli
frekansların bulunduğunu bildirir. Periyodogram tahmini de benzer şekilde bu küçük
pencerede hangi frekansların bulunduğunu söyler.
Periyodogram tahmininde elde edilen değerler her zaman işimize yarayan frekans
değerleri değildir. Özellikle yüksek frekanslarda bu bulunan gereksiz frekans sayısı
artar. Benzer şekilde koklea’da birbirine yakın iki frekans değerini ayırt edemez.
Dolayısıyla her frekans bölgesinde ne kadar enerjinin olduğuna bakılır. Bu işlem de
28
Mel Filterbank kullanılarak yapılır. İlk filtre çok dar seçilir ve 0 Hertz’in yakınlarında
ne kadar enerjinin bulunduğunu gösterir. Frekans arttıkça daha geniş filtreler
kullanılır. Kısaca her noktada ne kadar enerji olduğuna bakılır. Mel ölçeği bize bunları
nasıl genişleteceğimizi söyler.
Mel ölçeği algılanmış frekansı onun gerçek değerindeki ölçülmüş frekans değerine
çevirir. Mel ölçeği insan kulağıyla ilgili yapılan deneylerden esinlenerek
geliştirilmiştir. Yapılan deneylere göre insan kulağı küçük frekanslarda yapılan
değişiklikleri kavraması yüksek frekanslarda meydana gelen değişiklikleri
kavramasına göre daha kolaydır. Mel ölçeği de 0-1000Hz arasında lineer olarak
değişmekte, 1000Hz ‘den yüksek frekanslarda da logaritmik olarak değişmektedir.
1-) 25ms boyutlarında pencerelere ayrılsın ses sinyali. Dolayısıyla pencere uzunluğu
25m*16k=400 örnek yapar. Yani her bir pencerede bu sese ait 400 örnek elde edilir.
Adım uzunluğu da 10ms olduğu farzedilirse(adım uzunluğunun seçilen pencere
boyutundan küçük olması gerekir) 25ms olan pencereler birbiriyle örtüşür. İlk 400
örnekli pencere 0. Örnekten başlar, ikinci 400 örnekli pencerede 160. Örnekten başlar.
Çünkü adım uzunluğuna 10ms denmişti. Bu da 10m*16k=160 örnek yapar. Ses
sinyalinin sonuna kadar bu şekilde pencereleme yapılmaya devam edilir.
Daha sonra her pencere için 13 MFCC katsayısı elde edilir. Zaman bölgesinde ses
sinyalimizi s(n) ile temsil edilsin. Ses sinyali pencerelendikten sonra ise bu sinyal si(n)
olarak adlandırılırsa burada n, 1 ile 400 arasında değişmektedir, i ise pencere sayısını
göstermektedir.
N
S i (k ) si (n)h(n)e j 2 kn / N ,1 k K (4.3)
n 1
1
Pi (k ) | S i (k ) | 2 (4.4)
N
İle hesaplanır.
Buradan 512 tane FFT(Fast Fourier Transform) noktası elde edilir fakat sadece ilk 257
katsayı kullanılır.
3-) 2. Adımda elde edilmiş değerler için 26 adet üçgen filtre oluşturulur. Filterbanklar
26 adet olup her biri 257 uzunluğunda bir vektör temsil eder(2. Adımda elde edilmiş
FFT katsayıları). Her bir filterbank güç spektrumyla çarpılır ve çıkan katsayılar
30
toplanarak filterbank enerjileri hesaplanır. Bu elde edilen 26 katsayı bize her bir
filterbankının ne kadar enerji bulundurduğunu gösterir.
M ( f ) 1125 ln(1 f )
700
300Hz için:
8000Hz için:
Olarak bulunur.
10 filterbank için elde edilmek istenen 12 değer bulunan bu iki değer arasında olacak
şekilde doğrusal olarak dağıtılır. Bulunan değerler:
31
m(i)= 401.25, 622.50, 843.75, 1065, 1286.25, 1507.50, 1728.74, 1949.99, 2171.24,
2392.49, 2613.74, 2834.99
Daha sonra aşağıdaki denklem kullanılarak bulunan bu Mel değerleri tekrar frekans
değerlerine çevrilir.
nfft=512 ve fs=16000
f(i)=9, 16, 25, 35, 47, 63, 81, 104, 132, 165, 206, 256
Olarak bulunur.
0, k f (m 1)
k f (m 1)
, f (m 1) k f (m)
f (m) f (m 1)
H m (k )
f (m 1) k , f (m) k f (m 1) (4.6)
f (m 1) f (m)
0, k f (m 1)
Burada;
M= Filtre sayısı
32
f()= M+2 mel uzay frekans listesi
10 filterli Mel filterbank örnek şeması aşağıda gösterilmiştir. Burada frekans değeri
0’dan başlamakta ve 8000Hz değerinde son bulmaktadır. (Fakat bizim yukarıda vermiş
olduğumuz örnekte başlangıç frekans değeri 300Hz ‘den başlamakta, 8000Hz’de
bitmektedir.)
5-) 4. Adımda elde edilmiş olan log filterbank enerjilerinin ayrık cosine
dönüşümü(DCT) alınır ve 26 katsayı elde edilir. Bu 26 adet değerden de ilk 13 tanesi
MFCC katsayısı olarak seçilir. Literatüre bakıldığında genelde 13 katsayı
kullanıldığında en iyi sonuç alındığı görülmüştür. Biz bu çalışmada 9, 11, 13 ve 15
olmak üzere 4 farklı katsayı için sonuçlar elde edildi ve bu sonuçlar birbirleriyle
kıyaslandı.
33
34
5. SINIFLANDIRICILAR
Makine öğrenmesinde yapay zekânın amacı bir nesnenin(görüntü, ses…) sahip olduğu
karakteristiği kullanarak hangi sınıfa ait olduğunu belirlemektir. [Wikipedia]. Her
nesneyi içinde bulundurduğu ve kendisini farklı olanlardan ayırt eden karakteristik
özelliklere göre gruplandırmaktır. Her sınıflandırıcı kendi içinde matematiksel olarak
belirli kurallara göre sınıflandırma yapar.
Yukarıdaki şekilde iki sınıf olduğunu görüyoruz(yeşil ve mavi renkli toplar). Burdaki
amaç bu iki sınıfı birbirinden en iyi şekilde ayırabilmek. Yani bu iki sınıfı birbirinden
ayıracak en uygun doğruyu bulabilmek. Dolayısıyla bu doğrunun denklemi bulunur.
35
Şekil 5.2: Doğrunun denklemi ve sınıfların elde edilmesi. [13]
Bu iki sınıfı birbirinden ayırt edecek doğrunun denklemini elde ettikten sonra
doğrunun sol tarafı yani kırmızı topların bulunduğu taraf wT x b 0 eşitliğini
sağladığı yer, doğrunun sağ tarafı yani mavi topların bulunduğu taraf ise wT x b 0
eşitliğini sağladığı yerdir. Dolayısıyla eğer test setindeki bir veriyi bu denkleme
koyduğumuzda sonuç pozitifse kırmızılara, negatifse mavilere ait olduğu söylenir.
İki sınıfı birbirinden ayırt edebilecek çok sayıda doğru bulunabilir. Burada önemli olan
bir diğer husus da, bu iki sınıfı birbirinden ayırt edecek en uygun doğruyu bulabilmek.
Şekil 5.3: Destek vektör makinesinde çok sayıda doğrunun iki sınıfı
ayırabilmesi. [13]
Burada doğruya en yakın olan noktalar destek vektörler olarak adlandırılır(1 kırmızı
ve 2 mavi) ve bu destek vektörleri artık bizim için önem teşkil eder. Bu destek
36
vektörlerine göre bir doğru bulunur. Bu doğrunun seçilmesinde marjin önemli bir
özelliktir. Destek vektörlerin doğruya olan uzaklığı marjini verir. Marjin en fazla
olacak şekilde doğru seçilir. Marjinin büyük olması algoritmanın test örneklerinde
daha az hata vermesini sağlar. Marjin;
wT x b
r (5.1)
|| w ||
Buraya kadar olan bölümde Destek Vektör Makinesi ile doğrusal olarak ayırt
edilebilen örnekler ele alındı. Fakat her zaman elimizdeki veri kümesini doğrusal
olarak ayırt etmek mümkün olmayabilir. Yani doğrusal olmayan veri kümesine sahip
olabiliriz. Doğrusal olmayan bir veri olduğunda DVM’nin bir doğruyla bu veriyi ayırt
edebilmesi mümkün olmamaktadır. Dolayısılya DVM’si doğrusal olmayan örnekler
için bir Kernel fonksiyonu kullanır. Kernel fonksiyonu doğrusal olarak ayırt
edilemeyen bir sistemi boyut arttırarak doğrusal olarak ayırt edilmesini sağlar. Kernel
fonksiyonu matematiksel olarak K ( xi , x j ) ( xi ). ( x j ) formülüyle ifade edilir.
Yukarıdaki örneğe bakıldığında, ilk başta iki boyutlu doğrusal olmayan bir
sistemimizin olduğu görülmektedir. Kernel fonksiyonu kullanılarak bu doğrusal
olmayan iki boyutlu sistem, doğrusal şekilde ayırt edilebilinecek üç boyutlu sisteme
dönüşür. Destek Vektör Makinesinde kullanılan başlıca Kernel fonksiyonları aşağıda
görülmektedir.
37
Çizelge 5.1: Destek Vektör Makinesinde kullanılan başlıca Kernel fonksiyonları [16]
Kernel boyutu
K ( x, y ) e || x xi ||
Radyan-Tabanlı 2
Fonksiyon
Kerneli
k-NN sınıflandırıcısı basit bir sınıflandırıcı çeşidi olmasına rağmen iyi sonuç veren
sınıflandırıcılardan birisidir. Basit denmesinin nedeni bu sınıflandırıcının herhangi bir
eğitim aşamasına gerek duymamasıdır. Bu özellik bu sınıflandırıcıyı diğer
sınıflandırıcılardan ayırmaktadır. Eğitim aşamasına gerek olmadan bu eğitim verileri
sınıflandırıcı tarafından sınıflandırma işlemi sırasında direkt olarak kullanılır. Bir test
örneği verilmiş olsun, bu test örneğinin eğitim setindeki en yakın k sayıdaki komşusu
bulunur ve bunlardan her bir sınıfa ait olanların sayısı çıkarılır. Burada en fazla sayıda
komşuluğu olan sınıfa ait olduğu söylenir.
Aşağıdaki resme bakacak olursak elimizde a ve o olmak üzere 2 tane sınıf olduğu
görülür.
38
Şekil 5.6: İki farklı sınıf. [17]
c diye bir test verimiz olsun ve bu test verisinin yukarıdaki sınıflardan hangisine ait
olduğunu k-NN sınıflandırıcısı kullanılarak aşağıdaki gibi belirlenebilir.
Görüleceği üzere c’nin en yakın 3 komşusundan ikisi o’ya bir tanesi a’ya ait.
Dolayısyıla k=3 için sınıflandırma yaptığımızda c’nin o sınıfına ait olduğu görülür.
k
Öklid : d (x
i 1
i yi ) 2 (5.2)
k
Manhattan : d | xi y i | (5.3)
i 1
k
Minkowski : d ( (| xi y i |) q )1 / q (5.4)
i 1
K-NN algoritmasına genel olarak bakıldığında önce verilen test setiyle eğitimdeki
verilerin hepsi arasındaki uzaklık hesaplanır. Daha sonra bu uzaklıklar küçükten
büyüğe doğru sıralanır ve ilk k değerin hangi sınıfa ait olduğuna bakılır. K değeri
seçilirken k’nın verilen sınıf sayısının katı olmamasına dikkat edilir. Bu değer
uygulamadan uygulamaya farklılık gösterebilir. Büyük k değeri işlem karmaşıklığına
sebep olabilmetedir. Küçük k değeri ise sınıflandırıcının ezber(overfitting) yapmasına
yol açabilmektedir. Geçmişteki uygulamaların çoğuna bakıldığı zaman ise en iyi k
değerinin 3 ile 10 arasında değiştiği gözlemlenmektedir. Veri bilimcileri eğer iki sınıfı
sınıflandırmaya çalışıyorsa bu k değerini genelde tek sayı olarak seçmektedir. Veri
bilimcilerinin başvurduğu bir diğer metod ise n sınıf sayısı olmak üzere k n
seçmektir. Fakat birçok kişi tarafından en iyi metot her uygulama için k’ya birçok
değer vererek ve K katlamalı çapraz doğrulama(K Fold Cross Validation) metodu
kullanarak uygun k değerini bulmaktır.
Bu işlem her bir adımda test ve eğitim kümesi değiştirilerek K kez tekrarlanır. Her bir
tekrarlama işleminde seçilen test verisinin daha önce seçilmemiş olması gerekir.
Sınıflandırma başarısı ya da hatası bu K işlemin elde edilen başarısının ya da hatasının
40
ortalaması alınarak hesaplanır. Burada açıklanan her adım aşağıda gösterilen
formülle[19] hesaplanabilinir.
k
SF (t ,VK t )
i i
t i VK Olmak üzere Sonuç i 0
(5.5)
k
Burada;
K= Katlama sayısı
Şekil 5.10: K=5 için K katlamalı çapraz doğrulama eğitim ve test seti
ayrıştırması[20]
K-NN sınıflandırıcısının bir dezavantajı karmaşıklığıdır. Eğitim setinde çok fazla veri
olduğu zaman test verisinin her bir eğitim verisiyle uzaklığı hesaplanacağından dolayı
bunlar işlem karmaşıklığına sebep olabilmektedir.
41
42
6. SİSTEM GERÇEKLEME
43
Çizelge 6.1: Raspberry pi 2 Özellikleri [22]
Raspberry pi 2
Muhafazası MicroSD
Güç 1.8A 5V
GPIO 40 pin
44
kullanılarak sınıflandırma yapılmıştır. Daha sonra bu kullanılan özellikler
birleştirilerek sınıflandırma işlemi yapılmıştır.
İlk olarak sınıflandırıcı eğitiminde kullanılan eğitim verileri test edilmiştir. Eğitim
verilerinin testiyle ilgili her bir hata matrisi aşağıda gösterilmiştir. Bu matrisdeki her
bir müzik türü değerleri:
Metal müzik 1
Pop müzik 2
Klasik müzik 3
Jaz müzik 4
0,97 0,022 0 0
0,033 0,866 0,1 0
(6.1)
0,055 0,011 0,933 0
0,1 0,011 0,7 0,188
0,988 0 0,011 0
0,022 0,955 0 0,022
(6.2)
0,055 0,033 0,877 0,033
0,066 0,044 0,255 0,633
Test verisi üzerinde SIFT görüntü tanımlayıcısı kullanılarak elde edilen sonuçlar
aşağıdaki çizelge de gösterilmiştir.
45
Çizelge 6.2: Test verisi üzerinde SIFT görüntü tanımlayıcısı kullanılarak elde edilen
sonuçlar.
DVM Knn
Test verisi üzerinde SURF görüntü tanımlayıcısı kullanılarak elde edilen sonuçlar
aşağıdaki çizelge de gösterilmiştir.
46
Çizelge 6.3: Test verisi üzerinde SURF görüntü tanımlayıcısı kullanılarak elde edilen
sonuçlar.
DVM knn
0,988 0,01 0 0
0,011 0,988 0 0
(6.8)
0,022 0,033 0,933 0,011
0,022 0,044 0,166 0,766
Test verisi üzerinde bütün görüntü tanımlayıcıları kullanılarak elde edilen sonuçlar
aşağıdaki çizelge de gösterilmiştir.
47
Çizelge 6.4: Test verisi üzerinde bütün görüntü tanımlayıcıları kullanılarak elde edilen
sonuçlar.
DVM Knn
Test verisi üzerinde 9 katsayıya sahip MFCC akustik özellikleri kullanılarak elde
edilen sonuçlar aşağıdaki çizelgede gösterilmiştir.
48
Çizelge 6.5: Test verisi üzerinde 9 katsayıya sahip MFCC kullanılarak elde edilen
sonuçlar.
DVM knn
Test verisi üzerinde 11 katsayıya sahip MFCC akustik özellikleri kullanılarak elde
edilen sonuçlar aşağıdaki çizelgede gösterilmiştir.
Çizelge 6.6: Test verisi üzerinde 11 katsayıya sahip MFCC kullanılarak elde edilen
sonuçlar.
DVM knn
Test verisi üzerinde 13 katsayıya sahip MFCC akustik özellikleri kullanılarak elde
edilen sonuçlar aşağıdaki çizelgede gösterilmiştir.
49
Çizelge 6.7: Test verisi üzerinde 13 katsayıya sahip MFCC kullanılarak elde edilen
sonuçlar.
DVM Knn
Test verisi üzerinde 15 katsayıya sahip MFCC akustik özellikleri kullanılarak elde
edilen sonuçlar aşağıdaki çizelgede gösterilmiştir.
Çizelge 6.8: Test verisi üzerinde 15 katsayıya sahip MFCC kullanılarak elde edilen
sonuçlar.
DVM Knn
50
7. SONUÇ
Son yıllarda dijital müzik piyasasına olan ilginin artmasıyla beraber bu alanda yapılan
çalışmalarda önem kazanmıştır. Teknolojinin gelişmesiyle beraber insanlar otomatik
sınıflandırma yapan cihaz veya yazılımlara daha fazla güvenmekte ve ilgi
duymaktadırlar. Özellikle bu yeni üretilen teknolojilerin insan performansından daha
iyi sonuç verdiği düşünüldüğünde insanların neden bu cihazlara daha fazla güven
duyduğu sorusuda açıklığa kavuşmuş olmaktadır. Bu çalışmadaki amacımız, piyasada
en sık kullanılan 4 müzik türünü sesin hem akustik hem de görsel özelliklerini
kullanarak başarılı bir şekilde sınıflandırmaktır. Yapılan çalışmalar sonucunda
istenilen şekilde bir sistem gerçeklenmiştir. Yapılan çalışmalar sonucunda,
51
olan 9 katsayılı performansın da bu diğer 3 değere çok yakın olduğu
görülmektedir.
6. MFCC akustik özellikleri kullanıldığında hem eğitim verileri hem de test
verileri üzerinde elde edilen sonuçların daha tutarlı olduğu görülmektedir.
7. Eğitim verileri üzerinde yapılan sonuçlara bakıldığında en iyi performansı
SURF görüntü tanımlayıcısıyla beraber knn sınıflandırıcısı kullanılarak elde
edilmiştir.
8. Test verileri üzerinde yapılan sonuçlara bakıldığı zaman yine Metal, Pop ve
Klasik müzik türünde en iyi performansı SURF görüntü tanımlayıcısının
gösterdiği fakat Jaz müzik türünde ise en iyi performansı MFCC akustik
özelliklerinin kullanılarak elde edildiği görülmektedir.
52
KAYNAKLAR
[10]Url-6,http://opencv-python-
tutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_surf_intro/py_surf_intr
o.html Giriş tarihi: 15 Ekim 2017.
[11]Url-7, https://www.quora.com/How-integral-image-is-used-in-image-processing-
and-how-improves-the-computation-time
[12] Bay, H., Tuytelaars, T., Gool, L. (2006) SURF: Speeded-Up Robust Features.
ETH Zurich. Katholike Universiteit Leuven
53
[14] Giannakopoulos, T., Pikrakis, A. (2014) Introduction to Audio Analysis: A
MATLAB Approach.
[16] Kavzoğlu, T., Çölkesen, İ. (2010) Destek Vektör Makineleri ile Uydu
Görüntülerinin Sınıflandırılmasında Kernel Fonksiyonlarının Etkilerinin
İncelenmesi.
[23] Tzanetakis, G., Cook, P. (2002). Musical Genre Classification of Audio Signals.
IEEE Trans. On Speech and Audio Processing, vol. 10, pp. 293-302.
[24] Tzanetakis, G., Essl, G., Cook, P. Automatic Musical Genre Classification of
Audio Signals. Computer Science Department, Princeton NJ.
[25] Nanni, L., Costa, Y., Lumini, A., Kim, M., Baek, S. (2016) Combining Visual
and Acoustic Features for Music Genre Classification. Expert Systems with
Applications, vol. 45,pp. 108-117.
[27] Alcantarilla, P., Bartoli, A., Davison, A. (2006) KAZE Features. Department
of Computing. Imperial College London, UK.
54
[28] Costa, Y.M.G., Oliveira, L. S., Koerich, A. L., Gouyon, F., Martins, J. (2012)
Music genre classification using LBP textural features. Signal Processing, 92(11),
2723-2737.
[29] Costa, Y.M.G., Oliveira, L. S., Koerich, A. L., Gouyon, F. (2013) Music genre
recognition based on visual features with dynamic ensemble of classifiers selection. In
proceedings of international conference on systems, signals and image processing.
Bucharest, Romenia.
[30] Costa, Y.M.G., Oliveira, L. S., Koerich, A. L., Gouyon, F. (2013) Music genre
recognition using Gabor filters and LPQ texture descriptors. In proceedings of the 18th
Iberoamerican congress on pattern recognition. Havana, Cuba.
[31] Fathi, A., Naghsh-Nilchi, A. R. (2012) Noise tolerant local binary pattern
operator for efficient texture analysis. Pattern Recognitio Letters, 33(9), 1093-1100.
[32] Kumaşoğlu, G., Bolat, B. (2011) Yapay Sinir Ağlarıyla Müzikal Tür Tanıma
55
56
ÖZGEÇMİŞ
E-posta : ozkahraman@itu.edu.tr
57