Мой опыт работы с EEG гарнитурой EMOTIV EPOC+

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Небольшая предыстория. Я студент третьего курса и меня всегда интересовала работа мозга. В ноябре по счастливому стечению обстоятельств появилась возможность поработать с нейрогарнитурой Emotiv Epoc+. Данную статью можно рассматривать как краткий список того, на что стоит обратить внимание при работе с ЭЭГ и Emotiv Epoc+ в частности.

Что такое электроэнцефалограмма

Электроэнцефалография - метод исследования мозга, основанный на регистрации его электрических потенциалов.

Схема расположения электродов Emotiv Epoc+
Схема расположения электродов Emotiv Epoc+

В нашем мозге миллионы нейронов, которые постоянно обмениваются информацией. Поэтому при совместной активации большой группы, разность потенциалов становится настолько значительной, что устройство способно её уловить.

Свою роль в ЭЭГ вносят и генераторы ритмической активности (альфа, тета, гамма...), активирующие и подавляющие системы.

Ритмы головного мозга
Ритмы головного мозга

Если вы решаете сложный пример в уме - работает высокочастотный генератор ритмов.

Если расслаблены, то генератор альфа ритмов и так далее.

Активирующие и подавляющие системы позволяют переключаться между ритмами. Например, заставляют вечером чувствовать сонливость и засыпать, а утром будят.

Чтобы понять к чему относится сигнал с датчиков, нужно примерно понимать функциональные различия зон мозга.

Функциональные зоны головного мозга
Функциональные зоны головного мозга

Если идти от лба к затылку, и перечислять зоны по очереди, то в районе лба находится центр принятия решений и выбора программы.

Чуть дальше моторная кора обеспечивающая произвольные движения и соматосенсорная кора, отвечающая за восприятие тела.

Далее ассоциативная кора, что отвечает за нашу "карту мира" - значение слов, абстракций, наименование вещей, соединяя звуковое и зрительное восприятие.

В затылочной области расположена зрительная кора, а чуть выше уха - слуховая кора.

На используемой нейрогарнитуре в каждой из основных зон есть как минимум пара датчиков, что нас вполне устраивает.

Если хочется посмотреть/послушать о работе мозга подробнее, то из открытых источников курс на сайте "Открытое образование" - Нейрофизиология поведения. Также есть неплохой курс от ВШЭ совместно с Jet Brains - Вычислительная Нейробиология. И там и там очень подробно про механизм работы мозга.

Нейрогарнитура Emotiv Epoc+

Точность

Должна ли нас устраивать точность нейрогарнитуры, которая стоит намного меньше лабораторных устройств, имеет не самое большое количество датчиков (14) и не самую большую частоту работы (128Гц)?

Здесь приводится сравнение энцефалографа Neuroscan с Emotiv Epoc+. Для тех кому лень читать - качество не сильно хуже, хотя из-за меньшей частоты обновлений и возникают небольшие различия в ЭЭГ.

Бесплатный софт

Для получения сигнала с нейроинтерфейса можно использовать бесплатную библиотеку CyKit. Для работы она требует Python 3.7, но есть пока только для Windows.

Там же в репозитории лежат скрипты с примерами. При подключении гарнитуры 128 раз в секунду печатаются вектора из 14 чисел. Выглядят данные примерно так:

Сырые данные
Сырые данные

Вопросы, с которыми можно столкнуться при записи данных

Артефакты от движений мышц лица, моргания, физических движений

Пример артефактов от моргания. Ритмичные (и не очень всплески).

Сигнал с датчика F8
Сигнал с датчика F8

На следующем рисунке приведены примеры артефактов от движений мышц лица. Для сравнения во время записи я поднимал брови, опускал брови и просто сидел, расслабившись. На графике результат показан соответственно зеленым, красным и синим цветом. Как можно заметить, движение мышц лица довольно сильно влияют на энцефалограмму.

Сравнение графиков сигнала при движении лицевых мышц.
Сравнение графиков сигнала при движении лицевых мышц.

Для удаления артефактов можно использовать библиотеку mne модуль preprocessing - independent components analysis (ICA). Но какая-нибудь сверточная нейросеть вполне может выучить эти признаки по отдельности и корректно обрабатывать.

Прочие проблемы

Высохшие датчики, сдвинутые электроды, помехи от работающих устройств - все это влияет на запись ЭЭГ.

Отдельно стоит поговорить про корреляцию.

Судя по отличию каналов Т7 и Т8, датчик Т8 плохо прилегает или высох
Судя по отличию каналов Т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. Собственно комбинация этих трех признаков дало наилучший результат.

Надеюсь что-то вам пригодилось. Статья скорее всего будет дополняться и исправляться.

Источник: https://habr.com/ru/post/543784/

Интересные статьи

Интересные статьи

Совсем скоро начнется прием заявок на летние стажировки в российский бигтех, а после него и в FAANG. В свое время авторы этой статьи, как и многие их знакомые, начали отправлять резюме на...
Оригинальная Nintendo DS (Blue edition). Выпущена 21.11.2004 в Америке, 02.12.2004 в Японии и 11.03.2004 в Европе. Краткое введение Эта консоль стала интересным ответом на множество...
Я представитель микробизнеса, который делает софт для коммерческих заказчиков из научной сферы. Карантин и вынужденная самоизоляция 2020 года заставили меня искать заказчиков в го...
Привет, Хабр! Представляю вашему вниманию перевод статьи «Creating A VR Audio/Visual Experience On the Web With A-Frame and Tone.js» автора Sean Sullivan. A-Frame — это фреймворк для созда...
Как обновить ядро 1С-Битрикс без единой секунды простоя и с гарантией работоспособности платформы? Если вы не можете закрыть сайт на техобслуживание, и не хотите экстренно разворачивать сайт из бэкапа...