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

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

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

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

Актуальность исследования обусловлена активным развитием и применением нейрокомпьютерных интерфейсов в различных отраслях науки и техники. Исследование и разработка алгоритмов идентификации и классификации пользователей и жестов на основе сигналов электромиографии и методов машинного обучения, позволят повысить качество, надежность и безопасность использования сигналов электромиографии в разрабатываемых на их основе технических средствах. В статье рассматривается алгоритм классификации пользователей и жестов на основе сигналов электромиографии с помощью сверточной нейронной сети. Средняя точность классификации пользователей и жестов составила 84,3%. Наиболее высокая средняя точность классификации пользователей составила 93,8%. Наиболее высокая средняя точность классификации жестов составила 94,9%.The relevance of the study is due to the active development and use of neurocomputer interfaces in various branches of science and technology. Research and development of algorithms for identification and classification of users and gestures based on electromyography signals and machine learning methods will improve the quality, reliability and safety of using electromyography signals in the technical means developed on their basis. The article discusses an algorithm for classifying users and gestures based on electromyography signals using a convolutional neural network. The average accuracy of user and gesture classification was 84.3%. The highest average accuracy of user classification was 93.8%. The highest average accuracy of gesture classification was 94.9%.

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

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

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

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

УДК 004.8

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

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

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

Аннотация: Актуальность исследования обусловлена активным развитием и применением нейрокомпьютерных интерфейсов в различных отраслях науки и техники. Исследование и разработка алгоритмов идентификации и классификации пользователей и жестов на основе сигналов электромиографии и методов машинного обучения, позволят повысить качество, надежность и безопасность использования сигналов электромиографии в разрабатываемых на их основе технических средствах. В статье рассматривается алгоритм классификации пользователей и жестов на основе сигналов электромиографии с помощью сверточной нейронной сети. Средняя точность классификации пользователей и жестов составила 84,3%. Наиболее высокая средняя точность классификации пользователей составила 93,8%. Наиболее высокая средняя точность классификации жестов составила 94,9%.

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

Abstract: The relevance of the study is due to the active development and use of neurocomputer interfaces in various branches of science and technology. Research and development of algorithms for identification and classification of users and gestures based on electromyography signals and machine learning methods will improve the quality, reliability and safety of using electromyography signals in the technical means developed on their basis. The article discusses an algorithm for classifying users and gestures based on electromyography signals using a convolutional neural network. The average accuracy of user and gesture classification was 84.3%. The highest average accuracy of user classification was 93.8%. The highest average accuracy of gesture classification was 94.9%.

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

Введение

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

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

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

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

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

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

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

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

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

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

Регистрация сигнала Фильтрация сигнала Вывод результата классификации

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

нейронной сети на основе сигналов ЭМГ

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

4 5

4

1 ь

0.5

0 05 1 1.5 2 25 3 35 4

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

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

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

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

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

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

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

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

Эксперимент

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

Были рассмотрены следующие жесты:

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

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

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

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

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

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

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

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

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

Для оценки эффективности классификации пользователей и жестов

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

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

iliput l input: [(None, 400)] [(None, 400)]

InputLayer output:

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

Reshape output:

i г

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

CoiivlD output:

convld_l input: (None, 400, 25) (None, 400, 25)

ConvlD output:

i l

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

MaxPoolinglD output:

r

convld_2 input: (None, 100, 25) (None, 100, 40)

ConvlD output:

coiiv 1 d_3 input: (None, 100, 40) (None, 100, 100)

ConvlD output:

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

Dropout output:

i r

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

MaxPoolinglD output:

i f

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

GlobalM ax Poolin glD output:

dense input: (None, 100) (None, 54)

Dense output:

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

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

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

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

Результаты

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

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

Средняя точность классификации пользователей и жестов по реализованному алгоритму на тестовой выборке составила 84,3%. На рисунке 5 изображена матрица ошибок полученной сети.

О 10 20 30 40 50 И-20.0

I1"

V 15.0

г

V 10.0

- 7.5

- 50

- 2 5

- 0.0

Рисунок 8 - Матрица ошибок

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

ТОЧНОСТЬ определения 0- ГО пользователя и 0- го жьестз: 0.9375 %

ТОЧНОСТЬ определения 1- ГО пользователя и 0- го ж.естз: 0.3333333333333333 %

ТОЧНОСТЬ определения 2- го пользователя и 0- го &естэ: 0.7 %

ТОЧНОСТЬ определения 3- го пользователя и 0- го жеста: 0.16666666666666666 %

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

ТОЧНОСТЬ определения 4- ГО пользователя и 0- го жеста: 0.3 %

ТОЧНОСТЬ определения 5- го пользователя и 0- го жеста: 0.7692307692307693 %

ТОЧНОСТЬ определения 0- го пользователя и 1- го жеста: 5444'' '1 '1 Т 1 "1 '1 '1 Т "1 %

ТОЧНОСТЬ определения 1- го пользователя и 1- го жеста: 0.323 5 294117647058 %

