bilgisayar destekli ses tanima sistemi tasarimi computer aided voice recognition system design
TRANSCRIPT
İSTANBUL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ
YÜKSEK LİSANS TEZİ İSTANBUL
BİLGİSAYAR DESTEKLİ SES TANIMA SİSTEMİ
TASARIMI
Bilg.Bil.Müh. M.Deniz DEMİRCİ
Bilgisayar Mühendisliği Anabilim Dalı
Danışman
Yrd.Doç.Dr.Oğuzhan ÖZTAŞ
Haziran, 2005
İSTANBUL ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ
YÜKSEK LİSANS TEZİ
İSTANBUL
BİLGİSAYAR DESTEKLİ SES TANIMA SİSTEMİ TASARIMI
Bilg.Bil.Müh. M.Deniz DEMİRCİ
Bilgisayar Mühendisliği Anabilim Dalı
Danışman
Yrd.Doç.Dr.Oğuzhan ÖZTAŞ
Haziran, 2005
Bu çalışma 05/07/2005 tarihinde aşağıdaki jüri tarafından Bilgisayar Mühendisliği Anabilim Dalında Yüksek Lisans Tezi olarak kabul edilmiştir. Tez Jürisi Yrd.Doç. Dr. Oğuzhan ÖZTAŞ (Danışman) Prof.Dr.Mahmut ÜN İstanbul Üniversitesi İstanbul Üniversitesi Mühendislik Fakültesi Mühendislik Fakültesi Doç.Dr.Sabri ARIK Doç.Dr.Ahmet SERTBAŞ İstanbul Üniversitesi İstanbul Üniversitesi Mühendislik Fakültesi Mühendislik Fakültesi Doç.Dr.A.Halim ZAİM İstanbul Üniversitesi Mühendislik Fakültesi
i
ÖNSÖZ
Çalışmalarım sırasında benden kıymetli desteğini hiç esirgemeyen saygıdeğer hocam Yard.Doç.Dr.Oğuzhan ÖZTAŞ’a en içten dileklerimle teşekkür ederim. Bu çalışma boyunca manevi desteklerini üzerimden hiç eksik etmeyen diğer bölüm hocalarıma ve Araş.Gör. arkadaşlarıma, özellikle Araş.Gör.Tolga ENSARİ’ye çok teşekkür ederim. Haziran, 2005 Mehmet Deniz DEMİRCİ
ii
İÇİNDEKİLER
ÖNSÖZ ............................................................................................................................ i
İÇİNDEKİLER ............................................................................................................. ii
ŞEKİL LİSTESİ ........................................................................................................... iv
TABLO LİSTESİ………………………………………………………………………vi
SEMBOL LİSTESİ ..................................................................................................... vii
ÖZET ...........................................................................................................................viii
SUMMARY .................................................................................................................. ix
1. GİRİŞ ......................................................................................................................... 1
2. GENEL KISIMLAR .................................................................................................. 3
3. MALZEME VE YÖNTEM ...................................................................................... 8
3.1. Konuşmanın Oluşumu .......................................................................................................8
3.2. Konuşma Oluşumunun Anatomi ve Fizyolojisi ................................................................9
3.2.1. Akciğerler ..................................................................................................................9
3.2.2. Larenks……………………………………………………………………………...10
3.3. Konuşmacı Tanıma Sistemi……………………………………………………………..12
3.3.1. Giriş………………………………………………………………………………...12
3.3.2. Konuşmacı Tanımanın Prensipleri…………………………………………………13
3.3.3. Konuşma Özellik Çıkarımı…………………………………………………………15
3.3.4. MFCC Algoritması…………………………………………………………………17
3.3.5. Özellik Eşleme……………………………………………………………………...21
4. BULGULAR ………………………………………………………………………..26
4.1.Bilgisayarda Konuşmacı Tanıma Uygulaması…………………………………………...26
4.2.Yapılan Testler ve Sonuçları……………………………………………………………..29
5. TARTIŞMA VE SONUÇ ………………………………………………………….41
KAYNAKLAR ............................................................................................................ 43
iii
ÖZGEÇMİŞ ................................................................................................................. 45
iv
ŞEKİL LİSTESİ
Şekil 2.1 :Von Kempelen’in Konuşan Makinesi’nin El çizimleri…………………3 Şekil 2.2 :Von Kempelen’in Konuşan Makinesi’nin İç Parçalarının El Çizimi…...4 Şekil 2.3 :Von Kempelen’in Konuşan Makinesi’nin Münihteki Deutsches
Museum’daki Aslı……………………………………………………….5 Şekil 3.1 :Konuşmanın Üretimi……………………………………………………8 Şekil 3.2 :Yan Kesit Olarak Konuşma Üretiminin Anatomisi……………………10 Şekil 3.3 :İnsan Larenksinin Aşağıdan Bakılmış Hali: (a) Sesli, (b) Nefes Alma
Durumları………………………………………………………………11 Şekil 3.4 :Ses Tellerinin Değişik Varyasyonları: (a) Nefes alma(h sesi çıkarma,
fısıldama), (b) Ses Çıkarma, (c) Nefes Sesli Konuşma………………...12 Şekil 3.5 :Konuşmacı Tanıma Sistemlerinin Basit Yapısı………………………..13 Şekil 3.6 :Konuşma Sinyali Örneği………………………………………………15 Şekil 3.7 :Sistemimizde Kullandığımız Konuşma Sinyalinden Bir Örnek……….16 Şekil 3.8 :Bir Önceki Şekilde Verilen Konuşma Örneğinin Kısa Aralıkla (yaklaşık
100 ms) Alınmış Görüntüsü……………………………………………16 Şekil 3.9 :MFCC Algoritması(İşlemcisi)’nın Blok Diyagramı…………………..17 Şekil 3.10 :Çerçeveleme…………………………………………………………...18 Şekil 3.11 :Mel-yayılımlı Filtre Bankı…………………………………………….20 Şekil 3.12 :VQ kodkitabı Formasyonunun Kavramsal Diyagramı………………..23 Şekil 3.13 :LBG Algoritmasının Akış Diyagramı…………………………………25 Şekil 4.1 :12948 noktalı konuşma vektörü……………………………………….27 Şekil 4-2 :Tez konusu çalışma için gerçekleştirilmiş Matlab Uygulaması Giriş
Sayfası………………………………………………………………….27 Şekil 4.3 :Tez konusu çalışma için gerçekleştirilmiş Matlab uygulaması ana
menüsü………………………………………………………………… 28 Şekil 4.4 :Ses Kaydı Ekleme Penceresi…………………………………………..29 Şekil 4.5 :12948 nokta için erkek denekten alınan VT’na göre ve bilinmeyen
denekten alınan sesin Kod Kitapları(centroidleri)……………………...30 Şekil 4.6 :12948 örnek için erkek denekte elde edilen performans sonucu………31 Şekil 4.7 :25896 nokta için erkek denekten alınan VT’na göre ve bilinmeyen
denekten alınan sesin Kod Kitapları(centroidleri)……………………...32 Şekil 4.8 :25896 örnek için erkek denekte elde edilen performans sonucu………33 Şekil 4.9 :38844 nokta için erkek denekten alınan VT’na göre ve bilinmeyen
denekten alınan sesin Kod Kitapları(centroidleri)……………………...34 Şekil 4.10 :38844 örnek için erkek denekte elde edilen performans sonucu………34 Şekil 4.11 :12948 nokta için bayan denekten alınan VT’na göre ve bilinmeyen
denekten alınan sesin Kod Kitapları(centroidleri)……………………...35 Şekil 4.12 :12948 örnek için bayan denekte elde edilen performans sonucu……...36 Şekil 4.13 :25896 nokta için bayan denekten alınan VT’na göre ve bilinmeyen
denekten alınan sesin Kod Kitapları(centroidleri)……………………...37 Şekil 4.14 :25896 örnek için bayan denekte elde edilen performans sonucu……...37
v
Şekil 4.15 :38844 nokta için bayan denekten alınan VT’na göre ve bilinmeyen denekten alınan sesin Kod Kitapları(centroidleri)……………………...38
Şekil 4.16 :38844 örnek için bayan denekte elde edilen performans sonucu……...39 Şekil 4.17 :Yüzde Olarak Başarı Oranının Grafiksel Gösterimi…………………..40 Şekil 4.18 :Her Testte Harcanan İşlemci Zamanının Grafiksel Gösterimi………...40 Şekil 4.19 :Güncel Çalışmalar ile Tezdeki Simülasyonun Karşılaştırılması………40
vi
TABLO LİSTESİ
Tablo 4.1 : Elde Edilen Performans Sonuçlarını Gösteren Tablo………………..39
vii
SEMBOL LİSTESİ
mel : mel skalasında 1Hz’in yerine geçen birim xk : Kayıt edilen ses vektörünün bileşeni N,M : pencere genişliği n : vektör indisi w(n) : Hamming penceresi vektörü Xn : FFT sonucu oluşan vektör Fs : Örnekleme frekansı f : frekans K : mel spektrumu katsayısı ~
kS : mel güç spektrumu katsayıları ~
nc : Akustik vektör elemanları ε : Bölme katsayısı
viii
ÖZET
BİLGİSAYAR DESTEKLİ SES TANIMA SİSTEMİ TASARIMI Bu çalışmada insan anatomisinde konuşma bölgesi olarak adlandırılan; akciğerler, larenks, ağız ve burun boşluğundan oluşan bölgede konuşmanın nasıl oluşturulduğundan bahsedilerek bir giriş yapılmış, insan sesinin özelliklerinden bahsedilmiş, özellikle konuşmacının kimliğinin tanınması konusunda oluşturulacak Konuşmacı Tanıma Sistemlerinin aslında bir nevi insan kulağının fonksiyonlarının taklit edilmesi olduğundan bahsedilmiştir. Konuşmacı Tanıma türlerinden olan ”metinden bağımsız konuşmacı belirleme” tipi ile bu tezde ağırlıkla çalışılmıştır. “Metinden bağımsız konuşmacı belirleme” türü, daha önceden tanınan konuşmacıların seslerin kayıt edildiği bir veritabanından, bilinmeyen bir kişinin sesinin sadece spektral özelliklerine göre karşılaştırılması, veritabanındaki hangi kişi olduğunun, söylediği sözlere bakılmadan belirlenmesidir. Yukarıda bahsedilen çalışmada özellik çıkarma için MFCC ve özellik eşleme için de Vektör Uzaklık Ölçme algoritmalarından yararlanılmıştır. Özellik çıkarma işlemi, mikrofondan alınan örneklenmiş ses dalgasının ait olduğu kişiye has spektral özelliklerinin, minimum veri boyutu kullanılarak elde edilmesidir. Özellik eşleme ise özellik çıkarma sonucu elde edilen sonucun, veritabanındaki diğer kişiler ile karşılaştırılarak en çok benzeyeninin bulunmasıdır. Bu algoritmaları kullanarak yazılan Matlab programı ile üç değişik örnek nokta sayısı için ayrı ayrı bayan ve erkek denekler kullanılarak simülasyon yapılmış ve erkeklerde %90’a, bayanlarda ise %62’ye varan başarı elde edilmiştir.
ix
SUMMARY
COMPUTER AIDED VOICE RECOGNITION SYSTEM DESIGN In this work, we gave an introduction which mentions of how speaking is generated by the vocal tract which is consisted of the lungs, the larynx, the oral and the nasal cavity. Also we discussed the features of human voice especially that all the speaker recognition systems do is to imitate the functions of human ears. We worked particularly on the type of “text independent speaker identification”. That type of speaker recognition operates like matching one of the speakers from database with the unknown speaker’s voice only taking into consideration the spectral features, not what the speaker says. As discussed above, we used the MFCC algorithm for feature extraction and the Vector Quantization algorithm for feature matching. Feature extraction process is to model the spectral features of the speaker’s voice with minimum data. Meanwhile the feature matching is to find the maximum resembling one in the database with the feature extracted model. We wrote a Matlab program using these algorithms. This program makes a simulation using male and female test subjects with three different number of sample points. We got an accuracy result of up to 90 % with male subjects and 62 % at female subjects.
1
1.GİRİŞ
İnsanoğlu, tarih boyunca hatta tarih öncesi çağlarda bile duyu organlarını ilk önce
hayatta kalabilmek için kullanmış ve onlara güvenmiştir. Teknoloji geliştikçe, duyu
organlarına olan ihtiyaç nispeten azalmış olmasına rağmen insanların yeniden doğan
ihtiyaçları yüzünden duyu organlarına olan ihtiyacı yeniden artmıştır.
Zaman ilerledikçe, insanlar ufak topluluklar kurmaya başladıkça birbirleriyle anlaşmak
zorunda oldukları için ilk önce homurdanmalar tarzında sesler çıkararak dertlerini
anlatma yoluna gitmişler ve bunun gelişmesiyle diller ortaya çıkmıştır.
Elektroniğin bulunması ve geliştirilmesi sayesinde, ses ve görüntünün kaydedilebilmesi
ve tekrar tekrar çalınması veya oynatılması mümkün olmuş ve bu teknoloji birçok
alanda kullanılmaya başlanmıştır.
Kayıt sistemlerinin geliştirilmesi sonucu daha önemli bir ihtiyaç ortaya çıkmış, sesin ve
görüntünün işlenmesi ihtiyacı duyulmuş ve bu kaynaktan istenen bilginin elde edilmesi
sağlanmıştır; Bozuk bir kamera görüntüsünün iyileştirilmesi ile bir suçlunun yüzünün
teşhisi, bir ses kayıdından sesin kime ait olduğunun bulunması gibi yenilikler ortaya
çıkmıştır.
Tezimizin konusu olan Konuşmacı Algılama, Ses Tanıma konusunun bir alt grubu olup,
özellikle Mahkemelerde suçluların tespitinde, güvenlik sistemleri ile korunmak istenen
bir sistem veya lokasyonun korunması gibi durumlarda da yoğun olarak kullanılmaya
başlanmış olan, oldukça geniş, yeniliğe ve araştırmaya açık bir konudur.
Bu tezde Genel Kısımlar bölümünde Ses tanıma konusunda bugüne kadar yapılmış
çalışmalardan bahsedilecek, Malzeme ve Yöntem bölümünde Matlab ile kendi
geliştirdiğimiz Konuşmacı Tanıma Uygulaması ve kullanılan metotlar üzerinde
tartışılacak. Bulgular bölümünde oluşturulan uygulama sonucunda bulunan bulgular ve
2
sonuçlardan, Tartışma ve Sonuç bölümünde ise bulunan bulgulardan ve ileride bu konu
ile ilgili nasıl çalışmalar yapılabileceğinden bahsedilecektir.
3
2.GENEL KISIMLAR
Konuşma ve duyma insanoğlunun en çok kullandığı iletişim aracı olmuştur. 150 yıldan
fazla bir süredir (Von Kempelen’in konuşan makinesinden günümüze kadar(Şekil 2.1
Şekil 2.2 ve Şekil 2.3) bu konular yoğun çalışma konuları olmuştur. Telefonun icadı,
aşırı yüksek yayılma hızı ve kullanım artışı, daha yüksek band genişliğinin elde
edilmesi, bu genişliğin daha optimize kullanılması ve yüksek kaliteli iletim sistemleri
üzerinde çalışmalar bilim adamlarını 70 yıldan fazla meşgul etmiştir. Bu çalışmaların
konusu yalnız konuşma üreticileri değil Otomatik Konuşma Tanıma Sistemleri,
Konuşmacı Doğrulama Sistemleri, Konuşma İyileştirme Sistemleri, Etkili Konuşma
Kodlama Sistemleri ve Ses Modifikasyonu Sistemleri üzerinde çalışılarak oldukça
genişletilmiştir.[1]
Şekil 2.1: Von Kempelen’in Konuşan Makinesi’nin El çizimleri
4
Şekil 2.2: Von Kempelen’in Konuşan Makinesi’nin İç Parçalarının El Çizimi
1960’lı yıllarda entegre devrelerin bulunması ile bütün İletişim Sistemleri ve Ses
Tanıma sistemleri analog yapıdan dijital yapıya dönmüştür.Bu büyük değişime öncülük
eden laboratuvarlar; Bell Telephone Laboratories, IBM Thomas Watson Research
Laboratories, BB&N Speech Group, TI ve birçok Üniversite grupları olmuştur.
Endüstri, Ulusal Laboratuvarlar ve Üniversitelerde, Konuşmacı Tanıma üzerinde
oldukça fazla çalışma yapılmıştır.Bunların arasında birden çok jenerasyon Konuşmacı
Tanıma sistemi tasarlayanlar arasında AT&T (ve alt birimleri); Bolt, Beranek, and
Newman; the Dalle Molle Institute for Perceptual Artificial Intelligence (İsviçre); ITT;
Massachusetts Institute of Technology Lincoln Labs; National Tsing Hua University
(Taywan); Nagoya University (Japonya); Nippon Telegraph and Telephone (Japonya);
Rensselaer Polytechnic Institute; Rutgers University; and Texas Instruments (TI)
sayılabilir.[2] Otomatik Konuşmacı Tanıma (OKT) sistemleri üzerinde yapılan
araştırmalar özellikle telefon hatları üzerinden doğrulama için yapılıyordu.[3] Sandia
National Laboratories, the National Institute of Standards and Technology ve National
Security Agency [4] OKT sistemlerinde gelişme sağlamışlardır. Metine bağlı tanıma ile
5
metinden bağımsız tanıma arasında anlamlı bir karşılaştırma yapmanın oldukça zor
olduğu farkedildi. Metinden bağımsız tanıma yaklaşımına örneklerden Gish’in
Bölümsel Gauss Modeli [5] ve Reynolds’un Gauss Karışım Modeli [6] özgün
problemler olarak gösterilebilir. Örneğin sesler ve telaffuzlar test materyalinde vardı
fakat eğitim materyalinde yoktu. İkili seçim doğrulaması [7] ve özellikle daha zor olan
çoklu
Şekil 2.3: Von Kempelen’in Konuşan Makinesi’nin Münihteki Deutsches Museum’daki Aslı
seçim kişisel tanımlaması [8] arasında karşılaştırma yapmak oldukça zordu. Trend
gittikçe daha geniş veritabanları içinde daha yüksek doğruluk payı ile tanımaya kaydı.
Böylece performans ölçümlerine daha güvenilir bir kaynak elde edilmiş oldu. Daha
yüksek güvenlik gerektiren uygulamalarda yetkilendiriciler(smart kartlar) gibi başka
güvenlik düzeylerine de ihtiyaç duyuldu. Yine de şu an ki Tanımlama Sistemleri çoğu
pratik uygulama için yeterlidir. Bir düzineden çok ticari OKT sistemi vardır, bunlara
örnek olarak, ITT, Lernout & Hauspie, T-NETIX, Veritel ve Voice Control Systems
sayılabilir. Belki de en stratejik pozisyonda olanlardan biri Sprint firmasının TI’ın Ses
Tanımlama Motorunu kullanan FONCARD®‘ıdır.
6
Texas Instruments’ın 1970’lerde geliştirdiği Speak-and-Spell ürünü, oldukça fazla
dijital IC içermesinin yanında diğer teknik, iş ve marketing çevrelerini bu konunun çok
geniş uygulama olasılıklarına gebe olduğunu göstermiştir.
Daha güçlü Ic’lerin çıkmasıyla, mühendisler çalışan sistemlerini geliştirmeyi
düşünmüşlerdir. Daha önce geliştirdikleri sistemlerini inceleyerek sistemlerinin fiziksel
işleyişlerini daha derinden anlamaya çalışmışlardır. Aynı zamanda kullanılan
matematiksel araçların ve algoritmaların da daha karmaşık biçimde çalışmasını
sağlamak için değiştirilmesi de gündeme gelmiştir. Bazı metodolojiler; baştaki
başarılarından, fizibiliteleri ve uygulamadaki kolay kullanımları yüzünden geniş bir
alanda kullanılmışlardır. Daha sonra sistemin bir bölümünün değiştirilmesi, diğer
bölümleri de etkilediğinden değişiklik yapmak gittikçe zorlaşmıştır. Bu lojik dizayn
prosedürü gittikçe karmaşık bir hal almış, yüksek maliyet ve IC’lerin çektikleri güç
ihtiyacı arttığından, bu prosedürlerin kullanımı durdurulmuştur.[1]
Ses tanıma uygulamaları arasında daha önce giriş bölümünde de bahsedilen Geçiş
Kontrol Sistemleri, Telefon Bankacılığı ve Telefon Kredi Kartları sayılabilir. Ernst and
Young firmasının muhasebeci firması yüksek teknoloji Bilgisayar Hırsızlarının sadece
Amerika’ya 3–5 milyar dolarlık zararları dokunmaktadır. OKT sistemlerinin bu kaybı
minimize edebileceği düşünülmektedir.
OKT sistemlerinin Dünya üzerinde hızlı yayılışlarının yanında bu sistemlerin
hatalarının da bilinmesi zorunludur. İki tip hata vardır: Geçersiz kullanıcının yanlışlıkla
doğru kabul edilmesi (FA veya Tip 1) ve geçerli bir kullanıcının yanlışlıkla geçersiz
kabul edilerek reddedilmesidir (FR veya Tip 2). FA ya sebep olan iki konu vardır:
sahtekar kişi ve hedef. FA durumları yüksek güvenlikli OKT sistemlerinin en önemli
problemidir. Ama FR, FA hatalarına yeğ tutulabilir.[2]
MFCC(Mel Frequency Cepstrum Coefficients)(Mel Frekansı Sepstrum Katsayıları)
algoritmasını ilk kez Davis ve Mermelstein 1980 yılında [9] duyurmuştur.
Duyurulduktan sonra en çok refere edilen algoritmalardan biri olmuştur.
7
Daha sonra Fan ve Rosca [10] varolan MFCC ile kendi oluşturdukları gelişmiş VQ
isimli VQ algoritmasının bir değişkenini kullanarak oldukça başarılı sonuçlar elde
etmişlerdir.
Saeta, Köchling, Hernando [11], var olan MFCC ve VQ algoritmalarını optimize ederek
seyreden otomobilin içinde belli hızlarda giderek testler yapmışlar ve oldukça başarılı
sonuçlar elde etmişlerdir.
Pan ve Waibel [12], var olan MFCC ve VQ algoritmalarını kullanmışlar fakat yakın
mesafeden konuşma ile uzak mesafeden konuşmanın tanıma üzerinde büyük etkisi
olduğunu keşfetmişlerdir. Bunun sebebinin uzak mesafeden yapılan konuşmalarda
bulunulan ortamın akustiğinin de işin içine girdiği ve ayrıca eğitim ve test datalarının
farklı mesafeden alınmasından meydana geldiği ortaya çıkmıştır. Bunun üzerine bu tarz
ortam değişiklikleri yaparak algoritmaları test etmişlerdir. Genel olarak başarılı sonuçlar
elde ettikleri görülebilir.
8
3.MALZEME VE YÖNTEM
3.1.KONUŞMANIN OLUŞUMU
Basit gösterim ile Konuşma üretimi Şekil 3.1 de verilmiştir. Konuşma organları bu
şekilde 3 gruba ayrılmıştır: ciğerler, larenks ve üst solunum yolu. Ciğerler güç kaynağı
gibi davranarak ciğerlerden larenks bölgesine hava akımını sağlarlar. Larenks, hava
akımını modüle ederek kısa hızlı nefes alma veya gürültülü hava akımı kaynağı gibi
davranarak üst solunum yolu yani ağız, burun ve farenks boşluğuna iletir. Üst solunum
yolu da larenks tarafından modüle edilen hava akımını spektral olarak biçimlendirerek
sese “rengini” verir. Üst solunum yolundaki Şekil 3.1 de gösterilmeyen kasılmalar ve
sınırlamalar ile de sese renk verilmesine katkı sağlanır. Spektral renklerine bakarak üst
solunum yolunun sese verdiği renklendirme sonunda dudakların ürettiği hava basıncı
değişikliği dinleyen kişinin kulağına konuşma olarak gelen ses dalgasını oluşturur.
Konuşma seslerinin kaynak tipleri 3 genel gruba ayrılır: periyodik, gürültülü, darbeli.
Bu kategorilerin hepsinin bulunduğu kelime olarak Türkçe’deki “şok” kelimesi örnek
olarak alınabilir. “Ş”, “o”, “k” sırasıyla gürültülü, periyodik ve darbeli ses kaynağından
çıkan seslere örnektir. Bu ses tiplerinin nerelerde oluştuğuna dikkat edersek, hepsinin
farklı konuşma organlarında üretildiğini anlayabiliriz[1]. “Ş” sesi ağız ve burun
boşluğuyla beraber dudaklarda oluşturulurken, “o” sesi daha çok larenks bölgesinde,
“k” sesinin ise larenks ile ağız boşluğu, dudaklar ve dişler ile üretildiğini görebiliriz.
Şekil 3.1: Konuşmanın Oluşumu
9
Yalnızca kaynakla değil fakat üst solunum yolunun değişik konfigürasyonları ile de
konuşma sesi farklılıkları görülebilir. Konuşma sesinin daha rafine sınıflarına da fonem
denir. Fonemlerle ilgilenen bilim dalı da fonemiktir.
3.2.KONUŞMA OLUŞUMUNUN ANATOMİ VE FİZYOLOJİSİ
Şekil 3.2 de daha realistik anatomik durum görülebilir. Daha derin bir şekilde anatomisi
ve fizyolojisi ve özellikle anatomi ve fizyolojinin konuşmanın yaratılmasındaki önemi
görülecektir.
3.2.1.Akciğerler
Akciğerlerin amaçlarından biri nefes alıp vermektir. Nefes alındığı zaman, göğüs
kafesini genişleterek, akciğerlerin hemen altında bulunan diyaframı alçaltarak ve
ciğerleri karından uzaklaştırarak göğüs boşluğununun hacimi arttırılır; bu aksiyon
ciğerlerdeki hava basıncını düşürür, bu durum da dışarıdaki havanın basıncının ciğer
içindeki basınçtan fazla olması sebebiyle dışarıdaki havanın ciğerlerin içine üst solunum
yolu ve trakeden geçerek hücum etmesini sağlar.
Aynı zamanda Nefes Borusu olarak adlandırılan Trake 12 cm uzunluğunda ve 1,5-2 cm
çapında boru şeklinde ciğerlerden epiglottis’e giden bir organdır. Epiglottis ufak bir
switch görevi görerek, yemek yendiğinde veya yutkunurken nefes borusunu kapatarak
ciğerlere yemek ve tükürüğün gitmesini engelleyerek boğulmayı engeller. Nefes
verdiğimizde göğüs kafesindeki kasları kullanarak, ciğerlerdeki hava basıncını
arttırarak, basınç farkı sebebiyle ciğerlerdeki havanın trake vasıtasıyla larenkse
akmasını sağlar. Solunum sırasında ritmik olarak nefes alırken ciğerlere oksijen çekilir,
nefes verirken dışarı karbondioksit verilir.
10
Şekil 3.2: Yan Kesit Olarak Konuşma Üretiminin Anatomisi
Diğer taraftan, konuşurken, kısa aralıklarla nefes alır ve göğüs kafesi kaslarını kontrol
ederek sürekli bir şekilde nefes verilir. Ritmik nefes alıp verme sürecini kırarak bir
kelime veya cümle uzunluğunda sertçe nefes verilir. Bu durumda akciğerlerdeki hava
basıncı çok hafif göğüs kasılmalarıyla atmosferik basınçtan biraz fazla olarak sabit
tutulur. Bu seviyede hava basıncı, larenks ile üst solunum boşluğunun zamana göre
değişim özelliğinden dolayı değişkendir.
3.2.2.Larenks
Larenks kıkırdaklar, kaslar ve bağlardan oluşan kompleks bir yapıdır. Konuşma
üretiminde bir numaralı görevi ses tellerini kontrol etmektir[9]. Ses telleri et, bağ ve
kaslardan oluşan 2 parçalı dokulardır. Larenksin ön ve arka çeberi arasında
yerleştirilmiştir (Şekil 3.3 te görüldüğü gibi). Teller erkeklerde yaklaşık 15 mm,
bayanlarda 13 mm uzunluğunda olurlar. Glottis iki ses telinin arasındaki boşluktur. Ses
telleri larenksin ön tarafına sabit tiroid kıkırdağı aracılığıyla bağlıdır. Tiroid kıkırdağı,
11
Adem Elması denen yerdedir. Ses telleri larenksin arkası ve yanları boyunca oynar
vaziyettedir. Glottis’in genişliği aritenoid kıkırdaklar ve ses telleri arasındaki kaslar
tarafından kontrol edilir. Ses tellerinin önemli bir özelliği de gerilimidir. Ses telleri,
epiglottis gibi kendilerini korumak için yemek yendiği sırada kendilerini kapatırlar. Ses
tellerinin üstünde bulunan yalancı ses telleri de üçüncü koruma olarak geçişi kapatır.
Adem elmasından aritenoidlere doğru genişleyebilir, kapanabilir veya titreyebilir.
Görüldüğü üzere nefes borusunda epiglottis, yalancı ses telleri ve ses telleri ile 3
aşamalı bir bariyer bulunmaktadır. Üç bariyer de, yutkunma ve yemek yeme sırasında
kapalı olup, nefes alırken sonuna kadar açılır.
Ses tellerinin üç adet birincil durumu vardır: nefes alma, sesli ve sessiz durumlar. Nefes
alma durumunda, aritenoid kıkırdaklar dış yanlara doğru açılarak (Sekil 3.3b) geniş bir
glottis ve ses telleri arasındaki kasların gevşemesi sonucunu doğurur. Bu durumda
ciğerlerdeki hava glottisten rahatça geçerek ses telleri tarafından çok azımsanacak bir
engelle karşılaşır. Konuşma üretimi sırasında ise ses telleri tarafından ciğerlerden çıkan
havaya bir engelleme yapılması söz konusudur. Sesli durumda, mesela bir sesli harf
söylenirken aritenoid kıkırdaklar birbirlerine doğru Şekil 3.3a’da olduğu gibi hareket
ederler. Ses telleri gerilerek birbirlerine doğru yaklaşırlar. Glottisin kısmi kapanması ve
ses tellerindeki gerilimin artması ses tellerinin kendi kendine titreşmesini sağlar.
Şekil 3.3: İnsan Larenksinin Aşağıdan Bakılmış Hali: (a) Sesli, (b) Nefes Alma Durumları
12
Nefes Alma, Sesli ve Sessiz durumlara uymayan başka ses teli durumları da vardır. Bu
durumlarla oldukça ilgilenilmektedir çünkü özellikle bu durumlarda Konuşma Sinyali
İşlenmesinde büyük zorluklar çıkmaktadır. Karakteristik olmaktan uzak olarak oldukça
sık oluşmaktadır. Bu durumlardan biri de kulak tırmalıyıcı sestir. Bu durumda sadece
ses tellerinin çok ufak bir kısmı titreşmektedir. Bu durumda sesin sinyalinde oldukça
yüksek ve düzensiz fırlamalar olacaktır. Vokal Kızarma durumunda, sinyal durumu
anormal bir şekilde düşük ve düzensiz patlamalar halindedir, ses telleri kalınlaşır ve
gevşer. İkincil glotal darbelerle, açık fazdaki birincil glotal darbeyle karışacak şekilde
ses telleri davranır.
Şekil 3.4: Ses Tellerinin Değişik Varyasyonları: (a) Nefes alma(h sesi çıkarma, fısıldama), (b) Ses Çıkarma, (c) Nefes Sesli Konuşma
3.3.KONUŞMACI TANIMA SİSTEMİ
3.3.1.Giriş
Konuşmacı tanıma konuşmacının ses dalgalarının içerdiği kişisel özellikleri otomatik
olarak algılayarak, kişinin kim olduğunun bulunması amacını güden bir işlemdir. Bu
teknik kişinin sesinin kullanılarak kimliğinin belirlenmesi ve servislere erişimin kontrol
edilmesi için kullanılabilir. Bu sistemlere örnek olarak, ses ile telefon numarası
çevirme, telefon bankacılığı, telefonla alışveriş, veritabanı erişim sistemlerine kontrollü
erişim, bilgi servislerine erişim, sesli posta, gizli bilgilere giriş kontrolü ve
bilgisayarlara uzaktan erişim verilebilir.[13]
13
3.3.2.Konuşmacı Tanımanın Prensipleri
Konuşmacı tanıma iki gruba ayrılabilir: belirleme ve doğrulama. Belirleme daha
önceden sesi sisteme kaydedilmiş kullanıcının sisteme eriştiği, doğrulama ise erişim
isteğinde bulunan kişinin o kişi olup olmadığına bakılmasıdır. Şekil 3.5 de Konuşmacı
Belirleme ve Konuşmacı Doğrulama sistemlerinin basit yapıları verilmiştir.
Konuşmacı tanıma sistemleri ayrıca iki gruba daha ayrılır: Metinden Bağımsız ve
Metine Bağımlı. Metinden bağımsız sistemlerde, konuşmacı modelleri kişinin ne
söylediğine bakmadan kişi sesinin karakteristik özelliklerini içermekte, Metine bağımlı
sistemlerde ise kişinin söylediği belli bir cümle veya cümlelere dayalı tanımlama
yapılır. Örneğin, bir şifre, kart numarası, pin kodu vs.
Şekil 3.5: Konuşmacı Tanıma Sistemlerinin Basit Yapısı
Konuşmacı tanıma, belirleme, doğrulama veya metine bağlı / metinden bağımsız olsun,
hepsinin birbirine göre avantaj ve dezavantajları vardır. Değişik davranış ve tekniklere
14
ihtiyaçları vardır. Hangi tekniğin uygulanacağı tamamen uygulamaya bağlıdır. Bu tezde,
metinden bağımsız konuşmacı belirleme sistemi üzerinde çalışılmıştır. Çünkü sistemin
amacı, kişinin ne söylediğine bakılmaksızın veritabanında bulunan kişilerden hangisi
olduğunun belirlenmesidir.
En yüksek seviyede bütün konuşmacı tanıma sistemleri 2 ana modüle sahiptir: Özellik
Çıkarma ve Özellik Eşleştirme. Özellik çıkarma, bir konuşmacıyı sonra
tanımlayabilmek için ses sinyalinden elde edilmiş küçük bir veri topluluğu oluşturmaya
yarayan bir işlemdir. Özellik Eşleştirme ise Bilinen bir konuşmacı setinde daha önce
çıkarılmış özelliklerden yararlanarak o anda kim olduğu bilinmeyen kişinin kim
olduğunu bulmaya yarayan prosedürdür. Her modül ileride detayıyla incelenecektir.
Her konuşmacı tanıma sistemi iki farklı fazı gerçeklemek durumundadır. Birincisi kayıt
fazı veya diğer ismiyle öğrenme fazıdır. Öğrenme fazında, her kayıtlı konuşmacı,
konuşmacıya ait örnekler içermelidir ki sistem konuşmacıya ait bir referans model
çıkarabilsin. Konuşmacı doğrulama işleminde ise ek olarak kullanıcıya özgü bir eşik
değer hesaplanmalıdır. Test fazında (bkz. Şekil 3.5) konuşma girişi, kayıtlı referans
modellerle karşılaştırılarak bir karar verilmektedir.
Konuşmacı tanıma oldukça zor ve hala araştırmaya açık bir alandır. OKT, her
konuşmacının sesinde kendisini karakterize edecek özellikler olduğunu düşünerek
çalışır. Her nasılsa OKT sistemleri yüksek oranda değişken olan konuşma giriş
sinyalleri yüzünden oldukça zorlanmaktadır. Birinci değişkenlik nedeni, konuşmacının
kendisidir. Öğrenme ve test oturumlarındaki ses sinyalleri çok fazla değişik olabilir; bir
çok neden sayılabilir, mesela zaman içinde konuşmacının sesi değişebilir, sağlık
durumundaki değişmeler (konuşmacının grip olması gibi), konuşma hızı değişikliği vs.
olabilir. Başka faktörler de sistemin başarısını etkileyebilir, mesela kayıt ortamındaki
akustik gürültü, kayıt ortamlarının değişmesi (Konuşmacı farklı mikrofon veya telefon
cihazı kullanabilir) örnek olarak sayılabilir.[14]
3.3.3.Konuşma’dan Özellik Çıkarımı
Bu modülün amacı, sonraki işlemler için konuşma sinyal dalgasından bir parametrik
sembol elde etmektir (oldukça daha az bir veri boyutuyla). Buna çoğu zaman sinyal
işleme ön ucu (signal processing front-end) da denmektedir.
15
Konuşma sinyali yavaş değişen bir sinyal tipidir. Şekil 3.6’te bir konuşma sinyali örneği
görülmektedir. Yeterince kısa bir periyotta sinyal incelendiğinde (5 ila 100 ms)
karakteristiği oldukça sabittir. Bununla birlikte, uzun zaman periyotlarında incelenirse
(200 ms ve üstü) sinyal karakteristiği başka konuşma seslerini de içermeye
başlamaktadır. Bu yüzden, kısa zamanlı spektral analiz bir konuşma sinyalini
karakterize etmek için en sık kullanılan yoldur.
Şekil 3.6: Konuşma Sinyali Örneği
Şekil 3.7: Sistemimizde Kullandığımız Konuşma Sinyalinden Bir Örnek
16
Konuşma sinyalini parametrik olarak tanımlayabilecek oldukça fazla metod
bulunmaktadır. Bunlardan bazıları Linear Prediction Coding (LPC), Mel-Frequency
Cepstrum Coefficients (MFCC) ve diğerleri. MFCC belki de en fazla bilineni ve sık
kullanılanıdır. Bu tezde de bu metod kullanılacaktır.
MFCC, insan kulağının kritik bandgenişliği frekansıyla bilinen varyasyonunu temel alır.
Düşük frekanslarda lineer olarak yüksek frekanslarda logaritmik olarak yerleştirilen
filtrelerle, sesin fonetik karakteristikleri içeren bölümleri yakalanabilir. Buna mel-
frequency scale denir. 1000 Hz’in altında lineer, 1000 Hz’in üzerine logaritmik olarak
dağılır.
Şekil 3.8: Bir Önceki Şekilde Verilen Konuşma Örneğinin Kısa Aralıkla (yaklaşık 100 ms) Alınmış Görüntüsü
17
3.3.4.Mel-Frequency Cepstrum Coefficients(MFCC) algoritması
MFCC işlemi veya algoritmasının blok diagramı Şekil 3.9’da verilmiştir. Konuşma
girişi 10000 Hz’den yüksek bir frekansta örneklenmelidir. Bu frekans eşiğinin
seçilmesinin sebebi aliasing yani düşük frekanslarda ve çözünürlükte yapılan
örneklemede yeterli nokta örneklenemeyeceği için eğimin değiştiği yerlerde sapmalar
olacak ve gerçek ses sinyalinden farklı bir sinyal örneklenmiş olacaktır. Bu örneklenen
sinyaller 5 kHz’e kadar bütün frekansları yakalayacaktır. 5 kHz, insan sesinin aşağı
yukarı bütün enerji seviyelerini içerir. Daha önce belirtildiği gibi MFCC insan
kulaklarının davranışlarını taklit eder. Ayrıca MFCC değişimlerden, ses dalga
yapısından çok daha az etkilenir.
Şekil 3.9: MFCC Algoritması(İşlemcisi)’nın Blok Diyagramı
3.3.4.1.Çerçeveleme (Frame Blocking)
Bu aşamada konuşma sürekli sinyali N adet örnekten oluşan çerçevelere ve komşu M
örnekten oluşan çerçevelere bölünür.(M < N) İlk çerçeve N örnekten oluşurken ikinci
çerçeve ilk çerçeve den M örnek sonra başlar ve ilk çerçevenin N-M çerçeve kadar
üzerine biner. Aynı şekilde üçüncü çerçeve ilk çerçeveden 2M çerçeve, ikinci
çerçeveden M örnek sonra başlar ve N-2M örnek kadar üstüne biner. Bu işlem bütün ses
sinyali boyunca yapılır. N ve M için seçilen tipik değerler N=256 ( ki bu da aşağı yukarı
30 ms ye denk gelir ve hızlı kök-2 FFT hesaplamayı kolaylaştırır) ve M=100 dür.
18
Şekil 3.10: Çerçeveleme
3.3.4.2.Pencereleme (Windowing)
Sıradaki işlem her çerçeveyi pencereleyerek, sinyalin başı ve sonundaki süreksiz
bölümleri minimize etmektir. Buradaki amaç, pencereyi kullanarak çerçevelerin başı ve
sonundaki bilgi içermeyen bölümleri kırpmak dolayısıyla spektral bozulmayı
engellemektir. Eğer pencereyi w(n), 0 ≤ n ≤ N-1, N her çerçevedeki örnek sayısı olarak
kabul edersek, sinyalin pencerelenmiş hali
10),()()( 11 −≤≤= Nnnwnxny (3.1)
Özellikle Hamming Pencerelemesi kullanıldı. Formuna bakılırsa:
10,1
2cos46.054.0)( −≤≤⎟⎠⎞
⎜⎝⎛
−−= Nn
Nnnw π (3.2)
3.3.4.3.Hızlı Fourier Dönüşümü(FFT)
Sıradaki işlem, N örnekli her çerçevenin zaman domeninden, frekans domenine
çevrilmesi için Hızlı Fourier dönüşümü uygulanmasıdır. FFT, Ayrık Fourier dönüşümü
(DFT) uygulamak için hızlı bir algoritmadır. N örneklik bir set {xn} için şöyle
tanımlanabilir:
1,,2,1,0,/21
0−== −
−
=∑ NnexX NjknN
kkn Kπ (3.3)
Dikkat edilmelidir ki j imajiner bölümdür. Bilindiği gibi j2=-1 dir. Genelde Xn ler
kompleks sayılardır. Sonuçta elde edilen {Xn} ler şöyle yorumlanabilir: 0 frekansı n=0
19
olduğu zamana aittir. 0 < f < Fs / 2 pozitif frekanslar 1 ≤ n ≤ N/2-1 aralığındaki
değerlere aittir. -Fs / 2 < f < 0 aralığındaki negatif frekanslar da N / 2 +1 ≤ n ≤ N-1
aralığındaki değerlere aittir. Fs , örnekleme frekansıdır.
Bu aşamadan sonraki sonuç artık spektrum veya periyodogram diye anılır.
3.3.4.4.Mel-Frekansına Çevirme
Daha öncede belirtildiği gibi, psikofiziksel çalışmalar, insanın frekans içeriklerini
algılamasının lineer bir skalada gerçekleşmediğini göstermektedir. Böylece f frekanslı
her ses için “mel” skalası denen sübjektif bir skala hesaplanır. Mel-Frekansı 1000
Hz’in altında lineer, 1000 Hz’in üstünde logaritmik dağılıma sahip bir skaladır. Bir
referans noktası olarak alınan 1 kHz’lik ses, insan duyma eşiğinin 40 dB üstünde
olmakla birlikte 1000 mel olarak tanımlanır. Bundan dolayı Hz türünden bilinen bir
frekansın mel eşdeğerini bulmak için şu formül kullanılabilir:
mel(f) = 2595 * log (1 + f / 700) (3.4)
Bu sübjektif spektrumu simüle etmek için bir yol mel skalasında üniform olarak
yerleştirilmiş bir filtre bankası kullanmaktır.(Bkz. Şekil 3.11) Bu filtre bankı üçgen bant
geçiren ve aralıkları ve bant genişliği sabit mel frekansı aralığına bağlı bir banktır.
Yayılışı ve band genişliği sabit bir mel frekansı aralığına sahiptir. Mel spektrumu
katsayısı olan K, genelde 20 seçilir.
20
Şekil 3.11: Mel-yayılımlı Filtre Bankı
Bu filtre bankının frekans domeninde uygulandığına dikkat ederek, sinyalin FFT ile
frekans domenine çevrilmiş haline uygulanır. Bu mel dönüştürücü filtre bankındaki her
filtre frekans domeninde bir histogram kutusu (kutuların birbiri üzerine binmesi)
oluşturur.
3.3.4.5.Cepstrum
Bu son aşamada, logaritması alınmış mel spektrumunun frekans domeninden tekrar
zaman domenine çevrilmesi gerekmektedir. Sonuç, Mel Frekansı Cepstrum Katsayıları
(Mel Frequency Cepstrum Coefficients)(MFCC) adını alır. Verilen çerçevenin
analizinde cepstral gösterim, sinyalin bölgesel spektral özelliklerini çok güzel temsil ve
tasvir etmektedir. Mel Spektrum Katsayıları (ve onun logaritması) gerçek sayılar
oldukları için, Ayrık Kosinüs dönüşümü (DCT) ile onları zaman domenine çevirmek
21
mümkündür. Son aşamanın sonucu olan mel güç spektrumu katsayıları ~
kS , k=1,2,….K
olarak gösterilebilir. ~
kS lar kullanılarak ~
nc (MFCC’ler) aşağıdaki bağıntı ile hesaplanır:
KnK
knScK
kkn ,,2,1,
21cos)(log
1
~~K=⎥
⎦
⎤⎢⎣
⎡⎟⎠⎞
⎜⎝⎛ −= ∑
=
π (3.5)
~
0c , dikkate alınmamıştır. Çünkü giriş sinyalinin ortalama değerini içermektedir ki
konuşan kişinin kimliği hakkında çok az bilgi içerir.
Kısaca yukarıda belirtilen bu prosedür; 30 ms uzunluğundaki birbiri üzerine bindirilmiş
her konuşma çerçevesi için bir set MFCC hesaplanır. Mel Frekansı skalasında
tanımlanmış kısa vadeli güç spektrumunun logaritmasının kosinüs transformu bu
sonucu verir. Bu katsayı setine akustik vektör denir. Yani giriş ses sinyali akustik
vektörlere dönüştürülür. Sonraki bölümde elde edilen bu akustik vektörlerin
konuşmacının sesinin nasıl karakterize ettiği ve tanımada nasıl kullanıldığı konusunda
bahsedilecektir.
3.3.5.Özellik Eşleme
Konuşmacı tanıma konusu çok daha geniş olan örüntü(pattern) tanıma konusunun bir alt
grubudur. Patern tanımanın amacı bir çok kategori ve sınıftaki objeleri
sınıflandırmaktır. İlgilenilen objelere genelde örüntüler denmekle beraber bizim
konumuzda bunlar giriş ses sinyalinden daha önce çıkarılmış akustik vektörler
silsilesidir. Sınıf diye tanımlananlar konuşmacıların kendisidir. Sınıflandırma prosedürü
tezimizdeki çıkarılmış özellikler olduğuna göre özellik eşleme diye adlandırılabilir.
Eğer bilinen bir örüntü seti varsa, problem denetlenen örüntü tanıma(supervised pattern
recognition) olmaktadır. Bu kesinlikle tezde yapılan çalışmadaki durumdur çünkü
eğitme oturumunda (train session) her konuşmacının konuşması konuşmacının ID’si ile
etiketlenmektedir. Bu örüntüler eğitim seti(training set)ni içermektedir ve sınıflandırma
algoritması eğitim setinden yararlanmaktadır. Kalan örüntüler, sınıflandırma
algoritmasını test etmek için kullanılır; bu örüntülere topluca test seti denir. Eğer
sınıfların gerçek sahipleri de bilinirse algoritmanın performansı da belirlenebilir.
22
Modern özellik eşleme tekniklerinin konuşmacı tanıma işleminde kullanılanları sırasıyla
Dynamic Time Warping (DTW), Hidden Markov Modeling(HMM) ve Vector
Quantization (VQ, Vektör Uzaklık Ölçme). Bu tezde VQ kullanılmıştır. Çünkü hem
uygulaması daha kolaydır ve performansı yüksektir. VQ sonlu sayıdaki bölgeye geniş
vektör uzayından vektörler yerleştirme işlemidir. Her bölgeye demet(cluster) denmekle
birlikte, ortasındaki elemanı yani kodkelime ile tanımlanabilir. Bütün kodkelimelerin
toplanmasıyla kodkitabı oluşur.[15]
Şekil 3.12, bu tanıma işleminin kavramsal diyagramını göstermektedir. Şekilde iki
konuşmacı ve akustik uzayın sadece iki boyutu gösterilmiştir. Yuvarlak ile gösterilenler
bir numaralı konuşmacının akustik vektörleri olup üçgenler ise ikinci konuşmacının
akustik vektörleridir. Sistemin eğitimi sırasında(eğitim fazında) konuşmacıya özgü VQ
kodkitabı bilinen bütün konuşmacılar için akustik vektörlerinin demetlenmesi ile
oluşturulur. Sonuçta oluşan kodkelimeler(centroid) şekil 3.9’de siyah yuvarlaklar ve
siyah üçgenlerle, sırasıyla konuşmacı 1 ve konuşmacı 2 olarak gösterilmiştir.
Kodkitabındaki en yakın kodkelimesine vektörün uzaklığına VQ-bozulması(VQ-
distortion) denmektedir. Tanıma fazında, bilinmeyen bir konuşmacının sesinin sisteme
girilmesi ile VQ işlemi yapılarak veritabanında bulunan eğitim fazında oluşturulmuş
kodkitapları ile arasındaki toplam VQ-bozulması hesaplanır. VQ kodkitabı bilinmeyen
konuşmacı ile arasında minimum VQ-bozulması olan kayıtlı eğitilmiş kodkitabına sahip
konuşmacı böylece tanınmış olur.[16]
23
Şekil 3.12:VQ kodkitabı Formasyonunun Kavramsal Diyagramı
3.3.5.1.Eğitim Vektörlerinin Demetlenmesi
Ses kayıt fazında, eğitim vektör setinin oluşturulması için konuşmacıdan alınan ses
örneklerinden akustik vektörler elde edilir. Bu eğitim vektörlerinden yararlanarak, söz
konusu konuşmacı için VQ kodkitabının hesaplanmasına sıra gelmiştir.Oldukça iyi
bilinen bir algoritma olan LBG algoritması (Linde, Buzo ve Gray) [17], L adet eğitim
vektör setini M adet kodkitabı vektörü halinde demetlemek için kullanılır. Algoritma
aşağıdaki tekrarlanan prosedür ile gerçekleştirilir:
1. 1-vektörlük kod kitabının dizaynı: Bu bütün eğitim vektörleri setinin centroid’i
(kod kelimesi) olacaktır( bu aşamada tekrarlamaya gerek yoktur)
2. yn diye tanımlanan her kod kitabını bölerek kodkitabının büyüklüğü aşağıdaki
kural uygulanarak iki katına çıkarılır:
)1(
)1(
ε
ε
−=
+=−
+
nn
nn
yy
yy (3.6)
n’in değeri 1 ila kod kitabının o an ki boyutu arasında değişir veε da bölme
parametresidir. Burada ε =0.01 seçilmiştir.
24
3. En yakın komşu araştırması: Her eğitim vektörü için, o anki kodkitabındaki en
yakın kod kelimesi bulunur(benzerlik ölçümü şeklinde), ve ilgili hücreye bu
vektör atanır(en yakın kodkelime’sine ortak olarak).
4. Centroid(kodkelime) güncellemesi: her hücredeki kodkelimeyi, o hücreye
atanmış eğitim vektörlerinin kodkelimesini kullanıp kod kelimesini güncelle.
5. İterasyon 1: üçüncü ve dördüncü adımları tekrarlayarak ortalama uzaklık
belirtilen eşik değerden düşük olana kadar devam edilmelidir.
6. İterasyon 2: iki, üç ve dördüncü adımları tekrarlayarak kodkitabının boyutu M
olana kadar devam edilir.
LBG algoritması bu aşamalardan geçerek M boyutunda kodkitabı oluşturacaktır. İlk
başta 1 vektörlük kodkitabı ile başlanır, ardından bölme tekniği kullanılarak 2 vektörlük
bir kodkitabı oluşturulmaya çalışılır. Daha sonra tekrar bölme tekniği kullanılarak M
vektörlü kodkitabı bulunana kadar aynı işlemlere devam edilir.
Şekil 3.13 LBG algoritmasının detaylı aşamalarını akış diyagramında göstermektedir.
“Vektörleri Demetle” her eğitim vektörünü en yakın kodkitabı ile ilişkili bir demete
bağlayan en yakın komşuyu arama prosedürüdür. “Kodkelimelerini Bul” ise centroidleri
güncelleme prosedürüdür. “B(Bozulma)yi Hesapla”, prosedürün hangi değere
yakınsadığını görmek için en yakın komşuyu arama sırasında eğitim vektörlerinin
uzaklıklarını toplar.[13]
25
Şekil 3.13: LBG Algoritmasının Akış Diyagramı
26
4. BULGULAR
4.1.BİLGİSAYARDA KONUŞMACI TANIMA UYGULAMASI
Önceki bölümlerde konuşmacı tanıma algoritmalarından bahsederken bu algoritmaların
bilgisayar ortamında uygulamasının yapılarak konuşmacı tanıma işlemindeki
performansının ölçülmesi amaçlanmıştır.
Uygulamanın gerçekleştirilmesi için MATLAB sistemi kullanılmıştır. Bu aracın
kullanılmasının sebebi, yoğun matematik işlemleri üzerine yoğunlaşmış bir sistem
olmasıdır. Özellikle vektör ve matrislerle çalışmak için oldukça uygun bir gereç olmakla
beraber, oldukça sofistike uygulamalar da yazılabilmektedir. Profesyonel kullanıcı
arayüzü dahi tanımlanabilmektedir ve neredeyse yüksek seviyeli bir programlama dili
kadar güçlü bir yapısı vardır.
Özellikle ses tanıma işlemlerinde yoğun olarak vektör ve matris işlemleri
kullanılmaktadır. Mikrofondan konuşmacının sesinin alınması ile beraber belirtilen
frekans ve örnekleme nokta sayısı doğrultusunda sesin voltaj değerleri örneklenip
anında bir vektöre atanır. Şekil 4.1 de görüldüğü gibi 12948 nokta örnekleme ile
konuşmanın dalga modundaki analog yapısı mikrofon ve Matlab yardımıyla 12948
elemanlı bir voltaj vektörüne dönüştürülmüş durumdadır.
Vektörlerle işlemler, tek tek değişkenlerle uğraşmaktan çok daha kolaydır. Ayrıca
vektörler ve matrislerin çarpma ve diğer işlemleri birer komutla yapılabilir fakat aynı
işlemler diğer yüksek seviyeli dillerde birçok satırdan oluşan döngülerle ancak
yapılabilir.
27
Şekil 4.1: 12948 noktalı konuşma vektörü
Şekil 4-2:Tez konusu çalışma için gerçekleştirilmiş Matlab Uygulaması Giriş Sayfası
28
Şekil 4.2’de gerçekleştirilen uygulamanın açılış ekranı görülmektedir. Bu ekranda
görüldüğü gibi Modern Windows uygulaması tarzında arayüzler tanımlanabilmektedir.
Şekil 4.3’de uygulamanın ana menüsü görülmektedir. Test kriteri olarak, değiştirilebilir
ses örnekleme değerleri konulmuştur. Bu seçenek bir combobox ile kullanıcının
seçimine bırakılmıştır.
Bu menüden daha önce sesi veritabanına kayıt edilmiş kişilerin listesi görüldüğü gibi,
yeni konuşmacı kaydı, veritabanından istenen konuşmacının silinmesi, mikrofondan
kimliği bilinmeyen konuşmacının sesinin alınıp veritabanındaki diğer kayıtlarla
karşılaştırıldığı “Test Et” butonu vardır. Ayrıca programın çalıştırıldığı andan itibaren o
ana kadar yapılan testlerin başarısının grafik olarak çıktısının alınabildiği bir buton da
eklenmiştir.
Şekil 4.3: Tez konusu çalışma için gerçekleştirilmiş Matlab uygulaması ana menüsü
29
Bu değerler 12948, 25896, 38844 nokta olarak belirlenmiştir. Bu değerlere göre testler
yapılıp ona göre performans değerleri elde edilmiştir.
Yeni bir konuşmacı kayıt edilmek istendiğinde “Ekle” tuşuna basarak Şekil 4.4 deki
ekran görüntüsü elde edilmektedir.
Şekil 4.4: Ses Kaydı Ekleme Penceresi
Program arayüzünü tanıttıktan sonra test işlemleri ve bulgular üzerine eğilindi.
4.2.YAPILAN TESTLER VE SONUÇLARI
10 adet test deneği konuşmacı arasında konuşmacı tanıma sistemi test edildi.
Konuşmacılarımızdan dört tanesi erkek, altı tanesi bayandı. Ortam birçok bilgisayarın
olduğu, pencereye yakın ve diğer insan seslerinin de arka planda bulunduğu bir ortamdı.
Test şekli aşağıdaki gibiydi:
1. İlk önce erkek denek seçerek sırasıyla her örnekleme nokta sayısı için yirmişer
deneme yapıldı ve ortalama değerler alındı. Şekil 4.5’te erkek denekler için 12948 nokta
30
için alınan ses örneği ile daha önceden veritabanına kaydedilen sesin MFCC işleminden
sonra ortaya çıkan durumları ekran çıktılarında gösterilmiştir.
Şekil 4.5: 12948 nokta için erkek denekten alınan VT’na göre ve bilinmeyen denekten alınan sesin Kod Kitapları(centroidleri)
31
Şekil 4.5’te görüntülenen kodkitaplarında, kırmızı +’lar daha önceden kaydedilmiş bir
kullanıcının hesaplanmış kodkitabının içeriği olan kodkelimelerini göstermektedir.
Mavi noktalar ise, bahsi geçen kayıtlı kullanıcının kod kitabına en yakın biçimde uyan o
anda bilinmeyen veya test edilmek istenen kişinin kodkelimeleridir.
12948 örnekleme nokta sayısı ile yapılan testte 13 doğru tanımlama ile %65 lik bir
doğru bilme performansı bulunmuşken, algoritmanın çalışması için ne kadar işlemci
zamanı geçmiş diye işlemci üzerine algoritmanın getirdiği yük üzerinde de bilgi sahibi
olunmaktadır. Bu durumda yaklaşık 0.3 saniye işlemci zamanı harcanmıştır.(Şekil 4.6)
Şekil 4.6: 12948 örnek için erkek denekte elde edilen performans sonucu
32
25896 örnekleme nokta sayısı gözönüne alınarak yapılan testte ise 18 doğru sonuca
ulaşılmış dolayısıyla %90 tanıma başarısı elde edilmiş ve 0,33 sn işlemci zamanı
harcanmış.(Şekil 4.8)
Şekil 4.7’de 25896 nokta için yapılmış test sonucu kodkitapları ve kodkelimelerinin
durumları gösterilmektedir.
Şekil 4.7: 25896 nokta için erkek denekten alınan VT’na göre ve bilinmeyen denekten alınan sesin Kod Kitapları(centroidleri)
33
Şekil 4.8: 25896 örnek için erkek denekte elde edilen performans sonucu
38844 örnekleme nokta sayısı gözönüne alınarak yapılan testte ise 16 doğru sonuca
ulaşılmış dolayısıyla %80 tanıma başarısı elde edilmiş ve 0,33 sn işlemci zamanı
harcanmış.(Şekil 4.10)
Şekil 4.9’da 38884 nokta için yapılmış test sonucu kodkitapları ve kodkelimelerinin
durumları gösterilmektedir.
34
Şekil 4.9: 38844 nokta için erkek denekten alınan VT’na göre ve bilinmeyen denekten alınan sesin Kod Kitapları(centroidleri)
Şekil 4.10: 38844 örnek için erkek denekte elde edilen performans sonucu
35
2. Ardından bayan bir denek alınarak 12948 nokta için testi yapılmıştır. Fakat bayan
seslerinde algoritma daha çok zorlanmış ve daha fazla deneme gerekmiştir. 50 deneme
sonucu 29 adedinde doğru sonuç bulunmuştur. Dolayısıyla %58 başarı ile test
tamamlanmış ve 0.52 sn işlemci zamanı harcanmıştır. Şekil 4.12’de program çıktısı
verilmiştir.
Şekil 4.11: 12948 nokta için bayan denekten alınan VT’na göre ve bilinmeyen denekten alınan sesin Kod Kitapları(centroidleri)
36
Şekil 4.12: 12948 örnek için bayan denekte elde edilen performans sonucu
25896 örnekleme nokta sayısı gözönüne alınarak yapılan testte ise 31 doğru sonuca
ulaşılmış dolayısıyla %62 tanıma başarısı elde edilmiş ve 0,75 sn işlemci zamanı
harcanmış.(Şekil 4.14)
Şekil 4.13’de 25896 nokta için yapılmış test sonucu kodkitapları ve kodkelimelerinin
durumları gösterilmektedir.
37
Şekil 4.13: 25896 nokta için bayan denekten alınan VT’na göre ve bilinmeyen denekten alınan sesin Kod Kitapları(centroidleri)
Şekil 4.14: 25896 örnek için bayan denekte elde edilen performans sonucu
38
38844 örnekleme nokta sayısı gözönüne alınarak yapılan testte ise 30 doğru sonuca
ulaşılmış dolayısıyla %60 tanıma başarısı elde edilmiş ve 0,33 sn işlemci zamanı
harcanmış.(Şekil 4.16)
Şekil 4.15’te 25896 nokta için yapılmış test sonucu kodkitapları ve kodkelimelerinin
durumları gösterilmektedir.
Şekil 4.15: 38844 nokta için bayan denekten alınan VT’na göre ve bilinmeyen denekten alınan sesin Kod Kitapları(centroidleri)
39
Şekil 4.16: 38844 örnek için bayan denekte elde edilen performans sonucu
Nokta
Sayısı
Deneğin
Cinsiyeti
Başarı oranı(%) Harcanan
İşlemci
Zamanı(sn)
12948 Erkek 65 0.3
12948 Kadın 58 0.52
25896 Erkek 90 0.33
25896 Kadın 62 0.75
38844 Erkek 80 0.33
38844 Kadın 60 0.33
Tablo 4.1: Elde Edilen Performans Sonuçlarını Gösteren Tablo
40
Şekil 4.17’de elde edilen performans sonuçlarının tablo ile gösterimi, Şekil 4.18 ile
Tablo 4.1’de ise sırasıyla başarı oranı ve harcanan işlemci zamanı gösterilmektedir.
Şekil 4.19’da da kaynakçada refere edilmiş çalışmalar ile tezdeki çalışmanın yüzde
olarak başarı oranları karşılaştırılmıştır.
Şekil 4.17: Yüzde Olarak Başarı Oranının Grafiksel Gösterimi
Şekil 4.18: Her Testte Harcanan İşlemci Zamanının Grafiksel Gösterimi
Şekil 4.19: Güncel Çalışmalar ile Tezdeki Simülasyonun Karşılaştırılması
0102030405060708090
12948 25896 38844
ErkekBayan
00,10,20,30,40,50,60,70,8
12948 25896 38844
ErkekBayan
80
85
90
95
100
[10][11][12]Tez
41
5. TARTIŞMA VE SONUÇ
Sonuçlardan da görüldüğü gibi, ses tanıma konusu uygulanmasında incelenen
çalışmalarda başarı oranını yüksek tutmanın zor olduğu görülmüştür. Özellikle bizim
tezimizde çalıştığımız metinden bağımsız konuşmacı belirleme çok değişik
parametrelerden etkilenmektedir. Çünkü kişiyi tanımak için kişinin sesinin sadece
spektral özelliklerine bakılmaktadır. Metine bağımlı konuşmacı tanıma uygulamalarının
başarı oranının daha yüksek olduğu görülmüştür çünkü ayrıca her kişinin bilmesi ve
sesiyle telaffuz etmesi gereken bir de şifre vardır. İki ayrı kontrol şansı bulunmaktadır.
Ayrıca konuşmacı belirlemenin konuşmacı doğrulamaya göre bir avantajı vardır, bu
avantajı da konuşmacı doğrulama işleminde bir sürü kişi içinden o kişiyi tanıma değil
de, bu şu kişidir veya şu kişi değildir gibi mantıksal bir karar verme mekanizması
olmasıdır.
İşlemci kullanma süresi bakımından genelde ne kadar fazla nokta işlenmişse ve ne kadar
fazla test yapılmışsa o kadar fazla işlemci kullanılmaktadır. Ama genelde bu farkların
çok belirleyici olmadığı görülmüştür.
Sonuçlardan gördüğümüz kadarıyla en iyi tanıma hem erkek deneklerde hem de bayan
deneklerde 25896 örnekleme nokta sayısı kullanarak bulunmuştur. Belki daha spesifik
bir değer zamanla ve çalışmaları geliştirerek bulunabilir.
Sonuçlardan gözlemlediğimiz bir başka gerçek MFCC algoritmasının bayan seslerinde
daha fazla zorlanması olmuştur. Böyle bir sonuca incelediğimiz çalışmalarda
rastlanmamıştır.
Her ne kadar metinden bağımsız bir uygulama tasarlasak ta sesin spektral
özelliklerinden yararlandığımız için kullanılan kelimelerdeki seslerin solunum yolunun
neresinde üretildiği gibi farklılıklar da kişiyi tanıma konusunda başarının düşmesinde
rol oynamıştır.
Ayrıca ses kaydının yapıldığı ortamın özellikleri de MFCC algoritması için gerçekten
performans yönünden çok belirleyici olduğu görülmüştür. Genellikle orta seviye
42
gürültünün olduğu ortamlarda kayıt(eğitim, öğretim) ve test yapıldığı için performans
olumsuz etkilenmiştir. MFCC algoritmasının zaten gürültülü ortamda performansının
düşük olduğu durumlara incelenen çalışmalarda rastlanmıştır.
Kayıt ve test ortamının gürültüsüz olmasının yanında kayıt cihazlarının da kalite
farkının performansta çok belirleyici olduğu görülmüştür. Özellikle kullandığımız
sistemin ses kartının ve kullandığımız mikrofonun farklılıklarının ve yüksek kaliteli
olmayışının da özellikle bu cihazlar kalitesiz kullanıldığında performansı düşürdüğü
görülmüştür.
Bu konunun oldukça yeni ve gelişmeye açık bir dal olduğu görülmüştür. Daha gelişmiş
ve ortam değişkenlerini minimuma indirerek, performansı etkileyecek etkenlerden
kurtulabilen algoritmalar ile daha düşük hata payıyla sonuca gidilebilir. Yukarıda
belirtilen problemler minimuma indirilebilirse kesinlikle çok güçlü ve sağlam sistemler
dizayn edilebilir.
Gelecekte, Konuşmacı Tanıma konusu özellikle güvenlik sistemlerinde daha yoğun
kullanılması muhtemeldir. Suçluların analizinde özellikle diğer parametrelerin (özellikle
bir görüntü, dna testi yapılabilecek herhangi bir materyal vs.) olmadığı ve kişinin
sesinin bulunabildiği bir ortamda yine yoğun olarak kullanılabilir. Yeni geliştirilecek
algoritmalarla hiç şüpheye yer bırakmayacak şekilde %100’e yakın başarı elde
edilebilir.
43
KAYNAKLAR
1. QUATIERI, T. F., 2002, Discrete-time Speech Processing: Principles and Practice, Prentice Hall PTR, Upper Saddle River NJ USA, ISBN: 0-13-242942-X
2. CAMPBELL, Joseph P. Jr., 1997, Speaker Recognition: A Tutorial, Proceedings of IEEE, Vol. 85, No. 9, 1437-1462
3. NAIK, J., 1990, Speaker Verification: A Tutorial, IEEE Commun.Mag., Vol. 28, 42–48
4. CAMPBELL, Joseph P. Jr., 1995, Testing with the YOHO CD-ROM Voice Verification Corpus, Proc. IEEE Int. Conf. Acoustics, Speech,and Signal Processing, Detroit, Miami, 1995, 341–344
5. GISH, H.,ve SCHMIDT, M., 1994, Text-independent Speaker Identification, IEEE Signal Processing Mag., Vol. 11, 18–32
6. REYNOLDS, D., ve ROSE, R., 1995, Robust Text-independent Speaker Identification Using Gaussian Mixture Speaker Models, IEEE Trans. Speech Audio Processing, Vol. 3(1), 72–83
7. DODDINGTON, G. R., 1985, Speaker Recognition—Identifying People by Their Voices, Proc. IEEE, Vol. 73, 1651–1664
8. PAPCUN, G., 1997, Commensurability Among Biometric Systems: How to Know When Three Apples Probably Equals Seven Oranges, Proc. Biometric Consortium, 9th Meeting, Apr. 8–9, 1997 Crystal City, VA, J. Campbell, Ed
9. FLANAGAN, J. L., 1972, Speech Analysis Synthesis and Perception 2nd Edition, Springer-Verlag, New York
10. FAN, N. ve ROSCA J., 2003, Enhanced VQ-based Algorithms for Speech Independent Speaker Identification, AVBPA 2003, Guildford, UK, June 9-11, 2003
11. SAETA, J. R., KOECLING, C., HERNANDO, J., 2001, A VQ Speaker Identification System in Car Environment for Personalized Infotainment, 2001: A Speaker Odyssey - The Speaker Recognition Workshop, June18-22 2001, Crete-Greece
12. PAN, Y. ve WAIBEL, A., 2000, The Effects of Room Acoustics on MFCC Speech Parameter, Sixth International Conference on Spoken Language Processing (ICSLP 2000), October 16-20, 2000, Beijing-China
13. RABINER, L. R. ve JUANG, B. H., 1993, Fundamentals of Speech Recognition, Prentice-Hall, Englewood Cliffs, N.J., ISBN: 0-13-015157-2
44
14. RABINER, L. R. ve SCHAFER, R.W., 1978, Digital Processing of Speech Signals, Prentice-Hall, Englewood Cliffs, N.J., ISBN: 0-13-213603-1
15. FURUI, S., 1994, An Overview of Speaker Recognition Technology, ESCA Workshop on Automatic Speaker Recognition, Identification and Verification, ESCA 94, pp.1-9
16. SONG, F., K., ROSENBERG, A. E., JUANG, B. H., 1987, A Vector Quantization Approach to Speaker Recognition, AT&T Technical Journal, Vol.66-2, pp.14-26
17. LINDE, Y., BUZO, A., GRAY, R., 1980, An Algorithm for Vector Quantizer Design, IEEE Transactions on Communications, Vol.28, pp.84-95
45
ÖZGEÇMİŞ
12 Ocak 1975 tarihinde İstanbul’da doğdu. İlk öğrenimini Yeşilköy Halil Vedat
Pansiyonlu İlkokulunda sürdürdükten sonra orta ve lise öğrenimini Özel Saint Benoit
Fransız Kolejinde 1993 yılında bitirdi. 1994 senesinde, İstanbul Üniversitesi
Mühendislik Fakültesi Bilgisayar Bilimleri Mühendisliği Bölümünde lisans öğrenimine
başlayıp 1998 yılında mezun oldu. 2000-2001 yılları arasında vatani görevini
MSB.ASAL.Afyon Askerlik Dairesinde, Bilgisayar İşletim Kısım Amiri olarak yerine
getirirken, 4 ildeki Askerlik Şubelerinin bilgi işlem işlerini yönetti. Döndükten sonra bir
süre elektronik güvenlik sistemleri sektöründe çalıştı. 2003 senesinde İstanbul
Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümünde yüksek lisans
eğitimine başladı. 2004 senesinde Araş.Gör kadrosuna atandı. Hala bu görevi
sürdürmektedir.