Куточок мозконавта Потенціали за викликом або P300

NOSCE TE IPSUMПізнай самого себе

Потенціали за викликом або P300

викликом

Стаття товариша зі зброї з Індії (спасибі Михайлу Г. за посилання) надихнула мене серйозно взятися за тему викликаних потенціалів. Що це таке? Ну це дуже просто :) Щоразу коли мозку пред'являють якийсь новий стимул (зображення, звук і.т.п.), він розвиває бурхливу діяльність з його аналізу та розпізнавання. Цю активність можна виявити в ЕЕГ, виміряному за допомогою Emotiv EPOC.

На жаль, амплітуда таких коливань рідко вища за 5 мкВ, при загальному рівні "шумів" близько 50 мкВ. Але є способи, які дозволяють виявити сигнал у таких випадках. Найчастіше використовуваний їх - це підсумовування з усередненням, сигналів для повторюваних дій. Принцип його роботи полягає в припущенні, що вимірюваний присутній у сигналі, що вимірюється у відомий момент часу, а шум є нормально розподіленою випадковою величиною.

викликом

Тобто. Зробивши наприклад 100 вимірів ЕЕГ реакції людини на світловий імпульс потім складемо ці виміри між собою і розділимо на 100, ми побачимо, що шум зменшився в 10 разів. А над усім цим "галасливим неподобством" вилазить такий "конкретний" пік.

І все було б класно і ми б правильно будували міста на Марсі, якби не дві речі: 1) Шум був би дійсно розподілений нормально. Що в нашому світі джерел електронних перешкод швидше виняток ніж правило. У нашому випадку під шумом ми в тому числі маємо на увазі сигнали від інших відділів мозку, які, незважаючи на наші дослідження, займаються своїми справами. 2) Звір на ім'я - Джиттер, у нас його ще іноді називають фазовий шум.

Коли ми підсумовуємо сигнали, для кращого результату потрібнощоб сигнали максимально точно припадали один на одного. Інакше при підсумовуванні корисні сигнали не будуть складатися, і коли ми їх поділимо на 100 від них, як і від шуму, ну майже нічого не залишиться.

Як боротися із електромагнітним шумом у принципі зрозуміло. Вимкнути всі електричні прилади (включаючи комп'ютер) і сховатись у клітку Фарадея.

А ось джерел джиттера, у нашому випадку багато. 1) Наш мозок - не реагує він завжди з однаковою швидкістю. 2) USB-інтерфейс - передача даних йде швидко, але з рівномірно. 3) Операційна система. Іноді вона може задуматися над вічним.

Тим не менш, товариш gmac на YouTube помістив ролик де демонструє роботу клавіатури, керованої мозком з використанням принципу викликаних потенціалів.

Ідея програми реєструвати реакцію мозку на багаторазові спалахи відповідних рядків та стовпців, і на основі цих даних визначити яку букву людина тримає у фокусі свого погляду.

Вирішив та я спробувати повторити подвиг :). Пакет OpenVibe в одному зі своїх прикладів дає нам випробувати можливості вбудованого детектора P300. До речі на своєму сайті вони хваляться що їхній детектор найкращий у своєму класі. Перевіримо.

куточок

До речі, чому ці потенціали називають P300, насправді так називається тільки частина відгуку мозку на стимул, максимум амплітуди якого виникає приблизно через 300 мс після подачі стимулу. Причому знак амплітуди у своїй негативний.

Отже, запускаємо OpenVibe Designer. На щастя через 3 дні з моменту опису моїх мук компіляції OpenVibe з драйвером Emotiv. INRIA випустили свіжу версію OpenVibe 0.12.0, яка вже має вбудовану підтримку Emotiv EPOC, без танців з бубном. Качайте і встановлюйте без жодних проблем.

Лезем упапкуshare/openvibe-scenarios/bci/p300-speller-xDAWNі відкриваємо файлp300-speller-0-signal-monitoring.xmlЦе файл перевірки налаштування нашого обладнання, якщо Ви все правильно зробили (А саме запустили openvibe acquision server і налаштували його на збір даних з Emotiv EPOC) то натиснувши кнопочку Play у вікні, Ви побачите біжучі лінії, сигналів ЕЕГ. Творці радять поморгати і показати комп'ютеру мову, щоб перевірити :) Якщо все ОК. Тиснемо кнопочку Stop і переходимо до наступного файлу.

потенціали

p300-speller-1-acquisition.xmlВ даному файлі Вам пропонується записати ЕЕГ за допомогою якого OpenVibe буде тренувати детектор P300. Просто тиснемо Play і коли з'явиться вікно з матрицею з букв натискаємо кнопку 'A' на клавіатурі. Літера на якій треба буде сфокусувати погляд, підсвічуватиметься синім кольором. Буде запропоновано ввести 10 літер повторених 12 разів. На весь запис у мене пішло трохи більше 5 хвилин. Закінчили - тиснемо Stop та їдемо далі.

Навіщо потрібний файлp300-speller-5-replay.xmlПрогравати повторно результати перевірки якості навчання детектора.

От і все. Кращий результат який у мене вийшов це з 10 букв: 6 - вгадано правильно, 2 - вгадан стовпець або рядок, 2 - повз.

Якщо розчарував, когось хто хотів написати свій супер-детектор (а таких судячи з форумів - майже кожен другий), не поспішайте топитися :) Роботи ще вагон і маленький візок :)

Це дуже круто :) Фактично хлопці ловлять букву з першої спроби. :) Хоча на CEBIT 2011 доброволець досяг друку 3-х літер на хвилину. Наприклад, у OpenVibe йде один символ 30 секунд. 3) Ну і треба знижувати вплив на алгоритм перерахованих на початку посту факторів. можливопроводити фільтрацію сигналу за допомогою вейвлет-перетворення.