Научная статья на тему 'АЛГОРИТМ КЛАССИФИКАЦИИ ПОЛЬЗОВАТЕЛЕЙ С ПОМОЩЬЮ СВЕРТОЧНОЙ НЕЙРОННОЙ СЕТИ НА ОСНОВЕ СИГНАЛОВ ЭЛЕКТРОМИОГРАФИИ'

АЛГОРИТМ КЛАССИФИКАЦИИ ПОЛЬЗОВАТЕЛЕЙ С ПОМОЩЬЮ СВЕРТОЧНОЙ НЕЙРОННОЙ СЕТИ НА ОСНОВЕ СИГНАЛОВ ЭЛЕКТРОМИОГРАФИИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
74
15
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЭЛЕКТРОМИОГРАФИЯ / СВЕРТОЧНАЯ НЕЙРОННАЯ СЕТЬ / АЛГОРИТМ КЛАССИФИКАЦИИ / МАШИННОЕ ОБУЧЕНИЕ / НЕЙРОКОМПЬЮТЕРНЫЙ ИНТЕРФЕЙС / РАСПОЗНАВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Азизов Руслан Равилович, Лукьянчиков Андрей Игоревич

Актуальность исследования обусловлена активным развитием и применением интерфейсов на основе сигналов электромиографии в различных технических средствах. Цель данной работы заключается в разработке программно-математического средства и алгоритма, обеспечивающего возможность классификации пользователей с помощью разработанной многослойной сверточной нейронной сети на основе сигналов электромиографии. В статье рассматривается разработанный алгоритм и результаты классификации пользователей с помощью разработанного программно-математического обеспечения. Наиболее высокая точность классификации пользователей на основе разработанного алгоритма и структуры многослойной сверточной нейронной сети на тестовой выборке данных составила 96,2%. Средняя точность классификации пользователей составила 90,1%.The relevance of the study is due to the active development and use of interfaces based on electromyography signals in various technical means. The purpose of this work is to develop a software and mathematical tool and an algorithm that provides the ability to classify users using the developed multilayer convolutional neural network based on electromyography signals. The article discusses the developed algorithm and the results of user classification using the developed software and mathematical software. The highest accuracy of user classification based on the developed algorithm and the structure of a multilayer convolutional neural network on a test data sample was 96.2%. The average accuracy of user classification was 90.1%.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «АЛГОРИТМ КЛАССИФИКАЦИИ ПОЛЬЗОВАТЕЛЕЙ С ПОМОЩЬЮ СВЕРТОЧНОЙ НЕЙРОННОЙ СЕТИ НА ОСНОВЕ СИГНАЛОВ ЭЛЕКТРОМИОГРАФИИ»

УДК 004.8

Информационные технологии

Азизов Руслан Равилович, студент 2 курса магистратуры, РТУ МИРЭА, Институт кибербезопасности и цифровых технологий, кафедра КБ-3 "Безопасность программных решений ", Россия. г. Москва Лукьянчиков Андрей Игоревич, студент 4 курса аспирантуры, РТУ МИРЭА, Институт кибербезопасности и цифровых технологий, кафедра КБ-3 ".Безопасность программных решений ", Россия. г. Москва

АЛГОРИТМ КЛАССИФИКАЦИИ ПОЛЬЗОВАТЕЛЕЙ С ПОМОЩЬЮ

СВЕРТОЧНОЙ НЕЙРОННОЙ СЕТИ НА ОСНОВЕ СИГНАЛОВ

ЭЛЕКТРОМИОГРАФИИ

Аннотация: Актуальность исследования обусловлена активным развитием и применением интерфейсов на основе сигналов электромиографии в различных технических средствах. Цель данной работы заключается в разработке программно-математического средства и алгоритма, обеспечивающего возможность классификации пользователей с помощью разработанной многослойной сверточной нейронной сети на основе сигналов электромиографии. В статье рассматривается разработанный алгоритм и результаты классификации пользователей с помощью разработанного программно-математического обеспечения. Наиболее высокая точность классификации пользователей на основе разработанного алгоритма и структуры многослойной сверточной нейронной сети на тестовой выборке данных составила 96,2%. Средняя точность классификации пользователей составила 90,1%.

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

Abstract: The relevance of the study is due to the active development and use of interfaces based on electromyography signals in various technical means. The purpose of this work is to develop a software and mathematical tool and an algorithm that provides the ability to classify users using the developed multilayer convolutional neural network based on electromyography signals. The article discusses the developed algorithm and the results of user classification using the developed software and mathematical software. The highest accuracy of user classification based on the developed algorithm and the structure of a multilayer convolutional neural network on a test data sample was 96.2%. The average accuracy of user classification was 90.1%.

Keywords: electromyography; convolutional neural network; classification algorithm; machine learning; neurocomputer interface; recognition.

Введение

