کلاسبندی داده های تصوری حرکتی eeg
در BCI مبتنی بر تصور حرکتی از شخص خواسته میشود تا حرکتی را بدون اینکه انجام دهد تصور کند، که در نتیجه آن رخدادهایی مرتبط با تصور در مغز رخ میدهد. هدف BCI این است که از روی سیگنالهای EEG نوع حرکت تصور شده توسط شخص را تشخیص دهد. ما در این ورکشاپ BCI_1 با شما دوستان، تمام مباحثی که برای پردازش دادههای EEG تصوری حرکتی هست را انجام میدهیم. در این ورکشاپ ما انواع دادههای تصوری حرکتی مبتنی بر EEG رو معرفی میکنیم، پروسه ثبت و اطلاعات مربوط به داده را کامل برای شما شرح میدهیم، باندهای فرکانسی که مرتبط با تصور حرکتی هست و مناطق مغزی مرتبط با تصور حرکتی را توضیح میهیم. سپس شروع به تحلیل دادهها میکنیم. در این ورکشاپ ما روی دو تا داده معروف سایت BCI Competition کار میکنیم. سپس در ادامه انواع فیلترهای مکانی و فرکانسی جهت کاهش نویز سیگنال را توضیح داده و روی داده اعمال میکنیم، در ادامه روشهای استخراج ویژگی و کلاسبندی داده تصوری حرکتی را توضیح داده و روی داده پیادهسازی میکنیم. در این ورکشاب الگوریتم معروف CSP را در متلب پیادهسازی کرده و بر روی داده اعمال می کنیم، سپس معایب و مزایای CSP را بررسی میکنیم و برای حل مشکلات این الگورتیم معروف، الگورتیمهای بهبود یافته شده CSP، از قبیل RCSP, FBCSP, CSSP را پیادهسازی میکنیم. در انتهای دوره نحوه ارزیابی یک مدل و پارامترهای ارزیابی را آموزش میدهیم. در پایان این دوره، شرکتکننده دیگر هیچ مشکلی در پردازش سیگنالهای تصوری حرکتی، پیادهسازی مقالات تخصصی جهت بهبود عملکرد کلاسبندی نخواهد داشت
خب بریم سراغ مباحث آموزشی و یه مختصری در مورد BCI مبتنی بر تصور حرکت EEG را توضیح دهیم. در ابتدا لازم است بدانیم که تصور حرکتی چیست و فرایند ثبت این سیگنال به چه صورت هست.
تصور حرکتی (Motor imagery) چیست ؟
در BCI تصوری حرکتی از شخص خواسته میشود تا تصور کند که بخشی از بدن خود را حرکت میدهد. در نتیجه تصور حرکت، باعث فعال شدن سیستم عصبی می شود که در نتیجه آن رخدادهایی در مغز اتفاق میافتد. وظیفه سیستم BCI این است که این رخدادها را از سیگنالهای EEG استخراج نمونه و براساس آن نوع حرکت را تشخیص دهد.
تعریف استاندارد تصور حرکتی (motor imagery)
تصور حرکتی یک حالت دینامیکی (پویا) در طول زمانی که فرد به صورت ذهنی یک حرکتی را شبیه سازی می کند ( به صورت ذهنی حرکتی را انجام میدهد) است.
مثال:
فرض کنید شما بازی بیسبال را بلد هستید. حال یک نفر به شما میگوید در ذهن خود فرض کن که با چوب بیسبال به توپ ضربه می زنی. یعنی شما یک عمل حرکتی(motor action ) مشخص را تصور کرده اید که این امر سبب ایجاد یک network یا شبکه ی ارتباطی در مغز می شود یا ساده بگیم باعث فعال شدن سیستم عصبی میشود، به این تصور حرکتی میگویند.
تصور مکانی(Spatial imagery) چیست ؟
حال فرض کنید از شما می خواهند که در ذهن خود، درِ خانهتان را باز کنید و وارد اتاقتان شوید .در اتاقتان چه می بینید؟ میزی که در اتاقتان قرار دارد را نگاه کنید چه وسایلی بر روی آن دارد؟ دفتر, قاب عکس و کتابهایتان را ببینید .پنجره اتاقتان کجاست؟ و … این امر سبب ایجاد یک فعالیت خاص در مغز می شود .
رخدادهای تصور حرکتی اغلب در چه باندهای فرکانسی رخ میدهند؟
به گفته کتاب Wolpaw رخدادهای تصور حرکتی در سه باند فرکانسی اصلی بتا (18-30 Hz)، MU(8-13 Hz) و گاما رخ میدهد.
ریتم گاما (30 – 70 Hz)
مربوط به حالت هوشیاری و انجام فعالیت زمانی که یک تصور ذهنی انجام شود ایجاد میگردد.
بتا: 12 – 30 Hz
مربوط به حالت هوشیاری و انجام فعالیت در حالت مشغول بودن ذهن و استرس و نگرانی ایجاد میشود.
8 – 13 Hz: MU
ریتم mu و یا ریتم حسی-حرکتی در بخشی از مغز ایجاد میشود که وظیفه کنترل حرکتهای داوطلبانه فرد را دارد. این ریتم زمانی که شخص به صورت فیزیکی در حالت استراحت است، برجستهتر میشود. برخلاف ریتم آلفا که فرکانس مشابهی دارد، و بخش occipital، بخش قشر بینایی ایجاد میشوند، ریتم mu در قشر حرکتی ایجاد میشود. وقتی شخص حرکتی انجام میدهد، و یا زمانی که شخص یک تصور حرکتی انجام میدهد، دامنه ریتم mu کاهش مییابد و یا به نوعی ریتم mu خنثی میشود.
نکته: برای کسب اطلاعات بیشتر در مورد سیگنال eeg به جلسه قبل مراجعه کنید.
چه نواحی از مغز ارتباط بیشتری با تصور حرکتی دارند؟
تعداد زیادی از مطالعات تصویربرداری عملکردی نشان داده اند که تصور حرکتی مرتبط با فعالسازی خاص مدارهای عصبی درگیر در مرحله اولیه کنترل موتور، است. این مدارات شامل منطقه موتور مکانیکی، قشر حرکتی اولیه، قشر پریتال پایین، بیزال گنگلیا و مخچه هست.
این شکل نشان میدهد که وقتی فرد تصور ذهنی انجام میدهد نواحی که در قشر حرکتی فعال میشوند حدود 30 درصد زمانی است که در حالت واقعی فعال میشوند.
هدف از پردازش سیگنالهای تصوری حرکتی چیست؟
در BCI تصوری حرکتی از شخص خواسته میشود تا تصور کند که بخشی از بدن خود را حرکت میدهد. در نتیجه تصور حرکت، باعث فعال شدن سیستم عصبی می شود که در نتیجه آن رخدادهایی در مغز اتفاق میافتد. وظیفه سیستم BCI این است که این رخدادها را از سیگنالهای EEG استخراج نمونه و براساس آن نوع حرکت را تشخیص دهد.
فرایند کلاسبندی سیگنال eeg تصوری حرکتی:
مرحله پیش پردازش به دو دلیل انجام میشود، دلیل اول این است که از آنجا که سیگنال eeg تصوری حرکتی در باندهای بتا و میو اتفاق میافتد، لذا در ابتدا لازم است که سیگنال eeg را فیلتر کنیم تا فقط اطلاعات باندهای مرتبط با تصور حرکتی در سیگنال eeg باقی بماند. برای اینکار از فیلتر باترورث موجود در متلب به صورت زیر استفاده می کنیم:
نحوه طراحی فیلتر میانگذر گذر باتروث
(b,a] = butter(n,Wn,ftype]
- n: مرتبه فیلتر
- Wn: فرکانس قطع نرمال
- ftype: نوع فیلتر (پایین گذر، بالا گذر، میان گذر، میان نگذر)
- a,b: ضرایب فیلتر
نحوه اعمال فیلتر طراحی شده به سیگنال EEG:
- از تابع filtfilt برای اعمال کردن فیلتر به سیگنال EEGاستفاده می کنیم.
;(signal1=filtfilt(b,a,EEG_data
نحوه طراحی فیلتر باترورث میان گذر
- مرتبه فیلتر: 3
- فرکانس نمونه برداری: 173
;(‘b,a] = butter(3,[8 30 ]/(Fs/2),’bandpass]
نحوه اعمال فیلتر طراحی شده به سیگنال EEG:
;(signal1=filtfilt(b,a,EEG
حال سیگنال EEG بازسازی شده، حاوی اطلاعات مربوط به باند 8 تا 30 هرتز(باند میو و بتا) است.
دلیل دوم فیلتر کردن سیگنال eeg با استفاده از فیلترهای مکانی این است که خاصیت localization الکترودها را بیشتر کند. از آنجایی که هر الکترود متاثر از سایر بخشهای مغز در هنگام ثبت هست، لذا اطلاعاتی که یک الکترود ثبت میکند مختص یک ناحیه از مغز نیست، در نتیجه این باعث میشود که عملکرد مدل ما در تجزیه و تحلیل پایین بیاید. برای حل این مسئله یک سری فیلترهای مکانی مثل car، لاپلاسین بزرگ و کوچک اعمال میکنند. شکل این فیلترها در پایین نشان داده شده است، نحوه پیاده سازی مرحله به مرحله این فیلترهای مکانی در ورکشاپ آموزش داده میشود و هر کدام روی سیگنال اعمال میشوند و در انتهای کار می بینیم که باعث بهبود عملکرد سیستم شده اند.
روشهای زیادی جهت استخراج ویژگی از سیگنال eeg مربوط به تصوری حرکتی ارائه شده اند که فیلترهای الگوهای مشترک مکانی یکی از رایج ترین روشها است و در مقایسه با سایر روشها عملکرد بسیار بالاتری دارد.
الگوریتم فیلترهای مکانی مشترک( CSP,Common spatial patterns)
این الگوریتم برای اولین بار برای تشخیص غیر طبیعی بودن سیگنالEEG به کار گرفته شد. و سپس در جداسازی بین کلاسهای مربوط به واسط های مغز و کامپیوتر و الگوهای حرکتی دو کلاسه نیز استفاده شد.به دلیل ماهیت چند کاناله بودن، این روش کاربرد فراوانی برای سیگنالهای EEG دارد. روش CSP، با اعمال فیلترهای فضایی به ورودی ها، واریانس سیگنالها را در کلاس اول ماکزیمم و به طور همزمان در کلاس دیگر مینیمم می کند. سپس از سیگنالهای فیلترشده ویژگیهای کلاس اول را استخراج میکند.
این کار به طور معکوس نیز اتفاق می افتد. یک سری از فیلترهای فضایی، واریانس سیگنال را در کلاس دوم ماکزیمم و به طور همزمان در کلاس اول مینیمم می کنند. سپس با استفاده از سیگنالهای فیلترشده، ویژگیهای کلاس دوم را استخراج می کند.
تابع هزینه:
از این تابع هزینه نسبت به وزنها مشتق میگیریم و الگوهای فضای مشترک را محاسبه میکنیم. اثبات تئوری و پیاده سازی گام به گام این الگوریتم در ورکشاپ bci-1 کامل آموزش داده میشود.
بعد از اعمال الگوریتم csp روی داده، تعداد کانالها به دو کانال کاهش می یابند و از هر کانال واریانس داده به عنوان ویژگی استخراج میشود و به الگوریتم کلاسبند ارائه میشود تا کلاس داده را تشخیص دهد.
بعد از استخراج ویژگی داده در فضای دو بعدی به شکل زیر در می آید:
از این تابع هزینه نسبت به وزنها مشتق میگیریم و الگوهای فضای مشترک را محاسبه میکنیم. اثبات تئوری و پیاده سازی گام به گام این الگوریتم در ورکشاپ bci-1 کامل آموزش داده میشود.
بعد از اعمال الگوریتم csp روی داده، تعداد کانالها به دو کانال کاهش می یابند و از هر کانال واریانس داده به عنوان ویژگی استخراج میشود و به الگوریتم کلاسبند ارائه میشود تا کلاس داده را تشخیص دهد.
بعد از استخراج ویژگی داده در فضای دو بعدی به شکل زیر در می آید:
هر نقطه معادل یک ترایال eeg هست که بعد از استخراج ویژگی به شکل زیر درآمده است، همانطور که مشاهده میکنید داده های دو کلاس را میتوان به راحتی از هم تفکیک کرد، کافیه الان این نمونه ها را به یک کلاسبندی مثل svm,knn,lda و غیره بدهیم تا لیبل آن را تخمین زند.
در ویدیوی زیر به صورت عملی با نحوه عملکرد فیلترهای مکانی مشترک(csp) آشنا می شویم.
در ورکشاپ BCI-1 کار با انواع کلاسبندها آموزش داده میشود و همچنین روشهای اعتبارسنجی k-fold، random subsampling و leave one out و همچنین پارامترهای ارزیابی آموزش داده میشود تا شرکت کننده بعد از اتمام دوره کامل به مباحث مسلط باشد و بتواند پروژه های خودش را انجام دهد.
در این ورکشاپ الگوریتم های بهبود یافته شده csp از قبیل rcsp، cssp، fbcsp آموزش و پیاده سازی می شوند و روی داده ها اعمال می شوند.
داده هایی که در ورکشاپ کار میکنیم را میتوانید از سایت زیر دانلود کنید.
پایگاه داده 1:
https://www.bbci.de/competition/iv/desc_1.html
پایگاه داده 2:
https://www.bbci.de/competition/iii/desc_IVa.html
موفق باشید.
دیدگاه ها