ТОЧНОСТЬ определения 2- го пользователя и 1- го жеста: 0.7692307692307693 %

ТОЧНОСТЬ определения 3- го пользователя и 1- го жеста: 0.75 %

ТОЧНОСТЬ определения 4- го пользователя и 1- го жеста: 0.3636363636363636 %

ТОЧНОСТЬ определения 5- го пользователя и 1- го жеста: 1.0 %

Точность определения 0- го пользователя и 2- го жеста: 0.9 %

Точность определения 1- го пользователя и 2- го жеста: 0.3125 %

Точность определения 2- го пользователя и 2- го жеста: 0.5384615384615384 %

Точность определения 3- го пользователя и 2- го жеста: 0.3 %

Точность определения 4- го пользователя и 2- го жеста: 0.5090905090905091 %

Точность определения 5- го пользователя и 2- го жеста: 0.7857142857142557 %

Точность определения 0- го пользователя и 3- го жеста: 1.0 %

Точность определения 1- го пользователя и 3- го жеста: 1.0 %

Точность определения 2- го пользователя и 3- го жеста: 0.36363636363636365 %

ТОЧНОСТЬ определения 3- го пользователя и 3- го жеста: 0.0 %

ТОЧНОСТЬ определения 4- го пользователя и 3- го жеста: 1.0 %

ТОЧНОСТЬ определения 5- го пользователя и 3- го жеста: 0.9375 %

ТОЧНОСТЬ определения 0- го пользователя и 4- го жеста: 0.3888883388883388 %

ТОЧНОСТЬ определения 1- го пользователя и 4- го жеста: 1.0 %

ТОЧНОСТЬ определения 2- го пользователя и 4- го жеста: 0.3333333333333334 %

ТОЧНОСТЬ определения 3- го пользователя и 4- го жеста: 0.7272727272727273 %

ТОЧНОСТЬ определения 4- го пользователя и 4- го жеста: 0.3333333333333334 %

ТОЧНОСТЬ определения 5- го пользователя и 4- го жеста: 0.9375 %

ТОЧНОСТЬ определения 0- го пользователя и 5- го жеста: 1.0 %

ТОЧНОСТЬ определения 1- го пользователя и 5- го жеста: 1.0 %

ТОЧНОСТЬ определения 2- го пользователя и 5- го жеста: 0.5714285714285714 %

ТОЧНОСТЬ определения 3- го пользователя и 5- го жеста: 0.9411764705882353 %

ТОЧНОСТЬ определения 4- го пользователя и 5- го жеста: 0.9473684210526315 %

ТОЧНОСТЬ определения 5- го пользователя и 5- го жеста: 0.7692307692307693 %

ТОЧНОСТЬ определения 0- го пользователя и 6- го жеста: 1.0 %

ТОЧНОСТЬ определения 1- го пользователя и 6- го жеста: 0.5882352941176471 %

ТОЧНОСТЬ определения 2- го пользователя и 6- го жеста: 0.3 %

Точность определения 3- го пользователя и &- го жеста: 0.6470533235294118 %

Точность определения 4- го пользователя и &- го жеста: 1.0 %

Точность определения 5- го пользователя и &- го жеста: 0.5333333333333333 %

Точность определения 0- го пользователя и 7- го жеста: 0.35 %

Точность определения 1- го пользователя и 7- го жеста: 0.3333333333333334 %

Точность определения 2- го пользователя и 7- го жеста: 1.0 %

Точность определения 3- го пользователя и 7- го жеста: 1.0 %

Точность определения 4- го пользователя и 7- го жеста: 0.5523305523805523 %

Точность определения 5- го пользователя и 7- го жеста: 1.0 %

ТОЧНОСТЬ определения 0- го пользователя и а- го жеста: 0.9130434782603695 %

ТОЧНОСТЬ определения 1- го пользователя и а- го жеста: 0.9473684210526315 %

ТОЧНОСТЬ определения 2- го пользователя и а- го жеста: 0.6153846153846154 %

ТОЧНОСТЬ определения 3- го пользователя и а- го жеста: 0.7333333333333333 %

ТОЧНОСТЬ определения 4- го пользователя и а- го жеста: 0.9 %

ТОЧНОСТЬ определения 5- го пользователя и а- го жеста: 0.9375 %

Рисунок 9 - Точность классификации всех классов

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

Наиболее высокая средняя точность классификации жеста была получена для 0 пользователя и составила 94,9%.

Заключение

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

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

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

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

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

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

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. ResNet (34, 50, 101): «остаточные» CNN для классификации изображений, Режим доступа: свободный [Электронный ресурс] - URL -https://neurohive.io/ru/vidy-nejrosetej/resnet-34-50-101/ (Дата обращения: 10.03.2022).

3. 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.

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

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

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

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

8. Исследуем архитектуры сверточных нейронных сетей, Режим доступа: свободный [Электронный ресурс] - URL -https://progHb.io/p/issleduemarhitektury-svertochnyh-neyronnyh-setey-s-pomoshchyu-fast-ai-2020-12-28 (Дата обращения: 30.11.2021).

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