ترجمه مقاله تشخیص مقاوم گفتار به روش دستهبندی نویز
تشخیص مقاوم گفتار به روش دستهبندی نویز
Robust voice activity detection directed by noise classification
چکیده
در این مقاله تشخیص گفتار (VAD) به کمک ماشین بردار پشتیبان (SVM) به صورت یک مساله دستهبندی دو کلاسه فرموله شده است. روش ارائه شده، برای دستهبندی گفتار/غیرگفتار، یک فرایند استخراج ویژگی پردازش گفتار مقاوم به نویز را با مدلهای ماشین بردار پشتیبان آموزش دیده در انواع نویز زمینهها[1] ترکیب میکند. همچنین از یک ماشین بردار پشتیان چندکلاسه به منظور دستهبندی نویزهای زمینه به کار رفت تا برای تشخیص گفتار، مدل ماشین بردار پشتیبان انتخاب شود. روش تشخیص گفتار ارائهشده در این مقاله، توسط دادههای TIMIT که به صورت مصنوعی و با کمک انواع نویزهای افزوده شده به آن معوج شدهاند، تست شده و با تشخیصگفتارهای بروز و پیشرفته مقایسه میوشد. نتایج شبیهسازی نشان میدهند که روش تشخیص گفتار ارائه شده میتواند گفتار را تحت شرایط نسبت سیگنال به نویز ضعیف استخراج کند و اینکه به سطوح مختلفی از نویز حساس نیست.
سفارش ترجمه تخصصی مهندسی کامپیوتر
1 مقدمه
تشخیص گفتار (VAD) فرایندی است که میتواند بخشهای گفتاری و غیرگفتاری را از یک سیگنال گفتار جدا کند. یک گفتار مکالمهای معمولی دارای نسبت گفتار به غیرگفتار چهل به شصت است [1]. لذا، استفاده از تشخیص گفتار میتواند ظرفیت کانال و نیز مصرف توان سیستمهای مخابره صدا را بهبود بخشد. همچنین تشخیص گفتار به کاربردهای مختلف مربوط به گفتار مثل رمزگذاری گفتار [2]، بازشناسی خودکار گفتار [3] و سیستمهای بهبود گفتار [4] کمک میکند.
رویه اساسی بیشتر روشهای تشخیص گفتاری که امروزه کاربرد دارند شامل مرحله استخراج ویژگی توسط یک بخش تصمیمگیری است. مرحله استخراج ویژگی به منظور تمییز اجزاءگفتاری و غیرگفتاری، پارامترهای آکوستیک را از سیگنال گفتار ورودی استخراج میکند. پارامترهای مرسوم آکوستیک عبارتند از سطوح انرژی کوتاه مدت، نرخ عبور از صفر، پریود زیر و بمی و اختلاف طیف. سپس، بخش تصمیمگیری از این پارامترهای آکوستیک به همراه قوانین تصمیم استفاده میکند تا نتیجه تشخیص گفتار را تعیین کند. قوانین تصمیم باید مقادیر آستانه ساده و یا مدلهای آماری پیچیدهای باشند. برای بخش قانون تصمیمگیری میتوان از یک دستهبندی کننده آموزشدیده ای چون ماشینهای بردار پشتیبان (SVM) استفاده کرد. این مقاله یک روش موثری را نشان میدهد که برای تشخیص گفتار در محیطهای دارای نویز از ماشین بردار پشتیبان بهره میبرد. بدون توجه به قوانین تصمیمگیری، استفاده از ویژگیهای مناسب در عملکرد تشخیص گفتار بسیار مهم است. از آنجا که سیگنالهای گفتار غیراستیشنری (غیرساکن) بوده و شامل مولفه گذراهای زیادی هستند، استفاده از یک روش با رزولوشن ثابت زمان-فرکانس برای استخراج ویژگی در تشخیص گفتار و به خصوص در محیطهای دارای نویز، مناسب نیست. تبدیل موجک مبتنی بر تحلیل سیگنال زمان- فرکانس است. تحلیل موجک از یک تکنیک پنجرهای با نواحی اندازه متغیر استفاده میکند. وقتی نیازمند اطلاعات دقیق فرکانس پایین (LF) باشیم، این تحلیل از نواحی با فاصله زمانی بزرگ استفاده میکند، و وقتی نیازمند اطلاعات فرکانس بالا (HF) باشیم از نواحی کوچکتر استفاده میکند. در اینجا، از تبدیل بسته موجک ادراکی[2] (PWPT)، به عنوان ابزاری برای استخراج ویژگی استفاده میشود. تبدیل بسته موجک ادراکی به منظور اصلاح و تعدیل ساختار درخت تجزیهای تبدیل بسته موجک (WPT) به کار رفت تا باندهای بحرانی مدل سایکوآکوستیک تا جای ممکن به صورت نزدیک تقریب زده شوند. دلیل اصلی برای تعبیه مدل سایکوآکوستیک در PWPT این است که انسانها قادر به تشخیص گفتارهای مطلوب در محیطهای داری نویز هستند بدون اینکه دانشی در رابطه با نویز داشته باشند [5]. بنابراین، سیستم شنوائی انسان قادر به تمییز نویزهای آکوستیک مختلف است.
در محیطهای دارای نویز، عملکرد تشخیص گفتار به شدت تحت تاثیر قرار میگیرد. به طور معمول، برای رسیدگی به نویز در روشهای تشخیص گفتار دو روش مهم و اساسی موجود است. در روش اول، معمولا از روش بهبود گفتار برای کاهش نویز استفاده میشود [6]، و در روش دوم، ویژگیهای مقاوم نویز از گفتار دارای نویز استخراج میشوند [7]. انواع نویزهای آکوستیک در محیط وجود دارد (مثل همهمه، خیابان، ماشین و غیره)، که منجر به تنرل عملکرد روشهای تشخیص گفتار میشوند. معمولا، تاثیر نویزهای مختلف در روشهای تشخیص گفتار در نظر گرفته نمیشوند. با اصلاح پردازش با توجه به نوع نویز زمینه، میتوان عملکرد تشخیص گفتار را بهبود داد. این کار نیازمند دستهبندی نویز است که در بسیاری از کاربردها همچون بازشناسی مقاوم گفتار [8]، و بهبود گفتار [9] به کار رفته است.
ادامه این مقاله به صورت ذیل سازماندهی شده است. PWPT به طور خلاصه در بخش2 مرور شده است. بخش3 توصیفی از الگوریتم دستهبندی و تشخیص گفتار مبتنی بر ماشین بردار پتسبان هدایت شده با دستهبندی نویز را بیان میکند. بخش4 نتایج تجربی را تشریح شده و آن را با دیگر روشها مقایسه میکند. در نهایت نیز در بخش 5 نتیجهگیری بیان شده است.
2 تبدیل بسته موجک ادراکی
کار ریاضیاتی تبدیل بسته موجک ابتدا توسط کویفمن [10] ارائه شد. تبدیل بسته موجک یک تبدیل موجک است که در آن سیگنال گسسته زمان (نمونهبرداریشده) از تعداد فیلتر بیشتری نسبت به تبدیل موجک گسسته (DWT) عبور داده میشود و بنابراین تعداد زیرباندهای فرکانس بالای بیشتری برای نمایش صحیح و مناسب سیگنال وجود دارد.
تبدیل بسته موجک ادراکی به منظور اصلاح و تعدیل ساختار درخت تجزیهای تبدیل بسته موجک (WPT) به کار رفت تا باندهای بحرانی مدل سایکوآکوستیک تا جای ممکن به صورت نزدیک تقریب زده شوند. در مدل سایکوآکوستیک، مولفههای فرکانسی صداها را میتوان با باندهای بحرانی ترکیب کرد، این باندها اشاره به پهنای باندهایی دارند که در آنها پاسخ subjective کاملا متفاوت میشود [11]. در درک بیشتر پدیدههای شنیداری، باندهای بحرانی اهمیت دارند، مثلا در درک بلندی، زیر و بمی و طنین[3]. یک دسته از مقیاسهای باند بحرانی را مقیاس بارک مینامند. بر اساس اندازهگیریهای انجام شده توسط زویکر و همکاران [12]، مقیاس بارک z را میتوان به صورت تقریبی برحسی فرکانس خطی به صورت زیر بیان کرد:
که f فرکانس خطی برحسب هرتز است. پهنای باند بحرانی متناظر (CBW) فرکانسهای مرکزی را میتوان به این صورت بیان کرد:
که fc فرکانس مرکزی است. به طور نظری، محدوده فرکانس شنوائی انسان بین 20 تا 20000 هرتز بوده و تقریبا 25 بارک را پوشش میدهد.
از آنجا که مقیاس بارک تابعی از فرکانس خطی است، اولین گام در ساخت تبدیل بسته موجک ادراکی این است که نرخ نمونهبرداری سیگنالی گفتاری تنظیم شوند تا به این ترتیب اعداد معتبر بارک تعیین شوند. در این مقاله، نرخ نمونهبرداری اساسی برابر 8 کیلوهرتز است، که منجر به پهنای باند 4 کیلوهرتز میشود. در این پهنای باند، حدود 17 باند بحرانی وجود دارد [11]. ساختار درختی تبدیل بسته موجک ادراکی را میتوان مطابق شکل1 a ایجاد کرد. پهنای باند فرکانسی متناظر با درخت تبدیل بسته موجک ادراکی در شکل1b نشان داده شده است که دارای 16 سلول تجزیه با پنج مرحله تجزیه است تا این 17 باند بحرانی را تقریب بزند.
شکل1 a ساختار درختی PWPT و b پهنای باندهای فرکانسی برای درخت PWPT، که در آن wj معرف ضریب موجک زیرباند j ام PWPT است، جائی که j = 1-17. (نرخ نمونهبرداری برابر 8 کیلوهرتز انتخاب شده است، که منجر به پهنای باند 4 کیلوهرتز میشود. در این پهنای باند، حدودا 17 باند بحرانی وجود دارد.)
3 روش ارائه شده
همانطور که در بخش1 توصیف شد، روش تشخیص گفتار مقاوم از یک تکنیک مبتنی بر دستهبندی استفاده میکند، که در آن مدلهای دستهبندی به کمک سیگنالهای گفتار دارای نویز و در محیطهای خاص آموزش میبینند. برای یک سیگنال گفتار داده شده، مجموعهای از ویژگیها از دوره کوتاه سکوت در ابتدای سیگنال، برای دستهبندی استخراج میشوند. ویژگیهای استخراج شده از بخش سکوت بعدا به منظور شناسائی نوع محیط به کار میرود. به محض شناخت نوع محیط، شناسنده مدلی متناظر برای دستهبندی بقیه سیگنال به عنوان گفتاری یا غیرگفتاری انتخاب میکند.
ابتدا، ماژول دستهبندی محیط یا نویز به کمک تبدیل بسته موجک ادراکی و ماشین بردار پشتیبان ساخته میشود. سرجمع محاسباتی ماژول دستهبندی نویز باید تا جای ممکن کوچک نگه داشته شود، تا اینکه کل سیستم بتواند به یک زمان پردازش قابل قبول دست یابد. سپس، یک ماشین بردار پشتیبان مخصوص بر روی سیگنالهای گفتار دارای نویز با سطوح مختلف نسبت سیگنال به نویز آموزش میبیند. شکل2 بلوک دیاگرام روش ارائه شده را نشان میدهد که شامل تعدادی مراحل اساسی است:
- یک فریم کوچک از 1024 نمونه در شروع سیگنال گفتار، که انتظار میرود به صورت ساکت باشد، برای دستهبندی نویز به کار میرود.
- دستهبندی کننده ماشین بردار پشتیبان چندکلاسه به منظور شناسائی نوع نویز به کار میرود.
- سیگنال ورودی x(n) نمونهبرداری شده در فرکانس 8 کیلوهرتز به فریمهای همپوشای 32 میلیثانیه با یک شیفت پنجره 15 میلیثانیه تجزیه میشود. سپس، به منظور کار دستهبندی، چهار نوع ویژگی از هر فریم استخراج میشود.
- برای دستهبندی فریم گفتار دارای نویز به صورت گفتاری یا غیرگفتاری، مدل مناسب ماشین بردار پشتبان بر اساس نتیجه دستهبندی نویز انتخاب میشود.
در زیربخشهای ذیل، در رابطه با پروسه روش تشخیص گفتار اطلاعات و جزئیات بیشتری ارائه میشود.
شکل2. بلوک دیاگرام روش تشخیص گفتار ارائه شده.
3.1 دستهبندی نویز
هدف از دستهبندی نویز شناسائی نوع محیط گفتار است. در اینجا مدل سادهای مبنی بر دستهبندیکننده ماشین بردار پشتیبان چندکلاسه برای شناسائی نوع نویز استفاده میشود.
3.1.1 استخراج ویژگی
انتخاب ویژگیهای سیگنال معمولا بر دانش قبلی از طبیعیت سیگنالهایی استوار است که قرار است دستهبندی شوند. به این منظور انواع ویژگیهای سیگنال مورد استفاده قرار گرفت، منجمله پارامترهای سطح پائینی چون نرخ عبور از صفر، پهنای باند سیگنال، مرکز طیف، انرژی سیگنال و ضرایب کپسترال فرکانس مل.
همانطور که در بخش1 بحث شد، تبدیل بسته موجک ادراکی به عنوان ابزاری برای استخراج ویژگی مورد استفاده قرار میگیرد. برای تمایز بهتر بین نویزهای مختلف در حوزه تبدیل بسته موجک ادراکی، سه ویژگی میانگین، انحراف معیار و آنتروپی از هر زیرباند استخراج میشوند:
که در این رابطه wj(k) تعریف کننده ضریب k ام زیرباند j ام PWPT است، که j = 1-17، و Nj تعداد ضرایب در زیرباند j ام است، و k = 1, 2, …, Nj هیستوگرام نرمالشده مقادیر قدرمطلق ضرایب موجک در زیرباند wj بوده و L تعداد سطح هیستوگرام متناظر است.
در انتهای مرحله استخراج ویژگی، بردار ویژگی 51 بعدی بدست میآید. اکنون، از تحلیل مولفه اصلی[4] استفاده میشود تا مهمترین ویژگیها استخراج شوند. PCA به طور گسترده برای استخراج ویژگی در تشخیص به کار میرود. مفهوم اصلی PCA این است که بردار ویژگی اصلی ب رروی محورهای مولفه اصلی تصویر شود. این محورها متعامد بوده و متناظر با جهات بزرگترین واریانس فضای ویژگی اصلی هستند. بنابراین، تصویر این بردارهای ورودی بر روی زیرفضای اصلی اجازه کاهش فرکانس در فضای ویژگی اصلی و نیز کاهش ابعاد بردارهای ورودی را میدهد.
3.1.2 نتایج دستهبندی نویز
پنج نوع نویز از NOISEX-92 [13] منجمله نویز کارخانه، سفید، صورتی، همهمه و اتومبیل با کاهش نرخ نمونهبرداری به 8 کیلوهرتز پیش پردازش شدند. مجموع 34590 فریم (75/17 دقیق)، که به صورت یکنواخت بین 5 دسته توزیع شدهاند، برای این دستهبندی به کار رفتند. شکل3 بردار ویژگی تصویرشدۀ (برداری وزنی) حاصل از 34590 بردار ویژگی حاصل از هر پنج نوع محیط (کارخانه، سفید، صورتی، همهمه و اتومبیل) بر روی یک فضای سه بعدی به کمک PCA را نشان میدهد. نوع نویز مطابق شکل به راحتی شناسائی میشود.
مساله دستهبندی نویز یک دستهبندی چندکلاسه است. بنابراین، ما از روش یکی در برابر یکی استفاده میکنیم که در آن به تعداد k(k-1)/2 دستهبندی کننده ایجاد میشود و هر کدام از آنها از دادههای آموزشی دو دسته مختلف استفاده میکنند. اولین کاربرد این استراتژی بر روی ماشین بردار پشتیبان در [14] ارائه شد. در دستهبندی، ما از یک راهبرد رایگیری استفاده کردیم: هر دستهبندی باینری به عنوان یک رایگیری در نظر گرفته شدند که رایها را میتوان برای همه نقاط داده x انداخت. در انتها، هر نقطه به یک دسته (کلاس) با کمترین تعداد رای اختصاص داده میشود. مدل SVM به کمک ابزار نرمافزاری LIBSVM آموزش داده شد [15].
عملکرد SVM را میتوان از طریق عبارت C کنترل کرد، C همان پارامتر جریمه است که مصالحهای بین پیچیدگی تابع تصمیمگیری و تعداد مثالهای آمورشی با دستهبندی نادرست، و پارامترهای هسته (کرنل) موسوم به پارامترهای هایپر برقرار میکند. این پارامترها بر روی تعداد بردارهای پشتیبان و حاشیه بیشینهکنندگی SVM تاثیر دارند. همان طور که ذکر شد، عملکرد دستهبندی کننده مبتنی بر SVM را میتوان از طریق پارامترهای هایپر SVM کنترل کرد. در اینجا، برای یافتن پارامترهای بهینه از الگوریتم ژنتیک (GA) پیادهسازی شده در نرمافزار MATLAB استفاده شد. دو پارامتر قرار شد توسط الگوریتم ژنتیک بهینه شوند: C یعنی پارامتر جریمه، و σ یعنی پارامتر هسته (کرنل).
کل مجموعه داده ها به سه بخش تقسیم میشوند: مجموعه آموزشی (30%)، مجموعه ارزیابی (30%) و مجموعه تست (40%). مجموعههای آموزشی و ارزیابی برای یافتن پارامترهای بهینه توسط الگوریتم ژنتیک به کار میروند، و تابع سازگاری عبارت است از نرخ خطای دستهبندی، که باید کمینه شود. علاوه بر این، برای مصالحه بین دقت و پیچیدگی، اندازه جمعیت برابر 15 تنظیم شده و اندازه جمعیت نیز 10 برای بهینهسازی ژنتیک انتخاب میشود.
تعداد مولفههای اصلی بردارِ ویژگی پارامتر دیگری است که باید برای دستهبندی انتخاب شود. به این منظور، کمترین نرخ خطای الگوریتم ژنتیک برای تعداد زیادی از مولفههای اصلی در الگوریتم دستهبندی حاصل میشود. شکل4 نرخ خطای دستهبندی را در برابر تعداد مولفههای اصلی به کار رفته برای دستهبندی، نشان میدهد. نرخ خطای دستهبندی تقریبا پس از 20 مولفه اصلی، ثابت است؛ بنابراین، برای کار دستهبندی ما 20 مولفه اصلی را انتخاب کردهایم. علاوه بر این، پارامترهای بهینه SVM به کمک الگوریتم ژنتیک به این صورت هستند: C = 1.93 و σ = 0.53.
پس از بدست آوردن پارامترهای بهینه، SVM توسط مجموعههای آموزشی و ارزیابی (60% کل مجموعه دادهها) آموزش مجدد میبیند، و سپس SVM آموزشدیده به کمک پارامترهای بهینه مجموعه تست (40% کل مجموعه دادهها) تست میشود، و نرخ خطای دستهبندی برابر 62/1% است. نمایش با جزئیات بیشتر نتایج دستهبندی برای هر دسته به شکل یک ماتریس دستهبندی ارائه میشود. جدول1 نشان میدهد که دقت دستهبندی 46/96 تا 100% برای دستههای مختلف حاصل میشود. نویزهای ولوو و سفید کاملا دستهبندی میشوند و و نویزهای همهمه، کارخانه و صورتی به اشتباه دستهبندی میشوند با نرخ خطاهای 1 تا 4%.
خیلی جالب است که نتایج مرحله به مرحلهای بهبود ایجاد شده در گروههای مختلفِ ویژگی توسط الگوریتم دستهبندی نویز ایجاد شده است نمایش داده شود. شکل5 نتایج دقت دستهبندی را در برابر گروه ویژگیهای مختلفی منجمله بردار ویژگی PCA به کار رفته در کار دستهبندی را نشان میدهد. از نتایج آشکار است که هر ویژگی تاثیر مهمی بر روی الگوریتم دستهبندی نویز به کمک SVM دارد.
شکل3. توزیع ویژگیهای کاهشیافته PCA که از پنج نویز مختلف محاسبه شده است.
شکل4. نرخ خطای دستهبندی در برابر تعداد مولفههای اصلی به کار رفته برای دستهبندی نویز.
جدول1 ماتریس دستهبندی
2.3. تشخیص گفتار هدایت شده با روش دستهبندی نویز
پس از شناسایی نوع نویز با استفاده از الگوریتم دسته بندی نویز، یک مدل مقاوم بر مبنای نوع نویز برای نسبتهای سیگنال به نویزهای (SNR) مختلف ایجاد شده است.
1.2.3 استخراج ویژگی
مرحله استخراج ویژگی برای افزایش تمیز بین نویز (غیر گفتار) و گفتار به منظور دسته بندی انجام میشود. الگوریتم استخراج ویژگی به صورت زیر بیان میشود. سیگنال ورودی x(n) نمونه برداری شده با فرکانس 8 هرتز، با یک جابجایی 15 میلی ثانیهای به فریمهای هم پوشای 32 میلی ثانیهای تجزیه میشود. آنگاه، چهار نوع ویژگی از هر یک از فریمها برای انجام دسته بندی استخزاج میشود: 1. مجموع خودهمبستگی(SAC)، 2. انتروپی، 3. مجموع بیشینههای محلی (SLM) چگالی طیف شدت (PSD) و 4. میانگین زیر باندهای PWPT.
شکل5. نتایج دقت دستهبندی در برابر انواع گروه ویژگیها منجمله بردار ویژگی PCA به کار رفته در الگوریتم دستهبندی نویز
توضیح شکل6.a یک سیکنال گفتار بدون نویز b سیگنال دارای نویز معوج شده با نویز سفید (5 dB SNR)، و ویژگیهای مختلف استخراج شده از سسیگنال گفتار دارای نویز در فریمهای متوالی شامل c مجموع توالی خودهمبستگی (SAC)، d آنتروپی، و e مجموع بیشینههای محلی شدت طیف توان (SLM).
1.1.2.3. مجموع دنباله خودهمبستگی: این ویژگی متناوب یک مشخصه ذاتی سیگنالهای گفتار است و معمولا برای توصیف گفتار به کار میرود. ویژگیهای متناوب سیگنالهای گفتار برای استخراج دقیق گفتار به کار میروند. در واقع، صداهای گفتاری ویژگی متناوب قویتری نسبت به صداهای غیر گفتاری و سیگنالهای نویز دارند. در نتیجه، تابع شناخته شده خودهمبستگی (ACF) در حوزه زمان برای ارزیابی شدت تناوب هر فریم تعریف میشود. تخمین بایاس شده ACF به این صورت نشان داده میشود:
دنباله SAC به عنوان اولین ویژگی استفاده میشود:
شکل 6c، اولین ویژگی را در فریمهای مختلف سیگنال گفتار هنگامیکه گفتار ورودی آلوده به نویز سفید باشد، نشان میدهد. از این شکل، مشاهده میشود که SAC بخشهای گفتاری پیکهای مشخصتری نسبت به بخشهای غیر گفتاری و نویز سفید دارد.
2.1.2.3. انتروپی: انتروپی یک معیار آماری برای تصادفی بودن است و محتوی اطلاعات موجود در یک سیگنال را اندازه گیری میکند. به دلیل ویژگی متناوب سیگنال گفتارو طبیعت تصادفی نویز، معیار انتروپی میتواند آنها را به صورت موثری متمایز نماید.
بنابراین، میتوان از این معیار برای متمایز کردن نویز و گفتار در هر فریم استفاده کرد (شکل 6d). شاخص انتروپی به صورت زیر تعریف میشود:
که در آن h هیستوگرام نرمال شده مقدار مطلق سیگنال گفتار x(n) در فریمیبه طول N است، n = 0, 1, …, N-1، و K تعداد سطوح هیستوگرام متناظر است.
3.1.2.3. مجموع بیشینههای محلی چگالی طیف شدت: PSD یک فرآیند ساکن تصادفی، به صورت ریاضی با استفاده از تبدیل زمان گسسته فوریه به خودهمبستگی مرتبط است. در حالت کلی، هر چه یک سیگنال همبستهتر یا قابل پیشبینیتر باشد، طیف شدت آن متمرکزتر است و بالعکس، هر چه یک سیگنال تصادفیتر و غیر قابل پیشبینیتر باشد، طیف شدت آن گستردهتر است. بنابراین، طیف شدت یک سیگنال میتواند برای فهم وجود ساختارهای تکراری یا الگوهای همبسته در پردازش سیگنال به کار رود.
روش ولچ، که یک الگوریتم غیر پارامتریک است، برای تخمین PSD به کار میرود. روش ولچ با میانگینگیری از تخمین بهبود یافته شدت طیف سیگنال[5] به دست میآید. این میانگینگیری بر روی بخشهای هم پوشا و پنجرهای[6] انجام میشود. پس از به دست آوردن PSD برای هر فریم، SLM آن به عنوان سومین ویژگی برای انجام دسته بندی استفاده میشود. شکل 7 به وضوح نشان میدهد که بیشینه محلی PSD میتواند به صورت موثری سیگنالهای نویز و گفتار را متمایز نماید. (این امر از شکل 6e نیز قابل مشاهده است.)
شکل7. بیشینههای محلی شدت طیف توان به کمک روش ولچ از دو فریم نمونهبرداری a نویز و b سیگنالهای گفتار
4.1.2.3. میانگین زیر باندهای PWPT: سیگنال گفتار ورودی میتواند به 17 زیر باند تجزیه شود. این زیر باندها متناظر با مجموعه ضرایب موجک هستند. نویز سفید در تمام فرکانسهای زیر باندها وجود دارد ولی این امر برای سایر نویزها صدق نمیکند. بنابراین برای تمایز بهتر بین نویز و گفتار، میانگین گفتار دارای نویز در هر زیر باند PWPT بیان شده در (3) به عنوان ویژگی چهارم استفاده میشود.
علاوه بر چهار ویژگی ذکر شده، دلتای هر یک از ویژگیها برای به دست آوردن خودهمبستگی بین فریمهای مجاور در سیگنال گفتار استفاده میشود. تابع دلتا برای هر یک از ویژگیها به صورت زیر تعریف میشود:
که در آن n تعداد فریمها است.
در انتهای مرحله استخراج ویژگی، تودهای از بردار 40 بعدی ویژگی (FV) برای هر یک از فریمها برای دسته بندی آنها به عنوان گفتار یا غیر گفتار در دست داریم.
که هر یک از M و ∆Mها شامل 17 ویژگی متناظر با 17 زیر باند PWPT هستند.
به عنوان مرحله آخر، ما همچنین به هر یک از این ویژگیها، برای استخراج کاربردی ترین آنها، PCA را اعمال کردیم. تاثیر گروههای ویژگی مختلف از بردار ویژگی PCA، در الگوریتم تشخیص گفتار پیشنهاد شده به صورت جداگانه بر حسب دقت دسته بندی ارزیابی میشود. این مساله در زیر بخش بعدی بررسی خواهد شد.
شکل8. توزیع ویژگیهای PCA کاهش یافته از 880 فایل گفتار معوج شده با نویز سفید.
جدول 2
پارامترهای بهینه SVM بدست آمده از الگوریتم ژنتیک برای تولید مدل SVM برای انواع مختلف نویز.
2.2.3. ایجاد مدل SVM بر اساس نوع نویز
با در دست داشتن بردار ویژگی، SVM برای دسته بندی استفاده میشود. با استفاده از SVM، یک مدل مقاوم بر مبنای نوع نویز برای نسبت سیگنال به نویزهای مختلف ایجاد میشود. به عبارت دیگر، یک مدل SVM خاص برای گفتاری دارای نویز و با سطوح مختلف نسبت سیگنال به نویز آموزش داده میشود. گفتار بدون نویز که نسبت سیگنال به نویز آن از 30 دسی بل فراتر باشد نیز در مجموعه آموزش، برای هر مدل آکوستیک دارای نویز قرار داده میشود.
به منظور ایجاد یک مدل SVM خاص برای انواع مختلف نویز، 110 تکه گفتار از مجموعه TIMIT [17] استفاده شده اند. هر یک از این نمونه گفتارها به صورت مصنوعی با اضافه کردن نوع خاصی از نویز معوج شده اند. این نویزها شامل همهمه، نویز سفید، کارخانه، نویز صورتی و ولوو ارائه شده در [13] در سطوح نسبت سیگنال به نویزهای مختلف (بدون نویز، 30، 25، 20، 15، 10، 5 و صفر دسی بل) هستند. بنابراین تعداد 880 فایل گفتاری برای هر نویز برای ایجاد مدل SVM برای آن در نظر گرفته شده اند. شایان ذکر است که تکههای گفتاری به صورت چشمیبه دستههای گفتاری و غیر گفتاری تقسیم بندی شده اند. مدل SVM با استفاده از نرم افزار LIBSVM آموزش داده شده اند [15].
کاری مشابه به دسته بندی نویز برای یافتن پارامترهای بهینه شامل C (پارامتر جریمه)، σ (پارامتر هسته) و تعداد مولفههای اصلی انجام میشود. کل مجموعه داده برای هر نوع نویز به دو بخش تقسیم میشود: مجموعه آموزش (60%) و مجموعه ارزیابی (40%). مجموعههای آموزش و ارزیابی برای یافتن پارامترهای بهینه با استفاده از الگوریتم ژنتیک استفاده میشوند و تابع سازگاری[7] نرخ خطای دسته بندی است که باید کمینه شود. به منظور به دست آوردن تعداد مولفههای اصلی، نرخ خطای کمینه با استفاده از الگوریتم ژنتیک برای تعداد مختلفی از مولفههای اصلی در الگوریتم دسته بندی به دست میآید. شکل 8 ضرایب وزنی به دست آمده از 85685 بردار ویژگی به دست آمده از 880 فایل گفتار را نشان میدهد. این فایلهای گفتار با استفاده از نویز سفید در سطوح مختلف نسبت سیگنال به نویز به یک فضای سه بعدی با استفاده از PCA معوج شده اند.
شکل 9 نرخ خطای دسته بندی را در برابر تعداد مولفههای اصلی استفاده شده برای دسته بندی گفتار دارای نویز نشان میدهد. این گفتار با استفاده از نویز سفید معوج شده است. بر مبنای نتایج به دست آمده، برای دسته بندی 25 مولفه اصلی را انتخاب کردهایم. بعلاوه جدول 2 نشان دهنده پارامترهای بهینه SVM به دست آمده از الگوریتم ژنتیک برای تولید مدل SVM برای انواع مختلف نویز است. پس از یافتن پارامترهای بهینه برای انواع مختلف نویز، دسته بندی کننده SVM به کمک کل مجموعه دادهها آموزش مجدد میبیند.
شکل 10 نتایج دقت دسته بندی را در برابر گروه های مختلف ویژگی ها نشان می دهد. این ویژگی ها شامل بردار ویژگی PCA استفاده شده در دسته بندی هستند. نتایج به دست آمده نشان می دهد که هر ویژگی به تنهایی در دسته بندی گفتار- غیر گفتار با استفاده از SVM برای انواع مختلف نویز اهمیت دارد. موثرترین ویژگی، میانگین ضرایب موجک است که از 17 زیر باند PWPT به دست می آید. نتایج همچنین نشان می دهند که استفاده از ویژگی دلتا به صورت قابل توجهی دقت دسته بندی را افزایش می دهد. شایان ذکر است که انواع مختلف نویز، نتایج متفاوتی در دقت دسته بندی به دست می دهند. (نویز سفید بهترین و نویز همهمه بدترین نتایج دسته بندی را به دست می دهند). در الگوریتم پیشنهادی، اطلاعات نوع نویز برای بهبود نتایج تشخیص گفتار استفاده می شود و ویژگی های مختلف برای تمایز بین نوع خاصی از نویز و سیگنال گفتار استفاده می شود. به هر حال، مدل کردن نویزهایی مانند همهمه (که شبیه سیگنال گفتار هستند) و کارخانه(که به شدت غیر ساکن است) دشوار است و بنابراین دقت دسته بندی برای آنها پایین است.
شکل9. نرخ خطای دستهبندی در برابر تعداد مولفههای اصلی به کار رفته برای دستهبندی گفتار/غیرگفتار
شکل10 نتایح دقت دستهبندی در برابر گروههای مختلف ویژگی منجمله بردار ویژگی PCA به کار رفته در دستهبندی گفتار/غیرگفتار در محیطهای مختلف. H ویژگی آنتروپی بوده، SLM مجموع بیشینههای محلی شدت طیف توان، SAC مجموعه دنباله خودهمبستگی و M میانگین زیرباندهای PWPT است.
جدول 3 نتایج دقت دستهبندی در برابر ویژگیهای مختلف
در ادبیات فن، SVM برای تشخیص گفتارها بررسی شده اند. ایده کار، بسیار ساده است. استفاده از استخراج ویژگی و یک دسته بندی کننده SVM. تفاوت های اصلی بین الگوریتم ما و تشخیص گفتارهای بر مبنای SVM، استفاده از دسته بندی نویز و همچنین بردار ویژگی جدید مقاوم است. در اینجا، نتایج دقت دسته بندی، برای دو بردار ویژگی استفاده شده برای تشخیص گفتار بر مبنای SVM، با بردار ویژگی پیشنهاد شده مقایسه شده است. جدول 3 نشان می دهد که بردار ویژگی پیشنهادی ما در مقایسه با روش های دیگر، برای شرایط مختلف نویز عملکرد بهتری دارد.
4. نتایج تجربی
تشخیص گفتار پیشنهاد شده بر حسب توانایی آن برای تمایز بین گفتار و غیر گفتار در نسبت های سیگنال به نویز مختلف بررسی شد. با کاهش نرخ نمونه برداری به 8 کیلوهرتز، 130 تکه گفتار از مجموعه TIMIT پیش پردازش شده و برای بررسی الگوریتم تشخیص گفتار پیشنهادی استفاده شد [17] . هر کدام از نمونههای گفتاری به صورت مصنوعی با اضافه کردن پنج نوع نویز از NOISEX-92 معوج شد. این نویزها شامل نویزهای کارخانه، سفید، صورتی، همهمه و ولوو در سطوح مختلف سیگنال به نویز (20، 15، 10، 5 و 0 دسی بل) بودند [13].
عملکرد الگوریتم ها با مقاسیه درصد دسته بندی صحیح (غیر گفتاری و گفتاری) با علامت گذاری های دستی انجام شده برای تمام تکه گفتارها، مورد بررسی قرار گرفت (شکل 11). ماتریس های عملکرد، درصد شناسایی صحیح غیر گفتار و درصد شناسایی صحیح گفتار توصیف شده در [1] هستند.
شکل11. نمونهای از مجموعه تست و برچسب دستی آن برای ارزیابی نتیجه تشخیص گفتار.
شکل12 تحلیل تمایز گفتار/غیرگفتار به عنوان تابعی از نسبت سیگنال به نویز برای انواع مختف نویز. a درصد شناسائی صحیح گفتار و b درصد شناسائی صحیح غیرگفتار.
شکل13 عملکرد الگوریتم تشخیص گفتار ارائه شده برای SNR های متوسط (0 تا 15 دسی بل) در موقعیتهای مختلف آموزش/تست
توضیح شکل14 منحنی ROC برای تشخیص گفتارهای مختلف و انواع دیگر نویزها
شکل 12 تمایز بین گفتار و غیر گفتار را به صورت تابعی از نسبت سیگنال به نویز برای انواع مختلف نویز نشان می دهد. بهترین نتایج متناظر با نویزهای ولوو و سفید هستند. این امر به این دلیل است که این نویزها نسبتا ساکن تر و ناهمبسته تر هستند. نتایج نویزهای همهمه و کارخانه در سطوح پایین سیگنال به نویز، ضعیف هستند. نویز همهمه همبسته است و شامل اطلاعاتی با فرکانس پایین است که باعث می شود تشخیص آن از سیگنال گفتار در نسبت های پایین سیگنال به نویز دشوار باشد. ویژگی غیر ساکن بودن نویز کارخانه باعث می شود ایجاد یک مدل SVM برای آن در نسبت های پایین سیگنال به نویز دشوار باشد.
بحث در مورد رفتار تشخیص گفتار پیشنهادی در شرایطی از انواع نویز که در مجموعه آموزش وجود نداشته است نیز جالب توجه است. این مساله در عملکرد الگوریتم بسیار مهمه است. برای بررسی بهتر رفتار تشخیص گفتار پیشنهادی در انواع آموزش داده نشده نویز، شکل 13 نتایج تشخیص گفتار پیشنهادی را برای میانگین نسبت های سیگنال به نویز (15- 0 دسی بل) در شرایط مختلف آموزش و تست نشان می دهد. نتایج نشان می دهد هنگامی که مدل SVM به صورت نادرست برای نویزهای سفید و ولوو انتخاب شود، عملکرد الگوریتم پیشهادی تشخیص گفتار به شدت تحت تاثیر قرار می گیرد. به عبارت دیگر، عملکرد الگوریتم پیشنهادی در این موارد به شدت به نوع نویز وابسته است. با این حال، جدول 1 نشان می دهد که دقت دسته بندی در الگوریتم دسته بندی نویز برای نویزهای سفید و ولوو، 100% است.
عملکرد تشخیص گفتار پیشنهادی با روشهای شناخته شده ای مانند روش سان[8]، OSF[9] و LTSD[10] مقایسه شده است. سان و همکاران [20] برای ایجاد یک آشکارساز مقاوم صدا، مدل مارکف را بر روی آزمون نسبت احتمال آماری[11] اعمال کردند. تشخیص گفتار ایجاد شده، روش تخمین پارامتر مبتنی بر تصمیمگیری را برای آزمون نسبت احتمال به کار می برد. OSF پیشنهاد شده در [6] بر مبنای تعیین تباین گفتار و غیر گفتار به وسیله OSFهای ویژه عمل می کند. تشخیص گفتار LSTD، LSTD بین گفتار و نویز را اندازه گیری کرده و با مقایسه بسته طیف بلندمدت با طیف نویز متوسط، قانون تصمیمگیری گفتار/غیرگفتار را فرمولبندی میکند [21]. آستانه تصمیم با انرژی نویز اندازهگیری شده سازگار میشود در حالی که یک حالت نامتعادل کنترلشده تنها وقتی فعال میشود که سیگنال به نویز مشاهده شده کوچک باشد.
آزمون دیگری نیز انجام گرفت تا عملکرد تشخیص گفتار را به کمک منحنیهای مشخصه عملکردی گیرنده (ROC) [22] مقایسه کند، این یک روش رایج در مخابرات است که مبنی بر احتمالات سعی و خطا عمل میکند، که به طور کامل نرخ خطای تشخیص گفتار را توصیف میکند. Pcn یا نرخ pause hit و نرخ آلارم اشتباه[12] (1-Pcs) در هر شرایط نویزی برای انواع تشخیص گفتارهای شکل14 تعیین شدند. از این نتایج آشکار است که روش تشخیص گفتار ارائه شده در بیشتر موارد از روشهای سان، OSF و LTSD بهتر است. در بین همه تشخیص گفتارهای بررسی شده، تشخیص گفتار ما منجر به کمترین نرخ آلارم اشتباه برای یک نرخ Hit ثابت غیرگفتار و نیز بیشترین نرخ hit غیرگفتار برای یک نرخ آلارم اشتباه داده شده است.
بیشتر الگوریتمهای بهبود گفتار از ماژول تشخیص گفتار بهره میبرند تا آمار نویز را تخمین بزنند.
بنابراین، کارائی الگوریتمهای جبران نویز به شدت تحت تاثیر دقت روش تشخیص گفتار هستند. نتایج نشان میدهد که تشخیص گفتار ارائه شده را میتوان به کار برد تا آمار نویز را برای الگوریتمهای بهبود نویز تخمین بزند، چون Pcn تحت شرایط مختلف نویز قابل قبول است.
با این حال، نتایج Pcn برای روشهای سان، OSF و تشخیص گفتار LTSD پایین هستند، به خصوص در نسبت سیگنال به نویزهای پایین، و بنابراین این روشها برای تخمین نویز و بهبود گفتار مناسب نیستند. شایان ذکر است که کدهای اجرائی الگوریتم ارائه شده در فایل MATLAB موجودند [23].
5 نتیجهگیری
در این مقاله، ما سعی کردیم بر اساس دستهبندی نویز به عنوان اولین مرحله از الگوریتم، مدلی ساده برای تشخیص گفتار ارائه دهیم. همچنین برای دستهبندی نویز و گفتار/غیرگفتار، یک بردار ویژگی مقاوم بر اساس PWPT ارائه دادیم.
نتایج آزمایشگاهی برای دستهبندی نویز بسیار امیدوارکننده است. ما برای دستهبندی پنج نوع نویز بدست آمده از NOISEX-92 به دقت دستهبندی 4/98% دست یافتیم. نتایج آزمایشگاهی بدست آمده برای تشخیص گفتار نشان میدهند که عملکرد الگوریتم ارائه شده نسبت به روشهای سان، OSF و تشخیص گفتار LTSD بهتر است، به خصوص در نسبت سیگنال به نویز پایین. الگوریتم ارائه شده در پنج محیط نویزی به 14/86% Pcs و 44/86% Pcn دست یافته و به چهار سطح سیگنال به نویز (0، 5، 10 و 15 دسیبل) به طور متوسط دست مییابد.
یک موضوع که ما علاقمند به پیگیری آن در آینده هستیم این است که اطلاعات فاز گفتار را در فرایند تشخیص گفتار در نظر بگیریم. همچنین در نظر داریم تا به کمک الگوریتمهای دستهبندی دیگر عملکرد تشخیص گفتار را بهبود دهیم. با در نظر گرفتن انواع نویزها در تشخیص گفتار میتوان عملکرد آن را در کاربردهای دنیای واقعی بهبود داد. کارهای آتی باید در رابطه با این مسائل انجام گیرد.
[1] Background noise
[2] Perceptual wavelet packet transform
[3] timbre
[4] Principal Component Analysis (PCA)
[5] Modified periodogram
[6] Windowed segment
[7] Fitness function
[8] Sohn’s method
[9] Order-statistics filter
[10] Long-term spectral divergence
[11] Statistical likelihood ratio test
[12] False alarm rate