برنامه نویسی و طراحی سایت

آموزش پردازش سیگنال مغزی EEG در متلب + معرفی دوره

آموزش پردازش سیگنال مغزی EEG در متلب + معرفی دوره

در دنیای امروز، کاربرد «هوش مصنوعی» (Artificial Intelligence | AI) را می‌توان در تمامی جنبه‌های زندگی انسان ملاحظه کرد. روش‌های «یادگیری عمیق» (Deep Learning) و «ماشین لرنینگ» (Machine Learning) تاثیرات مهمی را در حوزه پزشکی و به خصوص در پژوهش‌های مربوط به شناخت اختلالات مغز داشته‌اند. در مطلب حاضر، به توضیح EEG در حوزه پزشکی خواهیم پرداخت و نحوه پردازش سیگنال مغزی EEG در متلب را شرح می‌دهیم.

فهرست مطالب این نوشته
پردازش سیگنال چیست ؟

پردازش سیگنال مغزی EEG چیست ؟

کاربرد پردازش سیگنال مغزی EEG چیست ؟

مراحل پردازش سیگنال مغزی EEG

پردازش سیگنال مغزی EEG در متلب

جمع‌بندی

faradars mobile

پردازش سیگنال چیست ؟

پردازش سیگنال یکی از حوزه‌های وسیع مطالعاتی است که موضوعاتی نظیر تحلیل، ترکیب و اصلاح سیگنال‌ها را شامل می‌شود. سیگنال‌ها می‌توانند شامل اطلاعات خاصی نظیر صوت، تصویر و اندازه‌گیری‌های بیولوژیکی باشند. به عنوان مثال، از روش‌های پردازش سیگنال می‌توان به منظور بهبود انتقال سیگنال و افزایش سطح کیفیت سیگنال استفاده کرد.

آموزش تحلیل و طبقه بندی سیگنال های مغزی EEG در متلب
فیلم آموزش تحلیل و طبقه بندی سیگنال های مغزی EEG در متلب

کلیک کنید

کاربرد پردازش سیگنال را می‌توان در قالب فهرست زیر برشمرد:

  • پردازش سیگنال صدا نظیر موسیقی و گفتار
  • پردازش سیگنال دیجیتالی نظیر سیگنال‌های کامپیوتری
  • پردازش سیگنال صوتی نظیر تفسیر کلمات و جملات گوینده
  • پردازش تصویر
  • پردازش ویدئو
  • ارتباطات بی‌سیم
  • پردازش سیگنال‌های مالی
  • استخراج ویژگی
  • پردازش سیگنال «ژنومیک» (Genomics)
  • پردازش سیگنال‌های مغزی EEG

در ادامه مطلب،‌ قصد داریم به کاربرد پردازش سیگنال در بررسی سیگنال مغزی EEG بپردازیم و کاربرد آن را توضیح دهیم.

پردازش سیگنال مغزی EEG چیست ؟

«الکتروانسفالوگرافی» (Electroencephalogram)‌ یا همان EEG آزمایشی برای ارزیابی فعالیت‌های الکتریکی مغز است که از آن به منظور تشخیص مشکلات احتمالی در ارتباط بین سلول‌های مغز استفاده می‌شود.

آموزش پردازش سیگنال های واقعی در متلب
فیلم آموزش پردازش سیگنال های واقعی در متلب در تم آف

کلیک کنید

به عبارتی، با کمک این روش می‌توان الگوهای امواج مغزی را ردیابی و ثبت کرد و با تجزیه و تحلیل آن‌ها به مشکلات عملکردی مغز پی برد. بدین منظور، الکترودهایی را به سر بیمار متصل می‌کنند تا از طریق آن‌ها تکانه‌های الکتریکی مغز انسان تجزیه و تحلیل شوند. این الکترودها برای ثبت سیگنال‌های مغزی دریافتی، آن‌ها را به کامپیوتر منتقل می‌کنند.

EEG چیست

پس از معرفی کاربرد الکتروانسفالوگرافی به نحوه پیاده‌سازی پردازش سیگنال مغزی EEG در متلب با یکی از روش‌های هوش مصنوعی خواهیم پرداخت.

