Введение
Актуальность решаемой проблемы
В настоящее время в России проживает несколько миллионов глухих и плохо слышащих людей, использующих в процессе коммуникации жестовую речь. При этом большинство нормально слышащих людей не знает языка жестов. Это обстоятельство создает большие трудности в процесс общения их с людьми, имеющими ограничения по слуху. Возможно, справиться со сложившейся ситуацией позволит создание системы автоматического сурдоперевода (САС).
Принцип работы системы автоматического сурдоперевода заключается в распознавании динамических жестов человека, ввод которых осуществляется посредством видеокамеры (аналогично человеческому зрению). Для правильной работы, САС нуждается в предварительной настройке своих параметров. Процесс такой настройки называется обучением и состоит в обработке специально отобранных видеофрагментов, которые составляют базу данных обучающих образов системы автоматического сурдоперевода — 3D моделей жестов рук.
Практическая ценность
В работе представлены видеофайлы жестов, относящихся к области информационных технологий, которые используются сурдопереводчиками в учебных заведениях с техническим уклоном, изучение которых будет полезно всем пользователям с ограниченными возможностями по слуху. В числе пользователей могут быть как глухие люди, так и слышащие, желающие освоить жестовый язык глухих, а также он может использоваться работниками социальных и других служб в изучении жестового языка.
В настоящее время, в России уже издано несколько словарей жестового языка в печатном варианте. Но природа жестового языка требует большей наглядности в изображении знака-символа. Бумажные словари, при всей их полезности, не могут отразить все особенности выполнения отдельных жестов и помочь в составлении фраз на ЖЯ. Появление мультимедийных средств дало возможность, используя технику видеозаписи, создавать обучающие курсы жестового языка, в которые включаются уже не только отдельные понятия (жесты), но и образцы фраз и диалогов.
Однако, жестовые словари, выполненные в виде упорядоченных видеофрагментов, представляющих как отдельные жесты жестового языка, так и их различные комбинации: образцы фраз, диалоги, другие тексты, записанные с помощью демонстраторов (лиц, знающих жестовый язык), имеют ограниченную возможность развития, т. к. пополняться они могут только с помощью тех же демонстраторов жестов, которые работали над их первой версией. Кроме того, такие словари имеют определенные ограничения в использовании их для синтеза словосочетаний и целых предложений жестового языка.
Использование же средств компьютерной анимации, позволяет не только программно компоновать соответствующий жест в режиме реального времени, но и учитывать при этом предшествующее положение рук, головы и туловища персонажа, что позволяет формировать запись “связного текста” жестовой речи произвольной длительности.
Таким образом, настоящий проект соответствует современным требованиям и по своей функциональности актуален и социально важен.
Постановка задачи
Целью работы является создание базы данных анимированных жестов их параметров и характеристик.
Для достижения поставленной цели в работе необходимо решить следующие задачи: провести анализ предметной области; разработать базу данных анимированных жестов; создать примеры анимированных жестов.
Анализ предметной области
Понятие жестового языка
В межличностной коммуникации переплетаются два вида общения: вербальное (речь) и невербальное (жесты). Из двух видов межличностной коммуникации невербальная коммуникация является более древней, а вербальная – наиболее универсальной.
Невербальная коммуникация осуществляется всегда при личном контакте. Эти средства, как известно, могут сопровождать речь, а могут и употребляться отдельно от вербальных средств. Невербальные знаки глухих представляют собой язык тела, которое достаточно подвижно, чтобы принимать почти любое положение.
Язык тела включает жесты – способ знакового использования рук. Использование жестов для человека становится необходимым, когда другие средства недоступны или маловыразительны: тренеры во время гонок сообщают промежуточные результаты лыжнику или конькобежцу, слов было бы просто не слышно. Но особый случай – языки глухих. С одной стороны, использование визуального канала неизбежно, с другой – это не дополнительный, а основной язык для слабослышащих.
ЖЯ глухих замещает обычный язык. Минимальной единицей языка считается хирема, аналог фонемы в словесном языке. ЖЯ не совпадает с национальным. Так Амслен (American Sign Language) близок языку глухих Франции, но не является родственным языку глухих Англии.
Невербальным средствам для глухих соответствуют немануальные (взгляд, выражение лица, движение головы и тела), мимика иногда выполняет смыслоразличительную роль. Существует жестовый вариант общенационального языка, в нём слова звукового языка заменяются жестами родного, в случае отсутствия – дактилируются, передаются побуквенно пальцевой азбукой.
Жест представляет собой определённое телодвижение, особенно движение рукой, сопровождающее речь для усиления её выразительности или заменяющее её. В жестовом языке, жест является аналогом слова в звуковых языках, представляя собой интуитивно выделяемую единицу жестовой речи. В западной лингвистике понятия жест — единица жестовой речи и жест — элемент жестикуляции терминологически разграничены как sign и gesture соответственно.
В жест обязательно входит информация о свойствах участников и действиях, описывающих перемещение или расположение объекта в пространстве. Подобные жестовые конструкции не фиксируются в словарях, они каждый раз изобретаются заново и могут никогда не встретиться вновь.
Учёными-лингвистами доказано, что на уровне слова есть много общего между звуковыми и жестовыми языками. С другой стороны, жест обладает уникальными свойствами, для описания которых неприменимы методы, разработанные на основе изучения звуковых языков, к которым можно отнести, например, критерий фиксированного порядка грамматических элементов для определения грамматического слова: грамматические элементы в жесте производятся не последовательно, а одновременно. В силу того, что у говорящего на жестовом языке есть в распоряжении не один речевой тракт, а две руки, он, в принципе, может производить два слова одновременно. Данный процесс подчиняется специфическим ограничениям, так как одновременное выполнение двух полноценных слов в жестовом языке требовало бы высокой концентрации и координации движений говорящего и больших затрат на понимание у адресата. Примеры одновременного выполнения двух различных жестов не отличаются разнообразием. Однако они типичны.
Существуют две наиболее распространённые формы «одновременного» показа двух слов. Первая – это синхронизация двух рук при перечислении (одна «перечисляет» объекты, другая показывает числа и меняет форму – показывает новое число – только когда первая рука заканчивает очередной жест: важно, что руки не двигаются одновременно). Вторая форма – «расщепление» двуручного жеста (как правило, обозначающего объект): после выполнения жеста одна из рук сохраняет форму данного жеста и остается неподвижной, а другая рука продолжает выполнять новые жесты. Выделяя жест в потоке жестовой речи, им можно считать такую последовательность: задержка руки – движение – задержка [1]
Анализ дактильных азбук
Создатели первых дактильных алфавитов и их преемники стремились выбрать такие конфигурации пальцев и руки (рук), чтобы дактилемы напоминали буквы. Поэтому естественно, что, анализируя способы воспроизведения в дактильной азбуке алфавитов национальных языков, исследователи стремились положить в основу своего описания «принцип сходства». Но применяются и другие критерии. Так, классификация дактилем, предложенная Гейльманом, основывается на использовании трех критериев (рис.1.).
Согласно этой классификации, например, русская, испанская и другие дактильные азбуки являются одноручными, копирующими (т. е. стремящимися к сходству дактилемы с буквой) и буквенными, английская — двуручной (кроме буквы С), копирующей и буквенной. А вот китайский дактильный алфавит в этой классификации определяется как комбинированный, вариантный и совмещённый. Дело в том, что современный китайский дактильный алфавит представляет собой как бы два набора дактилем: первый набор для согласных начального слога, второй набор — пальцевые обозначения конечных слогов [9].
Рисунок 1. Классификация дактилем по И.Ф. Гейльману
Структура и функции дактильной речи
Система жестового общения глухих, имеющая сложную структуру, включает две разновидности жестовой речи: разговорную и калькирующую, помимо этого, важное место в жестовом общении глухих занимает движение рук, представляющее собой особую кинетическую систему. Движения рук (жесты) в данном случае обозначают не сами явления окружающего мира, а буквы алфавитов национальных языков. Буквы при этом сами служат для названия этих явлений, так как они являются элементами слов (единиц письменной речи). Следовательно, по структуре движение рук – это речь при помощи жестовых обозначений букв, иначе говоря, обозначения обозначений. Используя набор дактильных знаков, говорящий следует грамматике словесного языка (русского, английского и т. д.). Таким образом, движение рук – своеобразная кинетическая форма словесной речи, вербальной коммуникации. Функции движения рук довольно широки – от общения слышащих (учителей, родителей и др.) и глухих до участия в межличностной коммуникации глухих, осуществляемой главным образом при помощи ЖР.
Термин «дактилология» (от греч. dactilos – палец, logos – слово) используется в двух основных значениях. Во-первых, так называют алфавит, воспроизведённый пальцами руки (рук). В этом значении слово употребляется в высказываниях: «русская дактилология – одноручная», «английская дактилология – двуручная» и т. п. Во-вторых, говоря о значении термина в предложении, имеют в виду не алфавит, а общение при помощи ручной азбуки, т. е. дактильную речь [11].
Разработка базы данных анимированных жестов
Ввиду специфики решаемой задачи, разрабатываемая база данных анимированных жестов построена на основе жестовых образов предметной области «Информатика и вычислительная техника». Кроме того, учитывалась проблемная ориентированность данной работы, которая включает в себя информационную технологию, подразумевающую автоматизированный процесс создания анимированных жестов. Автоматизация в данном случае означает возможность конструирования соответствующего жеста из отдельных типовых элементов, созданных ранее. Таким образом, в качестве информационного наполнения базы данных принято решение использовать жестовые образы слов дактильного алфавита.
В таблице 1 представлен список анимированных жестов базы данных. Таблица 1 Набор обрабатываемых жестов
№ |
Название |
Фрагмент |
1 |
Массив |
|
2 |
Цикл |
|
3 |
Байт |
|
4 |
Модем |
|
5 |
Экран |
|
6 |
Файл |
|
7 |
Сервер |
|
8 |
Бит |
|
9 |
Сеть |
|
10 |
Память |
|
Параметры жеста
Разработанная база данных анимированных жестов, помимо собственно видеоизображений, представляющих отдельные жесты, содержит дополнительные параметры, необходимые для описания жестов в форме, удобной для машинной обработки. Эти параметры будут полезны при использовании базы в качестве хранилища обучающих образов в системе автоматического сурдоперевода. Данные параметры включают в себя качественные и количественные характеристики описываемых жестов.
Для описания структуры жеста и различия жестов между собой выделены следующие 3 параметра:
Впоследствии был введен четвёртый параметр структуры жеста – ориентация рук в пространстве относительно друг друга и корпуса говорящего, который подробно описал исследователь Баттисон.
Компоненты жестов
При анализе строения жеста в разговорном жестовом языке рассматриваются характеристики двух основных компонентов: конфигурации и движения.
Компонент конфигурация характеризуется в одноручных жестах положением пальцев и кисти руки (обычно правой), в двуручных – положением пальцев и кисти каждой руки и взаимным расположением обеих рук. При исполнении некоторых двуручных жестов конфигурация правой и левой рук может быть одинаковой, либо иметь различия. Характеристики конфигураций удобно давать на основе их сопоставления с конфигурацией руки при показе соответствующей буквы дактильного алфавита или дактильного обозначения цифры. В разговорном жестовом языке выделено 27 основных конфигураций.
Компонент движение характеризуется: часть руки, исполняющая движение (кисть, предплечье и т.д.); вид траектории движения (круговое, зигзагообразное и т.д.); ритмическая характеристика движения (повторяющееся, обратимое и т.д.); направление движения (вверх, вниз, от себя и т.д.); качество движения (непрерывное, прерывистое); плоскость, в которой выполняется движение. Каждую из этих шести характеристик движения можно описать при помощи фиксированного набора признаков: 3 признака- направление движения; 21 признак-вид траектории движения; 3 признака- ритмическая характеристика движения; 21 признак- направление движения; 2 признака- качество движений; 3 признака- плоскость в которой выполняется движение.
Описание структуры базы данных
Каждый жест в базе данных содержит: название; описание; ссылку на видеофрагмент с анимированным образом; графическое изображение, содержащее дактильное описание жеста; а также дополнительные параметры (локализация – место исполнения жеста; часть руки, исполняющая движение (кисть, предплечье и т.д.); вид траектории движения (круговое, зигзагообразное и т.д.); направление движения (вверх, вниз, от себя и т.д.). Значение каждого дополнительного параметра может меняться (например, при исполнении сложного жеста, рука может несколько раз менять направление движения), поэтому предусмотрена параметризация упорядоченными последовательностями. Структура базы данных представлена в таблицах 2.1 … 2.9 и на рисунке 2.
Таблица 2.1 Параметры атрибутов таблицы GESTURE – Жест
Атрибут |
Название атрибута в БД |
Тип |
Особые свойства |
Идентификатор жеста |
ID |
INTEGER |
PRIMARY KEY AUTOINCREMENT |
Название |
NAME |
VARCHAR(20) |
|
Описание |
DESCRIPTION |
VARCHAR(1024) |
|
Видеофрагмент |
VIDEO |
VARCHAR(1024) |
|
Графическое изображение |
PICTURE |
BLOB |
|
Таблица 2.2 Параметры атрибутов таблицы LOCATION_LIST – Список локализаций
Атрибут |
Название атрибута в БД |
Тип |
Особые свойства |
Идентификатор |
ID |
INTEGER |
PRIMARY KEY AUTOINCREMENT |
Идентификатор жеста |
GESTURE |
INTEGER |
FOREIGN KEY |
Идентификатор локализации |
LOCATION |
INTEGER |
FOREIGN KEY |
Таблица 2.3 Параметры атрибутов таблицы LOCATION – Локализация
Атрибут |
Название атрибута в БД |
Тип |
Особые свойства |
Идентификатор |
ID |
INTEGER |
PRIMARY KEY |
Название |
NAME |
VARCHAR(20) |
|
Таблица 2.4 Параметры атрибутов таблицы ARMMOVE_LIST – Список направлений движения
Атрибут |
Название атрибута в БД |
Тип |
Особые свойства |
Идентификатор |
ID |
INTEGER |
PRIMARY KEY AUTOINCREMENT |
Идентификатор жеста |
GESTURE |
INTEGER |
FOREIGN KEY |
Идентификатор направления движения |
ARMMOVE |
INTEGER |
FOREIGN KEY |
Таблица 2.5 Параметры атрибутов таблицы ARMMOVE – Направление движения
Атрибут |
Название атрибута в БД |
Тип |
Особые свойства |
Идентификатор |
ID |
INTEGER |
PRIMARY KEY |
Название |
NAME |
VARCHAR(20) |
|
Таблица 2.6 Параметры атрибутов таблицы TRAJECTORY_LIST – Список видов траекторий движения
Атрибут |
Название атрибута в БД |
Тип |
Особые свойства |
Идентификатор |
ID |
INTEGER |
PRIMARY KEY AUTOINCREMENT |
Идентификатор жеста |
GESTURE |
INTEGER |
FOREIGN KEY |
Идентификатор траектории движения |
TRAJECTORY |
INTEGER |
FOREIGN KEY |
Таблица 2.7 Параметры атрибутов таблицы TRAJECTORY – Вид траектории движения
Атрибут |
Название атрибута в БД |
Тип |
Особые свойства |
Идентификатор |
ID |
INTEGER |
PRIMARY KEY |
Название |
NAME |
VARCHAR(20) |
|
Таблица 2.8 Параметры атрибутов таблицы DIRECTION_LIST – Список направлений движения
Атрибут |
Название атрибута в БД |
Тип |
Особые свойства |
Идентификатор |
ID |
INTEGER |
PRIMARY KEY AUTOINCREMENT |
Идентификатор жеста |
GESTURE |
INTEGER |
FOREIGN KEY |
Идентификатор направления движения |
DIRECTION |
INTEGER |
FOREIGN KEY |
Таблица 2.9 Параметры атрибутов таблицы DIRECTION – Направление движения
Атрибут |
Название атрибута в БД |
Тип |
Особые свойства |
Идентификатор |
ID |
INTEGER |
PRIMARY KEY |
Название |
NAME |
VARCHAR(20) |
|
Рисунок 2. Структурная схема базы данных
Набор признаков, описывающих структурные элементы жеста, а также перечень вспомогательных модификаторов представлены в таблицах 3.1.
Таблица 3.1 Структурные элементы жеста
Компоненты жеста |
Признаки |
Числовой идентификатор признака |
Локализация
|
на уровне лица |
1 |
на уровне лба |
2 |
на уровне бровей |
3 |
на уровне глаз |
4 |
на уровне носа |
5 |
на уровне рта |
6 |
на уровне ушей |
7 |
на уровне подбородка |
8 |
над макушкой головы |
9 |
на уровне щек |
10 |
на уровне шеи |
11 |
на уровне плеч |
12 |
на уровне груди |
13 |
на уровне талии |
14 |
на уровне ниже талии |
15 |
Часть руки, исполняющая движение |
кисть |
1 |
предплечье |
2 |
рука |
3 |
Вид траектории движения |
круговое |
1 |
полукругом |
2 |
спиральное |
3 |
зигзагообразное |
4 |
мелкое волнообразное |
5 |
глубокое волнообразное |
6 |
крестообразное |
7 |
ступенчатое |
8 |
ромбовидное |
9 |
поворот вокруг своей оси |
10 |
сгибание |
11 |
разгибание |
12 |
наклон |
13 |
расходящееся |
14 |
сходящееся |
15 |
скрещивание |
16 |
волнообразный перебор пальцев руки |
17 |
щелчкообразное раскрытие пальцев руки |
18 |
щелчкообразное смыкание пальцев руки |
19 |
сцепление пальцев руки |
20 |
раскрытие пальцев руки |
21 |
Ритмическая характеристика движения |
повторяющееся |
1 |
обратимое |
2 |
поочередное |
3 |
Направление движения
|
вверх |
1 |
вниз |
2 |
влево |
3 |
вправо |
4 |
от себя |
5 |
к себе |
6 |
движение рук друг к другу |
7 |
движение рук в противоположные стороны (вправо – влево) |
8 |
движение рук в противоположные стороны (вверх – вниз) |
9 |
под углом влево |
10 |
под углом вправо |
11 |
под углом влево вверх |
12 |
под углом влево вниз |
13 |
под углом вправо вверх |
14 |
под углом вправо вниз |
15 |
вложение движущейся руки в неподвижную руку |
16 |
по часовой стрелке |
17 |
против часовой стрелки |
18 |
движение одной руки по часовой стрелке, другой – против часовой стрелки |
19 |
движение во все стороны (хаотическое) |
20 |
движение от себя – к себе |
21 |
Выбор СУБД
При разработке базы данных анимированных жестов использовался MySQL . MySQL – небольшой, компактный многопоточный сервер баз данных, который характеризуется большой скоростью, устойчивостью и легкостью в использовании. Одна из важных причин популярности MySQL заключается в том, что связка РНР + MySQL обеспечивает очень высокое быстродействие, которого очень трудно достичь другими средствами. Очень хорошая связь MySQL с РНР стала еще одной причиной популярности этой СУБД.
СУБД MySQL использует архитектуру клиент-сервер, и поэтому, работая с MySQL, мы работаем с двумя программами. Программа сервера БД расположена на компьютере, где хранится БД Она ждет запросы клиентов, поступающие по сети, и обеспечивает доступ к содержимому БД для извлечения информации, запрашиваемой клиентами. Клиентская программа осуществляет подключение к серверу и передает запросы ему. В общем случае клиент и сервер MySQL находятся на разных компьютерах, позволяя подключаться к серверу MySQL с любого компьютера, находящегося в сети.
Создание анимированных жестов
Разработка алгоритма синтеза анимированного изображения жеста
Рассмотрим данный алгоритм по шагам.
Шаг 1. На данном шаге алгоритма происходит загрузка фотографии руки в качестве фонового изображения окна проекции Тор .
Шаг 2. Создается простой примитив box, размеры которого соответствуют загруженному на предыдущем шаге изображению.
Шаг 3. Полученный примитив конвертируется в объект типа «Редактируемая полисетка», изменяя координаты вершин которой, формируется реалистичная форма ладони.
Шаг 4. С помощью функции «вырезать» на ладони вырезаются промежутки для пальцев.
Шаг 5. Выделяются полигоны в основании пальцев и с помощью функции «выдавить» выдавливаются пальцы и суставы.
Шаг 6. Придается форма ладони.
Шаг 7. Создается скелет руки и прикрепляется к геометрическому образу.
Шаг 8. Выбирается слово и анализируется дактильная азбука.
Шаг 9. Создается ключевая анимация.
Подробное описание алгоритма приведено в приложении 1. На рисунках 3.1 и 3.2 представлены схема алгоритма создания анимированного изображения жестового образа и схема алгоритма создания руки.
Рисунок 3.1 Алгоритм создания руки |
Рисунок 3.2 Алгоритм создания видеофайла |
ПО для создания руки
Для создания анимационных моделей руки использовалась полнофункциональная профессиональная программная система для создания и редактирования трёхмерной графики и анимации — Autodesk 3ds Max (3D Studio MAX). Содержит самые современные средства для художников и специалистов в области мультимедиа. Работает в операционной системе Microsoft Windows. 3ds Max располагает обширными средствами по созданию разнообразных по форме и сложности трёхмерных компьютерных моделей.
Видеофайлы создавались в Autodesk 3Ds Max 2010 c помощью анимации по ключевым кадрам (в процессе создания анимированного жеста формируются кадры, в которых фиксируется изменение положения пальцев и траектория движения).
Заключение
Результатом выполнения данной работы является база данных, включающая 10 анимированных жестов, их параметров и характеристик. Кроме того, в процессе конструирования данных жестов была сформирована методика создания анимированного жеста руки, с использованием дактильной азбуки. С помощью средств компьютерной анимации был произведен синтез анимированных образов выбранных жестов. Путем обобщения и формализации применяемых алгоритмов была разработана информационная технология, включающая в себя несколько этапов.
В будущем планируется использовать разработанную технологию для расширения и наполнения базы данных другими жестами. Кроме того, предполагается реализация доступа к данной базе в сетевом режиме.