Электромиография (ЭМГ) - представляет собой метод измерения биоэлектрических потенциалов, возникающих в мышцах при возбуждении мышечных волокон. ЭМГ применяются для решения широкого круга задач, начиная от задач биомедицинского профиля для выявления неврологических нарушений и после клинической реабилитации, заканчивая управлением различными программно-аппаратными платформами. Для записи ЭМГ используют электроды прямоугольной или круглой формы. Электроды размещаются в установленной для расположения датчиков зоне с ориентацией параллельно мышечным волокнам. Регистрация изменения во времени разности биопотенциалов проводится с помощью специального прибора -электромиографа. ЭМГ является сложным сигналом, на форму которого влияет множество факторов, таких как физиологические и анатомические свойства и характеристики программно-аппаратных платформ.

Существующие исследования в основном сосредоточены на извлечении отличительных характеристик ЭМГ сигнала путем разработки функций для

формирования классификационных признаков. Однако в последние несколько лет исследователи начали применять глубокое обучение в целях распознавания жестов, сместив парадигму с разработки признаков на их изучение. Глубокое обучение - это метод обучения с многоуровневым представлением, где каждый уровень создает более высокое и более абстрактное представление входных данных.

Целью исследования является разработка и анализ алгоритма классификации пользователей с помощью сверточной нейронной сети на основе сигналов ЭМГ.

Объектом исследования является анализ качества распознавания классификационных признаков на основе сигналов электромиографии с помощью машинного обучения.

Новизна работы состоит в предложенном алгоритме классификации пользователей на основе сигналов ЭМГ с помощью разработанной структуры и программной реализации сверточной нейронной сети, что позволит оценить возможность применения ЭМГ сигналов в задачах идентификации, аутентификации и авторизации пользователей в системы с нейрокомпьютерными интерфейсами.

Описание аппаратуры и алгоритма исследования

Для регистрации сигнала ЭМГ был использован датчик мышечной активности Grove - EMG Detector, предназначенный для съема электрофизиологических сигналов.

Обработка сигнала производилась на персональном компьютере средствами программного пакета MATLAB. В исследовании применялись поверхностные электроды с сухим типом контакта датчиков, стандартные для электромиографических исследований.

На рисунке 1 представлен алгоритм классификации пользователей на основе сигналов ЭМГ с использованием сверточной нейронной сети.

Регистрация Фильтрация

сигнала сигнала

Пополнение базы данных И сигналов с разделением го ■ пользователям и жестам

Классфикация пользователей и жестов с помощью разработанной сверточной нейронной сети

Вывод результата классификации

Рисунок 16 - Алгоритм классификации пользователей с использованием сверточной

нейронной сети на основе сигналов ЭМГ На рисунке 2 представлен пример сигнала ЭМГ для одиночного сокращения мышцы предплечья.

Время (секунды)

Рисунок 17 - Пример сигнала ЭМГ для одиночного сокращения мышцы предплечья

Методика эксперимента

На первом этапе инициируется настройка и размещение электродов на пользователе, регистрация сигналов.

На втором этапе происходит фильтрация сигналов ЭМГ, разбиение сигналов по выполняемым жестам и пользователям.

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

На четвертом этапе происходит обучение нейронной сети и получение классификационных признаков пользователей.

На пятом этапе происходит получение результатов классификации пользователей по определенным жестам. Результатом является условная

вероятность принадлежности определенного жеста определенному пользователю.

Эксперимент

В исследовании принимали участие 6 человек в возрасте от 23 до 50 лет. Электроды размещались на мышцах предплечья. Запись каждого жеста производилась в течении одной минуты с интервалами между каждым повторением в две секунды. Все жесты выполнялись правой рукой. Были рассмотрены следующие жесты:

1. Сгибание указательного пальца;

2. Сгибание среднего пальца;

3. Сгибание безымянного пальца;

4. Поворот кисти влево;

5. Поворот кисти вправо;

6. Сгибание кисти вверх;

7. Сгибание кисти вниз;

8. Вращение кисти;

9. Щелчок большим и средним пальцем;

Для оценки эффективности классификации пользователей использовалась доля правильных ответов. Доля правильных ответов классификации представляет собой процентное соотношение количества верных распознаваний пользователей к общему количеству проведенных классификаций.

Сверточная нейронная сеть была разработана с помощью языка программирования Python 3.8 c использованием библиотек NumPy, Keras и TensorFlow. Рассматриваемая структура сверточной нейронной сети представлена на рисунке 3.

input_l input: [(None, 400)] [(None, 400)]

InputLayer output:

reshape input: (None, 400) (None, 400, 1)

Reshape output:

1 f

convld input: (None, 400, 1) (None, 400, 25)

ConvlD output:

convld 1 input: (None, 400, 25) (None, 400, 25)

ConvlD output:

1 f

max_poolingld input: (None, 400, 25) (None, 100, 25)

MaxPoolinglD output:

f

conv 1 d_2 input: , 100, 25) (None, 100, 40)

ConvlD output:

r

convl d 3 input: (None, 100, 40) (None, 100, 100)

ConvlD output:

dropout input: (None, 100, 100) (None, 100, 100)

Dropout output:

f