کاربرد پردازش سیگنال مغزی EEG چیست ؟

از سال ۱۹۲۹ از پردازش سیگنال مغزی EEG به منظور تشخیص اختلالات موجود در فعالیت‌های الکتریکی مغز استفاده شده است. کاربرد EEG را می‌توان برای تشخیص مواردی همچون اختلالات تشنجی (مانند صرع)، صدمات وارد شده به جمجمه، التهابات مغزی، تومور مغزی، اختلالات عملکرد مغزی، اختلالات خواب، آلزایمر، سکته مغزی و زوال عقل برشمرد.

آموزش پردازش سیگنال های دیجیتال در متلب MATLAB
فیلم آموزش پردازش سیگنال های دیجیتال در متلب MATLAB در تم آف

کلیک کنید

به‌علاوه،‌ امروزه از پردازش سیگنال مغزی EEG به منظور تعیین میزان سطح فعالیت مغزی افرادی استفاده می‌شود که در کما هستند. همچنین، از EEG در بررسی و کنترل فعالیت مغزی انسان در حین عمل جراحی مغز استفاده می‌شود.

کاربرد پردازش سیگنال مغزی EEG

از آنجا که زبان متلب همانند زبان برنامه نویسی پایتون به عنوان یکی از رایج‌ترین زبان‌ها در حوزه هوش مصنوعی به شمار می‌رود و از آن می‌توان برای پردازش انواع داده نظیر تصویر، متن، صوت و سیگنال استفاده کرد، این زبان را انتخاب کردیم تا در بخش بعدی این مطلب، به توضیح مراحل پردازش سیگنال مغزی EEG در متلب بپردازیم.

مراحل پردازش سیگنال مغزی EEG

در پردازش سیگنال مغزی EEG با استفاده از روش‌های یادگیری ماشین هدف این است که سیگنال‌های مغزی را با رویکرد «شناسایی الگو» (Pattern Recognition) دسته‌بندی کنیم. در راستای تحقق این هدف، دو مرحله اصلی را باید انجام دهیم:

آموزش تحلیل و طبقه بندی سیگنال های مغزی EEG در متلب
فیلم آموزش تحلیل و طبقه بندی سیگنال های مغزی EEG در متلب در تم آف

کلیک کنید

  • استخراج ویژگی: اولین گام در پردازش سیگنال، مرحله استخراج ویژگی است که هدف آن، توصیف سیگنال‌های مغزی EEG با مقادیر کمتر است. با استفاده از روش‌های استخراج ویژگی می‌توان اطلاعات اصلی سیگنال‌های EEG را استخراج و مقادیر نویزی و اطلاعات غیر مرتبط را از سیگنال‌ها حذف کرد. اطلاعات استخراج شده (ویژگی) در قالب بردار عددی در مرحله آموزش، به مدل داده می‌شوند.
  • مدل دسته‌بند: گام دوم پردازش سیگنال، دسته‌بندی بردارهای ویژگی هستند که از گام قبل به دست آمده‌اند.

در ادامه، به ارائه مثالی از پردازش سیگنال مغزی EEG در متلب خواهیم پرداخت.

پردازش سیگنال مغزی EEG در متلب

در بخش فعلی، به آموزش پردازش سیگنال مغزی EEG در متلب و نحوه تهیه و آماده‌سازی داده‌ها و پیاده‌سازی دسته‌بند برای پردازش داده‌های سیگنال مغزی می‌پردازیم.

آموزش پردازش سیگنال های واقعی در متلب
فیلم آموزش پردازش سیگنال های واقعی در متلب در تم آف

کلیک کنید

در مرحله نخست، باید از طریق الکترود، سیگنال‌های مغزی فردی را ثبت کنیم. بدین منظور ۲۷ الکترود را بر روی سر فرد مورد نظر نصب می‌کنیم به نحوی که فاصله بین این الکترودها از یکدیگر حدود ۲۰ میلی‌متر باشند. این الکترودها سیگنال‌هایی را از گوش سمت راست، پیشانی و حرکات افقی و عمودی چشم فرد را ثبت می‌کنند.

