87
UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Nejc Pušnik GLASOVNA KLJUČAVNICA NA PLATFORMI RASPBERRY Pi Magistrsko delo Maribor, julij 2017

GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

UNIVERZA V MARIBORU

FAKULTETA ZA ELEKTROTEHNIKO,

RAČUNALNIŠTVO IN INFORMATIKO

Nejc Pušnik

GLASOVNA KLJUČAVNICA NA PLATFORMI RASPBERRY Pi

Magistrsko delo

Maribor, julij 2017

Page 2: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

UNIVERZA V MARIBORU

FAKULTETA ZA ELEKTROTEHNIKO,

RAČUNALNIŠTVO IN INFORMATIKO

Nejc Pušnik

GLASOVNA KLJUČAVNICA NA PLATFORMI RASPBERRY Pi

Magistrsko delo

Maribor, julij 2017

Page 3: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

i

GLASOVNA KLJUČAVNICA NA PLATFORMI RASPBERRY Pi

Magistrsko delo

Študent: Nejc Pušnik

Študijski program: študijski program 2. stopnje

Računalništvo in informacijske tehnologije

Smer: /

Mentor: red. prof. dr. Aleš Holobar

Lektorica: Ksenija Pečnik, prof. slov. j.

Page 4: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

ii

Page 5: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

iii

Zahvala

Zahvaljujem se svojemu mentorju red. prof. dr. Alešu Holobarju za strokovno svetovanje, potrpežljivost in spodbudo pri nastajanju magistrskega dela.

Iskrena hvala tudi družini in dekletu za vso podporo in spodbudo med študijem. Posebna zahvala gre stricu Robertu za pomoč in svetovanje pri izdelavi lesenega

predala.

Page 6: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

iv

Glasovna ključavnica na platformi Raspberry Pi

Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

koeficienti melodičnega kepstruma.

UDK: 004.357:004.934.8'1(043.2)

Povzetek

V magistrskem delu smo izdelali glasovno ključavnico na platformi Raspberry Pi. V

programskem jeziku Java smo izdelali program, ki s pomočjo mikrofona zajema zvočni

signal in iz njega izlušči koeficiente melodičnega kepstruma. Nato smo na podlagi razdalje,

izračunane z algoritmom dinamičnega časovnega prileganja, med seboj primerjali in

klasificirali posnetke izgovorjave 49 slovenskih besed sedmih različnih oseb. Analizirali smo

vpliv števila koeficientov melodičnega kepstruma, dolžine izgovorjene besede, števila

samoglasnikov v izgovorjeni besedi, spola govorcev in šuma. Pri posnetkih z razmerjem

signal–šum 25 dB je najmanjša dobljena napaka razpoznave znašala 9,45 %, pri posnetkih

z razmerjem signal–šum 15 dB pa približno 26,97 %.

Page 7: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

v

Voice Lock on Raspberry Pi Platform

Keywords: Voice lock, Raspberry Pi, dynamic time warping, mel frequency cepstral

coefficient.

UDK: 004.357:004.934.8'1(043.2)

Abstract

In the master's thesis, we created a voice lock on the Raspberry Pi platform. In the Java

programming language, we created a program that uses a microphone to capture an

acoustic signal and extracts the Mel-frequency cepstral coefficients from it. Then, on the

basis of the distance, calculated by the dynamic time-matching algorithm, we compared

and classified the recordings of the pronunciation of 49 Slovene words by seven different

people. We analysed the influence of the number of Mel-frequency cepstral coefficients, the

length of the spoken word, the number of vowels in the spoken word, speaker’s gender and

noise. For the recordings with a signal-to-noise ratio of 25 dB the minimum detection error

was 9.45%, whereas for the recordings with a signal-to-noise ratio of 15 dB detection error

increased to 26.97%.

Page 8: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

vi

KAZALO

1 UVOD ................................................................................................................ 1

2 STANJE TEHNIKE ................................................................................................ 3

2.1 Razpoznava govorcev ......................................................................................... 3

2.1.1 Značilnice ................................................................................................................... 3

2.1.2 Klasifikacijske metode................................................................................................ 4

2.2 Pregled uspešnosti uporabe raznih metod razpoznave govorcev ......................... 5

2.3 Obstoječe rešitve ............................................................................................... 7

2.4 Platforma Raspberry Pi ....................................................................................... 8

3 ZASNOVA REŠITVE IN IMPELEMNTACIJA .......................................................... 12

3.1 Detekcija govora .............................................................................................. 12

3.1.1 Energija signala ........................................................................................................ 13

3.1.2 Hammingovo okno ................................................................................................... 13

3.1.3 Število prehodov skozi ničlo .................................................................................... 14

3.2 Koeficienti melodičnega kepstruma .................................................................. 14

3.2.1 Predobdelava signala ............................................................................................... 15

3.2.2 Okenska funkcija ...................................................................................................... 15

3.2.3 Fourierova transformacija in filter Mel ................................................................... 16

3.2.4 Diskretna kosinusna transformacija ........................................................................ 16

3.2.5 Delta in delta-delta .................................................................................................. 17

3.2.6 Primer koeficientov MFCC ....................................................................................... 17

3.3 Dinamično časovno prileganje .......................................................................... 19

3.4 Implementacija glasovne ključavnice na Raspberry Pi ....................................... 25

3.4.1 Raspbian ................................................................................................................... 25

3.4.2 Java .......................................................................................................................... 26

3.4.3 Knjižnica TarsosDSP ................................................................................................. 27

3.4.4 Knjižnica Pi4J ............................................................................................................ 29

Page 9: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

vii

3.5 Strojna oprema ................................................................................................ 30

3.5.1 LED-diode ................................................................................................................. 30

3.5.2 Gumb ....................................................................................................................... 30

3.5.3 Mikrofon USB ........................................................................................................... 31

3.5.4 Elektromagnetni zapah ............................................................................................ 31

3.5.5 Električna shema ...................................................................................................... 31

3.6 Implementacija klasifikacije ............................................................................. 32

3.6.1 Model govorca ......................................................................................................... 32

3.6.2 Inicializacija in pridobivanje zvočnih posnetkov ...................................................... 33

3.6.3 Obdelava zvočnega signala ...................................................................................... 34

3.6.4 VNEProcessor ........................................................................................................... 35

3.6.5 Upravljanje z GPIO ................................................................................................... 36

4 ANALIZA REŠITVE ............................................................................................. 38

4.1 Zasnova meritev ............................................................................................... 38

4.2 Vpliv števila MFCC-koeficientov ........................................................................ 41

4.3 Beli šum ........................................................................................................... 46

4.4 Vpliv samoglasnikov ......................................................................................... 52

4.5 Vpliv dolžine besed na uspešnost klasifikacije ................................................... 54

4.6 Vpliv spola govorca .......................................................................................... 59

4.7 Časovna in prostorska zahtevnost .................................................................... 61

5 ZAKLJUČEK ...................................................................................................... 65

6 VIRI ................................................................................................................. 67

Page 10: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

viii

KAZALO SLIK

SLIKA 1.1: IDENTIFIKACIJA IN VERIFIKACIJA GOVORCA. POVZETO PO [15]. .............................................. 1

SLIKA 2.1: RASPBERRY PI 1, MODEL B. ........................................................................................... 9

SLIKA 3.1: SIGNAL PRED DETEKCIJO GOVORA. ................................................................................. 12

SLIKA 3.2: SIGNAL PO DETEKCIJI GOVORA. ..................................................................................... 13

SLIKA 3.3: HAMMINGOVO OKNO V ČASOVNI IN FREKVENČNI DOMENI. ................................................. 14

SLIKA 3.4: DIAGRAM POTEKA IZRAČUNA KOEFICIENTOV MFCC. ......................................................... 15

SLIKA 3.5: AMPLITUDE SPEKTRALNIH KARAKTERISTIK FILTROV MEL. AMPLITUDE POSAMEZNEGA FILTRA SO

TRIKOTNE OBLIKE. .............................................................................................................. 16

SLIKA 3.6: SPEKTROGRAM 15 KOEFICIENTOV MFCC ZA BESEDO »GORA«............................................ 18

SLIKA 3.7: RAZLIKE MED KOEFICIENTI MFCC RAZLIČNIH GOVORCEV PRI IZGOVORJAVI BESEDE »GORA«. CELICE

TEMNO MODRE IN RDEČE BARVE PREDSTAVLJAJO VEČJE RAZLIKE MED ISTO LEŽEČIMI KOEFICIENTI KOT

TISTE SVETLO MODRE BARVE. ............................................................................................... 19

SLIKA 3.8: DINAMIČNO ČASOVNO PRILEGANJE. POVZETO PO [30]. ..................................................... 20

SLIKA 3.9: KOEFICIENTI MFCC BESEDE »GORA« ZA DVE OSEBI. PUŠČICE MED STOLPCI MATRIK

PREDSTAVLJAJO ENO IZMED MOŽNIH PORAVNAV Z DTW. ZA VEČJO PREGLEDNOST SMO UPORABILI LE

PRVIH 5 OKEN. .................................................................................................................. 21

SLIKA 3.10: STROŠKOVNA MATRIKA MED OSEBO1 IN OSEBO2 PRI IZGOVORJAVI BESEDE »ALI«. TEMNEJŠA

KOT JE BARVA MATRIKE, MANJŠA JE RAZDALJA MED IZBRANIMA TOČKAMA. RDEČA ČRTA PREDSTAVLJA

OPTIMALNO POT PRILEGANJA. .............................................................................................. 23

SLIKA 3.11: VELJAVNA POT PRILEGANJA. POVZETO PO [30]. ............................................................. 24

SLIKA 3.12: NEUPOŠTEVANJE POGOJA MEJE. POVZETO PO [30]. ....................................................... 24

SLIKA 3.13: NEUPOŠTEVANJE POGOJA MONOTONOSTI. POVZETO PO [30]. .......................................... 24

SLIKA 3.14: NEUPOŠTEVANJE VELIKOSTI KORAKA. POVZETO PO [30]. ................................................ 24

SLIKA 3.15: VIDEZ OPERACIJSKEGA SISTEMA RASPBIAN. ................................................................... 26

SLIKA 3.16: PROCES DELOVANJA KNJIŽNICE TARSOSDSP. POVZETO PO [41]. ....................................... 28

SLIKA 3.17: RAZPORED DIGITALNIH LINIJ NA RASPBERRY PI B. RUMENO OBARVANE LINIJE SMO UPORABILI ZA

LED-DIODE, SIVO ZA GUMB IN MODRO ZA ZAPAH. OZEMLJITEV IN NAPAJANJE STA OBARVANA ČRNO IN

RDEČE. POVZETO PO [38]. .................................................................................................. 29

Page 11: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

ix

SLIKA 3.18: LED-DIODE, UPORABLJENE ZA MAGISTRSKO DELO. .......................................................... 30

SLIKA 3.19: MIKRO GUMB. ........................................................................................................ 31

SLIKA 3.20: UPORABLJENI ELEKTROMAGNETNI ZAPAH UXCELL DC 4.5V SOLENOID ELECTROMAGNET. ...... 31

SLIKA 3.21: SHEMA ELEKTRIČNIH KOMPONENT. .............................................................................. 32

SLIKA 3.22: METODA TRYUNLOCK RAZREDA SPEAKERMODEL. .......................................................... 33

SLIKA 3.23: METODA RECORDANDEXTRACT RAZREDA KEYHOLE. ....................................................... 34

SLIKA 3.24: METODA PROCESS RAZREDA VNEPROCESSOR. .............................................................. 36

SLIKA 3.25: IZSEK PROGRAMSKE KODE ZA INICIALIZACIJO LINIJ GPIO. LINIJE GPIO_0, GPIO_1 IN GPIO_2

SKRBIJO ZA PRIŽIGANJE IN UGAŠANJE LED-DIOD. Z LINIJO GPIO_3 PREVERJAMO, ALI JE UPORABNIK

PRITISNIL GUMB, LINIJA GPIO_4 PA SKRBI ZA UPRAVLJANJE S KLJUČAVNICO. ................................. 37

SLIKA 3.26: IZSEK KODE ZA VKLOP IN IZKLOP LED DIOD. ................................................................... 37

SLIKA 4.1: PROTOTIP GLASOVNE KLJUČAVNICE, UPORABLJEN ZA SNEMANJE. ......................................... 38

SLIKA 4.2: POLOŽAJ PRI SNEMANJU SEJE 1 IN 2. .............................................................................. 39

SLIKA 4.3: SNEMANJE SEJE 3. ...................................................................................................... 39

SLIKA 4.4: BESEDA »GORA« BREZ DODANEGA ŠUMA. ...................................................................... 47

SLIKA 4.5: BESEDA »GORA« Z DODANIM BELIM ŠUMOM (SNRDB 20 DB). ........................................... 47

SLIKA 4.6: BESEDA »GORA« Z DODANIM BELIM ŠUMOM (SNRDB 15 DB). ........................................... 48

SLIKA 4.7: BESEDA »GORA« Z DODANIM BELIM ŠUMOM (SNRDB 10 DB). ........................................... 48

SLIKA 4.8: BESEDA »GORA« Z DODANIM BELIM ŠUMOM (SNRDB 5 DB). ............................................. 49

KAZALO TABEL

TABELA 2.1: VSI MODELI RASPBERRY PI IN NJIHOVE SPECIFIKACIJE. ..................................................... 10

TABELA 4.1: VPLIV ŠTEVILA MFCC-KOEFICIENTOV NA POVPREČNO VREDNOST METRIKE EER (± STANDARDNA

DEVIACIJA). ...................................................................................................................... 41

TABELA 4.2: VPLIV ŠTEVILA MFCC-KOEFICIENTOV NA POVPREČNO VREDNOST METRIKE EER (± STANDARDNA

DEVIACIJA). ...................................................................................................................... 41

TABELA 4.3: POVPREČNA USPEŠNOST KLASIFIKACIJE (± STANDARDNA DEVIACIJA) PRI DODAJANJU BELEGA

ŠUMA UČNI MNOŽICI. ......................................................................................................... 49

Page 12: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

x

TABELA 4.4: POVPREČNA USPEŠNOST KLASIFIKACIJE (± STANDARDNA DEVIACIJA) PRI DODAJANJU BELEGA

ŠUMA TESTNI MNOŽICI. ....................................................................................................... 50

TABELA 4.5: BESEDE, UPORABLJENE ZA ANALIZO VPLIVA SAMOGLASNIKOV. .......................................... 52

TABELA 4.6: POVPREČNA USPEŠNOST (± STANDARDNA DEVIACIJA) KLASIFIKACIJE BESED Z RAZLIČNIM

ŠTEVILOM SAMOGLASNIKOV. ................................................................................................ 53

TABELA 4.7: BESEDE UPORABLJENE ZA ANALIZO VPLIVA DOLŽINE BESEDE ............................................. 54

