[Python, Мозг] Мой опыт работы с EEG гарнитурой EMOTIV EPOC+

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
23-Фев-2021 20:31

Небольшая предыстория. Я студент третьего курса и меня всегда интересовала работа мозга. В ноябре по счастливому стечению обстоятельств появилась возможность поработать с нейрогарнитурой Emotiv Epoc+. Данную статью можно рассматривать как краткий список того, на что стоит обратить внимание при работе с ЭЭГ и Emotiv Epoc+ в частности.Что такое электроэнцефалограммаЭлектроэнцефалография - метод исследования мозга, основанный на регистрации его электрических потенциалов.
Схема расположения электродов Emotiv Epoc+В нашем мозге миллионы нейронов, которые постоянно обмениваются информацией. Поэтому при совместной активации большой группы, разность потенциалов становится настолько значительной, что устройство способно её уловить.Свою роль в ЭЭГ вносят и генераторы ритмической активности (альфа, тета, гамма...), активирующие и подавляющие системы.
Ритмы головного мозгаЕсли вы решаете сложный пример в уме - работает высокочастотный генератор ритмов.
Если расслаблены, то генератор альфа ритмов и так далее.
Активирующие и подавляющие системы позволяют переключаться между ритмами. Например, заставляют вечером чувствовать сонливость и засыпать, а утром будят. Чтобы понять к чему относится сигнал с датчиков, нужно примерно понимать функциональные различия зон мозга.
Функциональные зоны головного мозгаЕсли идти от лба к затылку, и перечислять зоны по очереди, то в районе лба находится центр принятия решений и выбора программы.
Чуть дальше моторная кора обеспечивающая произвольные движения и соматосенсорная кора, отвечающая за восприятие тела.
Далее ассоциативная кора, что отвечает за нашу "карту мира" - значение слов, абстракций, наименование вещей, соединяя звуковое и зрительное восприятие.
В затылочной области расположена зрительная кора, а чуть выше уха - слуховая кора. На используемой нейрогарнитуре в каждой из основных зон есть как минимум пара датчиков, что нас вполне устраивает.
Если хочется посмотреть/послушать о работе мозга подробнее, то из открытых источников курс на сайте "Открытое образование" - Нейрофизиология поведения. Также есть неплохой курс от ВШЭ совместно с Jet Brains - Вычислительная Нейробиология. И там и там очень подробно про механизм работы мозга.
Нейрогарнитура Emotiv Epoc+ТочностьДолжна ли нас устраивать точность нейрогарнитуры, которая стоит намного меньше лабораторных устройств, имеет не самое большое количество датчиков (14) и не самую большую частоту работы (128Гц)? Здесьприводится сравнение энцефалографа Neuroscan с Emotiv Epoc+. Для тех кому лень читать - качество не сильно хуже, хотя из-за меньшей частоты обновлений и возникают небольшие различия в ЭЭГ.Бесплатный софтДля получения сигнала с нейроинтерфейса можно использовать бесплатную библиотеку CyKit. Для работы она требует Python 3.7, но есть пока только для Windows.Там же в репозитории лежат скрипты с примерами. При подключении гарнитуры 128 раз в секунду печатаются вектора из 14 чисел. Выглядят данные примерно так:
Сырые данныеВопросы, с которыми можно столкнуться при записи данныхАртефакты от движений мышц лица, моргания, физических движенийПример артефактов от моргания. Ритмичные (и не очень всплески).
Сигнал с датчика F8На следующем рисунке приведены примеры артефактов от движений мышц лица. Для сравнения во время записи я поднимал брови, опускал брови и просто сидел, расслабившись. На графике результат показан соответственно зеленым, красным и синим цветом. Как можно заметить, движение мышц лица довольно сильно влияют на энцефалограмму.
Сравнение графиков сигнала при движении лицевых мышц.Для удаления артефактов можно использовать библиотеку mne модуль preprocessing - independent components analysis (ICA). Но какая-нибудь сверточная нейросеть вполне может выучить эти признаки по отдельности и корректно обрабатывать.Прочие проблемыВысохшие датчики, сдвинутые электроды, помехи от работающих устройств - все это влияет на запись ЭЭГ.Отдельно стоит поговорить про корреляцию.
Судя по отличию каналов Т7 и Т8, датчик Т8 плохо прилегает или высохМожно наблюдать корреляцию данных с параллельных датчиков и с датчиков, находящихся в смежных зонах. Несмотря на то, что для некоторых методов это понижает точность предсказания, более глубокий анализ позволит выявить некоторые закономерности.
В целом сигнал с датчиков можно рассматривать, как степень активности зон мозга. Зоны общаются между собой. Например, зона А дает команду зоне Б, зона Б выполняет какую то работу и отдает ответ зоне А. В течение короткого времени будет наблюдаться корреляция между этими двумя зонами, но с небольшим различием во времени.
Постановка экспериментаКакой интервал времени можно использовать для классификацииДля классификации эмоций, удобно использовать интервал времени 1 - 10 минут в зависимости от задачи. Пример раз. Тот же пример, но с большим количеством технических деталей.Для классификации напряженности/расслабленности можно использовать окно от 100 мс до 1-2 секунд. Пример (на русском языке), пример 2 (на английском языке, Малайзия)Предъявляемые стимулыРазличают следующие виды вызванных потенциалов, в зависимости от модальности предъявляемых стимулов.
  • зрительные
  • слуховые
  • соматосенсорные
  • тактильные
  • обонятельные
  • вкусовые
  • вестибулярные
  • кинестетические
У здоровых людей время вызванного ответа на первые четыре стимула очень схож (100-200 мс). Время ответа на последние четыре стимула имеет ярко выраженную индивидуальность. Это стоит учитывать при постановке эксперимента.
Ключевые слова для поиска P100, N100, P200, N200

Оценка, опознование и принятие решенияЕсли вас интересует исследование когнитивных процессов, связанных с предъявляемым стимулом, то в данном случае наибольший всплеск активности происходит через 300 мс после предъявляемого стимула.Какие признаки можно использоватьДля работы с ЭЭГ существует множество способов извлечения признаков. Самые распространенные это:
  • Стандартное отклонение (numpy.std)
  • Квантили
  • Частотные характеристики
  • Коэффициенты вейвлетных разложений (pywt.wavedec)
  • Быстрое преобразование Фурье (numpy.fft)
  • Оконное преобразование Фурье
  • Метод шейплетов
  • Интегральная оценка спектральной плотности энергии сигнала (Welch's method)
  • Разделение сигналов по ритмам (альфа и тд...) и их отдельный анализ (scipy.signal.butter)
По собственному опыту на записях размером от полсекунды и больше, один из наилучших признаков - это стандартное отклонение. В комбинации с разделением по ритмам качество вырастает на порядок (простые эксперименты на стандартных классификаторах sklearn'а показывают качество порядка 98%).
Для вейвлетов можно выбрать уровни 4-7. Собственно комбинация этих трех признаков дало наилучший результат.
Надеюсь что-то вам пригодилось. Статья скорее всего будет дополняться и исправляться.
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_python, #_mozg (Мозг), #_eeg (ээг), #_emotiv, #_mozg (мозг), #_python, #_python, #_mozg (
Мозг
)
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 17:54
Часовой пояс: UTC + 5