ПРОЕКТИРОВАНИЕ АРХИТЕКТУРЫ ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ РАСПОЗНАВАНИЯ ЖЕСТОВОГО ЯЗЫКА - Студенческий научный форум

X Международная студенческая научная конференция Студенческий научный форум - 2018

ПРОЕКТИРОВАНИЕ АРХИТЕКТУРЫ ИНТЕЛЛЕКТУАЛЬНОЙ СИСТЕМЫ РАСПОЗНАВАНИЯ ЖЕСТОВОГО ЯЗЫКА

Гончаренко А.А. 1, Воронова Л.И. 1
1МТУСИ
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
В статье проводится описание проектирования архитектуры интеллектуальной системы распознавания жестового языка, которая направлена для обеспечения комфортной среды людям с ограниченными возможностями – с нарушением слуха и/или голоса. Описаны компоненты системы и функции каждой из них. Описаны алгоритмы работ всех подсистем ИС. Статья выполнена в рамках курсового проекта по дисциплине «Методы интеллектуального анализа данных».

Интеллектуальная система распознавания жестового языка разрабатывается как проект направленный на обеспечение комфортной среды людям с ограничением или нарушением слуха и голоса. Социальная задача данного проекта – обеспечить людей с ограниченными возможностями простым и удобным средством общения с окружающим миром. Система должна представлять собой переводчик с жестового языка в русский текст или голосовое воспроизведение. Тем самым для людей с нарушением слуха и голоса будет решена задача экстренного оповещения аварийно-спасательных служб, а также даст возможность общения со здоровыми людьми.

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

Начиная проектировать архитектуру системы необходимо определить требования, которым будет отвечать ИС:

1. Иметь систему авторизированного доступа пользователей;

2. Иметь систему распознавания жестового языка;

3. Ответ системы распознавания должен быть в текстовом или голосовом виде, по выбору пользователя;

4. Использовать минимальное количество объема интернет-трафика;

5. Использовать минимальное количество вычислительных ресурсов пользовательских устройств;

6. Быть понятной пользователю.

Исходя из требований к системе, составляем архитектуру ИС, которую можно декомпозировать на программные подсистемы, относящиеся к пользовательскому и серверному приложениям, и аппаратное обеспечение (компоненты).

Зададим более подробные требования для пользовательского приложения:

• Приложение должно работать с видеокамерой устройства;

• Сохранять видеопоток во временной памяти устройства;

• Обеспечивать авторизированный доступ к системе;

• Иметь систему первоначальной обработки видео;

• Иметь доступ к сети интернет и контролировать расход исходящего и входящего информационного трафика;

• Вычислительная нагрузка приложения не должна превышать характеристик устройства;

• Должны быть заданы минимальные требования для клиентского устройства, для корректной работы приложения;

Зададим более подробные требования для серверного приложения:

• Приложение должно регистрировать пользователей в системе;

• Обеспечивать обмен данными между клиент-отправитель – клиент-получатель, либо возвращать обратно клиенту обработанные данные;

• Получать и обрабатывать данные от пользователей;

• Преобразовывать выходные данные в текстовое, либо в голосовое сообщение;

• Иметь систему распознавания жестового языка на основании полученных данных;

• Иметь дополнительную систему обработки ошибок распознавания.

Компоненты аппаратного обеспечения будут состоять из:

  1. Сервера обработки данных – обеспечивает получение и отправление входящей и обработанной информации.

  2. Сервера базы данных – обеспечивает хранение данных.

  3. Сервера файлового хранилища – обеспечивает хранение видео материалов для обучения нейронной сети системы, а также материалов, полученных при ошибках распознавания.

  4. Web-сервер – обеспечивает передачу и прием данных, а так же удаленное использование системы web-клиента.

  5. Пользовательского устройства – электронное устройств, которое может являться смартфоном или ПК пользователя, на который будет установлено клиентское приложение.

Каждый из перечисленных компонентов будет содержать программный комплекс подсистем, изображенных на рисунке 1. Приложение на устройстве пользователя будет являться web-клиентом системы. Web-клиент будет передавать и получать информацию на сервер обработки данных через web-сервер. Сервер обработки данных имеет прямой доступ к серверу базы данных и серверу файлового хранилища, для получения необходимых данных для его работы.

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

Рисунок 1. Компоненты с подсистемами ИС распознавания жестового языка

Таблица 1.

«Назначение подсистем в ИС распознавания жестового языка»

Название подсистемы

Функции подсистемы

Серверное приложение

Система контроля доступа и авторизации

Осуществляет регистрацию, авторизацию и учет пользователей в системе и их доступ

Система распознавания жестового языка

Осуществляет распознавание жестового языка при помощи алгоритма машинного обучения

Система автоматической обработки ошибок

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

Система формирования ответа

