Įvadas
Garsų atpažinimas yra įprastas reiškinys kasdieninėje praktikoje. Po ilgesnės ar trumpesnės eksploatacijos žmogus lengvai atpažįsta savo buitinius prietaisus pagal jų darbo metu keliamą triukšmą. Tačiau būtų nelengva pagal triukšmą, nesant vizualių atpažinimo ženklų, atpažinti prietaisą tarp kitų tokių pat prietaisų. Tą galima būtų padaryti pasitelkiant ekspertus, kurie spręstų iš kompiuterio pateiktų garso ir laiko diagramų, jų spektrų grafikų ir kitos grafinės informacijos. Pagaliau ekspertas gali priimti sprendimą ir be kompiuterio, tiesiog pasikliaudamas savo klausa ir patirtimi, panašiai kaip tai daro gydytojas, diagnozuodamas širdies arba plaučių ligas.
Ekspertų sprendimai yra subjektyvūs, todėl ne visuomet patikimi. Tuo tarpu šiuolaikiniai kompiuteriai garso signalams apdoroti turi pakankamai aparatinių ir programinių priemonių [1–8], kurios gali būti pritaikytos garsams atpažinti. Viena iš kompiuterinio garsų atpažinimo sričių yra kalbos atpažinimas [3, 4]. Šiame darbe apsiribosime įrenginių atpažinimu pagal jų keliamo triukšmo charakteristikas. Sudarysime atpažinimo algoritmą ir parinksime atpažinimo kriterijus.
Atpažinimo algoritmas
Atpažinimui taikoma kompiuterio garso sistema (KGS) ir programų paketas MATLAB [9,10]. Programinę įrangą sudaro MATLAB programa, atpažįstanti įrenginį, ir programa, įrašanti įrenginių keliamo triukšmo etalonines signalogramas į nuolatinę asmeninio kompiuterio atmintį. Atpažinimui pritaikytas triukšmo signalų charakteristikų palyginimo metodas (1 pav.).
Išbandytas energijos spektrų ir triukšmo lygių palyginimas. Energijos spektrai apskaičiuojami MATLAB terpėje, taikant greitosios Furjė transformacijos „fft“ ir konjunkcijos „conj“ procedūras:
čia xj – j-ojo įrenginio triukšmo signalograma; k – signalogramos imčių skaičius; j – įrenginio eilės numeris. Įrenginių triukšmo lygis randamas apskaičiavus efektines įtampų vertes, taikant MATLAB funkciją
čia std – MATLAB standartinio nuokrypio funkcija.
1 pav. Atpažinimo algoritmas
Atpažinimo kriterijų parinkimas
Kaip vienas iš atpažinimo kriterijų pritaikyta spektrų skirtumo vidutinė kvadratinė vertė:
čia z – tiriamojo įrenginio triukšmo energijos spektras; z(j) – kitų įrenginių triukšmo energijos spektrai, apskaičiuoti iš duomenų bazėje laikomų etaloninių įrašų.
Įrenginys atpažįstamas pagal (3) funkcijos minimumą:
čia min – MATLAB minimalios masyvo vertės paieškos funkcija.
Apskaičiavus xmin, randamas jį atitinkantis įrenginio eilės numeris j.
Atpažinimui taip pat gali būti pritaikytas įrenginio triukšmo lygis. Jį galima rasti apskaičiavus signalogramų vidutines kvadratines arba efektines įtampų vertes, taikant MATLAB funkciją
Atpažinimo kriterijus šiuo atveju išreiškiamas lygtimi
čia abs – MATLAB absoliutinės vertės apskaičiavimo funkcija; u0 – tiriamojo įrenginio triukšmo lygis.
Atpažinimo bandymai
Atpažinimo algoritmams patikrinti buvo eksperimentuojama su keturiais vienodais įrenginiais – firmos „Conner“ standžiųjų diskų kaupikliais, sąlygiškai pavadintais „Conner1“, „Conner2“, „Conner3“ ir „Conner4“.
Etaloniniai šių įrenginių triukšmo įrašai buvo padaryti, taikant diskretizavimo dažnį fS = 44100 Hz. Įrašų trukmė L = 2fS = 88200 imčių. Atpažinimui MATLAB terpėje sukurtos dvi programos, kurių viena atpažįsta įrenginį pagal triukšmo energijos spektrų (2 pav.) panašumą (1–3 lygtys), kita – pagal įrenginių keliamo triukšmo lygį (5, 6 lygtys).
2 pav. Atpažįstamų standžiųjų diskų kaupiklių energijos spektrai: a – „Conner1“; b – „Conner2“; c – „Conner3“; d – „Conner4“
Atpažinimo kriterijų a1(j) ir a2(j) pasiskirstymo histogramos, kai mikrofonas buvo uždėtas ant standžiųjų diskų kaupiklių „Conner1“ ir „Conner4“, pateiktos 3 pav., a ir b.
Histogramoms sudaryti statistiniai duomenys gauti, taikant tam tikslui sukurtą atpažinimo proceso kartojimo programą.
3 pav. Atpažinimo kriterijų a1(j) ir a2(j) pasiskirstymo histogramos, kai taikomas energijos spektrų palyginimo metodas (a) ir įrenginys atpažįstamas pagal triukšmo lygį (b)
Kaip matyti iš pateiktų histogramų, vienu atveju 10 kartų iš eilės atpažįstamas įrenginys „Conner1“, kitu atveju – „Conner4“, nes atpažinimo kriterijai a1(1) ir a2(4) tenkina (4) ir (6) sąlygas.
Histogramos taip pat rodo, kad mažesnę atpažinimo kriterijaus dispersiją pagal atskirus bandymus turi atpažinimo pagal triukšmo lygį algoritmas. Tai matyti ir iš atpažinimo kriterijaus a2(j) histogramos, pateiktos plokštumoje (4 pav.).
4 pav. Atpažinimo kriterijaus a2(j) pasiskirstymo histogramos
Atpažinimo patikimumui patikrinti buvo atliekami daugkartiniai atpažinimo seansai, taikant ir vieną, ir kitą atpažinimo programą. Mikrofonas buvo perstatomas nuo vieno standžiųjų diskų kaupiklio ant kito į tą pačią jo vietą. Nuo mikrofono pastatymo vietos daugiau priklausė atpažinimo patikimumas, taikant atpažinimo pagal triukšmo lygį algoritmą.
Bandymų rezultatai pateikti 1 lentelėje.
1 lentelė. Atpažinimo patikimumo bandymai
Pašaliniai garsai – radijo transliacija, gatvės triukšmas ir kt. atpažinimo patikimumui pastebimos įtakos neturėjo.
Išvados
- Išbandyti du mechaninių, elektromechaninių ir kt. įrenginių atpažinimo pagal garsą algoritmai – lyginant triukšmo energijos spektrus ir triukšmo lygius.
- MATLAB terpėje sukurtos atpažinimo pagal garsą programos gali būti pritaikytos įrenginių susidėvėjimo laipsniui įvertinti ir gedimams diagnozuoti.
- Eksperimentas parodė, kad mažesnę atpažinimo kriterijaus dispersiją pagal atskirus bandymus turi atpažinimo pagal triukšmo lygį algoritmas.
- Bandymai su keturiais vienodais įrenginiais – standžiųjų diskų kaupikliais – parodė gerą atpažinimo selektyvumą.
- Atpažinimo algoritmų patikimumas, atlikus 100 bandymų, viršijo 96 %.
- Tinkamai parinkus garso atkūrimo jautrumą, pašaliniai garsai atpažinimo patikimumui įtakos neturi.
Literatūra
- Gražulevičius G. Kompiuterių garso sistemų tyrimas ir taikymas: daktaro disertacija. Technologijos mokslai, elektros ir elektronikos inžinerija (01T); Vilniaus Gedimino technikos universitetas. – Vilnius, 2004. – 122 p.
- Gražulevičius G., Gražulevičius A. Asmeninio kompiuterio garso sistemos taikymas elektroakustiniams signalams ir mechaniniams virpesiams tirti // Elektronika ir elektrotechnika. – Kaunas: Technologija, 2003. – Nr. 7(49). – P. 44–46.
- Tamulevičius G., Lipeika A. Žodžių atpažinimo sistemos kūrimas // Lietuvos matematikos rinkinys. ISSN 0132-2818. – 2003. – T.43. – P. 584–590.
- Lipeika A., Lipeikienė J. Speaker Recognition Based on the Use of Vocal Tract and Residue Signal LPC Parameters // INFORMATICA, ISSN 0868-4952. – 1999. – Vol. 10, No 4. – P. 377–388.
- Derry R. PC Audio Editing. Book & CD-Rom Edition. Focal Press; Second Edition. November, 2002. – 264 p.
- Радзишевский А. Компьютерная обработка звука. – М.: Нолидж, 2000. – 240 с.
- Кинтцель Т. Руководство программиста по работе со звуком. Пер. с англ. – М.: ДМК Пресс, 2000. – 432 с.
- Смирнов Д. В., Логутенко О. И. Аппаратные средства мультимедиа. Аудиосистема PC. – СПБ: БХВ – Санкт- Петербург, 1999. – 384 с.
- Gilat A. MATLAB: An Introduction with Applications. John Wiley & Sons; 1st edition. February, 2003. – 304 p.
- Дьяконов В., Круглов В. MATLAB. Анализ, идентификация и моделирование систем. Специальный справочник. – СПб.: Питер, 2002. – 448 с.
A. Gražulevičius, G. Gražulevičius. Garsų atpažinimo galimybių tyrimas // Elektronika ir elektrotechnika. – Kaunas: Technologija, 2005. – Nr. 8(64). – P. 47–50.
Straipsnį taip pat galite atsisiųsti PDF formatu iš KTU svetainės.