در این آزمایش، فرد در مقابل یک مانیتور قرار می‌گیرد. در طول آزمایش، فلش‌هایی به سمت راست و چپ در مانیتور به ترتیب ظاهر می‌شوند و فرد با مشاهده هر فلش، باید جهت فلش را در ذهن خود تصور کند. بدین ترتیب، با دیدن هر فلش، سیگنال‌های مغزی متفاوتی ایجاد می‌شوند که الکترودهای متصل به سر فرد، آن‌ها را ثبت می‌کنند. هدف نهایی این آزمایش این است که مدلی برای پردازش سیگنال مغزی EEG در مطلب طراحی شود که بتواند سیگنال‌های مغزی را در دو کلاس ۰ و ۱ دسته‌بندی کند.

آموزش پردازش سیگنال های دیجیتال در متلب MATLAB
فیلم آموزش پردازش سیگنال های دیجیتال در متلب MATLAB در تم آف

کلیک کنید

برای تحلیل داده‌ها، قسمتی از سیگنال‌های ضبط شده توسط کانال‌هایی مشخص می‌شوند که در این مثال ۲۸ کانال برای هر سیگنال تعریف شده است. به منظور بارگذاری داده‌ها درون متلب و تعریف کانال‌ها از قطعه کد زیر استفاده می‌شود:

File = 'C:run1234_nottriggered.mat'; % file with data of run 1 to run 4
P_C = load(File); % load data into structure P_C
new_tmw{1} = {28, 1, 'v', 0.78, 0, 'TRIGGERED', 'red'}; % use these parameters
samples_before = 256; % trigger 2 seconds before
samples_after = 768; % and 6 seconds after trigger signal
uncomplete = 0;
channels = [1:28, 25:28]; % trigger all channels
P_C = trigger(P_C, new_tmw, samples_before, samples_after, uncomplete, channels);

برای هر سیگنال نیز برچسب کلاس را نیز مشخص می‌کنیم. برای سیگنال‌های مغزی فرد که نشان‌دهنده تجسم فلش سمت راست است، عدد ۰ را در نظر می‌گیریم و سیگنال‌هایی را که نشان‌دهنده تجسم فلش سمت چپ است، با کلاس ۱ مشخص می‌کنیم.

AttributeName = {'RIGHT', 'LEFT'};  %define name for the trial attribute
P_C.AttributeName = AttributeName;

AttributeColor = {'green', 'blue'};  %define color for the trial attribute
P_C.AttributeColor = AttributeColor;

%define the attribute for the 160 trials; for each class a vector with 160 entries is created
%LEFT class
Attribute = [ 
    001001110111010001001010001101101100
    100110010010100001101101110010011000
    111011110010010100000100111011010110
    111000110111100100101000001001110110
    110111001001101001010001001001110111
    001011011100100110101000100100111010
    101110111100111010001100101000011110
    010100111110100011001101001001011011
    111001011011100110110111110111001101
    001101001010001001001110111001011011
    001000111101000110011010100010010111
    011011100101110001100010100000001101
    011110011101000011011111001000110111
    101011010011001111011001101001011101
    101010101010100100111100101101110011
    001111000010111010111101101000101010
]
%RIGHT class
[
    110110001000110110101110010010001101
    101101011100100100011011001110110111
    000100011010111101101011100100010010
    001101101001111001001000110110011011
    001110001000110111111011000100101000
    011000011110111011010001100100101111
    001111101000011010101111001010010111
    111001000001001011011001001010001101
    100110111000111011001101010001001011
    111010110101001110000101111000011110
    000010101000110100111001010001001011
    101111110100100011010001111011111111
    100000011011101111110100010010000001
    111011100001110000001001110011110100
    010111101101010100111001001010001101
    001101001010001001001110111001011011
]

P_C.Attribute = Attribute;

سیگنال‌ها را می‌توان در تصویر زیر ملاحظه کرد. سیگنال‌هایی که با رنگ آبی نشان داده شده‌اند، کلاس ۱ هستند و رنگ سبز، سیگنال‌هایی را نشان می‌دهد که جزو کلاس ۰ محسوب می‌شوند:

