Введение. Технология Motion Capture или, если по-русски, «захват движений» позволяет оцифровать движения актёра и использовать их для управления трёхмерной моделью персонажа. Захват движения активно используется в таких областях как компьютерные игры, анимация, кинематограф, и даже системы виртуальной и дополненной реальности. Но не смотря на популярность в среде профессионалов высшего уровня эта технология почти не доступна рядовому пользователю или даже небольшой игровой или анимационной студии: профессиональные системы стоят очень дорого и требуют высококвалифицированных работников для их обслуживания, а бюджетные системы захвата, такие как Kinect, дают посредственный результат, требующий сложной постобработки.
Общий алгоритм систем захвата движения. Для обобщенной системы захвата движения процесс обработки данных можно поделить на несколько общих этапов:
- изначальная инициализация системы;
- трекинг, отслеживание важных областей;
- распознавание положения и формы;
Этап изначальной инициализации системы включает в себя такие задачи как: настройка и калибровка датчиков, установка системных данных о изначальном положении исследуемого объекта и датчиков, инициализация изначальной позы объекта, и, если необходимо, формирование графа свобод и ограничений, с помощью которого на завершающем этапе работы система будет анализировать полученную информацию. Граф свобод и ограничений, если он применяется в системе, определяет степени свобод и ограничения допустимых изменений по этим степеням свобод для каждого из элементов скелета объекта.
Изначальная поза может быть сформирована несколькими способами. В одниз случаях используется определенная инициализационная поза объекта, в этом случае система начнёт сбор данных только после того, как подсистема инициализации определит, что поза соответствует предусмотренной изначальной позе. В других случаях система принимает любую изначальную позу объекта, но в таком случае нужно проанализировать несколько последовательных кадров данных, чтобы удостоверится, что данные о позе получены правильно, в противном случае возможен случай, в котором система будет в течении долгого времени собирать недостоверные данные, так и не обнаружив ошибку.
Инициализационная поза объекта, точно так же, как и граф свобод и ограничений может либо быть заранее внесена в систему, либо быть сформирована при анализе характера трансформаций и движения объекта на некотором отрезке времени после инициализации системы.
Существуют большое количество алгоритмов применяемых для отслеживания важных областей. Все они различаются методом решения следующих задач: пошаговой дифференциации областей, минимизации собранной информации и отслеживания изменений. Что касается этих этапов, то они зависят от того как представлены данные, и они различаются почти во всех вариантах реализации. Если система применяет однозначно дифференцируемые маркеры или даже активные датчики, то на этом этап отслеживания важных областей завершает свою работу. Однако возможна ситуация, когда применяются однотипные маркеры, либо корреляционное получение данных. В таких случаях в этап трекинга добавляется дополнительная подзадача. Эта подзадача заключается в сопоставлении важных областей друг другу в полученных в разное время кадрах информации [1].
Для разрешения этой проблемы необходимо применение искусственного интеллекта. Одним из самых простых с точки зрения алгоритма и распространенных решений является применение высокочастотных датчиков. В большинстве присутствующих на рынке систем захвата движения частоты варьируются от ста до восьмисот кадров в секунду. Это значительно упрощает алгоритмы, применяемые для сопоставления маркеров, поскольку в каждом следующем кадре маркер очень незначительно перемещается относительно своего положения в предыдущем.
Но разрабатываются и алгоритмы, нацеленные на отвязку от качества аппаратной составляющей [2]. Эти алгоритмы более интеллектуальные. К примеру, маркеры могут быть расположены относительно друг друга определенным образом, который позволяет однозначно выделить некоторые группы маркеров независимо от их трансформации или положения.
Кроме неравномерного распределения маркеров могут также использоваться априорные знания о структуре объекта. В подобных реализациях для отслеживания маркеров как правило применяется активная модель объекта. К примеру, зная положение маркеров локтевого и плечевого суставов модели человека, мы можем точно определит, что, если предполагаемый маркер кисти отклонился в наружную сторону руки более чем на 90 градусов, то этот маркер не является маркером кисти. Ввод такого рода ограничений в структуру модели, помогает достичь требуемой для решения данной задачи «интеллектуальности» модели.
Если объект не имеет способности к свободной трансформации, то всё что остается сделать это сопоставить положения важных областей модели объекта, и будут получены форма и положение. Примером такого объекта может быть, к примеру, стол. Положение каждой его части относительно всех остальных постоянно. Но человек является более сложным объектом, который в своем локальном пространстве может изменять форму. Для таких объектов этап распознавание формы происходит сложнее [3].
Существуют три подхода к распознаванию формы: без использования модели, с косвенным использованием модели и непосредственным использованием модели. Далее подробнее о каждом подходе.
Без использования модели. Допустим, существует способ передачи двоичных данных, в котором опущенная вниз рука означает ноль, а поднятая вверх единицу. Тогда наблюдателя не интересует никакая другая информация о передающем, кроме положения его руки. В этом случае нет необходимости строить модель человека, достаточно упрощенного скелета и трёх важных областей на объекте.
С косвенным использованием модели. Рассмотрим случай, когда нужно проанализировать движения спортсмена, чтобы затем определить его слабые стороны. Для такой цели не имеет смысла создавать детальную модель, но и простейшим скелетом обойтись не получится. В таком случае создается простая модель. На ней проводится анализ некоторого количества стандартных поз. А затем, при анализе движения реального актёра, его движения сопоставляются с этими стандартными позами.
С непосредственным использованием модели. В особенно сложных случаях, таких как анализ мимики человеческого лица, создание очень детальной и удобной в использовании модели необходимо. Обработка такого рода движений сейчас вызывает особенно высокий интерес разработчиков систем захвата и крупнейших студий, занимающихся компьютерной графикой.
Общая классификация. По принципу действия системы захвата движения можно поделить на магнитные, акустические, оптические, механические или инерционные.
Магнитные системы вычисляют положение и ориентацию датчика относительно магнитного потока при помощи трёхосевых магнитометров: трех катушек, расположенных вдоль трёх ортогональных осей [4]. Величина напряжения или тока в катушках позволяет этим системам рассчитывать дальность и ориентацию датчиков. Преимуществом таких систем является использование одного датчика для получения сразу информации о позиции и ориентации в пространстве. Недостатками являются чувствительность к магнитным и электромагнитным помехам и маленький объем захвата. Примером такой системы является Ascension Flock of Birds.
В акустической системе набор микрофонов, расположенных вокруг области захвата, распознает звуки из ультрозвуковых передатчиков, расположенных на объекте (актере). Сигналы от излучателей принимаются микрофонами, а дальность до передатчика рассчитывается по промежутку времени между принятым и переданным сигналом. Для определения положения в пространстве каждого отдельного передатчика производится триангуляция рассчитанных расстояний между передатчиком и каждым из микрофонов. Акустические системы захвата движения обладают рядом минусов, таких как: ограничение свободы перемещения, обусловленное проводами, идущие от компьютера к актеру, небольшое число передатчиков, которые могут использоваться одновременно, и чувствительность к отраженным сигналам или внешнему шуму. Примером такой системы является Power Glove.
В оптических системах захвата движения существуют три основных подхода [5]: активные системы, использующие импульсные светодиоды, пассивные системы, использующие светоотражающие маркеры, и безмаркерные системы, совсем не использующие маркеры на актёрах. Все оптические системы имеют общие минусы: сравнительно небольшой объем захвата и необходимость прямой видимости (это осложняет, а иногда и делает невозможной запись сцен с несколькими людьми и/или непрозрачными предметами).
Безмаркерные системы не требуют маркеров и дополнительного оборудования, кроме камер для съёмки [6]. Специальные алгоритмы позволяют системе анализировать несколько потоков изображения и определять форму человеческого силуэта, движения частей тела (пример такой системы Kinect от Microsoft). Такие системы обладают низкой точностью, на их работу сильно влияет освещение, окружение, в котором находится актёр.
Пассивные системы оптического захвата движения используют особые камеры с инфракрасной подсветкой, размещенные по периметру области захвата, и прикрепленные к определенных местах тела человека маркеры из светоотражающего материала. Как правило они крепятся к облегающему тело костюму или непосредственно к коже. Изображение, зафиксированное камерами с различных позиций, обрабатывается для выявления маркеров в изображении, затем с помощью триангуляции рассчитывается положение каждого маркера в трехмерном пространстве. Камеры отличаются от обычных наличием инфракрасных светодиодов, расположенных вокруг объектива камеры, а также инфракрасных фильтров перед матрицей, что позволяет камерам работать даже в условиях полной темноты. Как правило пассивные системы захвата движения используют от 6 до 24 камер. Каждый отдельный маркер дает информацию только о позиции, для получения информации о повороте или наклоне частей тела используют комбинацию трёх или более маркеров.
Активные системы оптического захвата движения основаны на другом принципе, не на отражении света со стороны камер, а на свечении светодиодов в самих маркерах. Мощность света активных маркеров снижается на 1/4 при удалении маркера в два раза, что и используется при расчетах его положения. По сравнению с пассивными, активные системы обладают значительно большей точностью и способностью охватывать большую рабочую область, и, кроме того, могут использоваться импульсные светодиоды, что позволяет захватывать большее количество маркеров, расположенных намного ближе друг к другу, но в отличие от пассивных оптических систем, активные требуют наличия на человеческом теле хрупких светодиодов и контроллера, либо прямого подключения к компьютеру по проводу, что резко снижает мобильность актёра.
Для активных и пассивных систем характерна высокая цена камер и необходимость заново монтировать массивную систему из нескольких камер при смене места съёмки.
Механические системы захвата движения отслеживают движения частей тела относительно друг друга посредством специального экзоскелета, так называемого mocap-скелета. Такие системы захвата движения при условии беспроводной передачи данных имеют неограниченный объем захвата. Как правило, они используют жесткие структурные соединения пластмассовых или металлических стержней, соединенных с потенциометрами, что позволяет отслеживать повороты суставов тела. Но хрупкий и громоздкий mocap-скелет, с дополнительным контроллером, прикреплённым к актёру и подключенным к сенсорам сильно ограничивают движения актёра и делают невозможным выполнение сложных движений, а также беспрепятственное взаимодействие с окружением. Еще одним важным недостатком является то, что для актёров с различным ростом и телосложением требуются разные mocap-скелеты, что повышает стоимость применения этой технологии.
Инерциальные системы захвата движения использует технологию, основанную на использовании миниатюрных инерционных датчиков [7]. Большинство инерциальных систем используют гироскопы для измерения вращательного момента. Эти системы позволяют отслеживать шесть степеней свободы движения тела человека в режиме реального времени. Преимуществами инерционных систем являются возможностью охвата неограниченной рабочей зоны для перемещений. К недостаткам данного метода относится низкая точность позиционирования и позиционные сбои.
Многие современные коммерческие системы совмещают в себе сразу несколько принципов [8].
По типу используемых датчиков системы делятся на два типа: активные и пассивные (не следует путать с активными и пассивными оптическими системами захвата, все они в данной классификации относятся к пассивным).
В активных системах применяются датчики, которые непосредственно передают данные о своем текущем состоянии для определения их положения. Например, для определения движений актёра на него можно закрепить радиодатчики или надеть механический экзоскилет. Это примеры систем, использующих активные датчики, поскольку данные о движении формируются прямо в узлах костюма на основе обработки принимаемого сигнала с внешнего источника или определения угла между отдельными частями костюма. Главное преимущество таких систем — это простота и точность обработки получаемых данных. Но такие системы подходят далеко не для всех ситуаций. Активные датчики как правило имеют сравнительно большие габариты и поэтому могут мешать свободному движению или вообще не позволять получить необходимые данные о мелких движениях. Несмотря на это, применение систем захвата движения с использованием активных датчиков на практике активно развивается, и даже обладает рядом достоинств, по сравнению с системами с пассивными датчиками. Одним из главных плюсов активных датчиков является относительная простота алгоритмов анализа данных полученных системой, что позволяет получать гораздо более точную информацию об объекте, чем можно получить, используя пассивные.
Системы называют пассивными, если датчики в них не формируют непосредственно данных о положении или движении исследуемого объекта, а считывают некоторую натуральную информацию, такую как его видеоизображение. Данные о движении объекта получают, анализируя эту информацию с помощью специальных алгоритмов. К примеру, при захвате мимики актёра было бы очень сложно считывать данные при помощи десятков механических и инерционных датчиков, закреплённых на лице человека. В таких ситуациях используется изображение, поступающее с видеокамер. Такие системы обычно проще устроены со стороны аппаратной части, но алгоритмы обработки данных намного сложнее, особенно в тех ситуациях, когда требуется повышенная точность результатов.
По способу распознавания важных областей пассивные системы захвата движения можно подразделить на системы с однозначным распознаванием и системы с распознаванием с применением искусственного интеллекта. Набором важных областей называют совокупность деталей на изображении объекта, по которым можно с некоторой степенью точности восстановить картину движения. Помимо этого, должно быть выполнено ещё одно условие: должна быть возможность однозначного определения важных областей. По разному типу важных областей системы можно подразделить на три группы:
Системы с однозначно распознаваемыми маркерами. В этих системах все важные области объекта помечены маркерами. В этом случае каждый маркер или группа маркеров представляет собой область, которую можно распознать однозначно (например, по цвету маркера или его форме), при этом нет необходимости использовать сложные алгоритмы искусственного интеллекта.
Системы с однотипными маркерами. В этих системах важные области так же, как и в, системах с однозначно распознаваемыми, отмечаются маркерами. Отличие в том, что маркеры неотличимы друг от друга внешне. Это позволяет значительно расширить возможности используя неограниченное количество маркеров. Также, такая система позволяет значительно упростить аппаратную часть – требования, предъявляемые к датчикам и маркерам, сильно снижаются. Однако в такой системе возникает достаточно сложная дополнительная задача – задача определения маркеров. В каждом наборе кадров система должна однозначно распознать каждый из маркеров, в противном случае она не сможет определить движение объекта, даже располагая всеми данными о положении каждого маркера в каждый момент времени.
Третья разновидность систем захвата движения безмаркерная. Она совсем не использует маркеры. Важные области определяются при помощи анализа характеристик взаимосоответствия на ряде последовательных кадров [9]. При определении важных областей с помощью корреляции анализируется относительное положение некоторых неоднородных фрагментов изображения объекта. Подобный анализ, очевидно, требует намного более сложных расчётов с применением искусственного интеллекта [10], но также есть и существенное преимущество: доступна вся полнота информации о структуре объекта, поскольку ни одна область объекта не замещается маркером. Также, каждая область объекта может быть сделана важной в любой момент, и для этого нет необходимости помечать её маркером.
Заключение. В данной статье были рассмотрены обобщенные этапы работы системы захвата движения, принципы работы подобных систем, а также были рассмотрены основные подходы к решению задачи захвата движения, их основные особенности, преимущества и недостатки. В статье описаны классификации систем по принципу действия и по типу используемых в системе датчиков, разобраны ключевые различия систем различных типов.