TABELA 4.8: POVPREČNA VREDNOST EER (± STANDARDNA DEVIACIJA) BESED Z DVEMA SAMOGLASNIKOMA.

...................................................................................................................................... 55

TABELA 4.9: POVPREČNA VREDNOST EER (± STANDARDNA DEVIACIJA) VSEH BESED. .............................. 55

TABELA 4.10: POVPREČNE VREDNOSTI EER (± STANDARDNA DEVIACIJA) PRI UPORABI SAMO ŽENSKIH ALI

SAMO MOŠKIH GOVORCEV V UČNI MNOŽICI. ............................................................................ 59

TABELA 4.11: SPECIFIKACIJE OSEBNEGA RAČUNALNIKA IN RAČUNALNIKA RASPBERRY PI, NA KATERIH SMO

IZVAJALI MERITVE............................................................................................................... 62

TABELA 4.12: ČAS IZVAJANJA, KI ZAJEMA INICIALIZACIJO, USTVARJANJE UČNEGA MODELA IN TESTIRANJE

ENEGA VZORCA. ................................................................................................................ 62

TABELA 4.13: ČASOVNE MERITVE ZA PREPOZNAVO ENEGA VZORCA. ................................................... 63

TABELA 4.14: PORABA POMNILNIKA PRI KLASIFIKACIJI ENEGA VZORCA. ................................................ 63

Page 13: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

1

1 UVOD

Glavni namen govora je komunikacija med ljudmi. Iz govora lahko poleg besed izluščimo še

mnogo drugih koristnih informacij. Te informacije nam razkrivajo spol govorcev, čustva, ki

jih izražajo, jezik v katerem pogovor teče, in identiteto govorcev. Razpoznava govorcev

(angl. speaker recognition) je torej področje, ki se ukvarja z identifikacijo in verifikacijo

govorcev s pomočjo informacij, pridobljenih iz zvočnega signala [9, 35]. Pozorni moramo

biti, da razpoznave govorcev ne zamenjamo z razpoznavo govora (angl. speech recognition),

ki se ukvarja z razpoznavo izgovorjenih besed.

Razpoznavo govorcev delimo na besedilno odvisno in neodvisno [9, 35]. Besedilno

neodvisni sistemi niso odvisni od izgovorjenih besed govorca, zato je razpoznavo govorcev

mogoče izvajati na spontanem govoru. Pri besedilno odvisni razpoznavi govorcev sistem

pričakuje točno določene besede, ki jih imenujemo tudi gesla [35]. Ravno zaradi poznanega

gesla takšni sistemi beležijo večjo uspešnost kot besedilno neodvisni sistemi.

Glede na način uporabe razpoznave govorcev poznamo identifikacijo in verifikacijo

govorcev (slika 1.1). Identifikacija je postopek, v katerem vsakemu govorcu pripišemo

identiteto iz zaprte množice možnih identitet [7, 9, 35]. Verifikacija govorca je proces, ki s

pomočjo glasovnih značilnosti preveri, ali je oseba res tista, za katero se izdaja. Verifikacija

govorcev kot rezultat vrne odločitev da ali ne, ki jo nato lahko uporabimo za razne

varnostne sisteme [7, 9, 35].

Slika 1.1: Identifikacija in verifikacija govorca. Povzeto po [15].

Page 14: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

2

Na temo razpoznave govorcev obstaja že veliko raziskav [7, 35]. Pristopi k reševanju tega

problema segajo od enostavne primerjave dveh vzorcev [35], uporabe dinamičnega

časovnega prileganja [21, 28, 29, 30], uporabe različnih nevronskih mrež [7, 14, 35, 48] do

skritih modelov Markova [7, 14, 21, 35].

Namen magistrskega dela je pokazati, da lahko z uporabo ustreznih algoritmov in metod

kljub omejitvam strojne opreme na izbrani platformi (700 MHz enojedrni procesor ARM in

512 MB glavnega pomnilnika) uspešno implementiramo sistem za biometrično ključavnico.

Tak sistem naj bi bil cenovno ugoden in uporaben za široko paleto stvari iz vsakdanjega

življenja.

Magistrsko delo je razdeljeno na pet poglavij. V poglavju, ki sledi uvodu, pregledamo

literaturo in opišemo glavne lastnosti najbolj priljubljenih metod in algoritmov na področju

prepoznave govorcev. Ker je sestaven del našega magistrskega dela tudi platforma

Raspberry Pi, jo predstavimo in opišemo. Na koncu drugega poglavja predstavimo

obstoječe rešitve za prepoznavo govorcev. V tretjem poglavju opišemo izbrane algoritme,

knjižnice in strojno opremo, ki smo jih uporabili za izdelavo glasovne ključavnice. V četrtem

poglavju s pomočjo lastne zbirke posnetkov opravimo analizo svoje rešitve. Zadnje poglavje

vsebuje analizo in razpravo o dobljenih rezultatih, navaja možne izboljšave in poda sklepno

misel.

Page 15: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

3

2 STANJE TEHNIKE

2.1 Razpoznava govorcev

2.1.1 Značilnice

Zvočni signal vsebuje ogromno podatkov, ki jih je neobdelane zelo potratno procesirati.

Večina postopkov za razpoznavo govorcev in tudi razpoznavo govora uporablja različne

metode za ekstrakcijo značilnic (angl. feature extraction) [35, 49]. Z ekstrakcijo značilnic iz

signala izluščimo pomembne in zavržemo vse nepotrebne in redundantne informacije.

Poznamo več metod za ekstrakcijo značilnic, najpogosteje omenjene pa so [9, 14, 49]:

linearno prediktivno kodiranje (angl. linear predictive coding, LPC). Linearno

prediktivno kodiranje računa koeficiente na podlagi predhodnih vzorcev, od tod

tudi ime. Z računsko nezahtevnim postopkom iz zvočnega signala odstrani obrazila,

nato oceni intenziteto in frekvenco preostalega signala. Uporablja se tudi za sintezo

govora in v algoritmih za kodiranje zvoka [9, 14, 44];

koeficienti melodičnega kepstra (angl. Mel-frequency cepstral coefficients, MFCC)

so uspešna in pogosto uporabljena metoda, saj poskušajo posnemati človeško

zaznavo zvoka. Uporabljajo tako imenovano skalo Mel: do 1000 Hz je skala linearna,

nato pa logaritmična. Koeficientom MFCC se pogosto dodajo še delta in delta-delta

koeficienti, ki opisujejo spreminjanje koeficientov MFCC skozi čas [9, 10, 14, 29];

koeficienti zaznave linearne predikcije kepstra (angl. perceptual linear prediction

cepstral, PLP) temeljijo na magnitudi spektra in so nastali kot poskus izboljšave

metode LPL. So robustnejši od metode LPL in poleg MFCC ena izmed bolj

uporabljenih metod [9, 20];

metoda i-vektorjev. S pomočjo faktorske analize iz posnetka dobimo vektor

značilnic z majhnim številom dimenzij, ki je neodvisen od dolžine samega posnetka.

Z namenom izboljšane učinkovitosti se ta metoda pogosto uporablja v kombinaciji

z različnimi statističnimi metodami, kot sta linearna diskriminantna analiza (angl.

linear discriminant analysis) in verjetnostna linearna diskriminantna analiza (angl.

probabilistic linear discriminant analysis) [13].

Page 16: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

4

2.1.2 Klasifikacijske metode

V literaturi zasledimo večje število klasifikacijskih metod, ki se uporabljajo na področju

razpoznavanja govorcev:

1. Nevronske mreže srečujemo večinoma na področju umetne inteligence, vendar se

uporabljajo tudi za razpoznavo govorcev. Lahko jih uporabimo na več načinov: kot

metodo za ekstrakcijo značilnic iz posnetkov, kot klasifikator, ki na vhod sprejme

enega ali več vektorjev značilnic (MFCC, LPC itd.) ali pa kot celovit sistem za

klasifikacijo govorcev (zvočni signal je vhod v nevronsko mrežo) [48]. Nevronska

mreža poskuša posnemati delovanje človeških možganov, zato enako kot možgani

uporablja nevrone oziroma vozlišča, ki imajo svoje vhode, prenosno funkcijo in

izhod. Pomanjkljivost nevronskih mrež je, da jih je treba učiti, za kar pa je potreben

čas in veliko podatkov [35, 48].

2. Vektorska kvantizacija je metoda, katere osnovni princip je gručenje vektorjev.

Uporablja tako imenovano kodno knjigo (angl. code book), kjer so shranjene

povprečne vrednosti vsake gruče vektorjev in njihov indeks. Za vsak nov vektor se

izračuna oddaljenost do vseh gruč, nato pa se vektor doda najbližji gruči in se

izračuna nova povprečna vrednost gruče. Tako lahko več vektorjev, ki so med seboj

podobni, predstavimo z enim indeksom. Napako, ki nastaja zaradi razlike med

povprečno vrednostjo gruče in dejanskim vektorjem, imenujemo kvantizacijska

napaka. Za vsakega govorca je treba izdelati kodno knjigo, nato pa uporabimo

kvantizacijsko napako testnih vektorjev kot merilo za klasifikacijo [21].

3. Dinamično časovno prileganje (angl. dynamic time warping, DTW) temelji na

principu izračuna razdalje med dvema vektorjema [30, 35]. Za razliko od vektorske

kvantizacije je pomembno tudi časovno zaporedje vektorjev značilnic. Algoritem

DTW tako vrne razdaljo med testnim vektorjem in shranjenim vektorjem znanega

govorca. Na podlagi razdalje se odločimo, ali je govorec pristen ali ne. Algoritem

poskuša sam optimizirati razdaljo med vektorjema tako, da ju primerja na različnih

mestih. Ta lastnost je zelo praktična, saj dva posnetka iste besede nista nikoli

popolnoma enaka [21].

4. Gaussov mešalni model je ena izmed bolj priljubljenih metod klasifikacije,

predvsem pri besedilno neodvisni razpoznavi govorcev [21, 36]. Metodo si lahko

predstavljamo podobno kot kodne knjige pri vektorski kvantizaciji. Namesto gruč,

ki so definirane s povprečjem vseh vektorjev v njej, uporabimo gostote verjetnosti

(angl. probabilty density functions, PDF) Gaussove porazdelitve. Največji izziv te

metode predstavlja ravno izbira ustreznih gostot verjetnosti. Tako bi v optimalnem

primeru po ena gostota verjetnosti zajemala vse vektorje posameznega razreda [21,

36].

Page 17: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

5

5. Skriti model Markova (angl. hidden Markov model, HMM) je sestavljen iz več

skritih, med seboj povezanih stanj, ki predstavljajo Markovo verigo [9]. Vsako stanje

predstavlja del izgovorjene besede. S pomočjo poznavanja trenutnega stanja in

statističnega modela lahko izračunamo verjetnost, da beseda pripada določenemu

razredu. Čeprav je metoda HMM zelo uspešna, je njena velika težava v tem, da

potrebuje veliko število učnih vzorcev za izgradnjo robustnega statističnega modela

[9, 21].

2.2 Pregled uspešnosti uporabe raznih metod razpoznave govorcev

Večina del na temo verifikacije govorcev je namenjena analizi telefonskih pogovorov.

Članek [53] pa se je osredotočil na verifikacijo govorcev na napravah VHF (angl. very high

frequency). Te se lahko uporabljajo za pomorsko komunikacijo ladij, komunikacijo med

letali in nadzornim stolpom ter kot FM-radio. V članku je omenjeno, da imajo takšni zvočni

posnetki mnogo več šuma kot posnetki telefonskih pogovorov. Za povečanje robustnosti

sistema so uporabili več različnih korpusov za učenje (lastne posnetke VHF, posnetke z iPad-

a, zasebno zbirko inštituta I2R [23] in bazo RSR2015 [37]). Sam sistem je bil sestavljen kot

fuzija treh različnih tehnik: Gaussovega mešalnega modela (angl. gaussian mixture model –

universal background model, GMM-UBM), metodo i-vektorjev in JFA (angl. joint factor

analysis). Vsi omenjeni sistemi so uporabili 57 koeficientov MFCC (vključno z značilnicami

delta in delta-delta). Verifikacijo so izvajali z dvema gesloma (imenom in ID-številko). Z

uporabo samo enega gesla je bila napaka sistema 14 % (ime) in 16 % (ID), ob združitvi obeh

gesel pa so napako zmanjšali na 11 % [53].

Že večkrat omenjena metoda i-vektorjev je trenutno zelo priljubljena pri besedilno

neodvisni verifikaciji govorca. Stafylakis in sodelavci [43] so želeli pokazati, da jo lahko

uporabimo tudi za besedilno odvisno verifikacijo. Metodo i-vektorjev, prilagojeno analizo

PLDA (angl. probabilistic linear discriminant analysis) in 60 koeficientov MFCC (vključno z

značilnicami delta in delta-delta) so preizkusili na korpusu RSR2015 [37]. Napake, ki so jih

dobili na treh različno prilagojenih analizah PLDA, so bile 2,99 %, 2,93 % in 1,71 %. V

zaključku raziskave so zapisali, da trenutno metodi i-vektorjev in PLDA nista dovolj uspešni,

da bi zamenjali enostavnejšo in uspešnejšo metodo GMM-UBM [43].

Page 18: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

6

Najdemo tudi članke, kjer metode i-vektorjev in PLDA niso modificirali za besedilno odvisno

verifikacijo. V članku iz leta 2013 [25] lahko zasledimo, da so sestavili sistem z 39 koeficienti

PLP (vključno z značilnicami delta in delta-delta), filtrom RASTA [19], normalizacijo CMS

[52], metodo PLDA in metodo i-vektorjev. Za učenje so uporabili korpus NIST-SRE 2004 in

2005 [31, 32], za testiranje pa RSR2015 [37]. Odločili so se, da se bodo osredotočili le na

posnetke moških oseb. V svojih testih so preizkusili tudi, kakšen vpliv ima uporaba več gesel

za verifikacijo. Z uporabo enega gesla je bila napaka 6,97 %, z dvema gesloma 4,09 %, s

tremi pa se je zmanjšala na 3,27 % [25].

Eno izmed novejših del o verifikaciji govorcev predlaga uporabo globokih nevronskih mrež

za izločitev značilnic, ki se nato uporabijo v GMM-UBM [48]. Avtorji članka so ta sistem

primerjali z metodo i-vektorjev. Prišli so do ugotovitve, da je njihov pristop dober, vendar

slabši od metode i-vektorjev, ki je sicer namenjena za besedilno-neodvisno prepoznavo

govorcev. Ugotovili so tudi, da dobijo najboljše rezultate, če združijo oba pristopa in s tem

napako zmanjšajo na okoli 2,4 % [48].

Viswanadham, Subrahmanyam in Priya [49] so v svojem članku uporabili metodo vektorske