Осуществляет формирование и отправление перевода сообщения получателю

Пользовательское приложение (WEB-клиент)

Система авторизации

Осуществляет авторизацию пользователя в системе

Система записи и хранения видео

Осуществляет запись видео с помощью камеры устройства пользователя и хранение записи до окончания процесса перевода

Система контроля интернет-трафика

Осуществляет слежение за объемом исходящего и входящего объема интернет-трафика

Система вывода

Осуществляет вывод полученного результата перевода в текстовом формате (на экране устройства) или голосовом

Определившись с архитектурой системы необходимо описать каждую из подсистем. Исходя из всех требований к ИС составляем алгоритм работы системы (рисунок 2).

Рисунок 2. Алгоритм работы ИС распознавания жестового языка

Пользователь, авторизовавшись в клиентском приложении, выбирает собеседника, либо функцию перевода. Запускает запись видео и показывает на камеру жесты. Приложение, не дожидаясь окончания записи, разбивает видеопоток на куски и начинает предварительную обработку и передачу обработанных данных на сервер. Происходит это для общения в режиме реального времени. Сервер получает данные от приложения клиента и обрабатывает данные – распознает жесты и переводит их в текст, либо в голосовой набор данных. В случае если клиент выбрал отображение текста – сервер посылает получателю сформированное сообщение. В случае если клиент выбрал голосовое воспроизведение – сервер возвращает получателю набор данных для воспроизведения голосового пакета, хранящегося в клиентском приложении.

Проектирование клиентского приложения

Подсистема авторизации

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

Подсистема записи, хранения и передачи видеопотока

Существуют два способа передачи видеопотока на сервер:

• Потоковое вещание или онлайн трансляция

• Запись в память и последующая передача видео

Однако исходя из наших критерий ни один из этих способов передачи видеопотока на сервер не подходит.

При первом способе необходимо обратить внимание на то, что в зависимости от качества интернет соединения возможно искажение видео, за счет потерь при потоковой передаче данных.

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

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

• Определить положение лица и рук в кадре

• Создать карту точек

• Записывать карту точек в массив выходных данных

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

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

Система вывода ответа

На основании требований к ИС клиентское приложение должно представлять полученное решение в двух вариантах: текстовом и речевом.

Текстовый вывод будет выводиться на экран устройства в специальном поле.

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

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

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

Проектирование серверного приложения

Подсистема контроля доступа и авторизаций

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

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

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

Рисунок 3. Алгоритм работы системы авторизации пользователей

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

Подсистема распознавания жестов

Основная подсистема серверного приложения – это система распознавания жестов. Она должна быть разработана на основании нейронной сети рекуррентного типа. Данные нейронные сети позволяют запоминать предыдущие значения, тем самым складывая из последовательности действий единое решение. Так как в ИС мы должны распознавать жесты на основании движения рук и головы человека данный тип нейронной сети подходит наиболее верно.

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

Подсистема автоматической обработки ошибок

В ходе работы системы распознавания могут появляться случаи некорректного перевода. Это связанно с тем, что подсистема обработки видео клиентского приложения может неверно распознать положение или движение в кадре.

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

1. Исходный фрагмент разделяется на кадры;

2. Каждый кадр переводится вектор и записывается в матрицу входных данных;

3. С помощью рекуррентной нейронной сети подсистемы происходит вычисление матрицы входных данных;

4. По результатам распознавания делается вывод в какой из подсистем произошла ошибка, либо её не было (случайное или непроизвольное движение пользователя);

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

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

Проектирование системы обмена данными

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

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

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

Данные от клиентского приложения должны передаваться в формате JSON. Этот формат является текстовым форматом обмена данными. Его используют в разных языках программирования. Он удобен как для передачи, так и для использования в серверных подсистемах.

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

Для обеспечения целостности данных в серверном приложении необходимо добавить подсистему проверки данных. Если она определит, что данные получены не полностью, либо повреждены – серверное приложение запросит данные повторно у клиентского приложения.

Список используемой литературы и источников:

  1. Л.И. Воронова, В.И. Воронов. Machine Learning: Регрессионные методы интеллектуального анализа данных: учебное пособие – МТУСИ, 2017 – 81 с.

  2. Воронов В.И., Воронова Л.И. О повышении результативности магистерских программ в условиях инновационной экономики/ Инновационные подходы в науке и образовании: теория, методология, практика. - Изд-во: "Наука и Просвещение, 2017, с.35-44

  3. Генчель К.В., Воронова Л.И. Проектирование архитектуры программного комплекса на основе нейросетевых технологий для распознавания жестового языка инвалидов с нарушением слуха. // Телекоммуникации и информационные технологии. – 2017. – № 2.

  4. Andrew Ng Machine Learning - https://www.coursera.org/learn/machinelearning

Просмотров работы: 236