Резюме
В работе приведено описание разработанного в процессе исследования набора данных для обучения классификатора, алгоритм предварительной обработки данных, описана архитектура сверточной нейронной сети для классификации дактилем Русского жестового языка (далее РЖЯ) и приведены экспериментальные данные.
Static gestures classification using Convolutional Neural Networks on the example of the Russian Sign Language (RSL) dactyl.
Автор: Поткин О.А. (
Проект на GitHub: DNN-Gesture-Classifier
1. Введение
Интерфейсы взаимодействия человека и вычислительной техники многообразны по своей реализации и области применения: системы с консольным вводом-выводом, контролеры с жестовым управлением, интерфейсы мозг-компьютер [1] и другие. Системы с использованием ввода данных на базе распознавания пользовательских жестовых команд получили широкую популярность с 2010 года после выхода бесконтактного сенсорного игрового контроллера Kinect от компании Microsoft [2], увеличивают свою долю на рынке по сей день и становятся частью повседневной жизни разных категорий пользователей. Так, например, автопроизводитель Volkswagen представил мультимедиа систему Golf R Touch Gesture Control для управления мультимедиа системой автомобиля при помощи жестовых команд [3], а исследователи из Cybemet Systems Corporation разработали программное обеспечение для персональных компьютеров, позволяющее использовать жестовые команды вместо привычных устройств ввода [4].
Даже без официальной работы можно оформить кредит без трудоустройства. Это решение помогает тем, кто временно остался без постоянного дохода, но нуждается в деньгах. Сервис доступен фрилансерам, студентам и самозанятым, которые не могут предоставить стандартные документы. Для оформления достаточно карты и минимальных данных, чтобы система быстро приняла решение. Таким образом, финансовая помощь становится доступной каждому.
Даже без официальной работы можно оформить кредит без трудоустройства. Это решение помогает тем, кто временно остался без постоянного дохода, но нуждается в деньгах. Сервис доступен фрилансерам, студентам и самозанятым, которые не могут предоставить стандартные документы. Для оформления достаточно карты и минимальных данных, чтобы система быстро приняла решение. Таким образом, финансовая помощь становится доступной каждому.
Для преобразования жестовых команд в управляющий сигнал необходим механизм классификации жестовых данных, которые, в свою очередь, могут быть получены от различных устройств: специальных перчаток, определяющих координаты суставов [5], а также 2D и 3D видеокамер. Подход с использованием перчаток имеет существенный недостаток – пользователю необходимо носить специальное устройство, подключенное к компьютеру. В свою очередь, подход, основанный на концепции компьютерного зрения с использованием видеокамер, считается более естественным и менее затратным.
Представленная работа демонстрирует систему классификации дактилем РЖЯ, в основе которой лежит подход компьютерного зрения с использованием сверточных нейронных сетей. Работа является актуальной и представляет собой отправную точку для исследователей в области распознавания жестов.
2. Описание набора данных для обучения классификатора
Для обучения, кросс-валидации и тестирования классификатора разработан набор данных, содержащий в себе 1042 изображений кистей рук в определенной жестовой конфигурации – классе. Всего в наборе данных представлено 10 классов, каждый из которых соответствует определенной дактилеме РЖЯ.
На Рис. 1 представлены образцы изображений каждого из классов набора данных.

Рис 1. Образцы изображений из набора данных. Параметры: номер класса, соответствие дактилемы букве русского алфавита, количество изображений класса.
Изображения выполнены при различных световых условиях, но на небольшом диапазоне расстояний объекта от камеры (0.4 – 0.7 метра).
В Таблице 1 приведены параметры изображения из набора данных.
Таблица 1. Параметры изображения
| Параметр | Значение |
| Формат | .PNG |
| Ширина (пиксели) | 128 |
| Высота (пиксели) | 128 |
| Цветовое пространство | RGB |
| Глубина | 3 |
Перед отправкой данных в классификатор необходимо выполнить преобразования изображений, которые помогут избавиться от незначительных для классификатора признаков, что в свою очередь увеличит производительность при обучении классификатора. Данный процесс называется предварительной обработкой или препроцессингом.
В представленной работе выполнено преобразование цветового пространства RGB в YCbCr для сегментации кожи [6] и применена бинаризация по пороговым значениям (Рис. 2).

Рис 2. Образцы изображений после предварительной обработки. Параметры: номер класса, соответствие жеста букве русского алфавита, количество изображений класса.
Заключительный этап предварительной обработки – нормализация. Значения пикселей находится в диапазоне от 1 до 255, но для корректной работы нейронной сети необходимо подать на вход значения от 0 до 1. Для этого выполняется преобразование по формуле (1).
N = P / P_max (1)
где N – значение пикселя после нормализации, P – значение нормализуемого пикселя, P_max – максимальное значение диапазона.
Для того, чтобы минимизировать возможность переобучения классификатора [7], набор данных разделен на 3 части:
- обучающая выборка, содержит 80% от набора данных (666 изображений),
- тестовая выборка, содержит 20% от набора данных (209 изображений),
- кросс-валидационная выборка, содержит 20% от обучающей выборки (167 изображений).
3. Архитектура нейронной сети и результаты работы классификатора
Архитектура сверточной нейронной сети представлена на Рис. 3.

Рис 3. Архитектура сверточной нейронной сети для классификации дактилем РЖЯ.
Нейронная сеть состоит из следующих слоев:
- Входной слой (Input). Размер слоя соответствует размеру изображения после предварительной обработки 1 x 128 x 128 элементов.
- Сверточный слой (Conv1). Выходной размер 8 x 62 x 62. Размер сверточного окна 5 x 5. Функция активации – ReLU (Rectified Linear Unit или выпрямитель). ReLU имеет следующую формулу f(x) = max(0, x) и реализует простой пороговый переход в нуле. По сравнению с сигмоидной функцией активации, ReLU увеличивает скорость обучения и производительность классификатора [8].
- Сверточный слой (Conv2). Выходной размер 24 x 29 x 29. Размер сверточного окна 5 x 5. Функция активации – ReLU.
- Сверточный слой (Conv3). Выходной размер 36 x 13 x 13. Размер сверточного окна 5 x 5. Функция активации – ReLU.
- Сверточный слой (Conv4). Выходной размер 48 x 5 x 5. Размер сверточного окна 5 x 5. Функция активации – ReLU.
- Сверточный слой (Conv5). Выходной размер 64 x 3 x 3. Размер сверточного окна 3 x 3. Функция активации – ReLU.
- Слой Dropout 1, p = 0.25. Слой построен так, что каждый нейрон может выпасть из этого слоя с вероятностью p, следовательно, другие нейроны остаются в слое с вероятностью q=1–p. Выпавшие нейроны не входят в обучение классификатора, то есть при каждой новой эпохе нейронная сеть частично изменяется. Данный подход эффективно решает проблему переобучения классификатора [9].
- Полносвязный слой 1. Размер 576.
- Полносвязный слой 2. Размер 1024.
- Слой Dropout 2, p = 0.25.
- Полносвязный слой 3. Размер 256.
- Полносвязный слой 4. Размер 128.
- Выходной слой. Размер 10. Функция активации – softmax.
Пропозиція грошей за 1 годину зручна для клієнтів, яким потрібно отримати кошти терміново. Усього кілька кроків — і гроші вже на картці. Сервіс гарантує швидке схвалення та відсутність зайвих перевірок. Це ідеальне рішення для непередбачених витрат.
Нейронная сеть разработана с использованием фреймворка Keras на базе Tensor Flow со следующими значениями гиперпараметров (после процедуры оптимизации): коэффициент обучение 0.0001, размер связки 128, количество эпох 24, тип оптимизатора – Adam.
В результате оптимизации гиперпараметров были получены следующие результаты (Таблица 2).
Таблица 2. Результаты работы классификатора
| Выборка | Потери (Loss) | Точность (Accuracy) |
| Обучающая | 0.1411 | 0.9369 |
| Кросс-валидация (эпоха 24) | 0.2201 | 0.9461 |
| Тестовая | 0.2385 | 0.9138 |
Помимо использования тестовой выборки, была разработана и использована экспериментальная выборка (изображения кистей рук, выполненных в условиях, сильно отличающихся от тех, при которых был записан основной набор данных (Рис. 4))

Рисунок 4. Экспериментальный набор данных.
Сервис Кредит 24/7 создан для тех, кто ценит скорость и круглосуточную доступность. Он позволяет подавать заявки без ограничений по времени суток и получать деньги даже ночью. Это делает сервис гибким инструментом для современных пользователей.
Результаты работы классификатора с экспериментальными данными представлены в Таблице 3.
Таблица 3. Результаты классификации экспериментальных данных
| Номер класса (Значение) | Корректность классификации | Вероятность, с которой изображение соотнесено к корректному классу |
| 0 - А | + | 1 |
| 1 - Б | + | 0.998 |
| 2 - В | + | 0.998 |
| 3 - Г | - | 0 |
| 4 - Е | - | 0.021 |
| 5 - И | + | 0.94 |
| 6 - О | + | 1 |
| 7 - П | + | 1 |
| 8 - С | + | 1 |
| 9 - Я | + | 0.997 |
4. Вывод
В результате исследования был разработан набор данных, состоящий из более тысячи элементов, относящихся к десяти классам – дактилеммам РЖЯ. Разработаны алгоритмы и процедуры предварительной обработки данных на языке Python 3.5. Спроектирован и разработан классификатор на основе сверточной нейронной сети с использованием фреймворка Keras и TensorFlow, продемонстрировавший точность классификации в 91.4% на тестовом наборе данных и 80% на экспериментальном наборе данных. Представленных результатов точности недостаточно для внедрения данной системы в производство, но она может стать базой для дальнейших исследований в этом направлении.
Бажаєте уникнути черг і довгих процедур? Спробуйте позика на карту і отримайте гроші безпосередньо на банківський рахунок. Процес займає лише кілька хвилин, а прозорі умови дозволяють не перейматися прихованими платежами. Це сучасне рішення, яке робить фінансову підтримку доступною будь-де й будь-коли.
Литература
[1] Поткин О.А., Иванов В.А. (2014) «Нейрокомпьютерный интерфейс Neurosky: взаимодействие с аппаратной вычислительной платформой Arduino» // 64-я Открытая студенческая научно-техническая конференция. Сборник работ, М.: Университет Машиностроения, с. 151-153.
[2] Википедия. Свободная энциклопедия. «Kinect» // [https://ru.wikipedia.org/wiki/Kinect].
[3] Volkswagen. «Gesture Control: How to make a lot happen with a small gesture» // [http://www.volkswagen.co.uk/technology/comfort-and-convenience/gesture-control].
[4] Charles J. Cohen, Glenn Beach, Gene Foulk (2001) «A Basic Hand Gesture Control System for PC Applications» // Cybemet Systems Corporation.
[5] Laura Dipietro, Angelo M. Sabatini, Paolo Dario (2008) «Survey of Glove-Based Systems and their applications» // IEEE Transactions on systems, Man and Cybernetics, Vol. 38, No. 4, pp 461-482.
[6] Son Lam Phung, Abdesselam Bouzerdoum, and Douglas Chai (2002) «A novel skin color model in YCbCr color space and its application to human face detection» // Visual Information Processing Research Group Edith Cowan University, Westem Australia, IEEE KIP, pp 289-292.
[7] Jason Brownlee (2017) «What is the Difference Between Test and Validation Datasets? » // Machine Learning Process.
[8] Krizhevsky, A., Sutskever, I., Hinton, G.E. (2012) «Imagenet classification with deep convolutional neural networks» // NIPS pp. 1–9.
[9] Geoffrey E. Hinton, Nitish Srivastava, Alex Krizhevsky, Ilya Sutskever, Ruslan R. Salakhutdinov (2012) «Improving neural networks by preventing co-adaptation of feature detectors» // Department of Computer Science, University of Toronto, pp. 1-18.