آموزش پردازش سیگنال مغزی EEG در متلب + معرفی دوره
در دنیای امروز، کاربرد «هوش مصنوعی» (Artificial Intelligence | AI) را میتوان در تمامی جنبههای زندگی انسان ملاحظه کرد. روشهای «یادگیری عمیق» (Deep Learning) و «ماشین لرنینگ» (Machine Learning) تاثیرات مهمی را در حوزه پزشکی و به خصوص در پژوهشهای مربوط به شناخت اختلالات مغز داشتهاند. در مطلب حاضر، به توضیح EEG در حوزه پزشکی خواهیم پرداخت و نحوه پردازش سیگنال مغزی EEG در متلب را شرح میدهیم.
پردازش سیگنال چیست ؟
پردازش سیگنال یکی از حوزههای وسیع مطالعاتی است که موضوعاتی نظیر تحلیل، ترکیب و اصلاح سیگنالها را شامل میشود. سیگنالها میتوانند شامل اطلاعات خاصی نظیر صوت، تصویر و اندازهگیریهای بیولوژیکی باشند. به عنوان مثال، از روشهای پردازش سیگنال میتوان به منظور بهبود انتقال سیگنال و افزایش سطح کیفیت سیگنال استفاده کرد.
کاربرد پردازش سیگنال را میتوان در قالب فهرست زیر برشمرد:
- پردازش سیگنال صدا نظیر موسیقی و گفتار
- پردازش سیگنال دیجیتالی نظیر سیگنالهای کامپیوتری
- پردازش سیگنال صوتی نظیر تفسیر کلمات و جملات گوینده
- پردازش تصویر
- پردازش ویدئو
- ارتباطات بیسیم
- پردازش سیگنالهای مالی
- استخراج ویژگی
- پردازش سیگنال «ژنومیک» (Genomics)
- پردازش سیگنالهای مغزی EEG
در ادامه مطلب، قصد داریم به کاربرد پردازش سیگنال در بررسی سیگنال مغزی EEG بپردازیم و کاربرد آن را توضیح دهیم.
پردازش سیگنال مغزی EEG چیست ؟
«الکتروانسفالوگرافی» (Electroencephalogram) یا همان EEG آزمایشی برای ارزیابی فعالیتهای الکتریکی مغز است که از آن به منظور تشخیص مشکلات احتمالی در ارتباط بین سلولهای مغز استفاده میشود.
به عبارتی، با کمک این روش میتوان الگوهای امواج مغزی را ردیابی و ثبت کرد و با تجزیه و تحلیل آنها به مشکلات عملکردی مغز پی برد. بدین منظور، الکترودهایی را به سر بیمار متصل میکنند تا از طریق آنها تکانههای الکتریکی مغز انسان تجزیه و تحلیل شوند. این الکترودها برای ثبت سیگنالهای مغزی دریافتی، آنها را به کامپیوتر منتقل میکنند.
پس از معرفی کاربرد الکتروانسفالوگرافی به نحوه پیادهسازی پردازش سیگنال مغزی EEG در متلب با یکی از روشهای هوش مصنوعی خواهیم پرداخت.
کاربرد پردازش سیگنال مغزی EEG چیست ؟
از سال ۱۹۲۹ از پردازش سیگنال مغزی EEG به منظور تشخیص اختلالات موجود در فعالیتهای الکتریکی مغز استفاده شده است. کاربرد EEG را میتوان برای تشخیص مواردی همچون اختلالات تشنجی (مانند صرع)، صدمات وارد شده به جمجمه، التهابات مغزی، تومور مغزی، اختلالات عملکرد مغزی، اختلالات خواب، آلزایمر، سکته مغزی و زوال عقل برشمرد.
بهعلاوه، امروزه از پردازش سیگنال مغزی EEG به منظور تعیین میزان سطح فعالیت مغزی افرادی استفاده میشود که در کما هستند. همچنین، از EEG در بررسی و کنترل فعالیت مغزی انسان در حین عمل جراحی مغز استفاده میشود.
از آنجا که زبان متلب همانند زبان برنامه نویسی پایتون به عنوان یکی از رایجترین زبانها در حوزه هوش مصنوعی به شمار میرود و از آن میتوان برای پردازش انواع داده نظیر تصویر، متن، صوت و سیگنال استفاده کرد، این زبان را انتخاب کردیم تا در بخش بعدی این مطلب، به توضیح مراحل پردازش سیگنال مغزی EEG در متلب بپردازیم.
مراحل پردازش سیگنال مغزی EEG
در پردازش سیگنال مغزی EEG با استفاده از روشهای یادگیری ماشین هدف این است که سیگنالهای مغزی را با رویکرد «شناسایی الگو» (Pattern Recognition) دستهبندی کنیم. در راستای تحقق این هدف، دو مرحله اصلی را باید انجام دهیم:
- استخراج ویژگی: اولین گام در پردازش سیگنال، مرحله استخراج ویژگی است که هدف آن، توصیف سیگنالهای مغزی EEG با مقادیر کمتر است. با استفاده از روشهای استخراج ویژگی میتوان اطلاعات اصلی سیگنالهای EEG را استخراج و مقادیر نویزی و اطلاعات غیر مرتبط را از سیگنالها حذف کرد. اطلاعات استخراج شده (ویژگی) در قالب بردار عددی در مرحله آموزش، به مدل داده میشوند.
- مدل دستهبند: گام دوم پردازش سیگنال، دستهبندی بردارهای ویژگی هستند که از گام قبل به دست آمدهاند.
در ادامه، به ارائه مثالی از پردازش سیگنال مغزی EEG در متلب خواهیم پرداخت.
پردازش سیگنال مغزی EEG در متلب
در بخش فعلی، به آموزش پردازش سیگنال مغزی EEG در متلب و نحوه تهیه و آمادهسازی دادهها و پیادهسازی دستهبند برای پردازش دادههای سیگنال مغزی میپردازیم.
در مرحله نخست، باید از طریق الکترود، سیگنالهای مغزی فردی را ثبت کنیم. بدین منظور ۲۷ الکترود را بر روی سر فرد مورد نظر نصب میکنیم به نحوی که فاصله بین این الکترودها از یکدیگر حدود ۲۰ میلیمتر باشند. این الکترودها سیگنالهایی را از گوش سمت راست، پیشانی و حرکات افقی و عمودی چشم فرد را ثبت میکنند.
در این آزمایش، فرد در مقابل یک مانیتور قرار میگیرد. در طول آزمایش، فلشهایی به سمت راست و چپ در مانیتور به ترتیب ظاهر میشوند و فرد با مشاهده هر فلش، باید جهت فلش را در ذهن خود تصور کند. بدین ترتیب، با دیدن هر فلش، سیگنالهای مغزی متفاوتی ایجاد میشوند که الکترودهای متصل به سر فرد، آنها را ثبت میکنند. هدف نهایی این آزمایش این است که مدلی برای پردازش سیگنال مغزی EEG در مطلب طراحی شود که بتواند سیگنالهای مغزی را در دو کلاس ۰ و ۱ دستهبندی کند.
برای تحلیل دادهها، قسمتی از سیگنالهای ضبط شده توسط کانالهایی مشخص میشوند که در این مثال ۲۸ کانال برای هر سیگنال تعریف شده است. به منظور بارگذاری دادهها درون متلب و تعریف کانالها از قطعه کد زیر استفاده میشود:
برای هر سیگنال نیز برچسب کلاس را نیز مشخص میکنیم. برای سیگنالهای مغزی فرد که نشاندهنده تجسم فلش سمت راست است، عدد ۰ را در نظر میگیریم و سیگنالهایی را که نشاندهنده تجسم فلش سمت چپ است، با کلاس ۱ مشخص میکنیم.
سیگنالها را میتوان در تصویر زیر ملاحظه کرد. سیگنالهایی که با رنگ آبی نشان داده شدهاند، کلاس ۱ هستند و رنگ سبز، سیگنالهایی را نشان میدهد که جزو کلاس ۰ محسوب میشوند:
از آنجا که در مسئله حاضر قصد داریم از روشهای یادگیری ماشین برای طراحی یک دستهبند برای پردازش سیگنال مغزی EEG در متلب استفاده کنیم، باید مرحله «استخراج ویژگی» (Feature Extraction) را نیز برای تهیه دادههای نهایی مدل به کار ببریم.
بدین منظور، از تنظیمات پنجره زیر برای کاهش ابعاد دادهها استفاده میکنیم.
پس از استخراج ویژگی، از ویژگیهای استخراج شده برای آموزش مدل پردازش سیگنال مغزی EEG در متلب استفاده میکنیم. بدین منظور، از قطعه کد زیر در متلب استفاده میشود.
به منظور دستهبندی پردازش سیگنال مغزی EEG در متلب از یک دستهبندی خطی آماده استفاده میکنیم. دادهها را بدین منظور به دادههای آموزشی و دادههای تست تقسیم میکنیم. برای ارزیابی مدل نیز از روش «اعتبارسنجی متقابل» (Cross Validation) استفاده میکنیم.
در مثال حاضر از یکی از الگوریتم های یادگیری ماشین با نام «آنالیز تشخیص خطی» (Linear Discriminant Analysis | LDA) برای دستهبندی پردازش سیگنال مغزی EEG در متلب استفاده کردیم که نتایج آن در تصویر زیر ملاحظه میشوند:
جمعبندی
یکی از مهمترین دستاوردهای شاخه هوش مصنوعی را میتوان در حوزه پزشکی ملاحظه کرد. در حال حاضر، از ابزارها و سیستمهای هوشمندی در پژوهشهای پزشکی و تشخیص بیماریهای مختلف انسان استفاده میشوند که باعث شدهاند تشخیص بیماریها و علاج آنها نسبت به سالهای پیش و قبل از ظهور هوش مصنوعی راحتتر و دقیقتر انجام شوند. مغز انسان به عنوان مهمترین و پیچیدهترین عضو بدن محسوب میشود که هنوز منشاء بسیاری از اختلالات موجود در عملکرد آن برای انسان ناشناخته است. با این حساب، هوش مصنوعی در تشخیص بسیاری از بیماریهای مغزی نقش بهسزایی داشته است.
در مطلب حاضر سعی کردیم به مفهوم یکی از روشهای ارزیابی عملکرد مغز انسان یعنی EEG بپردازیم که در تشخیص بسیاری از بیماریهای مهم نظیر صرع و سکته مغزی کاربرد دارد. سپس، به نحوه پیادهسازی یکی از الگوریتم های یادگیری ماشین برای پردازش سیگنال مغزی EGG در متلب اشاره کردیم و نحوه آمادهسازی دادههای سیگنالی را برای آموزش مدل در قالب مثال شرح دادیم.