По количеству степеней свободы, с которыми работает система.
Существуют двумерные системы. Они анализируют перемещение объекта на плоскости. Например, так реализуются системы наблюдения аэрофотосъемкой. В таком случае просто невозможно отследить изменения по третьей координате, потому что наблюдаемая плоскость расположена перпендикулярно лучу зрения и удалена на большое расстояние.
В большинстве случаев используются трехмерные системы захвата движения. Они дают более детальную информацию об объекте. Но, конечно, сложнее в реализации.
Третьим видом систем являются гибридные архитектуры. В таких системах данных недостаточно, чтобы точно обрабатывать объект в пространстве. Но, имея представление о структуре самого объекта, возможно восстановить взаимное расположение его участков и по третьей, ненаблюдаемой, координате. К примеру, можно довольно точно восстановить походку человека на трехмерной модели, имея в распоряжении только данные с боковой камеры, потому что имеются дополнительные данные о самой модели.
Таковы общие различия систем захвата движения. Существуют и другие, о них будет сказано ниже.
Процесс обработки данных обобщенной системой захвата движения можно разделить на несколько этапов:
- начальная инициализация системы;
- трекинг, отслеживание ключевых областей;
- распознавание положения и формы;
- распознавание действия;
- ответ системы.
Рассмотрим их более детально.
4. Начальная инициализация системы
Этап инициализации в системах захвата и анализа движения должен проектироваться особенно тщательно, потому что на этом этапе происходит формирование данных, которыми в дальнейшем будут пользоваться все остальные подсистемы.
Этот этап включает в себя следующие задачи: настройку и калибровку датчиков, установку системных данных о начальном положении датчиков и исследуемого объекта, инициализацию начальной позы объекта, возможно, формирование графа свобод и ограничений, по которому система будет анализировать полученные данные на завершающем этапе своей работы. Граф свобод и ограничений, если таковой используется в системе, определяет степени свобод и ограничения изменений по этим степеням свобод для каждого участка скелета объекта.
Формирование начальной позы может происходить различными способами. В некоторых реализациях существует определенная инициализационная поза объекта, в таком случае система начинает сбор данных только после того, как подсистема инициализации сообщает, что объект принял предусмотренную начальную позу. В другом случае система может принимать любую начальную позу объекта, но тогда необходимо проанализировать несколько кадров данных, чтобы убедиться, что данные о позе получены правильно, иначе возможна ситуация, в которой система будет долгое время собирать неверные данные, и не сможет обнаружить ошибку.
Граф свобод и ограничений так же, как и инициализационная поза объекта, может либо изначально присутствовать в системе, либо формироваться при помощи анализа характера трансформаций и движения объекта на некотором интервале времени после первого запуска системы.
Кроме описанных подзадач, на этапе инициализации и начальной настройки система может производить самотестирование. Тестирование обычно строится следующим образом: проверяется работа датчиков, затем датчики отключаются и на вход системы отслеживания ключевых областей подается последовательность заведомо верных данных. Если данные, полученные в результате обработки, соответствуют имеющимся правильным результатам, система работает верно. Этап самотестирования обычно присутствует в системах, очень критичных к корректности реакции, либо в автоматических системах, в которых отсутствует оператор, который может проверить работоспособность системы визуально.
5. Трекинг, отслеживание ключевых областей
Для отслеживания ключевых областей существуют различные алгоритмы. Все они характеризуются способом реализации следующих действий: последовательное выделение областей, минимизация полученной информации и описание отслеживания изменений. Что касается двух последних этапов, то это вопрос представления данных и они различны почти во всех реализациях. Для первого же этапа существует несколько общепринятых технологий.
Выделение датчиков проще всего: датчик может либо передавать вместе с полезной информацией свою подпись, либо иметь отличную от соседних частоту, если это радиомаяк.
Сложнее дело обстоит с выделением данных в пассивных системах. Прежде всего, необходимо отделить изображение анализируемого объекта от изображения фона. Алгоритмы, решающие эту задачу подразделяются на временные и пространственные.
Временные алгоритмы основываются на сравнении нескольких кадров. В таком случае объект легко выделить по его движению на фоне статичной окружающей среды.
Вычитание изображений – это один из временных алгоритмов. Этот алгоритм сравнивает кадры и удаляет из них совпадающую информацию, которой с большой вероятностью оказывается фон.
Другой временной алгоритм отслеживания - анализ когерентных потоков. В этом случае из изображения выделяются однородные сгустки и сравниваются с возможными деталями формы объекта.
Пространственные алгоритмы анализируют не изменение изображения во времени, а структуры, из которых состоит изображение.
Алгоритм граничного выделения объекта основывается на контрасте цвета объекта и цвета фона. Существует два подхода к формированию изображения для анализа этим алгоритмом. Либо объект отображается монотонно, обычно, голубым цветом на фоне среды любого цвета. Либо объект любой расцветки выделятся монотонной, обычно, черной средой.
В эту группу алгоритмов входят и различные статистические методы выделения объекта. В этом случае объект обычно выделяется особым способом расположенными на нем цветными точками либо особыми формами, присущими данному объекту.
После получения и формализации данных, анализ переходит на следующую ступень.
До сих пор мы говорили о способах выделения ключевых областей из общего потока информации. И, если система использует активные датчики или даже дифференцируемые маркеры, то этап отслеживания ключевых областей на этом завершает свою работу. Однако возможно использование однотипных маркеров либо корреляционное получение информации. В этих случаях на этапе трекинга появляется специфическая подзадача. Подзадача сопоставления ключевых областей друг другу в кадрах информации, полученных на различных временных метках.
Для разрешения описанной проблемы, в любом случае, необходимо использовать искусственный интеллект, конечно, в разной степени.
Одним из самых популярных и простых с алгоритмической точки зрения вариантов решения является использование высокочастотных датчиков. Большинство систем захвата движения, присутствующих на рынке, используют высокочастотные видеокамеры, для получения изображения объекта. Частота камер варьируется от 100 до 800 кадров в секунду. Такие частоты, конечно, существенно упрощают алгоритмы сопоставления маркеров, потому что в следующем кадре маркер очень незначительно перемещается от своего предыдущего положения.
Однако разрабатываются и алгоритмы, направленные на отвязку от качества аппаратуры. Они более интеллектуальные. Например, маркеры можно располагать определенным образом, позволяющим определять однозначно некоторые группы маркеров независимо от их положения и трансформации.
В дополнение к неравномерному распределению маркеров предложено использование априорных знаний о структуре объекта. В таких реализациях обычно используется активная модель объекта для отслеживания маркеров. Например, зная положение маркеров локтевого и плечевого суставов модели человека, мы можем точно сказать, что, если предполагаемый маркер кисти отклонился более чем на 90 градусов в наружную сторону руки, то это не маркер кисти. Вводя много такого рода ограничений в структуру модели, мы можем достичь требуемой для решения поставленной задачи «интеллектуальности» модели.
6. Распознавание формы и положения
Этот этап работы системы, можно с уверенностью считать наиболее сложным и наукоемким. Распознавание формы и трансформации объекта уже никак не зависит от аппаратной реализации датчиков, потому что все данные получаются на этапе выделения и отслеживания ключевых областей.
Если объект не имеет способности к свободной трансформации, то остается сопоставить положения ключевых областей модели объекта, и будут получены форма и положение. Таким объектом может быть, к примеру, стол. Все его части имеют постоянное положение относительно друг друга. Но существуют и объекты, которые могут изменять форму в своем локальном пространстве. Рука – различным расположением пальцев мы можем придавать ей самые различные формы. Для таких объектов распознавание формы производится несколько сложнее.
Существуют три подхода к распознаванию формы.
Без использования модели. Допустим, существует способ передачи двоичных данных, в котором поднятая вверх рука означает ноль, а расположенная перпендикулярно позвоночнику – единицу. Тогда наблюдателю не важны никакие другие данные о передающем, кроме его положения руки. В этом случае можно не создавать модель человека, необходим только лишь упрощенный скелет и три ключевые области на объекте.
С косвенным использованием модели. Рассмотрим случай, когда нужно проанализировать движения спортсмена, чтобы затем указать на его слабые стороны. Для этой цели не имеет смысла создавать очень детальную модель, но и одним скелетом обойтись будет сложно. В этом случае создается простая модель. На ней проводится анализ некоторого количества стандартных поз. А затем, при анализе движения реального человека, его движения приводятся к этим стандартным позам.