پردازش سیگنال مغزی با کتابخانه MNE پایتون
برای پردازش و کار با سیگنال EEG (سیگنال مغزی الکتروانسفالوگرافی) در محیط برنامهنویسی پایتون، راههای مختلفی پیش روی شماست. میتوانید مراحل پردازش را خودتان با توابع و کتابخانههای موجود انجام دهید. علاوه بر اینها پایتون، پکیجهایی برای پردازش و کار با سیگنال EEG ارائه کرده است. یکی از این پکیجها، MNE-Python است. این پکیج نه تنها برای سیگنالهای EEG بلکه برای بررسی، تجسمسازی و تحلیل سایر دادههای نوروفیزیولوژیکی انسان مانند MEG, EEG, ECoG و … طراحی شده است. دورهی MNE-Python از دو بخش تشکیل شده است. در بخش اول، مفاهیم پایهای پردازش سیگنال EEG با استفاده از کتابخانهی MNE-Python آموزش داده میشود. تمامی مراحل اعم از خواندن دیتاست به فرمتهای مختلف، جدا کردن سیگنالهای پیوسته و خام به ترایالها و پیش پردازش و … مرحله به مرحله ارائه میشوند. در بخش دوم، برای دیتاستهای معروف EEG با استفاده از پکیج MNE و الگوریتمهای یادگیری ماشین و یادگیری عمیق، پروژه انجام میشود و مقالههای جدید پیادهسازی میشوند. سیگنالهای EEG مورد استفاده در این دوره شامل سیگنالهای تصورحرکتی، صرع، SSVEP، Distance Learning هستند.
هدف اصلی دورهی MNE-Python
هدف اصلی ما در دورهی MNE-Python این است که ابتدا مفاهیم پردازش سیگنال مغزی EEG را به خوبی یاد بگیریم و اگر هر نوع سیگنال EEG داشتیم بتوانیم آن را در محیط MNE-Python یا خود پایتون بخوانیم و در صورت نیاز سیگنال پیوسته را به بخشهای کوچکتر تقسیم کنیم و پیش پردازش کنیم. هدف بعدی و مهمتر ما در این دوره این است که بعد از یادگیری مراحل خواندن و پردازشهای اولیه در محیط MNE-Python، بتوانیم پروژههای مختلف یادگیری ماشین و یادگیری عمیق با سیگنالهای EEG مختلف انجام دهیم. مانند سیگنال EEG تصور حرکتی، سیگنال EEG صرع، سیگنال SSVEP. همچنین بتوانیم مقالههای اخیر در این حوزه را پیادهسازی کنیم. به منظور انجام پروژههای فوق میتوان به شیوههای مختلفی، سیگنال EEG را به عنوان ورودی به الگوریتم یادگیری ماشین یا یادگیری عمیق داد. برای مثال میتوان سیگنال را به همان صورت ماتریس اولیه (کانال*زمان) به شبکه وارد کرد. می توان سیگنال را به تصور تبدیل کرد و به شبکه وارد کرد.سرفصل دورهی جامع و پروژه محور پردازش سیگنال مغزی EEG با پکیج MNE پایتون
فصل اول: مفاهیم مقدماتی و آموزش کار با MNE-Python
جلسه اول: آشنایی با مبانی سیگنال EEG
- ویژگیهای سیگنال EEG
- نحوهی ثبت سیگنال EEG
- معرفی سیستم بین المللی 10-20
- توضیح باندهای فرکانسی EEG (دلتا، تتا، آلفا، بتا و گاما) و مشخصات آنها
- نویز و آرتیفکتهای شایع در زمان ثبت سیگنال EEG
- آشنایی با سیگنالهای ثبت شده به همراه EEG
- سیگنال عصب و عضله
- سیگنال قلبی
- حرکت چشم
- پلک زدن
- انواع پارادایمهای ثبت سیگنال EEG
- مفاهیم مربوط به نمونهبرداری سیگنال، نرخ نمونهبرداری، اصل نایکوئیست، مفهوم سیگنال در حوزهی زمان و حوزهی فرکانس
- نحوهی طراحی و اعمال فیلتر به سیگنال EEG
- مقدمهای بر پردازش سیگنال مغزی EEG با الگوریتمهای یادگیری ماشین
- مقدمهای بر پردازش سیگنال مغزی EEG با الگوریتمهای یادگیری عمیق
- رویکردهای مختلف اعمال سیگنال مغزی EEG به شبکههای عمیق
جلسه دوم: نصب VScode و پایتون و خواندن دیتاستهای فرمت .gdf و .fif
- طریقه نصب VScode
- طریقه نصب پایتون
- طریقه نصب و راهاندازی پکیج MNE پایتون در دو محیط VScode و Google Colab
- خواندن دیتاست فرمت .gdf
- خواندن دیتاست فرمت .fif
جلسه سوم: خواندن دیتاستهای فرمت .mat و .CSV و آموزشهای اولیه
- خواندن دیتاست فرمت .mat
- خواندن دیتاست فرمت .CSV
- کار با ماژولهای In-Place
- کار با موقعیتهای سنسور
جلسه چهارم: پیش پردازش سیگنال مغزی در پایتون
- کار با دادهی پیوسته
- پیش پردازش
جلسه پنجم: پیش پردازش سیگنال مغزی در پایتون
- کار با دادهی پیوسته
- دادهی پیوسته با ساختار دادهی Raw
- کار با eventها
- حاشیه نویسی دادهی پیوسته
- پیش پردازش
جلسه ششم: Epochها و تحلیل زمان-فرکانس، پروژه یادگیری ماشین
- کار با ساختار دادهی Epoch
- تحلیل زمان-فرکانس
- انجام پروژه با یادگیری ماشین
- پروژهی کلاسبندی سیگنال EEG تصور حرکتی با استفاده از الگوریتمهای یادگیری ماشین
- چارچوب پیادهسازی رویکردهای یادگیری ماشین برای تشخیص سیگنالهای EEG
- خواندن داده با توجه به فرمت آن با توابع MNE
- پیش پردازش سیگنال EEG
- استخراج ویژگی از سیگنالها با استفاده از تبدیل موجک
- انتخاب ویژگی با استفاده از CSP
- کلاسبندی ویژگیهای بدست آمده با استفاده از الگوریتمهای کلاسبندی
- بررسی عملکرد مدل با نمایش پارامترهای ارزیابی و نمودارهای loss, accuracy
- بررسی نتایج و معرفی راههایی برای بهبود عملکرد مدل
- پروژهی کلاسبندی سیگنال EEG تصور حرکتی با استفاده از الگوریتمهای یادگیری ماشین
فصل دوم: انجام پروژه با یادگیری عمیق
جلسه هفتم: انجام پروژه با دیتاست صرع
- معرفی دیتاست صرع بن آلمان
- معرفی شبکههای RNN و انواع آن
- نحوهی ایجاد مدل یادگیری عمیق در پایتون با استفاده از فریم ورک تنسورفلو و کراس
- ایجاد مدل RNN برای کلاسبندی دیتاست صرع بن آلمان
جلسه هشتم: ادامهی پروژهی یادگیری عمیق با دیتاست صرع و کلاسبندی EEG تصورحرکتی با مدل CNN-Fusion
- معرفی شبکههای CNN
- پیادهسازی مقالهی 2023 کلاسبندی دیتاست صرع بن آلمان
- پیادهسازی مقاله 2019 CNN-Fusion برای کلاسبندی سیگنال EEG تصورحرکتی
جلسه نهم: ادامهی کلاسبندی EEG تصورحرکتی با مدل CNN-Fusion و پروژهی تبدیل سیگنال به تصویر
- تبدیل سیگنالEEG تصور حرکتی به تصویر
- پروژه کلاسبندی سیگنال تبدیل شده به تصویر با مدل CNN (پیادهسازی مقاله)
جلسه دهم: پروژه کلاسبندی سیگنال SSVEP با CNN
- معرفی دیتاست SSVEP معروف 40 کلاسه
- کلاسبندی دیتاست SSVEP بر اساس کد موجود در گیت هاب
مدرس: هما کاشفی امیری مدت زمان دوره: 33 ساعت
محتوای دوره:
- ویدیوهای آموزشی
- اسلایدها و جزوه ی آموزشی
- دیتاستهای مورد استفاده
- کدها
- ویدیوهای پرسش و پاسخ