АВТОМАТИЗАЦИЯ И УПРАВЛЕНИЕ INFORMATION SYSTEM AND TECHNOLOGIES
УДК 004.048 DOI: 10.18413/2518-1092-2020-5-3-0-4
Кононов В.М.1
Асадуллаев Р.Г.2 Щетинина Е.С.2 Афонин А.Н.2
АЛГОРИТМ ПРЕДВАРИТЕЛЬНОМ ОБРАБОТКИ НЕЙРОФИЗИОЛОГИЧЕСКИХ ДАННЫХ
1)1 ООО «ЦентрПрограммСистем», ул. Восточная, д.71, г. Белгород, 308019, Россия 2) Белгородский государственный национальный исследовательский университет, ул. Победы, д. 85,
г. Белгород, 308015, Россия
e-mail: kononov@1cps.ru, asadullaev@bsu.edu.ru, 1198621@bsu.edu.ru, afonin@bsu.edu.ru Аннотация
Статья посвящена разработке алгоритма предварительной обработки нейрофизиологических данных, полученных при помощи fNIRS (функциональной ближней инфракрасной спектроскопии). Данный алгоритм может применяться при сборе и систематизации набора данных для обучения и тестирования нейронных сетей глубокого обучения c целью выявления нейрофизиологических паттернов движений человек, а также для статистического анализа данных, полученных экспериментальным путем. Отличительной особенностью разработанного алгоритма является гибкость настройки алгоритма, а также возможность адаптации под требования к обработке, предъявляемые в зависимости от специфики решаемой задачи. Полученный алгоритм позволил сформировать набор данных, на котором обучалась нейронная сеть для распознавания паттернов активности кисти руки.
Ключевые слова: машинное обучение; fNIRS; нейронные сети; нейрофизиологические данные.
UDC 004.048
Kononov V.M.1 Asadullaev R.G.2 Shchetinina E.S. 2 Afonin A.N.2
PRE-PROCESSING NEUROPHYSIOLOGICAL DATA ALGORITHM
1 LLC «CenterProgramSystem», 71 Vostochnaya st., Belgorod, 308019, Russia
2) Belgorod State National Research University, 85 Pobedy St., Belgorod, 308015, Russia
e-mail: kononov@1cps.ru, asadullaev@bsu.edu.ru, 1198621@bsu.edu.ru, afonin@bsu.edu.ru Abstract
The article is devoted to the development of an algorithm for pre-processing of neurophysiological data obtained using fNIRS (functional near- infrared spectroscopy). The developed algorithm can be used for the picking and systematization of a data set for training and testing deep learning neural networks to identify neurophysiological patterns of human movements. Also, the algorithm can be used for statistical analysis of data obtained experimentally. A distinctive singularity of the developed algorithm is the flexibility of constructing and the adapt ability to the processing requirements presented, depending on the
RESEARCH RESULT!
specifics of the problem. The developed algorithm allows to form a data set for neural network
training and to recognize patterns of activity of the human wrist.
Keywords: machine learning; fNIRS; neural networks; neurophysiological data.
ВВЕДЕНИЕ
В настоящее время все большую популярность среди исследователей для анализа активности головного мозга набирает метод ближней инфракрасной спектроскопиЦШГКБ) [4,8]. Эти данные используются исследователями для создания интерфейса мозг-компьютер, а также для обучения интеллектуальных систем, в том числе сетей глубокого обучения [1].
Актуальность данной работы заключается в расширении имеющихся знаний и подходов обработки данных fNIRS, заключающихся в разработке алгоритма, который может быть применен для решения прикладных задач формирования наборов данных, а также в возможности адаптации данного алгоритма под различные типы и размеры регистрируемых данных fNIRS [9].
ОСНОВНАЯ ЧАСТЬ
На выход разрабатываемого алгоритма предварительной обработки нейрофизиологических данных подаются регистрируемые сигналы активности головного мозга при помощи fNIRS. Экспериментальные данные получены в лаборатории НИУ «БелГУ». Возрастная группа респондентов - от 18 до 45 лет.
Разработан план эксперимента. Эксперимент состоял из повторения определенного цикла действий испытуемым в звукоизолированной аудитории без проникновения прямых солнечных лучей. Это обеспечило лучшую регистрацию данных оптического томографа и концентрацию респондентов на эксперименте.
Эксперимент проводился по следующему плану [5]:
- Начало эксперимента;
- Подготовка к началу выполнения команды участником после включения записи сигналов активности мозга - 10 секунд;
- Выполнить сжатие - 10 секунд;
- Выполнить разжатие - 10 секунд;
- Повторение данного цикла сжатия и разжатия 10 раз;
- Окончание эксперимента.
Во время эксперимента данные активности мозга регистрируются томографом в автоматическом режиме в файлы с расширением .wll и .wl2. Файлы NIRS-date_number.wl1 содержат записи 64 каналов, фиксирующие изменения оксигемоглобина в сосудах головного мозга во время проведения эксперимента. Файлы NIRS-date_number.wl2, NIRS-2020-04-30_006.wl2 содержат записи 64 каналов дезоксигемоглобина.
Так как, данные записываются без какой-либо обработки, появляется задача разработки алгоритма предварительной обработки исходных «сырых» экспериментальных данных. Под предварительной обработкой подразумеваются удаление шумов, выделение полезного сигнала, добавление меток и т.д.
РЕЗУЛЬТА ТЫ ИССЛЕДОВАНИЯ И ИХ ОБСУЖДЕНИЕ
Для решения поставленной задачи был написан ряд функций при помощи инструментов языка программирования Python и библиотек «numpy» и «tensorflow». Алгоритм предварительной обработки нейрофизиологических данных, полученных в ходе регистрации активности головного мозга при помощи fNIRS представлен на рисунке 1.
С
Begin
3
DS_0 = loadtxt(NIRS-2020-03-17_001.wl1)
DS_1 = loadtxt(NIRS-2020-03-17_001.wl2)
DS_noise1 = loadtxt (NIRS-20 20-04-30_00 6.wl1) DS_noise2 = loadtxt (NIRS-2020-04-30 006.wl2)
np transpose DS 0
np transpose DS 1
np transpose DS_ nois e1
np transpose DS_ nois e2
DS row = np.concatenate(DS0, DS1) DS noise = np.concatenate(DS noise1, DS noise2)
DS crop = crop DS(DS row) DSc noise = cropDS(DS noise)
DS noise11 = DSc noise.reshape(128,8,-1)
DS_A, DS_B = ma ke_DS(DS_crop)
DS_expA, DS_expB, DS noise = make DS (DS A, DS B)
DSz0, DSz1 = make_XY ( DS_expA, _DS expB)_
DSy = make some noise(DS noise11)
DS X = np.concatenate(DSz0, DS noise11)
DS Y = np.concatenate(DSz1, DSy)
DS_Xmix, DS_Ymix = make XY (DS X, DS Y)
print (DS_Xmix, DS_Ymix)
С
end
J
Рис. 1. Блок-схема алгоритма предварительной обработки нейрофизиологических данных Fig. 1. Block diagram of the neurophysiological data preprocessing algorithm
Данная блок-схема состоит из следующих основных подпрограмм:
- удаление данных, не содержащих полезный сигнал;
- разделение данных всего эксперимента на команды составляющие, соответствующие командам «сжатие» и «разжатие»;
- выделение полезного сигнала, соответствующего выполнению одной команды, на интервалы заданного размера с перекрытием;
- формирование набора данных «шум»;
- перемешивание команд в наборе данных.
Изначальные данные хранятся в файлах NIR.S-date_number.wn и N№3- ¿а!е_пишЬег^12 [3]. Каждый файл представлен в формате матрицы с размером Сои^Бгате х 64, где 64 - количество каналов, а СоиПБгате - количество регистрируемых фреймов по каждому каналу (7,8Бгате=1с.). Файлы загружаются и присваиваются в переменные Б8_0, Массивы Б8_0 и Б8_1
необходимо транспонировать, чтобы объединить данные динамики оксигемоглобина и дезоксигемоглобина в общий массив. В результате соединения формируется единый массив DS_row («сырой») размером 128 х СоитБгате. Аналогичную процедуру проходят файлы №Я8-date_number.wl1 и NIRS-date_number.wl2, содержащие нецелевые команды для формирования единого массива DS_noise («шум»). Далее происходит удаление данных при помощи функции «crop_DS» (рисунок 2). Удаление происходит исходя из длинны входного массива «1», при этом отбрасываются данные, не содержащие полезной информации, а именно первые 10 секунд концентрации респондента на проведении эксперимента, а также шум, снятый после окончания
эксперимента, зафиксированный томографом. На обработку функции передаются массивы DS_row и DS_noise «cшp_DS».
^Begin crop DS^
J DS row
x = 78
l = len(DS row)
11 = l // x
12 = x* 4l1"1)
np.delete (DS row, np
I
DS row = np.delete (DS row, np.s [l2:l])
print DS row J
( end crop_ DS
Рис. 2. Блок-схема функции «crop_DS» Fig. 2. Block diagram of crop_DS function
После удаления происходит трансформирование выходного массива DSc_noise из двухмерного в трехмерный с размером 128x8xCountN, где 128 - количество каналов, 8 -количество фреймов за секунду шума, CountN - количество команд «шума», получаем массив DS_noise11.
Далее формируется массив DS_crop, который подается на функцию «make_DS». Функция «make_DS» формирует из одного потока «сырых» обрезанных данных два массива с набором команд («сжатие» кисти и «разжатие» кисти), которые были записаны последовательно с частотой 10 повторений по 10 секунд (рисунок 3) и представляет собой вложенный цикл с постусловием. В результате работы функции «make_DS» формируются массивы DS_A, содержащий команды «сжатие», и DS_B, содержащий команды «разжатие», что реализуется при помощи перезаписи каждых чётных 10 секунд в массив DS_A, и каждых нечётных 10 секунд в массив DS_B.
^Begin make_DS^
L
DS_crop
7
S = len(DS_crop) _c = S/x
yo = 0
y1 = 0
DS A = []
DS_B = []
i = 0
Рис. 3. Блок-схема функции «make_DS» Fig. 3. Block diagram of make_DS function
Не все оставшиеся в массивах данные являются действительно полезной информацией. Из 10 секунд полезным является первоначальный всплеск сигнала за первые 4 секунды совершения команды «сжать кисть»/ «разжать кисть».
В связи с ограниченным количеством полезной информации, необходимо искусственно расширить имеющиеся данные массивов DS_A и DS_B, а также убрать из массивов данные, не содержащие целевых команд. Для решения данной задачи была разработана функция «exp_DS». Блок-схема функции «exp_DS» представлена на рисунке 4.
В зависимости от длин массивов DS_A, DS_B, формируются массивы DS_expA, DS_expB, в которые перезаписываются данные длинной 8 фреймов с шагом 4, то есть из каждых 10 секунд или 78 фреймов мы получаем 4 секунды или 32 фрейма полезного сигнала.
После прохождения цикла расширения полезного сигнала полученные массивы DS_expA и DS_expB транспонируются из двухмерных в трехмерные каждый с размером 128x8xCountC, где 128 - количество каналов, 8 - количество фреймов каждой команды, CountC - количество целевых команд.
С
Begin exp_DS
J
/ DS A, DS B /
1 r
Sl = len(DS A)
S2 = len(DS B)
k = = 8
t = 4
DS_expA = [] DS_expB = []
l=(x-k)//t ll=t*l+k l2=4*k
y1=0 y0 = 0
Рис. 4. Блок-схема функции «exp_DS» Fig. 4. Block diagram of exp_DS function
После формирования полезных для обучения и тестирования массивов DS_expA и DS_expB необходимо объединить их в общий массив DS_X, а также провести процедуру присвоения каждому примеру класса команды соответствующую метку. С данной задачей справляется функция «make_XY», объединяющая данные в единый массив X с присвоением для каждого элемента массива соответствующую метку Y (рисунок 5).
^Begin ^make XY^
Рис. 5. Блок-схема функции «make_XY» Fig. 5. Block diagram of make_XY function
В зависимости от длинны соответствующих массивов DS_expA и DS_expB «11» и «12», формируются массивы меток DS_Y1 и DS_Y2, где DS_Y1 соответствует метке «сжать» или «1», а DS_Y2 «разжать» или «2». Далее массивы DS_Y1 и DS_Y2 соединяются в единый массив меток DSzl. Выходом функции «make_XY» являются массив команд DSz0 и массив меток DSzl.
Для формирования единого массива команд DS_X соединяются массивы DSz0 и DS_noise11. Для формирования единого массива меток DS_Y соединяются массивы DSz1 и DSy.
Полученные массивы команд и меток, DS_X и DS_Y, были перемешаны между собой в случайном порядке. Для этого была написана функция «mix_XY», которая перемешивает в случайном порядке массив DS_X, и соответственно новому индексу переписывает метку массива DS_Y. Внутри функции генерируется вектор от 0 до «l», размера длинны массива DS_Y, и случайным образом перемешивается. Далее проходя поэлементно массив DS_X и DS_Y внутри цикла, случайное число вектора «r» становится будущим индексом массивов DS_X и DS_Y, перезаписывая их значения в массивы DS_Xmix, DS_Ymix.
Блок-схема функции «mix_XY» представлена на рисунке 6.
^Begin mix_XY^
DS DS _Y /
1 r
l =(len(DS Y) DS Xmix = [] DS Ymix = []
r = np.arange(l, dtype=int) np.random.shuf fle(r)
1 r
i: = 0,l
1 r
w = r[i] DS Xmix [:, :,i]=DS X[:,:,w] DS Ymix[i]=DS Y[w]
print DS_Xmix DS Ymix
С
end mix XY
J
Рис. 7. Блок-схема функции «mix_XY» Fig. 7. Block diagram of mix_XY function
ЗАКЛЮЧЕНИЕ
В данной статье был разработан алгоритм обработки экспериментальных данных функциональной ближней инфракрасной спектроскопии (fNIRS) головного мозга человека при помощи графического описания алгоритма в виде блок-схем, а также инструментов языка программирования Python. Отличительной особенностью алгоритма является его вариативность и возможность адаптации для типов данных fNIRS с различной частотой снятия данных, а также их размера. Разработанный алгоритм создан для проведения обработки данных, а также формирования наборов данных для обучения и тренировки нейронных сетей глубокого обучения.
Исследование выполнено при финансовой поддержке РФФИ в рамках научного проекта № 20-08-01178.
Список литературы
1. Bimodal BCI using simultaneously NIRS and EEG / Y. Tomita, F.B. Vialatte, G. Dreyfus, Y. Mitsukura, H. Bakardjian, A. Cichocki. // IEEE Trans. Biomed Eng. TBME.2014.2300492. - 2014 - No. 61, 1274-1284 pp.
2. Brain-Machine Interfaces in Neurorehabilitation of Stroke / Soekadar, S.R.; Birbaumer, N.; Slutzky, M.W.; Cohen, L.G. // Neurobiol. Dis. 2015, 83, pp.172-179.
3. Comparison of Feature Vector Compositions to Enhance the Performance of NIRS-BCI-Triggered Robotic Hand Orthosis for Post-Stroke Motor Recovery / Jongseung Lee, Nobutaka Mukae, Jumpei Arata, Koji Iihara, Makoto Hashizume // Applied Sciences 2019, 9, 3845; doi:10.3390/app9183845
4. J. ShinNear, K-R. Müller, H-J. Hwang. Near-infrared spectroscopy (NIRS)- based eyes-closed brain-computer interface (BCI) using prefrontal cortex activation due to mental arithmetic // Scientific Reports. 6:36203 - 2016 - llp.
5. Kaplan A.Ya., Zhigulskaya D.D., Kirjanov D.A. Studying the ability to control human phantom fingers in p300 brain-computer interface // Bulletin of Russian State Medical University .2016. Т. 2. С. 24-27.
6. Multichannel-near-InfraredSpectroscopy-Triggered Robotic Hand Rehabilitation System for Stroke Patients / Lee, J.; Mukae, N.; Arata, J.; Iwata, H.; Iramina, K.; Iihara, K.; Hashizume, M. A // IEEE International Conference on Rehabilitation Robotics (ICORR), London, UK, 17-20 July 2017; pp. 158-163.
7. NIRX FNIRS SOFTWARE sistems. URL: https://nirx.net/software (дата обращения:19.05.2020).
8. N. Naseer, K-S. Hong. fNIRS-based brain-computer interfaces: a review // Frontiers in Human Neuroscience - Vol. 9. - 15p.
9. Recognition and classification of oscillatory patterns of electric brain activity using artificial neural network approach / Pchelintseva S.V., Runnova A.E., Musatov V.Y., Hramov A.E. // Proc. SPIE. 2017. V. 10063. DOI: 10.1117/12.2250001
10. Tachtsidis, I.; Scholkmann, F. False Positives and False Negatives in Functional Near-Infrared Spectroscopy: Issues, Challenges, and the Way Forward. Neurophoton 2016, 3, 031405.
1. Bimodal BCI using simultaneously NIRS and EEG / Y. Tomita, F.B. Vialatte, G. Dreyfus, Y. Mitsukura, H. Bakardjian, A. Cichocki. // IEEE Trans. Biomed Eng. TBME.2014.2300492. - 2014 - No. 61, 1274-1284 pp.
2. Brain-Machine Interfaces in Neurorehabilitation of Stroke / Soekadar, S.R.; Birbaumer, N.; Slutzky, M.W.; Cohen, L.G. // Neurobiol. Dis. 2015, 83, pp.172-179.
3. Comparison of Feature Vector Compositions to Enhance the Performance of NIRS-BCI-Triggered Robotic Hand Orthosis for Post-Stroke Motor Recovery / Jongseung Lee, Nobutaka Mukae, Jumpei Arata, Koji Iihara, Makoto Hashizume // Applied Sciences 2019, 9, 3845; doi:10.3390/app9183845
4. J. ShinNear, K-R. Müller, H-J. Hwang. Near-infrared spectroscopy (NIRS)- based eyes-closed brain-computer interface (BCI) using prefrontal cortex activation due to mental arithmetic // Scientific Reports. 6:36203 - 2016 - 11p.
5. Kaplan A.Ya., Zhigulskaya D.D., Kirjanov D.A. Studying the ability to control human phantom fingers in p300 brain-computer interface // Bulletin of Russian State Medical University .2016. Т. 2. С. 24-27.
6. Multichannel-near-InfraredSpectroscopy-Triggered Robotic Hand Rehabilitation System for Stroke Patients / Lee, J.; Mukae, N.; Arata, J.; Iwata, H.; Iramina, K.; Iihara, K.; Hashizume, M. A // IEEE International Conference on Rehabilitation Robotics (ICORR), London, UK, 17-20 July 2017; pp. 158-163.
7. NIRX FNIRS SOFTWARE sistems. URL: https://nirx.net/software (дата обращения:19.05.2020).
8. N. Naseer, K-S. Hong. fNIRS-based brain-computer interfaces: a review // Frontiers in Human Neuroscience - Vol. 9. - 15p.
9. Recognition and classification of oscillatory patterns of electric brain activity using artificial neural network approach / Pchelintseva S.V., Runnova A.E., Musatov V.Y., Hramov A.E. // Proc. SPIE. 2017. V. 10063. DOI: 10.1117/12.2250001
10. Tachtsidis, I.; Scholkmann, F. False Positives and False Negatives in Functional Near-Infrared Spectroscopy: Issues, Challenges, and the Way Forward. Neurophoton 2016, 3, 031405.
Кононов Виктор Митрофанович, кандидат экономических наук, генеральный директор ООО «ЦентрПрограммСистем»
Асадуллаев Рустам Генннадьевич, кандидат технических наук, доцент, доцент кафедры прикладной информатики и информационных технологий
Щетинина Екатерина Сергеевна, студент кафедры прикладной информатики и информационных технологий Афонин Андрей Николаевич, доктор технических наук, профессор кафедры материаловедения и нанотехнологий, профессор кафедры информационных и робототехнических систем
Kononov Viktor Mitrofanovich, Candidate of Economical Sciences, General Director of «CentrProgrammSystem», LLC Asadullaev Rustam Gennadievich, Candidate of Technical Sciences, Associate Professor of the Department of Applied Informatics and Information Technologies
Shchetinina Ekaterina Sergeevna, Bachelor Student, Department of Applied Informatics and Information Technologies Afonin Andrew Nikolaevich, Doctor of Technical Sciences, Professor of the Department of Materials Science and Nanotechnology, Professor of the Department of Information and Robotic Systems
References