kvantizacije. Kot vhod so uporabili 12 koeficientov MFCC, ki jih je vektorska kvantizacija s

pomočjo algoritma K-means nato klasificirala v ustrezne gruče. Takšen sistem je imel

napako 6 % [49].

Ena izmed težav, ki otežujejo verifikacijo govorcev, je, da je nemogoče posneti dva

popolnoma enaka zvoka. Pojavljajo se majhne razlike, ki nastajajo zaradi zvokov iz okolice,

šuma snemalne naprave, človeškega dejavnika in raznih bolezni ter poškodb vokalnega

trakta. Raziskovalca Ariyaeeinia in Sivakumaran [4] sta raziskovala, kako lahko zmanjšamo

vpliv teh dejavnikov. Ugotovila sta, da lahko s pomočjo neomejene kohortne normalizacije

[26] napako razpoznave pri metodi HMM zmanjšamo s 15 % na 8 % [4].

V literaturi najdemo tudi praktične primere uporabe verifikacije govorca. Wahyudi in

Syazilawati [51] sta verifikacijo govorca uporabila na računalniku, ki je bil povezan z

elektromagnetno ključavnico. Kot značilnice sta uporabila koeficiente PLP, za prepoznavo

oseb pa adaptivno mehko logiko (angl. adaptive network based fuzzy inference system,

Page 19: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

7

ANFIS). Teste sta izvedla na devetih osebah, sistem pa je bil naučen prepoznati tri osebe.

Prišla sta do ugotovitve, da je sistem primeren za uporabo v manj kritičnih varnostnih

sistemih, saj je napaka napačne zavrnitve znašala (angl. false rejection rate, FFR) okoli 14 %,

napaka napačne razpoznave (angl. false acceptance rate, FAR) pa 6,5 % [51].

2.3 Obstoječe rešitve

Namen magistrskega dela je izdelati celovito rešitev, ki se lahko uporabi za množico stvari

iz vsakdanjega življenja. Da bi to dosegli, smo se odločili, da verifikacijo govorca

implementiramo na platformi Raspberry Pi, ki jo lahko uporabimo praktično za vse, od

prižiganja in ugašanja hišnih luči [5], pošiljanja SMS-sporočil [5] do izdelave lastne igralne

konzole [5]. Z namenom, da bi ugotovili, kaj na tržišču že obstaja, smo izvedli kratek pregled

obstoječih rešitev.

Prvi mednarodni patent na temo verifikacije govorca je iz leta 1983 [8]. Patent je vložilo

podjetje CSELT (it. Centro Studi e Laboratori Telecomunicazioni), ki se je ukvarjalo z

raziskavami na področju telekomunikacij. Patent je bil temelj za mnogo drugih patentov na

področju razpoznave govorca in govora, saj je naveden v 29 drugih patentih [8].

Najdemo tudi podjetja, ki ponujajo celovite rešitve za glasovno verifikacijo. Podjetje

Nuance ponuja svoj izdelek VocalPassword [33], ki omogoča verifikacijo govorca prek

spleta, mobilne aplikacije ali telefonskega pogovora. Izdelek je namenjen predvsem

podjetjem iz finančnega sektorja (banke, borze), telekomunikacijskim podjetjem in javni

upravi. Za vzpostavitev sistema mora uporabnik ob prvi uporabi trikrat ponoviti izbrano

geslo, ki se nato shrani na njihov strežnik. Ob vsaki prijavi v sistem se izgovorjeno geslo

primerja s shranjenim in z bazo znanih goljufov [33].

Podjetje GoVivance ponuja podobno storitev [16]. Za razliko od Nuance njihov izdelek

uporablja besedilno neodvisno verifikacijo. Uporabnik mora prebrati besedilo, dolgo

približno med 30 in 45 sekund. Na voljo je kot namizna ali spletna aplikacija in deluje na

večini platform (Windows, Linux in Mac). Za svoje delovanje pa potrebuje najmanj 4 GB

delovnega pomnilnika in procesor s taktom vsaj 2.0 GHz [16].

Page 20: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

8

V letu 2007 je nastalo podjetje United Linkers, ki ponuja razne biometrične sisteme za

varovanje avtomobilov. Eden izmed takih sistemov je Voicesafe-36 [47], ki je besedilno

neodvisen sistem za verifikacijo govorca. Uporabnik mora za vzpostavitev sistema na glas

prebrati vnaprej definirano besedilo. Sistem se vgradi v vozilo tako, da brez pravega

govorca ni mogoče zagnati motorja [47].

Z razmahom dokaj zmogljivih in dostopnih pametnih telefonov so se tudi na teh pojavile

aplikacije, ki omogočajo glasovno odklepanje. Preizkusili smo najbolj priljubljene aplikacije

Android za glasovno odklepanje, ki so na voljo v Google Play Store.

Smart Voice Lock Screen omogoča odklepanje zaslona z izbranim geslom. Aplikacija za

učenje potrebuje dve ponovitvi gesla in povezavo s spletom. Sama aplikacija oziroma

spletni servis, ki ga ta uporablja, ima vgrajeno tudi prepoznavo besed (angleških), saj ob

shranjevanju gesla prikaže, katero besedo smo izgovorili [1].

Tudi aplikacija Voice Lock, ki je druga po številu prenosov, ima podoben način delovanja.

Uporabnik mora tokrat samo enkrat izgovoriti geslo, da si ga aplikacija zapomni. Prav tako

kot prva prepoznava angleške besede, za svoje delovanje pa ne potrebuje povezave s

spletom. Žal za nobeno izmed preizkušenih aplikacij ni navedeno, kakšna tehnologija je

uporabljena [42].

Na operacijskem sistemu iOS ne najdemo veliko aplikacij, ki omogočajo verifikacijo govorca.

Ena izmed redkih je OpenSezMe [50]. Aplikacija za delovanje potrebuje povezavo s

spletom, namenjena pa je varnemu shranjevanju besedila. Za vzpostavitev sistema mora

uporabnik izgovoriti števila, ki se izpisujejo na zaslonu (od 1 do 9). Odklepanje poteka tako,

da se 3-krat prikažejo tri različna števila, ki jih mora uporabnik prebrati [50].

2.4 Platforma Raspberry Pi

Raspberry Pi (slika 2.1) je cenovno ugoden mini računalnik, katerega namen je predvsem

učenje programiranja in računalništva. Prvi izdani model nosi ime Raspberry Pi 1, model B

Page 21: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

9

in se je začel prodajati februarja 2012. Kmalu mu je sledil še okrnjeni model A. Zaradi

velikega uspeha se skoraj vsako leto pojavi nov model. Za uporabo Raspberry Pi-ja

potrebujemo kartico SD oziroma micro-SD (nadomestilo za trdi disk), zaslon s priključkom

HDMI, kabel HDMI, tipkovnico in miško. Po potrebi lahko priključimo še USB-kamero,

slušalke ali zvočnike in vozlišče USB.

Eden izmed razlogov za uspeh računalnika Raspberry Pi je tudi možnost upravljanja s 26

oziroma 40 digitalnimi linijami (angl. general-purpose input/output pins, GPIO). S pomočjo

teh lahko naprava upravlja in prejema signale iz drugih električnih komponent, kot so

gumbi, stikala, diode LED in razni senzorski moduli (IR-kamera, merjenje temperature, vlage

itd.).

Pred pričetkom z delom na računalniku Raspberry Pi moramo na SD-kartico prenesti izbrani

operacijski sistem. Na voljo imamo veliko število distribucij (Raspbian, Ubuntu, Arch Linux

itd.), na novejših modelih (Raspberry Pi 2, model B, in Raspberry Pi 3, model B) pa deluje

tudi Windows 10. V tabeli 2.1 so navedene specifikacije vseh modelov [45].

Slika 2.1: Raspberry Pi 1, model B.

Page 22: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

10

Tabela 2.1: Vsi modeli Raspberry Pi in njihove specifikacije.

Ime modela Specifikacije Izdaja

Raspberry Pi 1, model B Prvi izdani model

- 2 USB 2.0

- ARMv6 single core 700MHz

- 512 MB pomnilnika

- 26 GPIO

- priključek Ethernet

- SD-reža

Februar 2012

Raspberry Pi 1, model B+ - 4 USB 2.0

- ARMv6 single core 700 MHz

- 512 MB pomnilnika

- 40 GPIO

- priključek Ethernet

- mikro SD-reža

Julij 2014

Raspberry Pi 2, model B - 4 USB 2.0

- ARMv7 quad core 900 MHz

- 1 GB pomnilnika

- 40 GPIO

- priključek Ethernet

- mikro SD-reža

Februar 2015

Raspberry Pi 3, model B - 4 USB 2.0

- ARMv8 quad core 1.2 GHz 64bit

- 1 GB pomnilnika

- 40 GPIO

- priključek Ethernet

- mikro SD-reža

- Bluetooth 4.1

- 802.11n Wireless LAN

Februar 2016

Raspberry Pi 1, model A - 1 USB 2.0

- ARMv6 single core 700MHz

- 256 MB pomnilnika

- 26 GPIO

- SD-reža

Februar 2012

Page 23: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

11

Ime modela Specifikacije Izdaja

Raspberry Pi 1, model A+ - 1 USB 2.0

- ARMv6 single core 700MHz

- 256 MB pomnilnika

- 40 GPIO

- mikro SD-reža

November 2014

Raspberry Pi Zero - 1 mikro USB

- 512 MB pomnilnika

- mikro SD-reža

- HAT-compatible 40-pin header

November 2015

Page 24: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

12

3 ZASNOVA REŠITVE IN IMPELEMNTACIJA

3.1 Detekcija govora

Detekcija govora (angl. voice activity detection, VAD) oziroma izločanje odsekov signala

brez govora je pomemben korak predobdelave signala (sliki 3.1 in 3.2) [2]. Če detektorja

govora nimamo ali je slab, lahko to drastično poslabša rezultate verifikacije govorca. Zaradi

učenja na odsekih signala brez govora lahko dobimo pokvarjen akustični model. Preveč

»strog« detektor govora pa nam lahko odreže dele izgovorjenih besed in s tem pokvari

prepoznavo. Detekcija govora je sestavljena iz dveh delov: ocenjevanja značilnic in

odločanja na njihovi osnovi.

Za namen magistrskega dela smo uporabili detekcijo govora, ki temelji na uporabi energije

signala in števila prehodov ničel (angl. zero-crossing rate, ZCR) [6]. Na vhodu signal s

pravokotnim oknom razrežemo na intervale, velike 512 vzorcev, ki se prekrivajo za 256

vzorcev. Za vsak interval izračunamo število prehodov ničel. Nato okno pomnožimo s

Hammingovim oknom in izračunamo energijo odseka [2, 6].

Slika 3.1: Signal pred detekcijo govora.

Page 25: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

13

Slika 3.2: Signal po detekciji govora.

3.1.1 Energija signala

Energija je enostavna mera, ki meri glasnost signala. Zaradi njene enostavnosti in

zadovoljive uspešnosti v okoljih brez veliko šuma je ena izmed bolj priljubljenih metod za

detekcijo govora. Energija signala v oknu m se izračuna po (3.1).

𝐸𝑚 =

1

𝑁∑ 𝑥(𝑚, 𝑛)2

𝑁

𝑛=1

(3.1)

Tu je Em energija m-tega odseka signala, N predstavlja dolžino oziroma velikost okna, x(m,n)

pa je vrednost n-tega vzorca signala pri m-ti postavitvi okna. Okna, katerih energija Em je

manjša od praga θ, ne vsebujejo govora. Prag izračunamo tako, da ob vsakem zagonu

sistema posnamemo zvočni posnetek dolžine 500 ms. Nato izračunamo povprečno energijo

posnetka in jo uporabimo kot naš prag [2, 6].

3.1.2 Hammingovo okno

Namen okenskih funkcij je razrez signala na krajše odseke. Če signal enostavno razrežemo

na krajše dele, smo uporabili pravokotno okno. Slabost tega je frekvenčno popačenje

signala na robovih oken (Gibbsov pojav). Zaradi te pomanjkljivosti pravokotnega okna se za

razrez signala pogosto uporabljajo druge okenske funkcije. Za potrebe našega magistrskega

dela smo uporabili Hammingovo okensko funkcijo (3.2), ki zmanjša Gibbsov pojav [3, 54].

Page 26: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

14

