Как переопределить пользовательский интерфейс? Какие шаги необходимо предпринять, чтобы изменить способ взаимодействия людей с технологиями? Это не просто вопрос разработки правильных инструментов. Вы также должны учитывать, как люди хотят использовать гаджеты. Самый технологически продвинутый интерфейс ничего не значит, если он просто не кажется правильным, когда вы его запускаете.
Но мы вступаем в эпоху, когда нам нужно пересмотреть пользовательские интерфейсы. С каждым годом компьютеры появляются во все большем количестве гаджетов и приложений. Через десять лет даже в самом простом устройстве может быть компьютер. И с растущим акцентом на 3D-видео новый способ использовать преимущества этого третьего измерения требует инновационного подхода.
Система трехмерных жестов - один из способов решить эту проблему. На самом базовом уровнетрехмерная система жестов интерпретирует движения в физическом пространстве как команды. Приложения для такой технологии охватывают весь спектр вычислений, от видеоигр до управления данными. Но создание работоспособной системы трехмерных жестов сопряжено с множеством проблем.
Несколько инженеров пытались создать системы, которые могли бы интерпретировать наши движения как компьютерные команды. Но какие приложения сделают возможными эти системы? И какие компоненты необходимы для создания трехмерной системы жестов?
Размеры трехмерной системы жестов
Вы можете разделить части системы трехмерных жестов на две основные категории: аппаратное и программное обеспечение. Вместе эти элементы интерпретируют ваши движения и переводят их в команды. Вы можете уничтожать зомби в видеоигре, перемещаться по меню в поисках очередного блокбастера для просмотра вечером в кино или даже приступить к работе над следующим великим американским романом, просто передвигаясь.
Что касается оборудования, вам понадобится система камер, компьютер и дисплей. В систему камер могут быть встроены дополнительные элементы для определения глубины - обычно используются инфракрасный проектор и инфракрасный датчик. Компьютер берет данные, собранные камерой и датчиками, обрабатывает числа и выводит изображение на дисплей, чтобы вы могли увидеть результаты. Дисплей представляет данные таким образом, чтобы вы могли оценить, насколько далеко вам нужно продвинуться, чтобы манипулировать происходящим.
Что касается программного обеспечения, вам понадобятся приложения, которые преобразуют информацию, собранную программным обеспечением, в значимые результаты. Не каждое движение станет командой - иногда вы можете сделать случайное движение, которое компьютер примет за инструкцию. Чтобы предотвратить непреднамеренные команды, программное обеспечение для трехмерных жестов имеет алгоритмы исправления ошибок.
Зачем беспокоиться об исправлении ошибок? Возможно, жест должен соответствовать порогу достоверности, прежде чем программное обеспечение зарегистрирует его как команду. В противном случае использование системы может превратиться в разочарование. Представьте, что вы работаете над важным трехмерным рисунком, двигая руками, чтобы изменить его размер и форму. Внезапно вы чихаете, и тонкая работа, которую вы проделали до сих пор, рушится, поскольку ваши непроизвольные действия приводят к резкому искажению рисунка.
Алгоритмы исправления ошибок требуют, чтобы ваши действия соответствовали предварительно назначенным жестам с определенной степенью достоверности, прежде чем действие будет выполнено. Если программа обнаружит, что ваши движения не соответствуют требуемому уровню уверенности, она может игнорировать эти движения и не преобразовывать их в команды. Это также означает, что вам, возможно, придется выполнить жест особым образом, прежде чем система распознает его.
Некоторые команды могут быть не такими чувствительными, как другие. Они будут иметь гораздо более низкий порог доверия. Например, переключение между изображениями движением руки влево или вправо на самом деле не является критически важной командой. При более низком требовании к достоверности система будет принимать команды с большей готовностью.
Обнаружение и проецирование
Распознавание жестов - это только часть работы программы. Он также должен взаимодействовать с приложениями, чтобы ваши жесты преобразовывались в осмысленные действия на экране. С некоторыми приложениями это довольно просто. Перелистывание фотоальбома может зависеть только от нескольких жестов для навигации по изображениям и увеличения или уменьшения масштаба. Каждый из этих жестов может быть довольно простым.
Но для других программ может потребоваться большее количество сложных жестов. Допустим, вы только что вернулись домой с новейшей версией «Extreme Table Tennis Pro Elite» и готовы проверить свои навыки против самых сильных компьютерных противников, когда-либо поднимавших весло. Вы вставляете свою игру в консольную систему с компонентом трехмерных жестов и берете в руки настоящую ракетку. Что будет дальше?
Система анализирует сцену перед собой. Он определяет наличие весла в вашей руке. Когда игра начинается, вы смотрите на экран и ждете, пока ваш противник сделает подачу с лета. Когда цифровой мяч с криком приближается к вам, система трехмерных жестов определяет, куда бы мяч действительно попал в контексте вашего физического пространства, если бы он был реальным твердым объектом.
Вы делаете свой ход, готовясь к злобному возвращению с сумасшедшим вращением. Теперь 3D-система должна проанализировать вашу реакцию, отобразить ее на траектории полета мяча и определить, вступили ли вы в контакт или полностью его понюхали. Предполагая, что ваши потрясающие навыки настольного тенниса не подвели вас, вы успешно ударили по мячу. Теперь система должна определить, куда пойдет цифровой мяч, основываясь на ваших реальных физических движениях. Программное обеспечение проецирует траекторию полета, и мяч следует за ней.
В некоторых играх может не использоваться физическая опора. Ваш прогресс в игре будет полностью зависеть от движений, которые вы совершаете своим телом. Задача системы - следить за тем, чтобы ваши действия надлежащим образом влияли на ход игры. И все эти действия должны учитываться в самой игре. Это большая работа! Вот почему некоторые приложения требуют, чтобы вы двигались определенным образом, чтобы откалибровать систему перед началом работы.
Углубление
Обычная камера снимает мир как двухмерное изображение. Единственный объектив направляет свет на датчик, а записывающее устройство фиксирует данные. Хотя мы можем сделать вывод о том, насколько далеко или близко находится объект от камеры, основываясь на его размере, мы не можем на самом деле разобрать трехмерное изображение с двухмерной камеры.
Это ограничение создает проблемы с интерфейсами на основе жестов. Если вы стоите перед обычной камерой и машете руками, камера может зафиксировать горизонтальное и вертикальное движение. Компьютер с соответствующим программным обеспечением может интерпретировать эти движения как команды. А что, если поднести руки ближе к камере? Двухмерная система не может интерпретировать эти движения. А двухмерным системам может быть трудно отличить пользователя от фона.
Так как же научить камеру видеть в трех измерениях? Один из способов - добавить вторую камеру - это называетсясистема стереокамер Каждая камера захватывает изображения в одном и том же физическом пространстве. Потоки данных с двух камер поступают на один компьютер, который сравнивает изображения и делает выводы о глубине на основе информации. Две камеры не обязательно должны быть рядом друг с другом - вы можете расположить одну так, чтобы смотреть на комнату в лоб, а вторую камеру можно расположить так, чтобы она смотрела на пол с потолка.
В некотором смысле это имитирует то, как люди воспринимают глубину. Мы склонны судить, насколько что-то далеко от нас, основываясь на нескольких визуальных сигналах. Один из них происходит отparallax Это относится к тому, как оба глаза воспринимают одну и ту же сцену под немного разными углами. Если бы вы провели прямые линии от глаз к объекту в поле зрения, вы бы увидели, как две линии сходятся. Наш мозг объединяет информацию от наших глаз, чтобы создать образ в нашем уме.
Попался!
Кинематографисты воспользовались ограничениями двухмерных камер для создания спецэффектов. Например, принудительная перспектива может заставить объект казаться больше или меньше, чем он есть на самом деле, поместив его на соответствующем расстоянии от камеры. Несколько кадров в сериале «Властелин колец» использовали этот эффект, чтобы сделать хоббитов существами размером с пинту в мире размером с человека.
Легкий жестик
Что движется со скоростью 299 792 458 метров в секунду в вакууме? Нет, это не пылевой кролик. Это свет. Вам это может показаться пустяком, но скорость света пригодится, когда вы создаете трехмерную систему жестов, особенно если это устройство, работающее по принципу «время полета».
Этот тип системы трехмерных жестов сочетает датчик глубины и проектор с камерой. Проектор излучает свет импульсами - обычно это инфракрасный свет, который находится за пределами спектра видимого света для человека. Датчик обнаруживает инфракрасный свет, отраженный от всего, что находится перед проектором. Таймер измеряет, сколько времени требуется свету, чтобы покинуть проектор, отразиться от объектов и вернуться к датчику. По мере движения объектов количество времени, которое требуется свету для перемещения, будет меняться, и компьютер интерпретирует данные как движения и команды.
Представьте, что вы играете в теннис, используя систему трехмерных жестов. Вы стоите наготове, ожидая подачи от вашего сильно сеяного компьютерного соперника. Система трехмерных жестов учитывает, где вы находитесь по отношению к окружающей среде - инфракрасный свет попадает на вас и отражается обратно к датчику, предоставляя компьютеру все данные, необходимые для определения вашего положения.
Ваш противник подает мяч, а вы прыгаете вперед, выбрасывая руку вперед, чтобы перехватить мяч. В это время проектор продолжает излучать импульсы инфракрасного света миллионы раз в секунду. По мере того, как ваша рука перемещается от камеры, а затем приближается к ней, время, необходимое инфракрасному свету для достижения сенсора, меняется. Эти изменения интерпретируются программным обеспечением компьютера как движение и далее интерпретируются как команды видеоигры. Ваше изображение в видеоигре возвращает подачу, выигрывает очко, и виртуальная толпа сходит с ума.
Еще один способ отобразить трехмерное тело - использовать метод, называемый структурированным светом. При таком подходе проектор излучает свет - опять же за пределами спектра видимого света - в виде сетки. Когда сетка сталкивается с физическими объектами, она искажается. Датчик обнаруживает это искажение и отправляет данные на компьютер, который измеряет искажение. По мере того, как вы двигаетесь, ваши движения заставляют сетку искажаться по-разному. Эти различия создают данные, необходимые компьютеру для интерпретации ваших движений как команд.
Система трехмерных жестов не должна опираться на какой-то один технологический подход. Некоторые системы могут использовать комбинацию нескольких технологий, чтобы выяснить, где вы находитесь и что делаете.
Освоение жестов
Некоторые системы жестов используют один или несколько контроллеров вместо камер для обнаружения движения. Примерами могут служить пульт Nintendo Wii и контроллер Sony Move. Эти устройства содержат дополнительные датчики, определяющие ориентацию и ускорение.
За объективом
Являются ли трехмерные жесты управлением интерфейсом будущего? Это будет зависеть от изобретательности инженеров, эффективности различных систем и поведения пользователей. Разработка работоспособного пользовательского интерфейса - непростая задача - существуют сотни неудачных продуктов, которые в тот или иной момент должны были революционизировать то, как мы взаимодействуем с машинами. Чтобы трехмерные системы жестов избежали той же участи, они должны быть полезными и надежными. Это зависит не только от технологии, но и от психологии пользователей.
Если определенный жест непонятен пользователю, он может не захотеть использовать систему в целом. Вы, вероятно, не хотели бы исполнять «Hokey Pokey» только для того, чтобы сменить канал, но если вы это сделаете, все в порядке, мы вас не осуждаем. Создание хорошей системы означает не только совершенствование технологии, но и прогнозирование того, как люди захотят ее использовать. Это не всегда легко.
На рынке уже есть несколько систем трехмерных жестов. Microsoft Kinect, вероятно, является системой, наиболее знакомой среднему потребителю. Он позволяет управлять Xbox 360 с помощью жестов и голосовых команд. В 2012 году Microsoft объявила о планах внедрить функции, подобные Kinect, в машины с Windows 8. И сообщество хакеров действительно приняло Kinect, манипулируя им для проектов, начиная от технологии 3-D сканирования и заканчивая робототехникой.
На выставке CES 2012 несколько компаний продемонстрировали устройства, поддерживающие 3D-распознавание жестов. Одна компания, SoftKinetic, продемонстрировала времяпролетную систему, которая оставалась точной, даже когда объекты находились всего в нескольких дюймах от камеры.система измерения времени полета измеряет расстояния на основе того, как быстро свет отражается от объекта, исходя из скорости света. Если компании захотят включить функции распознавания жестов в компьютер или планшет, им придется полагаться на системы, которые могут обрабатывать жесты, сделанные близко к объективу.
В будущем мы можем увидеть планшеты с одной из форм этого программного обеспечения для распознавания жестов. Представьте, что вы ставите планшет на стол и кладете перед ним руки. Камера и датчики планшета определяют местоположение ваших рук и отображают виртуальную клавиатуру. Затем вы можете просто печатать на рабочем столе, как если бы у вас под рукой была настоящая клавиатура, а система отслеживала каждое движение пальца.
Настоящим испытанием для систем трехмерных жестов являются трехмерные дисплеи. Добавление глубины нашим дисплеям дает нам возможность исследовать новые способы манипулирования данными. Например, представьте себе трехмерный дисплей, показывающий данные, расположенные в виде сложенных блоков, простирающихся в трех измерениях. Благодаря трехмерному отображению жестов вы можете выбрать конкретную коробку, даже если она не находится наверху стопки, просто потянувшись к камере. Эти системы жестов и отображения могут создать виртуальный мир, настолько же захватывающий, насколько и гибкий.
Заменят ли эти системы испытанные интерфейсы, к которым мы привыкли? Если они это сделают, это, вероятно, займет несколько лет. Но при правильном проектировании и исследованиях они могли бы помочь превратить стереотипный образ стационарного компьютерного гения в активного мастера данных.
Примечание автора
Идея для этой статьи пришла мне в голову после посещения выставки CES 2012. Кажется, что каждый год на выставке появляется новая тенденция. В 2012 году этой тенденцией было переосмысление пользовательского интерфейса. Казалось, что каждая компания пыталась добавить в свои продукты системы управления жестами и голосом. Но не слишком радуйтесь - может пройти год или два, прежде чем эти инновации войдут в обычную бытовую электронику.