В данной статье описывается разработка системы захвата движений с помощью датчиков для танцевальной индустрии, анализ области применения и дальнейшее развитие.
Захват движения (Motion capture) — это технология для записи движений предметов или актеров, которые затем используются в компьютерной графике. Тело человека имеет сложное строение, поэтому записывать движения актеров гораздо проще, чем создавать трехмерные модели, которые необходимо анимировать вручную.
В настоящее время технология захвата движения представляет особый интерес в таких областях как медицина, спорт, игровая индустрия, киноиндустрия, охранные системы, робототехника.
Есть два принципиальных подхода к захвату движений: анализ видеопотока и подготовка данных о движении датчиками на местах крепления. Плюсы первого подхода заключаются в простоте внедрения способа. Можно быстро подготовить пространство для получения сырых данных. Минусами является повышающиеся требования к числу кадров в секунду у камеры для более детального захвата движений, большой объем хранения данных, сложность переноса камеры как оборудования для получения данных. Плюсами второго подхода являются: мобильность, легкость оборудования и относительно малое число передаваемых данных. Минусами является сложность интерпретации данных.
Технология захвата движения позволяет создать точную копию движения сохранить ее в виде трехмерной модели. Применив ее в танцевальной индустрии, можно не только увековечить конкретный танец, но и создать систему, способную помочь в создании новых танцев путем записи отдельных движений и их последующей компоновки.
С точки зрения обучения танцу, данная технология делает возможным рассмотрение движения со всех сторон, тем самым сокращает вероятность появления ошибок и упрощает работу хореографа.
Существующие решения либо имеют слишком высокую цену для среднестатистического преподавателя танцев, либо требуют специальных навыков для того, чтобы работать с программным обеспечением.
Данная система представляет собой программный модуль для ОС Windows, в котором реализован основной функционал захвата и представления движения в виде 3D-модели, а также реализована функция сохранения и воспроизведения. Система включает в себя два рабочих модуля: модуль сбора и обработки информации с датчиков движения и модуль построения и визуализации 3D-модели. Работа модулей — это взаимосвязанный процесс.
- Программный модуль для обработки данных, поступающих с датчиков, обеспечивает следующие возможности:
– синхронный прием данных со всех датчиков;
– запись полученных данных в файл;
– проверка корректности полученных данных;
– отправка данных в модуль построения модели.
Данные, поступающие с датчиков, отражают как координаты, угловое ускорение, время, так и другую информацию, которая в данном проекте не рассматривается. Поэтому необходимыми параметрами являются координаты каждого датчика (X, Y, Z), относительное время (время записи движения), угловая скорость и номер датчика. Все данные считываются одновременно, без задержек по времени, чтобы обеспечить точность записи движения.
Следующий шаг в обработке — это проверка полученных данных на наличие ошибок считывания. Для этого мы вычисляем по координатам расстояния между заранее выбранными датчиками. Удобнее выбирать датчики, располагающиеся на несгибаемых участках тела, например, плечах. Расстояние между ними измениться не может, поэтому по ним можно определить исправность работы датчиков. До начала записи мы заранее определяем величину этого показателя с помощью измерительной ленты и устанавливаем допустимую погрешность. Если вычисленное расстояние удовлетворительное, то данные проходят дальнейшую обработку, иначе система уведомляет пользователя о неисправности показаний.
Последний этап обработки данных — это задание им представления, которое сможет считать внешний модуль, например, текстовый файл. Затем происходит передача данных второму модулю системы.
- Программный модуль для записи и отображения 3D-моделей танцевальных движений представляет собой пользовательский интерфейс, а также обеспечивает выполнение следующих функций:
– запись танцевальных движений;
– визуализация движений путем построения 3D-модели;
– сохранение записанных движений;
– просмотр записанных движений;
– возможность удаления записанного движения.
При нажатии на «Запись» происходит обращение к модулю, обрабатывающему данные с датчиков. После получения текстового файла с необходимой информацией строится 3D-модель. Остальные кнопки, а именно «Сохранить», «Просмотр», «Удалить», позволяют работать непосредственно с библиотекой танцевальных движений. Выполнение функций обеспечивается нажатиями кнопок действий.
Дальнейшее развитие системы заключается в совершенствовании визуализации танцевальных движений за счет детального построения 3D-модели человеческого тела. Также рассматривается добавление новых функций, таких как просмотр записываемого движения в режиме реального времени, формирование танца из отдельных записанных движений, объединение 3D-моделей для создания танцевальной пары.