ℎ(𝑛) = { 0.54 + 0.46 cos (

2𝜋𝑛

𝑁 − 1) , 0 ≤ 𝑛 < 𝑁

0, 0 > 𝑛 > 𝑁 . (3.2)

Slika 3.3: Hammingovo okno v časovni in frekvenčni domeni.

3.1.3 Število prehodov skozi ničlo

Število prehodov skozi ničlo je mera, ki šteje, kolikokrat v določenem časovnem intervalu

signal prečka ničlo oziroma spremeni predznak (3.3). V raziskavah so ugotovili, da odseki

brez govora vsebujejo veliko visokih frekvenc, kar pomeni, da v kratkem časovnem

intervalu velikokrat prečkajo ničlo [2, 6].

𝑍𝐶 =

1

2∑|𝑠𝑔𝑛[𝑥(𝑛)] − 𝑠𝑔𝑛[𝑥(𝑛 − 1)]|,

𝑁−1

𝑛=1

𝑠𝑔𝑛 = { 1, 𝑥(𝑛) ≥ 0

−1, 𝑥(𝑛) < 0 .

(3.3)

3.2 Koeficienti melodičnega kepstruma

Izmed vseh možnih značilnic, ki smo jih našteli pri opisu stanja tehnike, smo se odločili

uporabiti koeficiente melodičnega kepstra. Ti temeljijo na lestvici (skali) Mel, ki je približek

delovanja človeškega ušesa. Človeški sluh pri frekvencah, nižjih od 1000 Hz, bolje zaznava

manjše spremembe, medtem ko pri višjih frekvencah teh več ne sliši. Na podlagi tega

Page 27: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

15

dejstva je bila ustvarjena skala Mel, ki je do 1000 Hz linearna, nato pa logaritemska. Za

izračun koeficientov MFCC (angl. Mel-frequency cepstral coefficients) poznamo več

postopkov, mi pa smo uporabili postopek, prikazan na sliki 3.4 [10, 28].

Slika 3.4: Diagram poteka izračuna koeficientov MFCC.

3.2.1 Predobdelava signala

Večina del, ki opisujejo koeficiente MFCC, predlaga uporabo različnih filtrov ali

normalizacije za izboljšanje kakovosti signala in uspešnosti samega sistema. Sami smo za

predobdelavo signala uporabili filter s končnim impulznim odzivom (angl. finite impulse

response, FIR). Namen filtra je poudariti višje frekvence v signalu. Lahko ga izvedemo v

časovni ali frekvenčni domeni. Za izračun FIR-filtra v časovni domeni uporabimo (3.4).

𝑦(𝑛) = 𝑥(𝑛) − 𝑎 𝑥(𝑛 − 1) (3.4)

Vhodni signal je predstavljen z x(n), izhod iz FIR-filtra pa z y(n). Vrednost spremenljivke a je

med 0 in 1. Samo smo uporabili vrednost 0,95, enako kot v literaturi [29].

3.2.2 Okenska funkcija

Signal po filtriranju razrežemo na odseke dolžine 512 vzorcev, ki se med seboj prekrivajo za

256 vzorcev. Nad vsakim odsekom izvedemo Hammingovo okensko funkcijo, ki smo jo že

opisali v prejšnjem poglavju.

Page 28: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

16

3.2.3 Fourierova transformacija in filter Mel

Nad vsakim oknom izvedemo hitro Fourierovo transformacijo (angl. fast Fourier transform,

FFT), da dobimo spekter signala. Vsak spekter nato pomnožimo s spektri nabora filtrov Mel

(angl. Mel filter bank). Amplitude spektralne karakteristike teh filtrov so trikotne oblike in

se prekrivajo (slika 3.5). Izhod vsakega filtra Mel je vsota filtriranih spektralnih komponent.

Te vsote tvorijo tako imenovani spekter Mel.

Slika 3.5: Amplitude spektralnih karakteristik filtrov Mel. Amplitude posameznega filtra so

trikotne oblike.

3.2.4 Diskretna kosinusna transformacija

V zadnjem koraku izračuna koeficientov MFCC se moramo vrniti v časovno domeno. Zato

uporabimo diskretno kosinusno transformacijo nad logaritmom spektra Mel vsakega okna

(3.5).

𝑐𝑘 = ∑ (log 𝑆𝑛) cos [

𝜋𝑘

𝑁(𝑛 +

1

2) ]

𝑁−1

𝑛=0

𝑘 = 0, 1, … , 𝑁 − 1.

(3.5)

Spremenljivka N je število filtrov Mel, Sn pa je vrednost spektra odseka signala po množenju

z n-tim filtrom Mel. Število dobljenih koeficientov MFFC ck je enako številu filtrov N. Koliko

Page 29: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

17

dobljenih koeficientov bomo uporabili, lahko izberemo sami, priporočeno število je

približno med 12 in 20 [28, 29].

3.2.5 Delta in delta-delta

Iz dobljenih koeficientov MFCC lahko izračunamo značilnice delta in delta-delta. Te so

znane po tem, da povečajo uspešnost klasifikacije [10, 28, 29]. Medtem ko koeficienti MFCC

opisujejo lastnosti posameznega okna, nam koeficienti delta in delta-delta povedo, kako se

koeficienti MFCC spreminjajo skozi čas. Izračunajo se po (3.6) in se nato pripnejo

koeficientom MFCC. Tako dobimo vektor značilnic, sestavljen iz koeficientov MFCC, delta

in delta-delta.

𝐷𝑤 =

∑ 𝑚(𝑐𝑤+𝑚 − 𝑐𝑤−𝑚)𝑀𝑚=0

2 ∑ 𝑚2𝑀𝑚=0

(3.6)

cw v (3.6) predstavlja vektor koeficientov MFCC okna w, Dw je tako vektor koeficientov delta

okna w. Vrednost M določimo sami, priporočena vrednost je med 2 in 3 [28]. Koeficiente

delta-delta izračunamo na enak način, le da vektor koeficientov MFCC zamenjamo z

vektorjem koeficienti delta (3.7).

𝐸𝑤 =

∑ 𝑚(𝐷𝑤+𝑚 − 𝐷𝑤−𝑚)𝑀𝑚=0

2 ∑ 𝑚2𝑀𝑚=0

(3.7)

3.2.6 Primer koeficientov MFCC

Po postopku, ki smo ga opisali v prejšnjih poglavjih smo izračunali 15 koeficientov MFCC za

besedo »gora«, ki so jo izgovorile tri različne osebe. Spektrogram dobljenih koeficientov

vidimo na sliki 3.6. Koeficient C0 je izpuščen, saj predstavlja energijo posameznega okna.

Page 30: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

18

Za lažjo predstavo razlik med spektrogrami smo izdelali spektrograme, ki prikazujejo razliko

med isto ležečimi koeficienti. Te prikazujemo na sliki 3.7.

Slika 3.6: Spektrogram 15 koeficientov MFCC za besedo »gora«.

Page 31: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

19

Slika 3.7: Razlike med koeficienti MFCC različnih govorcev pri izgovorjavi besede »gora«.

Celice temno modre in rdeče barve predstavljajo večje razlike med isto ležečimi koeficienti

kot tiste svetlo modre barve.

3.3 Dinamično časovno prileganje

Vektorje z značilnicami je treba med seboj primerjati, zato uporabimo eno izmed

klasifikacijskih metod. Ker je cilj magistrske naloge delujoča ključavnica za poljubnega

uporabnika, potrebujemo metodo, ki ne potrebuje veliko učnih vzorcev in je časovno in

prostorsko nezahtevna. Zaradi tega smo se odločili uporabiti dinamično časovno prileganje

DTW [21]. DTW je pogosto uporabljena tehnika, ki poišče optimalno poravnavo med dvema

vektorjema. Na sliki 3.8 je primerjava dveh vektorjev (črni črti zgoraj in spodaj) z DTW.

Vsaka črtkana črta predstavlja poravnavo med točko v prvem in drugem vektorju.

Page 32: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

20

Slika 3.8: Dinamično časovno prileganje. Povzeto po [30].

Algoritem DTW primerja dve časovno odvisni zaporedji X: = (x1, x2, x3, …, xn) dolžine n ∈ N

in Y: = (y1, y2, y3, …, ym) dolžine m ∈ M. Da lahko primerjamo dva posamezna elementa xi in

yj, potrebujemo stroškovno funkcijo c(xi, yj). Če sta si elementa podobna je c(xi, yj) majhna,

drugače ima veliko vrednost. V primeru naše magistrske naloge je X vektor vseh oken

signala, posamezen element xi pa vektor koeficientov MFCC, enako velja za Y (torej sta

zaporedji X in Y v našem primeru matriki). Praktičen prikaz teh matrik za besedo »gora«

lahko vidimo na sliki 3.9. Stolpci v matrikah predstavljajo vektorje x1, x2, x3, x4, x5 oziroma

y1, y2, y3, y4, y5.

Page 33: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

21

Slika 3.9: Koeficienti MFCC besede »gora« za dve osebi. Puščice med stolpci matrik

predstavljajo eno izmed možnih poravnav z DTW. Za večjo preglednost smo uporabili le

prvih 5 oken.

Page 34: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

22

V magistrskem delu smo za stroškovno funkcijo uporabili evklidsko razdaljo, ki jo

izračunamo po (3.8).

𝑑(𝑥𝑖 , 𝑦𝑗) = 𝑑(𝑦𝑗 , 𝑥𝑖) = √∑(𝑥𝑖𝑧− 𝑦𝑗𝑧

)2

𝑍

𝑧=1

2

(3.8)

S stroškovno funkcijo d(xi, yj) izračunamo razdaljo med vektorjema xi in yj. Števca i in j nam

povesta, med katerima vektorjema (stolpcema) iz matrike X in Y bomo računali razdaljo.

Števec z pa predstavlja elemente vektorjev xi in yj, ki so v našem primeru koeficienti MFCC

(vrstice v matriki X in Y).

Za izračun vseh možnih poravnav med X in Y lahko uporabimo stroškovno matriko, primer

katere je podan na sliki 3.10. Stroškovna matrika A je velikosti [N:M], saj na njeni osi

postavimo elemente zaporedij X in Y. Matriko izpolnimo tako, da za vsak par elementov xi

in yj izračunamo razdaljo s pomočjo stroškovne funkcije c(xi, yj). Poravnava med

zaporedjema X in Y je v stroškovni matriki A predstavljena kot zaporedje poravnav njunih

elementov xi in yj (to zaporedje tvori pot med [1:1] in [M:N]). Vsaka poravna mora

upoštevati pogoje, navedene v nadaljevanju.

Pot prileganja (angl. warping path) je zaporedje z L-elementi p = (p1, p2, …, pL), kjer je pl(nl,

ml) in velja n ∈ {1, …, N}, m ∈ {1, …, M} ter l ∈ {1, …, L}. Pot prileganja mora izpolnjevati

naslednje pogoje [30]:

i. pogoj meje: p1 = (1,1) in pL= (N,M).

ii. pogoj monotonosti: n1 ≤ n2 ≤ …≤ nL in m1 ≤m2 ≤ … ≤mL

iii. velikost koraka: pi+1 – pi ∈ {(1,0),(0,1),(1,1)} za i ∈ [1:L-1]

Page 35: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

23

Slika 3.10: Stroškovna matrika med Osebo1 in Osebo2 pri izgovorjavi besede »ali«.

Temnejša kot je barva matrike, manjša je razdalja med izbranima točkama. Rdeča črta

predstavlja optimalno pot prileganja.

Prvi pogoj pravi, da sta prva in zadnja elementa zaporedij X in Y vedno poravnana med

seboj. Pogoj monotonosti zahteva, da če je v zaporedju X element xi pred elementom xj,

mora enako veljati tudi za elementa iz zaporedja Y, s katerima sta ta xi in xj poravnana. Zadnji

pogoj prepoveduje podvajanje in izpuščanje posameznih elementov iz poravnave.

Praktičen prikaz pravil lahko vidimo na slikah od 3.11 do 3.14.

Page 36: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

24

Slika 3.11: Veljavna pot prileganja. Povzeto

po [30].

Slika 3.12: Neupoštevanje pogoja meje.

Povzeto po [30].

Slika 3.13: Neupoštevanje pogoja

monotonosti. Povzeto po [30].

Slika 3.14: Neupoštevanje velikosti koraka.

Povzeto po [30].

Končna cena cp(X,Y) poti prileganja p(X,Y) ob uporabi stroškovne funkcije c je definirana s

(3.9).

𝑐𝑝(𝑋, 𝑌) = ∑ 𝑐(𝑥𝑛𝑙

, 𝑦𝑚𝑙)

𝐿

𝑙=1

(3.9)

Cilj algoritma DTW je poiskati optimalno pot prileganja v stroškovni matriki A [30]. Ker bi

bilo računanje vseh možnih poti časovno potratno, algoritem DTW uporabi principe

dinamičnega programiranja. Algoritem si ustvari tako imenovano akumulacijsko stroškovno

matriko D(n,m). Za izračun prvega stolpca matrike D uporabimo (3.10).

Page 37: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

25

𝐷(𝑛, 1) = ∑ 𝑐(𝑥𝑘 , 𝑦1)

𝑛

𝑘=1

(3.10)

Tu je n ∈ [1:N]. Prvo vrstico izračunamo po enakem principu:

𝐷(1, 𝑚) = ∑ 𝑐(𝑥1, 𝑦𝑚)

𝑚

𝑘=1

(3.11)

Tu je m ∈ [M:1]. Nato z rekurzivno formulo (3.12) izračunamo preostanek matrike D.

𝐷(𝑛, 𝑚) = min{𝐷(𝑛 − 1, 𝑚 − 1), 𝐷(𝑛 − 1, 𝑚), 𝐷(𝑛, 𝑚 − 1)} + 𝑐(𝑥𝑛, 𝑦𝑚) (3.12)

Ob sledenju premikom, ki jih izvajamo v rekurziji, in upoštevanju pogojev poti prileganja

dobimo optimalno pot prileganja in razdaljo med vektorjema [30]. Prostorska zahtevnost

algoritma je tako O(N) ali O(M), saj lahko računamo bodisi po vrsticah bodisi po stolpcih.

Časovna zahtevnost pa je v obeh primerih O(NM) [30].

3.4 Implementacija glasovne ključavnice na Raspberry Pi

3.4.1 Raspbian

Raspbian je brezplačen operacijski sistem, namenjen platformi Raspberry Pi. Prvič je izšel

leta 2012 in je neuraden port Debian wheezy armhf [12], nastavljen tako, da uporablja

strojno plavajočo vejico (angl. hardware floating point). Na Raspbianu je shranjenih več kot

35.000 paketov, ki jih uporabnik lahko po želji namesti. Videz namizja Raspbiana je prikazan

na sliki 3.15 [34].

Page 38: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

26

3.4.2 Java

Podjetje Sun Microsystems si je zadalo cilj, ustvariti programski jezik, ki je varen, enostaven,

robusten, prenosljiv in zmogljiv. Tako so leta 1995 predstavili Javo, objektno orientiran in

interpretiran programski jezik. Sintaksa Jave je precej podobna jezikom, kot so C, C++ in C#.

Razlog za to se skriva v tem, da so avtorji Jave zaradi razširjene uporabe jezika C++ hoteli

uporabnikom omogočiti enostaven prehod na njihov jezik, zato so kot vzor uporabili C++.

Poudariti moramo, da so se po C++ zgledovali samo pri videzu oziroma sintaksi jezika. To

opazimo tudi pri upravljanju s spominom, saj Java uporablja čiščenje spomina (angl.

garbage collector) in ne pozna kazalcev. Javanski prevajalnik prevede izvorno kodo v

javansko zbirno kodo (angl. bytecode), ki je neodvisna od arhitekture računalnika. To

omogoča veliko prenosljivost, saj lahko zbirno kodo nato uporabimo na vseh sistemih z

javanskim navideznim strojem (angl. Java virtual machine, JVM). Javanski navidezni stroj

zagotavlja, da se naš program na vseh sistemih obnaša enako, saj striktno definira velikosti

Slika 3.15: Videz operacijskega sistema Raspbian.

Page 39: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

27

osnovnih podatkovnih tipov in aritmetične operacije nad njimi. Nekaj glavnih lastnosti Jave

[17]:

celoštevilčni podatkovni tipi. Java pozna 8-bitni tip byte, 16-bitni tip short, 32-bitni

tip int in 64-bitni tip long;

dva podatkovna tipa za realna števila: 32-bitni tip float in 64-bitni tip double. Realna

podatkovna tipa in aritmetični izrazi nad njima sledijo specifikacijam standarda IEEE

754 [22];

Java uporablja znakovni podatkovni tip char. Paziti moramo, da ga ne enačimo s

tipom char v C in C++. V Javi je tip char predstavljen kot 16-bitni znak v kodiranju

Unicode;

logični podatkovni tip Boolean, katerega vrednost je lahko true ali false;

poleg vseh aritmetičnih operatorjev, ki jih najdemo v C in C++, pozna Java še

operator za nepredznačen logični pomik v desno (>>>>) in rabo operatorja + za

združevanje dveh nizov znakov (angl. string);

uporaba polj (angl. arrays), ki jih lahko definiramo v času izvajanja. Za dostop do

vrednosti v polju uporablja oglate oklepaje. Dodatna prednost je vgrajeno

preverjanje, ali izbrano polje obstaja, in vračanje izjeme v primeru, ko tega polja ni;

objekt String za delo z besedilom. Za razliko od C in C++ ta ni polje tipa char. V

realnosti sta to objekta String (samo za branje) in StringBuffer (branje in pisanje);

večstopenjska uporaba stavkov break in continue;

čiščenje spomina (angl. garbage collection);

podpora nitim (angl. threads). Javina sistemska knjižnica vsebuje vse potrebne

objekte za delo z nitmi.

3.4.3 Knjižnica TarsosDSP

Pri izbiri knjižnice za obdelavo digitalnih signalov nas je omejeval izbrani programski jezik

in zahteva po sprotnem delovanju. Kot največji problem se je izkazalo predvsem to, da

veliko knjižnic ne omogoča zajemanja signala iz mikrofona. Ena izmed knjižnic, ki je bila

dobro posodobljena, je bila TarsosDSP [40], ki jo lahko uporabimo tudi na napravah

Android. Je odprtokodna knjižnica z dobro dokumentacijo in brez zunanjih odvisnosti.

Namen knjižnice je ponuditi pregledno in prenosljivo kodo za obdelavo zvočnih (avdio)

Page 40: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

28

signalov. Knjižnica vsebuje pogosto uporabljene metode in algoritme, namenjene digitalni

obdelavi signalov. Delovanje knjižnice je okvirno prikazano na sliki 3.16. Iz zvočne datoteke

ali mikrofona razred AudioDispatcher zajema zvočni signal, ga razdeli na odseke izbrane

velikosti in skalira vse vrednosti na interval [1,-1]. Odseki so nato enkapsulirani v razred

AudioEvent, prek katerega lahko dostopamo do vseh podatkov. AudioDispatcher skrbi za

pošiljanje vseh odsekov skozi zaporedje izbranih metod za obdelavo signala. Metode za

obdelavo signala so implementirane v podrazredih razreda AudioProcessor. Tudi za

implementacijo svoje rešitve smo uporabili ta razred.

Navajamo nekaj tehnik obdelave signalov, ki nam jih omogočajo algoritmi, implementirani

v knjižnici TarsosDSP [40, 41]:

ocenjevanje osnovnih frekvenc (angl. pitch estimation),

zaznavanje pojavitve not (angl. onset detector),

časovno raztezanje z algoritmom WSOLA,

algoritem za prevzorčenje,

premikanje tonov (angl. pitch shifting),

razni filtri s končnim impulznim odzivom,

sinteza zvoka,

hitra Fourierova transformacija.

Slika 3.16: Proces delovanja knjižnice TarsosDSP. Povzeto po [41].

Page 41: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

29

3.4.4 Knjižnica Pi4J

Namen knjižnice Pi4J je omogočiti upravljanje z GPIO v Javi. Knjižnica je izdana pod licenco

GNU LGPL in jo je mogoče prenesti z uradne spletne strani. Tam najdemo tudi

dokumentacijo, sistem številčenja GPIO (slika 3.17) in praktične primere uporabe. Pi4J

podpira vse trenutne modele Raspberry Pi in na njih omogoča [38]:

nastavljanje namembnosti digitalne linije (vhod ali izhod),

pisanje in branje digitalne linije,

nastavljanje privzetih vrednosti GPIO ob izklopu programa,

zaznavanje sprememb stanja na digitalnih linijah (prekinitve),

serijsko komunikacijo RS232,

komunikacijo I2C,

komunikacijo SPI.

Za potrebe magistrskega dela smo uporabili poslušanje spremembe stanja (ob pritisku na

gumb) in nastavljanje vrednosti digitalnih linij za prižiganje in ugašanje LED-diod in

ključavnice.

Slika 3.17: Razpored digitalnih linij na Raspberry Pi B. Rumeno obarvane linije smo uporabili

za LED-diode, sivo za gumb in modro za zapah. Ozemljitev in napajanje sta obarvana črno

in rdeče. Povzeto po [38].

Page 42: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

30

3.5 Strojna oprema

Cilj magistrskega dela je tudi izdelava delujočega prototipa naprave. Glavna komponenta

je Raspberry Pi 1, model B, ki smo ga opisali že v začetnem poglavju.

3.5.1 LED-diode

Uporabili smo 3 različno obarvane 5 mm LED-diode, prikazane na sliki 3.18, katerih glavni

namen je komunikacija z uporabnikom. Rdeča LED-dioda zasveti, kadar sistem pri

odklepanju ni prepoznal osebe ali kadar sta pri ustvarjanju novega gesla dva posnetka

preveč različna. Rumena LED-dioda sveti, kadar sistem zazna zvok. Zelena LED-dioda pa

zasveti ob uspešni prepoznavi osebe ali kadar je pri ustvarjanju novega gesla posnetek

ustrezen.

Slika 3.18: LED-diode, uporabljene za magistrsko delo.

3.5.2 Gumb

Za lažje komuniciranje z napravo smo dodali en mikro gumb dimenzij 6 × 6 × 8 mm (slika

3.19). Kadar sistem prepozna osebo, lahko s pritiskom na gumb ustvarimo novo geslo.

Page 43: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

31

Slika 3.19: Mikro gumb.

3.5.3 Mikrofon USB

Ker Raspberry Pi nima vgrajenega mikrofona in zvočne kartice, smo za snemanje zvoka

uporabili mikrofon Kinobo Makio – USB 2.0 Mini Microphone [24].

3.5.4 Elektromagnetni zapah

Za funkcijo odklepanja in zaklepanja smo uporabili elektromagnetni zapah Uxcell DC 4.5V

Solenoid Electromagnet [11] (slika 3.20). Kadar elektromagnetnemu zapahu dovajamo

električni tok, se zatič skrije in s tem odklene vrata oziroma predal.

Slika 3.20: Uporabljeni elektromagnetni zapah Uxcell DC 4.5V Solenoid Electromagnet.

3.5.5 Električna shema

Za povezavo vseh omenjenih komponent smo uporabili še štiri upore in bipolarni NPN-

tranzistor.

Page 44: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

32

Slika 3.21: Shema električnih komponent.

Kot je razvidno iz sheme na sliki 3.21, se večina komponent napaja prek GPIO-linij. Izjema

je le elektromagnetna ključavnica, ki za svojo delovanje potrebuje 5 V napetosti (GPIO

omogočajo le 3,3 V). Zaradi tega smo morali uporabiti bipolarni NPN-tranzistor, ki je vezan

na primarno napajanje Raspberry Pi in ga upravljamo s GPIO_4. Pri GPIO_3 smo uporabili

Raspberry Pi-jev interni dvigovalni upor (angl. pull-up).

3.6 Implementacija klasifikacije

Za dosego cilja, ki smo si ga zadali, je bilo treba vse omenjene dele združiti v delujočo celoto.

3.6.1 Model govorca

Da lahko določimo, ali je trenutni govorec res oseba, za katero se izdaja, potrebujemo

model govorca (angl. speaker model). Model smo ustvarili tako, da smo od uporabnika

zahtevali, da šestkrat izgovori izbrano geslo. Tako dobimo šest posnetkov, katerim

izračunamo koeficiente MFCC in koeficiente delta in delta-delta. Ob klasifikaciji se s

pomočjo DTW izračuna razlika med shranjenimi in koeficienti nove besede. Kadar je vsota

razlike do vseh šestih besed večja od izbrane meje, je govorec slepar (angl. imposter).

Izbrana meja (poimenujmo jo meja DTW) je torej prag razdalje med dvema besedama, pod

katerim sta besedi in njuna govorca razpoznana kot ista. Mejo DTW izračunamo s pomočjo

(3.13) [29, 30].

Page 45: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

33

𝑇 = ∑

𝑣𝑖 + 𝑘

2𝑡

5

𝑖=0

(3.13)

Mejo DTW T izračunamo iz vi, ki predstavlja število oken i-te besede v modelu, števila oken

trenutne besede k in izbrano mejo t. Za uspešno klasifikacijo je ključno izbrati ustrezno

mejo t. Rezultate uspešnosti pri različnih mejah t smo analizirali v naslednjem poglavju.

Model govorca in računanje vsote razlik sta implementirana v razredu SpeakerModel. Ta

ob hranjenju koeficientov skrbi še za njihov izvoz in uvoz iz datoteke. Na sliki 3.22 vidimo

metodo tryUnlock, ki izvaja primerjavo med koeficienti. Razliko med dvema vektorjema

koeficientov MFCC računamo s statično metodo razreda DTW.

Slika 3.22: Metoda tryUnlock razreda SpeakerModel.

3.6.2 Inicializacija in pridobivanje zvočnih posnetkov

Ob zagonu programa se ob inicializaciji vseh kontrol za Raspberry Pi (s knjižnico Pi4J) izvede

še snemanje kratkega zvočnega posnetka za določitev trenutnega praga detektorja govora.

Za potrebe magistrskega dela smo potrebovali dva vira zvočnih posnetkov. Prvi vir je iz

mikrofona (za realno časovno delovanje naprave), drugi pa iz zvočnih datotek (za analizo

Page 46: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

34

uspešnosti). Po inicializaciji se sproži snemanje ali branje iz datoteke. Za to poskrbi razred

Keyhole, ki za argumente konstruktorja prejme vzorčevalno frekvenco, dolžino okna,

prekrivanje okna in čas snemanja. V tem razredu smo implementirali tudi metodo

RecordAndExtract. V njej nastavimo način obdelave zvočnega signala in nato sprožimo

začetek branja podatkov iz izbranega vira in njihovo obdelavo (slika 3.23).

Slika 3.23: Metoda RecordAndExtract razreda Keyhole.

3.6.3 Obdelava zvočnega signala

Obdelava zvočnega signala je implementirana prek vmesnika (angl. interface)

AudioProcessor. Razrede, ki implementirajo ta vmesnik, lahko dodajamo razredu

AudioDispatcher. Vrstni red obdelave signala je enak vrstnemu redu dodajanja teh

razredov. Za obdelavo signala smo uporabili naslednje razrede:

FIRFilter – implementacija filtra FIR,

MFCC – implementacija ekstrakcije koeficientov MFCC,

Page 47: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

35

VNEProcessor – implementacija in klic vseh dodatnih rutin, ki jih potrebujemo

(detekcija govora, izračun DTW, proženje digitalnih linij).

3.6.4 VNEProcessor

Razred VNEProcessor skrbi za povezovanje vseh delov magistrske naloge. V metodi process

(slika 3.24) se izvaja detekcija govora. Kadar zaznamo govor, postavimo zastavico »zacetek«

in shranimo koeficiente MFCC, ki so se izračunali v razredu MFCC. Pri izgovorjavi določenih

besed in pri počasneje govorečih govorcih se med izgovorjavo besede pojavijo okna, ki ne

vsebujejo govora. Da takšnih besed ne bi odrezali, smo s pomočjo dodatne pogoja

preverjali, ali so okna brez glasu med okni z glasom (dovolili smo največ 5 oken brez glasu).

Kadar tihim oknom sledijo okna z glasom, normalno nadaljujemo s snemanjem, kadar pa je

oken več kot 5, tiha okna odrežemo. Vsem koeficientom MFCC dodamo koeficiente delta

in delta-delta in nato izvedemo primerjavo s shranjenim modelom govorca (uporabimo

razred SpeakerModel). Glede na predhodne nastavitve se nato procesiranje konča (kadar

beremo iz datoteke) ali pa se vse ponastavi za procesiranje nove besede (neskončno

delovanje).

Page 48: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

36

Slika 3.24: Metoda process razreda VNEProcessor.

3.6.5 Upravljanje z GPIO

Za upravljanje z digitalnimi linijami smo uporabili knjižnico Pi4J. Preden začnemo

uporabljati linije GPIO, moramo nastaviti smeri in začetne vrednosti digitalnih linij. Prav

tako je treba podati privzete nastavitve, ki se nastavijo ob končanju ali prekinitvi programa,

in ustvariti metodo, ki posluša linijo, na kateri je gumb. Odsek kode, ki skrbi za vse

omenjene stvari, vidimo na sliki 3.25.

Page 49: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

37

Ostane nam le še vklapljanje in izklapljanje linij. Na voljo imamo različne metode, prav tako

lahko za čas vklopa ali izklopa linije blokiramo vse ostale procese (slika 3.26).

Slika 3.25: Izsek programske kode za inicializacijo linij GPIO. Linije GPIO_0, GPIO_1 in

GPIO_2 skrbijo za prižiganje in ugašanje LED-diod. Z linijo GPIO_3 preverjamo, ali je

uporabnik pritisnil gumb, linija GPIO_4 pa skrbi za upravljanje s ključavnico.

Slika 3.26: Izsek kode za vklop in izklop LED diod.

Page 50: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

38

4 ANALIZA REŠITVE

4.1 Zasnova meritev

Za analizo rešitve smo potrebovali posnetke različnih besed različnih govorcev. Ker na

spletu nismo našli ustrezne brezplačne zbirke, smo se odločili ustvariti lastno. Da bi zbirka

odražala čim bolj realno delovanje naše naprave, smo snemali z našim sistemom za

glasovno odklepanje (slika 4.1). Za snemanje in shranjevanje posnetkov smo uporabili

enako knjižnico kot za glasovno ključavnico. Z namenom zmanjšanja šuma okolice smo v

sobi, kjer je potekalo snemanje, izklopili vse naprave (računalnike, ventilator, ure,

ogrevanje).

Slika 4.1: Prototip glasovne ključavnice, uporabljen za snemanje.

Snemanje smo opravili v treh sejah. Prvi dve seji snemanja (P1 in P2) sta potekali tako, da

je bil mikrofon na mizi, oseba pa je sedela za mizo (slika 4.2). Za snemanje tretje (T1) seje

smo razdaljo med osebo in mikrofonom povečali (slika 4.3). V vsaki seji je sodelovalo 7 oseb

(3 ženske, 4 moški), ki so šestkrat ponovili 49 besed, in sicer: ali, atomski, avion, azbest,

Page 51: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

39

bančnik, bergla, biljard, blesk, bobnič, bodica, bruto, čaj, čipka, čmrlj, dovršen, duda,

dvojček, ego, glasen, godec, gora, grd, Grmičar, jogurt, klošter, krema, krst, list, meduza,

mina, moka, nož, oče, odeja, oko, opica, paket, poklic, riba, smrt, spor, strupen, uho, ujeti,

um, vrisk, vrt, vzbrst, zdrs.

Slika 4.2: Položaj pri snemanju seje 1 in 2.

Slika 4.3: Snemanje seje 3.

Page 52: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

40

Uspešnost delovanja smo merili z metriko EER (angl. equal error rate). Za izračun metrike

EER moramo izračunati senzitivnost (angl. sensitivity) in specifičnost (angl. specificity)

sistema. Senzitivnost, pogosto imenovano tudi FRR (angl. false reject rate), izračunamo s

(4.1).

𝐹𝑅𝑅 =

𝑇𝑃

(𝑇𝑃 + 𝐹𝑁) (4.1)

V (4.1) je TP število pravilno klasificiranih pozitivnih vzorcev, FN pa število nepravilno

klasificiranih pozitivnih vzorcev.

Specifičnost, pogosto imenovano FAR (angl. false acceptance rate), izračunamo s (4.2).

𝐹𝐴𝑅 =

𝑇𝑁

(𝑇𝑁 + 𝐹𝑃) (4.2)

Podobno kot pri FRR je tukaj TN število pravilno klasificiranih negativnih vzorcev, FP pa

število nepravilno klasificiranih negativnih vzorcev.

Metrika EER predstavlja vrednost na grafu FAR in FRR v odvisnosti od meje DTW, kjer se

funkciji FAR in FRR sekata (imata enako vrednost). Višja vrednost ERR pomeni slabšo

natančnost razpoznave.

V nadaljevanju smo analizirali, kako na uspešnost klasifikacije vplivajo različni dejavniki, kot

so število koeficientov MFCC, dolžina uporabljenih besed, število samoglasnikov v besedi,

spol govorca in šum. Za izračun uspešnosti klasifikacije smo vedno uporabili dve seji; z eno

smo ustvarili model govorca za vsako besedo v seji (učna seja), z drugo pa smo te modele

preizkušali (testna seja). Ob podajanju rezultatov v tabelah smo zapis učne in testne seje

skrajšali na »Učna seja -> Testna seja«.

Page 53: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

41

4.2 Vpliv števila MFCC-koeficientov

V več virih je mogoče zaslediti priporočila za optimalno število koeficientov MFCC, ki se

giblje med 10 in 30. Da bi našli optimalne nastavitve za našo glasovno ključavnico, smo tudi

sami preizkusili vpliv števila koeficientov MFCC. Naj opomnimo, da se pri prepoznavi prvi

koeficient MFCC vedno izpusti, dodajo pa se še MFCC-koeficienti delta in delta-delta. Tako

pri uporabi 15 koeficientov MFCC dobimo vektor dolžine 42. V tabelah 4.1 in 4.2 so podani

rezultati za vse možne kombinacije sej.

Tabela 4.1: Vpliv števila MFCC-koeficientov na povprečno vrednost metrike EER

(± standardna deviacija).

P1 -> P2 P1 -> T1 P2 -> P1 P2 -> T1

5 MFCC 10,83 ± 11,91 % 31,40 ± 18,44 % 11,36 ± 12,28 % 28,03 ± 16,92 %

10MFCC 10,44 ± 11,29 % 30,84 ± 18,01 % 11,09 ± 11,98 % 27,59 ± 16,67 %

15 MFCC 9,60 ± 11,29 % 30,59 ± 18,14 % 10,67 ± 11,89 % 26,97 ± 16,93 %

20 MFCC 9,54 ± 11,29 % 31,08 ± 18,43 % 10,57 ± 12,01 % 27,24 ± 16,98 %

25 MFCC 9,45 ± 11,29 % 31,72 ± 18,70 % 10,53 ± 11,83 % 27,80 ± 17,19 %

30 MFCC 9,46 ± 11,29 % 31,97 ± 18,66 % 10,57 ± 11,85 % 28,29 ± 17,31 %

35 MFCC 9,60 ± 11,29 % 32,17 ± 19,07 % 10,58 ± 11,90 % 28,88 ± 17,51 %

Tabela 4.2: Vpliv števila MFCC-koeficientov na povprečno vrednost metrike EER

(± standardna deviacija).

T1 -> P1 T1 -> P2

5 MFCC 29,31 ± 17,08 % 25,68 ± 16,75 %

10 MFCC 28,31 ± 16,85 % 24,32 ± 16,49 %

15 MFCC 27,72 ± 16,54 % 23,91 ± 16,32 %

20 MFCC 28,00 ± 16,69 % 24,07 ± 16,53 %

Page 54: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

42

T1 -> P1 T1 -> P2

25 MFCC 28,44 ± 16,97 % 24,52 ±16,55 %

30 MFCC 28,81 ± 16,81 % 25,03 ± 16,65 %

35 MFCC 29,27 ± 16,42 % 25,31 ± 16,60 %

Iz tabel 4.1 in 4.2 razberemo, da uporaba seje T1 (kot učne ali testne množice) odločilno

vpliva na natančnost razpoznave. Z njeno uporabo dobimo najboljše rezultate s 15

koeficienti MFCC. Kadar pa seje T1 ne uporabljamo, dobimo najmanjši EER z uporabo 25

koeficientov. Takšen rezultat je pričakovan, saj višji koeficienti MFCC vsebujejo več

podrobnosti in s tem tudi šuma. Seja T1 zaradi večje oddaljenosti od mikrofona vsebuje več

šuma iz okolice kot seji P1 in P2. Zato dobimo pri uporabi seje T1 boljše rezultate s 15

koeficienti kot pa s 25. Na grafih od 4.1 do 4.7 prikazujemo, kako večanje števila

koeficientov spreminja krivulji FAR in FRR (pri uporabi P1 kot učne in P2 kot testne

množice).

Graf 4.1: P1 -> P2, 5 koeficientov MFCC. Graf 4.2: P1 -> P2, 10 koeficientov MFCC.

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0 10 20 30

Meja DTW

FAR FRR

Page 55: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

43

Graf 4.3: P1 -> P2, koeficientov 15 MFCC. Graf 4.4: P1 -> P2, 20 koeficientov MFCC.

Graf 4.5: P1 -> P2, 25 koeficientov MFCC. Graf 4.6: P1 -> P2, 30 koeficientov MFCC.

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

Page 56: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

44

Graf 4.7: P1 -> P2, 35 koeficientov MFCC.

Na grafih od 4.8 do 4.14 je prikazan vpliv števila koeficientov MFCC na krivulji FAR in FRR

pri uporabi seje T1. Če primerjamo grafe 4.1–4.7 z grafi 4.8–4.14, vidimo vpliv šuma na

uspešnost prepoznave.

Graf 4.8: P1 -> T1, 5 koeficientov MFCC. Graf 4.9: P1 -> T1, 10 koeficientov MFCC.

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

Page 57: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

45

Graf 4.10: P1 -> T1, 15 koeficientov MFCC. Graf 4.11: P1 -> T1, 20 koeficientov MFCC.

Graf 4.12: P1 -> T1, 25 koeficientov MFCC. Graf 4.13: P1 -> T1, 30 koeficientov MFCC.

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

Page 58: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

46

Graf 4.14: P1 -> T1, 35 koeficientov MFCC.

4.3 Beli šum

Z namenom, da bi bolje raziskali vpliv šuma, smo s pomočjo programskega orodja Matlab

vsem posnetkom iz seje P1 dodali beli šum. Energijo šuma v izvirnih posnetkih smo

izračunali s pomočjo (4.3).

𝑆𝑁𝑅𝑑𝐵 = 10 log10

𝑃𝑠𝑖𝑔𝑛𝑎𝑙

𝑃𝑛𝑜𝑖𝑠𝑒 (4.3)

Tu Psignal in Pnoise predstavljata energijo signala in šuma. Ker so posnetki realni, je težko

izračunati energijo čistega signala. Pomagali smo si tako, da smo energijo šuma izračunali

na podlagi energije odseka posnetka, v katerem ni govora. Nato smo od energije odseka, ki

vsebuje govor, odšteli energijo šuma. Povprečen SNRdB za sejo P1 je znašal 24,64 ± 2,93 dB,

za sejo P2 24,28 ± 3,21 dB, za sejo T1 pa 16,21 ± 4,09 dB. S pomočjo Matlaba smo nato seji

P1 dodajali beli šum, dokler nismo dosegli SNRdB 20 dB, 15 dB, 10 dB in 5 dB (slike od 4.4

do 4.8).

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

Page 59: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

47

Slika 4.4: Beseda »gora« brez dodanega šuma.

Slika 4.5: Beseda »gora« z dodanim belim šumom (SNRdB 20 dB).

Page 60: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

48

Slika 4.6: Beseda »gora« z dodanim belim šumom (SNRdB 15 dB).

Slika 4.7: Beseda »gora« z dodanim belim šumom (SNRdB 10 dB).

Page 61: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

49

Slika 4.8: Beseda »gora« z dodanim belim šumom (SNRdB 5 dB).

V tabeli 4.3 je naveden EER, ko uporabimo posnetke s šumom za učno množico, v tabeli 4.4

pa, ko jih uporabimo kot testne. Za analizo smo uporabili 15 koeficientov MFCC. Sejo z

dodanim belim šumom smo označili s P1+SNR20, P2+SNR15, P1+SNR10 itd.

Tabela 4.3: Povprečna uspešnost klasifikacije (± standardna deviacija) pri dodajanju belega

šuma učni množici.

P2 T1

P1 9,60 ± 11,29 % 30,59 ± 18,14 %

P1+SNR20 22,47 ± 14,98 % 39,76 ± 19,56 %

P1+SNR15 30,85 ± 17,20 % 43,64 ± 20,47 %

P1+SNR10 35,97 ± 18,48 % 46,10 ± 19,93 %

P1+SNR5 40,98 ± 19,85 % 47,72 ± 20,09 %

Page 62: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

50

Tabela 4.4: Povprečna uspešnost klasifikacije (± standardna deviacija) pri dodajanju belega

šuma testni množici.

P2 T1

P1 10,67 ± 11,89 % 27,72 ± 16,54 %

P1+SNR20 21,56 ± 16,20 % 39,50 ± 16,42 %

P1+SNR15 29,58 ± 17,53 % 43,99 ± 11,14 %

P1+SNR10 34,50 ± 16,97 % 46,02 ± 14,38 %

P1+SNR5 37,69 ± 17,34 % 47,88 ± 14,51 %

Iz rezultatov je razvidno, da prisotnost belega šuma zmanjša uspešnost klasifikacije, kar je

tudi pričakovano. Zanimivo je, da uspešnost hitro pada. Pri poslušanju posnetka s SNRdB

5 dB lahko ljudje še vedno razločimo govorca, medtem ko naš sistem tega več ni zmožen

opravljati dovolj dobro. Tudi rezultati za SNRdB 10 dB so relativno slabi. Na grafih od 4.15

do 4.18 prikazujemo vpliv prisotnosti belega šuma v učni množici na krivulji FAR in FRR.

Graf 4.15: P1+SNR20 -> P2. Graf 4.16: P1+SNR15 -> P2.

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

Page 63: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

51

Graf 4.17: P1+SNR10 -> P2. Graf 4.18: P1+SNR5 -> P2.

Na grafih od 4.19 do 4.22 je prikazano, kaj se dogaja s krivuljama FAR in FRR, kadar

dodajamo šum testni ali učni množici oziroma obema. Zanimiv je predvsem graf 4.22, kjer

učni in testni množici dodamo šum. Rezultat je v primerjavi z učno in testno množico brez

šuma slabši, vendar veliko boljši kot takrat, ko je šum prisoten izključno v učni ali testni

množici.

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

0 10 20 30

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

Graf 4.20: P1->P2, brez šuma (9,60 %

EER).

Graf 4.19: P1+SNR10 -> P2 (35,97% EER).

Page 64: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

52

4.4 Vpliv samoglasnikov

V nadaljevanju smo analizirali kako na uspešnost klasifikacije vplivajo posamezne črke v

besedah. Osnovna delitev črk je na samoglasnike in soglasnike. Samoglasniki so črke, pri

izgovorjavi katerih pride do največje odprtosti govorne cevi (prostor od grla do ustnic),

seveda v primerjavi s soglasniki [46]. Pri analizi vpliva samoglasnikov smo uporabili besede,

zapisane v tabeli 4.5.

Tabela 4.5: Besede, uporabljene za analizo vpliva samoglasnikov.

Prikrit samoglasnik En samoglasnik Dva samoglasnika Trije samoglasniki

vrt sum ego ujeti

grd čaj ali opica

krst nož gora avion

zdrs list mina odeja

smrt spor duda bodica

čmrlj vrisk godec meduza

vzbrst blesk čipka atomski

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

Graf 4.22: P1 -> P2+SNR10 (35,65% EER). Graf 4.21: P1+SNR10 -> P2+SNR10 (15,91%

EER).

Page 65: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

53

Tabela 4.6 prikazuje rezultate razpoznave. Izstopajo predvsem rezultati pri uporabi zgolj

enega samoglasnika. Za vse možne kombinacije učnih in testnih množic smo najboljši

rezultati vedno dobili pri uporabi enega samoglasnika. Na grafih od 4.23 do 4.26 vidimo

krivulji FAR in FRR za različna števila samoglasnikov pri uporabi P2 kot učne in P1 kot testne

množice.

Tabela 4.6: Povprečna uspešnost (± standardna deviacija) klasifikacije besed z različnim

številom samoglasnikov.

Brez

samoglasnikov En samoglasnik

Dva

samoglasnika

Trije

samoglasniki

P1 -> P2 8,55 ± 8,96 % 5,3 ± 9,29 % 12,24 ± 12,41 % 7,98 ± 10,13 %

P1 -> T1 36,41 ± 19,82 % 26,79 ± 16,45 % 30,82 ± 18,01 % 28,64 ± 19,21 %

P2 -> P1 8,94 ± 8,46 % 4,19 ± 6,92 % 12,98 ± 12,85 % 10,86 ± 11,84 %

P2 -> T1 34,20 ± 20,70 % 19,90 ± 14,25 % 27,20 ± 16,25 % 26,62 ± 16,86 %

T1 -> P1 31,26 ± 16,71 % 20,76 ± 16,29 % 28,28 ± 16,03 % 28,00 ± 16,71 %

T1 -> P2 26,97 ± 16,77 % 14,82 ± 14,49 % 24,78 ± 16,37 % 25,21 ± 17,72 %

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

3,00 13,00 23,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

3,00 13,00 23,00

Meja DTW

FAR FRR

Graf 4.23: P2 -> P1, prikrit samoglasnik. Graf 4.24: P2 -> P1, en samoglasnik.

Page 66: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

54

4.5 Vpliv dolžine besed na uspešnost klasifikacije

Da bi raziskali vpliv dolžine uporabljenih besed na uspešnost klasifikacije, smo uporabili dve

različni množici besed. V prvi smo, da bi zmanjšali vpliv samoglasnikov, uporabili samo

besede, ki imajo natanko 2 samoglasnika (v tabeli 4.7 so te besede obarvane zeleno). V

drugo množico smo uvrstili vse besede, ki so nam bile na voljo (celotna tabela 4.7).

Tabela 4.7: Besede uporabljene za analizo vpliva dolžine besede

3 črke 4 črke 5 črk 6 črk 7 črk

ali gora godec azbest Grmičar

ego duda cekin bergla bančnik

uho mina bruto glasen biljard

oče moka krema bobnič dovršen

oko riba paket poklic dvojček

ime kino dotik jogurt strupen

nož krst čmrlj cedilo ilovica

vrt zdrs vrisk vzbrst kotlina

grd smrt blesk meduza atomski

čaj list godec bodica pištola

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

3,00 13,00 23,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

3,00 13,00 23,00

Meja DTW

FAR FRR

Graf 4.25: P2 -> P1, trije samoglasniki. Graf 4.26: P2 -> P1, dva samoglasnika.

Page 67: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

55

3 črke 4 črke 5 črk 6 črk 7 črk

prt spor čipka pecivo časopis

lok trst ujeti optika kapital

V tabeli 4.8 je prikazan EER za besede različnih dolžin z dvema samoglasnikoma. Najboljše

rezultate dobimo pri uporabi besed dolžine 4 črk. Edina izjema je kombinacija P2 kot učne

in T1 kot testne množice. Najslabše rezultate smo dobili pri besedah dolžine 7 črk, kar

nakazuje na to, da se daljše besede obnesejo slabše.

Tabela 4.8: Povprečna vrednost EER (± standardna deviacija) besed z dvema

samoglasnikoma.

Dolžina: 3 4 5 6 7

P1 -> P2 6,48 ± 7,65 % 5,63 ± 8,32 % 14,36 ± 12,62 % 11,77 ± 11,50 % 19,73 ± 16,21 %

P1 -> T1 33,63 ± 19,80 % 25,37 ± 14,91 % 31,59 ± 20,02 % 28,19 ± 17,90 % 33,40 ± 15,61 %

P2 -> P1 7,47 ± 10,14 % 4,77 ± 8,42 % 17,02 ± 12,57 % 11,01 ± 11,37 % 19,17 ± 15,29 %

P2 -> T1 28,58 ± 17,97 % 23,06 ± 13,76 % 28,11 ± 16,40 % 21,19 ± 14,30 % 32,11 ± 15,93 %

T1 -> P1 29,84 ± 16,75 % 25,46 ± 17,88 % 27,07 ± 15,06 % 28,91 ± 15,98 % 31,92 ± 17,56 %

T1 -> P2 27,37 ± 16,16 % 18,55 ± 14,62 % 23,40 ± 15,66 % 20,76 ± 14,16 % 31,26 ± 17,71 %

V tabeli 4.9 vidimo rezultate, ki smo jih dobili ob uporabi vseh besed, ki smo jih imeli na

voljo. Čeprav se rezultati v tabeli 4.9 razlikujejo od tistih v tabeli 4.8, lahko pridemo do

podobnih zaključkov. Najboljši rezultati so znova pri besedah dolžine 4 črk, medtem ko so

najslabši pri besedah dolžine 7 črk.

Tabela 4.9: Povprečna vrednost EER (± standardna deviacija) vseh besed.

Dolžina: 3 4 5 6 7

P1 -> P2 6,08 ± 7,51 % 6,80 ± 7,90 % 9,42 ± 11,40 % 11,00 ± 10,62 % 17,88 ± 15,67 %

P1 -> T1 35,70 ± 19,72 % 23,36 ± 15,47 % 30,58 ± 14,03 % 31,96 ± 18,04 % 31,72 ± 16,24 %

P2 -> P1 7,29 ± 10,76 % 6,85 ± 7,91 % 11,24 ± 11,88 % 10,98 ± 12,34 % 18,04 ± 15,42 %

Page 68: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

56

Dolžina: 3 4 5 6 7

P2 -> T1 29,25 ± 18,86 % 24,02 ± 15,78 % 25,67 ± 17,31 % 26,21 ± 16,54 % 30,29 ± 15,65 %

T1 -> P1 30,65 ± 16,07 % 20,54 ± 16,23 % 27,46 ± 15,46 % 31,08 ± 15,68 % 31,75 ± 17,28 %

T1 -> P2 24,24 ± 15,59 % 18,72 ± 15,42 % 22,06 ±16,03 % 25,08 ± 15,57 % 31,72 ± 17,66 %

Na grafih od 4.27 do 4.31 prikazujemo razlike med krivuljami FAR in FRR besed z dvema

samoglasnikoma ter besed z različnim številom samoglasnikov. Za učno množico je

uporabljena množica P1, za testno pa P2.

Graf 4.27: Krivulji FAR V in FRR V sta za vse besede dolžine 3 črk, krivulji FAR 2 in FRR 2 pa

za besede dolžine 3 črk z dvema samoglasnikoma.

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

3,00 5,00 7,00 9,00 11,00 13,00 15,00 17,00 19,00

Meja DTW

FAR V FRR V FAR 2 FRR 2

Page 69: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

57

Graf 4.28: Krivulji FAR V in FRR V sta za vse besede dolžine 4 črk, krivulji FAR 2 in FRR 2 pa

za besede dolžine 4 črk z dvema samoglasnikoma.

Graf 4.29: Krivulji FAR V in FRR V sta za vse besede dolžine 5 črk, krivulji FAR 2 in FRR 2 pa

za besede dolžine 5 črk z dvema samoglasnikoma.

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

3,00 5,00 7,00 9,00 11,00 13,00 15,00 17,00 19,00

Meja DTW

FAR V FRR V FAR1 FRR1

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

3,00 5,00 7,00 9,00 11,00 13,00 15,00 17,00 19,00

Meja DTW

FAR V FRR V FAR 2 FRR 2

Page 70: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

58

Graf 4.30: Krivulji FAR V in FRR V sta za vse besede dolžine 6 črk, krivulji FAR 2 in FRR 2 pa

za besede dolžine 6 črk z dvema samoglasnikoma.

Graf 4.31: Krivulji FAR V in FRR V sta za vse besede dolžine 7 črk, krivulji FAR 2 in FRR 2 pa

za besede dolžine 7 črk z dvema samoglasnikoma.

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

3,00 5,00 7,00 9,00 11,00 13,00 15,00 17,00 19,00

Meja DTW

FAR V FRR V FAR 2 FRR 2

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

3,00 5,00 7,00 9,00 11,00 13,00 15,00 17,00 19,00

Meja DTW

FAR V FRR V FAR 2 FRR 2

Page 71: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

59

4.6 Vpliv spola govorca

Človeški sluh v večini primerov dobro loči ženski in moški glas, zato smo tudi sami

preizkusili, če ima kateri izmed spolov večjo uspešnost klasifikacije (tabela 4.10). Izvedli smo

dve vrsti meritev. V prvi smo za modele govorcev uporabili samo ženske, v drugi pa samo

moške.

Tabela 4.10: Povprečne vrednosti EER (± standardna deviacija) pri uporabi samo ženskih

ali samo moških govorcev v učni množici.

Samo moški del

učne seje

Samo ženski del

učne seje

P1 -> P2 8,72 % ± 10,78 % 10,60 % ± 12,50 %

P1 -> T1 23,01 % ± 15,33 % 38,72 % ± 20,12 %

P2 -> P1 10,92 % ± 12,11 % 10,20 % ± 11,09 %

P2 -> T1 22,10 % ± 14,07 % 33,73 % ± 19,37 %

T1 -> P1 23,54 % ± 16,03 % 31,89 % ± 15,81 %

T1 -> P2 20,35 % ± 15,50 % 28,08 % ± 16,80 %

Ob primerjavi stolpcev v tabeli 4.10. opazimo, da so v večini primerov moški govorci

uspešnejši od ženskih. Dobljeni rezultati kažejo na to, da naš algoritem deluje bolje, kadar

za model govorca uporabimo moški glas. Enako ugotovitev potrjujejo tudi grafi s krivuljami

FAR in FRR za učno množico P1 in testno P2 (grafi od 4.32 do 4.34). Množice, pri katerih

smo uporabili samo moške ali ženske, smo označili z »(M)« ali »(Ž)«, na primer P1(M).

Page 72: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

60

Graf 4.32: P1 -> P2 testna. Graf 4.33: P1(M) -> P2.

Graf 4.34: P1(Ž) -> P2.

Na grafih od 4.35 do 4.37 so prikazane krivulje FAR in FRR za učno množico T1 in testno P1.

Razlika med uspešnostjo ženskih in moških govorcev je tukaj še bolj opazna.

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

0 10 20 30

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

Page 73: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

61

Graf 4.35: T1 -> P1. Graf 4.36: T1(M) -> P1.

Graf 4.37: T1(Ž) -> P1.

4.7 Časovna in prostorska zahtevnost

Naš algoritem mora delovati v realnem času, da lahko našo ključavnico uporabljamo v

resničnem svetu. Za časovne meritve smo uporabili Javino metodo System.nanoTime(), ki

vrne trenutni čas v nanosekundah. Meritve smo izvedli na osebnem računalniku in na

Raspberry Pi (specifikacije obeh sistemov so navedene v tabeli 4.11).

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

0,00 10,00 20,00 30,00

Meja DTW

FAR FRR

Page 74: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

62

Tabela 4.11: Specifikacije osebnega računalnika in računalnika Raspberry Pi, na katerih smo

izvajali meritve.

Osebni računalnik Raspberry Pi

Operacijski sistem: Windows 8.1 Raspbian

Arhitektura: x64 ARMv6Z

Procesor: Intel Core i5-3570, 3.40 GHz ARM1176JZF-S, 700 MHz

RAM: 8 GB 512 MB

V tabeli 4.12 so izmerjeni časi izvajanja z naključno izbranimi učnimi in testnimi vzorci.

Meritve smo ponovili stokrat in izračunali povprečje in standardni odklon. V čas merjenja

je všteta inicializacija, ustvarjanje učnega modela s šestimi vzorci in testiranje enega vzorca.

Tabela 4.12: Čas izvajanja, ki zajema inicializacijo, ustvarjanje učnega modela in testiranje

enega vzorca.

Iz rezultatov v tabeli 4.12 je razvidna pričakovana razlika med meritvami na osebnem

računalniku in na računalniku Raspberry Pi. Naj opozorimo, da se pri sprotnem delovanju

glasovne ključavnice inicializacija zgodi samo ob vklopu naprave. Enako velja za ustvarjanje

modela govorca. Za sprotno delovanje sistema je pomemben samo čas, ki je potreben za

klasifikacijo enega vzorca (tabela 4.13).

Število koeficientov MFCC Čas (ms)

PC Rpi

10 15,93 ± 13,06 616,08 ± 209,99

20 18,48 ± 13,81 812,30 ± 208,51

30 25,50 ± 14,73 1069,79 ± 211,811

40 31,61 ± 14,61 1359,63 ± 216,01

50 39,32 ± 13,60 1658,46 ± 213,78

75 66,39 ± 14,38 2644,23 ± 220,04

100 135,62 ± 41,71 3846,48 ± 221,53

Page 75: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

63

Tabela 4.13: Časovne meritve za prepoznavo enega vzorca.

Pri analizi števila koeficientov MFCC smo ugotovili, da je najbolje uporabiti približno med

15 in 25 koeficientov, kar pomeni, da za prepoznavo vzorca potrebujemo okoli 150–200 ms.

Takšen sistem lahko deluje v realnem času, kar se je izkazalo tudi pri praktičnem preizkusu

naprave.

S pomočjo orodja JProfile smo izmerili, koliko pomnilnika je potrebnega za delovanje

izdelane aplikacije. Iz tabele 4.14 je razvidno, da pri porabi pomnilnika prihaja do velikega

odklona. Do takšnega odklona pride zaradi različnega števila oken signala, nad katerimi se

računajo koeficienti MFCC. Število oken je v veliki meri odvisno od nastavitev detektorja

glasu in samega posnetka.

Tabela 4.14: Poraba pomnilnika pri klasifikaciji enega vzorca.

Število koeficientov MFCC Čas (ms)

PC Rpi

10 2,01 ± 1,26 116,23 ± 13,88

20 2,42 ± 1,17 177,21 ± 10,88

30 3,43 ± 1,05 248,98 ± 13,88

40 4,50 ± 1,13 318,24 ± 11,17

50 6,44 ± 2,03 409,96 ± 15,96

75 12,69 ± 3,86 638,22 ± 12,32

100 20,16 ± 4,18 914,12 ± 11,94

Število koeficientov MFCC Pomnilnik (kB)

PC Rpi

10 2009,28 ± 356,69 1490,87 ± 630,51

20 2014,29 ± 368,79 1542,39 ± 606,65

30 2012,68 ± 444,68 1600,49 ± 617,63

Page 76: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

64

40 1966,04 ± 489,50 1689,49 ± 615,94

50 1975,82 ± 457,73 1638,5 ± 610,15

75 2002,46 ± 445,81 1726,43 ± 602,79

100 2060,59 ± 443,59 1838,58 ± 583,09

Page 77: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

65

5 Zaključek

Cilj magistrskega dela je bil izdelati sistem za glasovno odklepanje na platformi Raspberry

Pi. S pregledom obstoječih tehnologij smo glede na omejitve platforme izbrali ustrezne

metode za glasovno odklepanje. Pri izbiri značilnic smo se odločili za koeficiente MFCC, ki

so bili navedeni v veliko strokovnih člankih in so dajali dobre rezultate. Na večjo omejitev

smo naleteli pri izbiri ustrezne metode za klasifikacijo. Trenutno priljubljene metode imajo

nekaj omejitev, na katere je treba paziti: skriti model Markova za uspešno klasifikacijo

potrebuje večje število učnih vzorcev, kar za naš izdelek ni praktično [21]. Tudi nevronske

mreže za ustrezno kalibracijo uteži potrebujejo čim več učnih vzorcev, pa tudi samo učenje

je večkrat dolgotrajno [35]. Odločili smo se uporabiti dinamično časovno prileganje, s

katerim lahko izračunamo razdaljo med dvema poljubno dolgima nizoma. Za končni izdelek

je bilo treba implementirati še nekaj dodatnih delov, kot so: zaznavanje glasu, snemanje z

mikrofonom, shranjevanje in nalaganje modela govorca, ustrezen vmesnik in upravljanje z

večnamenskimi priključki Raspberry Pi-ja.

Za analizo in preizkus izdelka smo ustvarili zbirko zvočnih posnetkov sedmih oseb.

Snemanje je potekalo v treh posameznih sejah. Z pridobljenimi posnetki smo preizkusili

uspešnost naše implementacije in analizirali vpliv različnih dejavnikov. Ugotovili smo, da

šum iz okolice in umetno dodan beli šum močno poslabšata uspešnost klasifikacije, kar je

znana slabost koeficientov MFCC [27, 39, 55]. Ker smo posneli osebe različnih spolov, smo

preizkusili tudi, ali sistem deluje bolje z moškim ali ženskim govorcem. Dobljeni rezultati

kažejo na to, da sistem laže klasificira moške govorce. Analizirali smo tudi, kakšen vpliv ima

dolžina besed in število samoglasnikov v besedi. Prišli smo do ugotovitev, da so

najuspešnejše krajše besede (4 črke) in besede z enim samoglasnikom. Za temeljitejšo

analizo vpliva različnih dejavnikov, bi potrebovali več oseb in predvsem več besed. Žal

obstoječe zbirke s posnetki slovenskih besed nismo našli, večina tujih pa je plačljivih.

Ob izdelavi magistrskega dela smo se srečali z nekaj težavami. Prva izmed njih je bila izbira

ustrezne knjižnice za obdelavo digitalnih signalov. Knjižnica je morala zaradi želje po

sprotnem delovanju podpirati obdelovanje zvočnega signala neposredno iz mikrofona.

Dodaten pogoj pri izbiri je predstavljala želja, da bi v prihodnosti algoritem uporabili tudi

Page 78: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

66

na mobilnih napravah (predvsem na operacijskem sistemu Android). Pri implementaciji

algoritmov in fizični sestavi naprave nismo naleteli na posebne težave. Nepričakovano

težavo pri izdelavi magistrskega dela je predstavljala analiza, saj nismo uspeli najti ustrezne

zbirke posnetkov, izdelava lastne pa bi lahko potekala hitreje in bolje, če bi jo načrtovali že

v začetni fazi.

Naš končni izdelek je izpolnil zastavljene cilje magistrske naloge. Omogoča enostavno in

realno časovno ustvarjanje modela govorca in verifikacijo govorca. Potrdimo lahko tudi, da

zmogljivost izbrane platforme zadostuje potrebam naše implementacije. Uspešna je bila

tudi izdelava predala, ki ga lahko odklenemo in zaklenemo s pomočjo Raspberry Pi-ja. S tem

smo pokazali, da lahko naš izdelek vključimo v širok nabor stvari iz vsakdanjega življenja.

S prihodom zmogljivejših naprav in razvojem novih algoritmov se vedno bolj odmikamo od

klasičnih metod identifikacije in verifikacije uporabnikov računalniških sistemov, kot je

uporaba uporabniškega imena in gesla. Prihodnost leži predvsem v biometrični identifikaciji

in verifikaciji. Pri uporabi takšnih sistemov ni potrebe po ustvarjanju in pomnjenju

zapletenih gesel, saj imamo zenico, prstni odtis in glas vedno pri sebi.

Page 79: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

67

6 VIRI

[1] ABS STUDIO. Smart Voice Lock Screen. Dostopno na:

https://play.google.com/store/apps/details?id=com.absstudio.voice.lockscreen

[14. 11. 2016].

[2] Alam, J., Kenny, P., Ouellet, P., Stafylakis, T., Dumouchel, P. Supervised/unsupervised

voice activity detectors for text-dependent speaker recognition on the rsr2015

corpus. V Proceedings of Odyssey Speaker and Langauge Recognition Workshop.

Odyssey 2014, Joensuu, 16.–19. junij 2014.

[3] Allen, J. Short-term spectral analysis, synthesis, and modification by discrete Fourier

transform. IEEE Transactions on Acoustics Speech and Signal Processing, 25, (1977),

3, str. 235–238.

[4] Ariyaeeinia, A. M., Sivakumaran, P. Analysis and comparison of score normalisation

methods for text-dependent speaker verification. Eurospeech, 97, (1997), str. 1379–

1382.

[5] Barnes, R. Raspberry Pi: The complete manual, Sixth Edition. Bournemouth: Imagine

Publishing Ltd, 2016.

[6] Bachu, R. G., Kopparthi, S., Adapa, B., Barkana, B. D. Separation of voiced and

unvoiced using zero crossing rate and energy of the speech signal. American Society

for Engineering Education Zone Conference Proceedings 2008. ASEE 2008 Annual

Conference & Exposition, Pittsburgh, 22.–25. junij 2008.

[7] Campbell, J., P. Speaker recognition: A tutorial. Proceedings of the IEEE, 85, (1997), 9,

str. 1437–1462.

[8] Cavazza, M., Ciaramella, A. 21. 6. 1988. Device for speaker's verification. U.S. Patent

and Trademark Office, U.S. Patent No. 4,752,958.

[9] Chaudhary, P. J., Vagadia, K. M. A Review Article on Speaker Recognition with Feature

Extraction. International Journal of Emerging Technology and Advance Engineering,

5, (2015), 2, str. 2250–2459.

[10] Combrinck, H. P., Botha, E. C. On the Mel-scaled Cepstrum. Pretorija: Department of

Electrical and Electronic Engineering, University of Pretoria, 1996.

[11] DC Solenoid Electromagnet. Dostopno na: http://www.uxcell.com/45v-05a-4mm-

stroke-28gf-force-pull-type-solenoid-electromagnet-p-254463.html [6. 6. 2017].

Page 80: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

68

[12] Debian “wheezy” Release Information. Dostopno na:

https://www.debian.org/releases/wheezy/ [20. 5. 2017].

[13] Dehak, N., Kenny, P. J., Dehak, R., Dumouchel, P., Ouellet, P. Front-end factor analysis

for speaker verification. IEEE Transactions on Audio, Speech, and Language

Processing, 19, (2011), 4, str. 788–798.

[14] Desai, N., Dhameliya, K., Desai, V. Feature extraction and classification techniques for

speech recognition: A review. International Journal of Emerging Technology and

Advanced Engineering, 13, (2013), 12, str. 367–371.

[15] Dikici, E., Yılmaz, O., Saraçlar, M. Speaker Recognition. Dostopno na:

http://busim.ee.boun.edu.tr/~speech/index.php/research/9-projects/31-speaker-

recognition [12. 5. 2017].

[16] Go-Vivace Inc. Speaker Identification. Dostopno na: https://govivace.com/

[13. 11. 2016]

[17] Gosling, J., McGilton, H. The Java language environment. Mountain View,

California: Sun Microsystems Computer Company, 1996.

[18] Heinzel, G., Rudiger, A., Schilling, R. Spectrum and Spectral Density Estimation by the

Discrete Fourier Transform(DFT), Including a Comprehensive List of Window Functions

and Some New At-Top Windows. Hannover: Albert-Einstein-Institut, 2002.

[19] Hermansky, H., Morgan, N. RASTA processing of speech. IEEE transactions on speech

and audio processing, 2, (1994), 4, str. 578–589.

[20] Hermansky, H. Perceptual linear predictive (PLP) analysis of speech. The Journal of

the Acoustical Society of America, 87, (1990), 4, str. 1738–1752.

[21] Hertlein, H., Frischholz, R., Nöth, E. Pass Phrase Based Speaker Recognition for

Authentication. BIOSIG, 31, (2003), str. 71–80.

[22] IEEE 754: Standard for Binary Floating-Point Arithmetic. Dostopno na:

https://www.csee.umbc.edu/~tsimo1/CMSC455/IEEE-754-2008.pdf/ [4. 6. 2017].

[23] Institute for Infocomm Research. Dostopno na: http://www.i2r.a-star.edu.sg/

[14. 5. 2017].

[24] Kinobo "Makio" USB Mini Microphone for Raspberry Pi. Dostopno na:

https://kinobo.co.uk/products/kinobo-makio-usb-mini-microphone-for-raspberry-

pi-laptop-desktop-pc [6. 6. 2017].

Page 81: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

69

[25] Larcher, A., Lee, K. A., Ma, B., Li, H. Phonetically-constrained PLDA modeling for text-

dependent speaker verification with multiple short utterances. Proceedings of the

International Conference on Acoustics, Speech and Signal Processing. International

Conference on Acoustics, Speech and Signal Processing (ICASSP), Vancouver, 26.–31.

maj 2013. Vancouver: IEEE, 2013, str. 7673–7677.

[26] Matsui, T., Furui, S. Concatenated phoneme models for text-variable speaker

recognition. V Acoustics, Speech, and Signal Processing. 1993 IEEE International

Conference on Acoustics, Speech, and Signal Processing, Minneapolis, 27.–30. april

1993. (neomejena kohortna)

[27] Ming, J., Hazen, T. J., Glass, J. R., Reynolds, D. A. Robust speaker recognition in noisy

conditions. IEEE Transactions on Audio, Speech, and Language Processing, 15, (2007),

5, str. 1711–1723.

[28] Mohan, B. J. Speech recognition using MFCC and DTW. International Conference

on Advances in Electrical Engineering Proceedings. International Conference

on Advances in Electrical Engineering, Velore, 9.–11. januar 2014. Velore: IEEE, 2014,

str. 1–4.

[29] Muda, L., Begam, M., Elamvazuthi, I. Voice recognition algorithms using mel

frequency cepstral coefficient (MFCC) and dynamic time warping (DTW) techniques.

arXiv preprint, arXiv:1003.4083, (2010). Dostopno na:

https://arxiv.org/abs/1003.4083 [12. 11. 2016].

[30] Müller, M. Dynamic time warping. V Information retrieval for music and motion.

Heidelberg: Springer, 2007, str. 69–84.

[31] NIST. The 2004 NIST Speaker Recognition evaluation. Dostopno na:

http://www.itl.nist.gov/iad/mig/tests/sre/2004/ [6. 6. 2017].

[32] NIST. The 2005 NIST Speaker Recognition evaluation. Dostopno na:

http://www.itl.nist.gov/iad/mig/tests/sre/2005/ [6. 6. 2017] .

[33] Nuance VocalPassword. http://www.nuance.com/for-business/customer-service-

solutions/voice-biometrics/vocalpassword/index.htm [13. 11. 2016].

[34] Raspberry Pi Foundation. Raspbian. https://www.raspbian.org/ [23. 7. 2016].

[35] Reynolds, D. A. An overview of automatic speaker recognition technology. V

International Conference on Acoustics, Speech and Signal Processing Proceedings.

Page 82: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

70

International Conference on Acoustics, Speech and Signal Processing (ICASSP),

Orlando, 13.–17. maj 2002. Orlando: IEEE, 2002, vol. 4, str. 4072–4075.

[36] Reynolds, D. Gaussian mixture models. V Encyclopedia of biometrics. Springer

Publishing Company, 2015, str. 827–832.

[37] RSR2015 Corpus. Exploit Technologies Pte Ltd. Dostopno na:

https://www.etpl.sg/innovation-offerings/ready-to-sign-licenses/rsr2015-overview-

n-specifications [6. 6. 2017].

[38] Savage R., Sendula D. The Pi4J project. http://pi4j.com/ [23. 7. 2016].

[39] Shao, Y., Wang, D. Robust speaker identification using auditory features and

computational auditory scene analysis. V Acoustics, Speech and Signal Processing

2008 (ICASSP). 2008 IEEE International Conference on Acoustics, Speech and Signal

Processing, Las Vegas, 31. marec–4. april 2008.

[40] Six. J. TarsosDSP: a Java Library for Audio Processing.

https://0110.be/tags/TarsosDSP [6. 7. 2016]

[41] Six, J., Cornelis, O., Leman, M. TarsosDSP, a real-time audio processing framework in

Java. V Audio Engineering Society 53rd Conference Proceedings. Audio Engineering

Society: 53rd conference on semantic audio. London, 26.–29. januar 2014. London:

Engineering Society, 2014.

[42] Smartphoto Studio. Voice lock. Dostopno na:

https://play.google.com/store/apps/details?id=com.dongsoft.voicelock

[14. 11. 2016].

[43] Stafylakis, T., Kenny, P., Ouellet, P., Perez, J., Kockmann, M., Dumouchel, P. Text-

dependent speaker recognition using PLDA with uncertainty propagation. V

Interspeech Conference Proceedings. Interspeech Conference, Lyon, 25.–29. avgust

2013. Lyon: ISCA, 2013.

[44] Stepančič, L. Optimizacija parametrov v modelu sintetizacije zvoka. Doktorska

disertacija. Univerza v Ljubljani, 2013. Dostopno na: http://eprints.fri.uni-lj.si/2093/

[6. 1. 2017].

[45] The Raspberry Pi Foundation. Raspberry Pi products. Dostopno na:

https://www.raspberrypi.org/products/ [13. 11. 2016].

[46] Toporišič, J. Slovenski pravopis. Ljubljana: Slovenska akademija znanosti in umetnosti,

2001.

Page 83: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

71

[47] United Linkers. Voicesafe-36. Dostopno na: http://automobile-

security.com/voicesafe36.htm [13. 11. 2016].

[48] Variani, E., Lei, X., McDermott, E., Lopez Moreno, I., Gonzalez-Dominguez, J. Deep

neural networks for small footprint text-dependent speaker verification. V

Proceedings of 2014 IEEE International Conference on Acoustics, Speech and Signal

Processing. 2014 IEEE International Conference on Acoustics, Speech and Signal

Processing, Florence, 4.–9. maj 2014. Florence: IEEE, 2014, str. 4052–4056.

[49] Viswanadham, Y. K., Subrahmanyam, T. V., Priya, I. L. Pass-Phrase based Speaker

Identification. International Journal of Computer Applications, 10, (2010), 8, str. 6–9.

[50] Voicekey. OpenSezMe. Dostopno na: https://itunes.apple.com/ml/app/opensezme/

id643249347?mt=8 [14. 11. 2016].

[51] Wahyudi, W. A., Syazilawati, M. Intelligent voice-based door access control system

using adaptive-network-based fuzzy inference systems (ANFIS) for building security.

Journal of Computer Science, 3, (2007), 5, str. 274–280.

[52] Westphal, M. The use of cepstral means in conversational speech recognition. V

Proceedings Eurospeech (1997). Eurospeech 1997, Rhodes, 22.–25. september 1997.

[53] You, C. H., Lee, K. A., Ma, B., Li, H. Text-Dependent Speaker Verification System in

VHF Communication Channel. V Proceedings of Odyssey Speaker and Langauge

Recognition Workshop. Odyssey 2014, Joensuu, 16.–19. junij 2014.

[54] Zazula, D. Predavanja iz računalniške obdelave signalov in slik. Maribor: Fakulteta za

elektrotehniko računalništvo in informatiko, 2015.

[55] Zhao, X., Wang, D. Analyzing noise robustness of MFCC and GFCC features in speaker

identification. V Acoustics, Speech and Signal Processing 2013 (ICASSP). 2013 IEEE

International Conference on Acoustics, Speech and Signal Processing, Vancouver,

26.–31. maj 2013.

Page 84: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

72

Page 85: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

73

Page 86: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

74

Page 87: GLASOVNA KLJUČAVNIA NA PLATFORMI RASPBERRY Pi · iv Glasovna ključavnica na platformi Raspberry Pi Ključne besede: glasovna ključavnica, Raspberry Pi, dinamično časovno prileganje,

75