max_p о olin g 1 d_ 1 input: (None, 100, 100) (None, 50, 100)

MaxPoolinglD output:

f

fiatt input: (None, 50, 100) (None, 100)

Glob alM ax Poolin g 1D output:

dense input (None, 100) (None, 6)

Dense output:

Рисунок 18 - Структура сверточной нейронной сети

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

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

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

Результаты

В классификации пользователей были получены результаты, представленные на рисунке 5.

3/3 [=============================] - 0Е 61ms/step - loss: 1.5886 - accuracy: 0.8462

Для 0-го жеста loss = 1.5879873037338257, accuracy = 0.84S153S553237915

4/4 [=============================] - 0s Sins/step - loss: 0.3253 - accuracy: Э.9100

Для 1-го жеста loss = 0.3253096342006792, accuracy = 0.9100000262260437

4/4 [==============================] - 0S 7ins/step - loss: 0.5339 - accuracy: Э.9000

Для 2-го жеста loss = 0.5339106917381287, accuracy = 0.8999999761581421

3/3 [------------------------------] - 0s 8ins/step - loss: 0.3278 - accuracy: Э.9136

Для 3-го жеста loss = 0.327764093875885, accuracy = 0.9135802388191223

3/3 [=============================] - 0s 55ms/step - loss: 1.0984 - accuracy: 0.8795

Для 4-го жеста loss - 1.0983598232269287, accuracy - 0.8795180916786194

3/3 [==============================] - 0S 58ms/step - loss: 0.5226 - accuracy: 0.8941

Для 5-го жеста loss = 0.5225884318351716, accuracy = 0.8941176533699036

4/4 [------------------------------] - 0s 52ms/step - loss: 0.2972 - accuracy: 0.9381

Для 6-го жеста loss = 0.29723483324050903, accuracy = 0.938144326210022

4/4 [=============================] - 0s 7ins/step - loss: 0.1577 - accuracy: Э.9417

Для 7-го жеста loss = 0.1576773226261139, accuracy = 0.9417475461959839

4/4 [==============================] - 0s 8ins/step - loss: 0.1631 - accuracy: 0.9623

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Для 8-го жеста loss = 0.1631239950656891, accuracy = 0.9622641801834106

Рисунок 19 - Результаты классификации пользователей по жестам

Средняя точность классификации пользователей составила 90,1%

Наиболее высокая точность классификации пользователей на тестовой выборке данных была получена для 8 и 7 жеста и составила 96,2% и 94,2% соответственно.

Заключение

Целью работы являлась разработка алгоритма классификации и сверточной нейронной сети в целях классификации пользователей по сигналам электромиографии.

Предложен алгоритм классификации и структура сверточной нейронной сети, позволяющие классифицировать пользователей с точностью 96% и 94% соответственно.

Результаты данного исследования могут быть использованы при идентификации пользователей в интерфейсах "человек-машина". Также они могут быть применены в областях, требующих анализа и исследования ЭМГ сигналов, например, при выявлении болезней, в результате которых сигнал ЭМГ содержит классификационные признаки, по которым можно выявить нарушения.

Развитием данной работы может стать исследование и разработка

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

Библиографический список:

1. Alkan A., Gunay M. Identification of EMG signals using discriminant analysis and SVM classifier //Expert Systems with Applications. - 2012. - Т. 39. -№. 1. - С. 44-47.

2. Krizhevsky A., Hinton G. Learning multiple layers of features from tiny images. - Technical report, University of Toronto, 2009. - Т. 1. - №. 4. - С. 7.

3. Tsinalis O. et al. Automatic sleep stage scoring with single-channel EEG using convolutional neural networks //arXiv preprint arXiv: 1610.01683. - 2016.

4. Xia P., Hu J., Peng Y. EMG-based estimation of limb movement using deep learning with recurrent convolutional neural networks //Artificial organs. -2018. - Т. 42. - №. 5. - С. E67-E77.

5. Zhai X. et al. Self-recalibrating surface EMG pattern recognition for neuroprosthesis control based on convolutional neural network //Frontiers in neuroscience. - 2017. - Т. 11. - С. 379.

6. Гаврилов А. И., Со С. Т. У. Применение данных электромиографии в системах управления экзоскелетными устройствами //Инженерный журнал: наука и инновации. - 2017. - №. 6. - С. 9-9.

7. Ерофеева В. А. Обзор теории интеллектуального анализа данных на базе нейронных сетей //Стохастическая оптимизация в информатике. - 2015. -Т. 11. - №. 3. - С. 3-17.

8. Зименко К. А., Боргуль А. С., Маргун А. А. Анализ и обработка сигналов электромиограммы //Научно-технический вестник информационных технологий, механики и оптики. - 2013. - №. 1 (83).

9. Лукьянчиков А. И. и др. Алгоритмы классификации одноканального ЭМГ-сигнала для человеко-компьютерного взаимодействия //Cloud of science. - 2018. - Т. 5. - №. 2.

i Надоели баннеры? Вы всегда можете отключить рекламу.