نمایش داده ها در پردازش سیگنال مغزی EEG در متلب

از آنجا که در مسئله حاضر قصد داریم از روش‌های یادگیری ماشین برای طراحی یک دسته‌بند برای پردازش سیگنال مغزی EEG در متلب استفاده کنیم، باید مرحله «استخراج ویژگی» (Feature Extraction) را نیز برای تهیه داده‌های نهایی مدل به کار ببریم.

آموزش پردازش سیگنال های دیجیتال در متلب MATLAB
فیلم آموزش پردازش سیگنال های دیجیتال در متلب MATLAB در تم آف

کلیک کنید

بدین منظور، از تنظیمات پنجره زیر برای کاهش ابعاد داده‌ها استفاده می‌کنیم.

استخراج ویژگی برای پردازش سیگنال مغزی EEG در متلب

پس از استخراج ویژگی، از ویژگی‌های استخراج شده برای آموزش مدل پردازش سیگنال مغزی EEG در متلب استفاده می‌کنیم. بدین منظور، از قطعه کد زیر در متلب استفاده می‌شود.

DPF = 38SpI;

% Load spatial filter
Filter = load(SPF, 'C:g.tecghsanalyzetestdatal CSPYt5CSPcspl234filter.mat');

FilterNwader = [1 2 26 27]; % Select 4 filters

Replace = 'all';

Transformation = 'Create temporal pattern';

% Perform transformation resulting in 4 time courses
PC = perform_spatial_filter(PC, Filter, FilterNumber, Replace, Transformation);

به منظور دسته‌بندی پردازش سیگنال مغزی EEG در متلب از یک دسته‌بندی خطی آماده استفاده می‌کنیم. داده‌ها را بدین منظور به داده‌های آموزشی و داده‌های تست تقسیم می‌کنیم. برای ارزیابی مدل نیز از روش «اعتبارسنجی متقابل» (Cross Validation) استفاده می‌کنیم.

آموزش پردازش سیگنال های واقعی در متلب
فیلم آموزش پردازش سیگنال های واقعی در متلب در تم آف

کلیک کنید

در مثال حاضر از یکی از الگوریتم های یادگیری ماشین با نام «آنالیز تشخیص خطی» (Linear Discriminant Analysis | LDA) برای دسته‌بندی پردازش سیگنال مغزی EEG در متلب استفاده کردیم که نتایج آن در تصویر زیر ملاحظه می‌شوند:

دسته بندی سیگنال مغزی EEG در متلب

جمع‌بندی

یکی از مهم‌ترین دستاوردهای شاخه هوش مصنوعی را می‌توان در حوزه پزشکی ملاحظه کرد. در حال حاضر، از ابزارها و سیستم‌های هوشمندی در پژوهش‌های پزشکی و تشخیص بیماری‌های مختلف انسان استفاده می‌شوند که باعث شده‌اند تشخیص بیماری‌ها و علاج آن‌ها نسبت به سال‌های پیش و قبل از ظهور هوش مصنوعی راحت‌تر و دقیق‌تر انجام شوند. مغز انسان به عنوان مهم‌ترین و پیچیده‌ترین عضو بدن محسوب می‌شود که هنوز منشاء بسیاری از اختلالات موجود در عملکرد آن برای انسان ناشناخته است. با این حساب، هوش مصنوعی در تشخیص بسیاری از بیماری‌های مغزی نقش به‌سزایی داشته است.

مجموعه آموزش پردازش سیگنال
فیلم مجموعه آموزش پردازش سیگنال در تم آف

کلیک کنید

در مطلب حاضر سعی کردیم به مفهوم یکی از روش‌های ارزیابی عملکرد مغز انسان یعنی EEG‌ بپردازیم که در تشخیص بسیاری از بیماری‌های مهم نظیر صرع و سکته مغزی کاربرد دارد. سپس، به نحوه پیاده‌سازی یکی از الگوریتم های یادگیری ماشین برای پردازش سیگنال مغزی EGG‌ در متلب اشاره کردیم و نحوه آماده‌سازی داده‌های سیگنالی را برای آموزش مدل در قالب مثال شرح دادیم.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.