Веб-ГИС на практике X: естественный пользовательский интерфейс Microsoft Kinect для навигации по Google Планета Земля

  1. Аннотация В этом документе рассматривается использование датчиков глубины, таких как Microsoft Kinect...
  2. Поддержка драйверов ПК
  3. Приложения вне игр
  4. Kinoogle: интерфейс Kinect для естественного взаимодействия с Google Планета Земля
  5. Аппаратное и стороннее программное обеспечение
  6. Системное программное обеспечение Kinoogle
  7. KinectControl
  8. Kinoogle
  9. EarthControl
  10. Kinoogle GUI
  11. Руководство пользователя
  12. Инструкция по эксплуатации
  13. Обсуждение и выводы

Аннотация

В этом документе рассматривается использование датчиков глубины, таких как Microsoft Kinect и ASUS Xtion, для обеспечения естественного пользовательского интерфейса (NUI) для управления трехмерными (трехмерными) виртуальными глобусами, такими как Google Планета Земля (включая режим просмотра улиц), Карты Bing. 3D и NASA World Wind. В документе представлено устройство Microsoft Kinect, кратко описывающее его работу (основную технологию PrimeSense), а также его рыночный охват и потенциал приложений, выходящий за рамки его первоначального предназначения в качестве контроллера домашних развлечений и видеоигр. Также рассматриваются различные программные драйверы, доступные для подключения устройства Kinect к ПК (персональному компьютеру), и кратко обсуждаются их сравнительные преимущества и недостатки. Мы рассмотрим ряд подходов и примеров применения для управления трехмерными виртуальными глобусами с помощью датчика Kinect, а затем опишем Kinoogle, интерфейс Kinect для естественного взаимодействия с Google Планета Земля, разработанный студентами Техасского университета A & M. Читатели, заинтересованные в опробовании приложения на собственном оборудовании, могут загрузить Zip-архив (прилагается к рукописи в виде дополнительных файлов). 1 , 2 & 3 ), который содержит «установочный пакет Kinnogle для ПК с Windows». Наконец, мы обсуждаем некоторые аспекты удобства использования Kinoogle и аналогичных NUI для управления трехмерными виртуальными глобусами (включая возможные будущие улучшения) и предлагаем ряд уникальных практических «сценариев использования», где такие NUI могут оказаться полезными при навигации по 3-D. виртуальный глобус, по сравнению с обычной мышью / 3-D мышью и клавиатурой.

Фон

Что такое Kinect?

Запущенное в ноябре 2010 года устройство ввода Kinect с интерфейсом USB (Universal Serial Bus), позволяющее пользователям контролировать и естественным образом взаимодействовать с играми и другими программами без необходимости физического прикосновения к игровому контроллеру или объекту любого вида. Kinect достигает этого через естественный пользовательский интерфейс, отслеживая движения тела пользователя и используя жесты и голосовые команды [ 1 , 2 ]. Kinect считает Книгу рекордов Гиннеса самым продаваемым устройством бытовой электроники, объем продаж которого по состоянию на 9 марта 2011 года превысил 10 миллионов единиц [ 3 ].

Kinect использует технологию израильской компании PrimeSense, которая генерирует в реальном времени глубину, цвет и аудио данные сцены гостиной. Kinect работает во всех условиях освещения помещения, будь то в полной темноте или в полностью освещенном помещении, и не требует от пользователя носить или держать что-либо [ 4 , 5 ] ( см . пульты Sony PlayStation Move и Nitendo Wii Remote). PrimeSense также объединился с ASUS для разработки совместимого с ПК устройства, аналогичного Kinect, которое они назвали ASUS Xtion и выпустили во втором квартале 2011 года [ 2 , 6 ].

Kinect - это горизонтальная штанга, соединенная с небольшим основанием с помощью моторизованного шарнира (для того, чтобы следить за пользователем по мере необходимости), и предназначенная для размещения вдоль над или под экраном компьютера или телевизора (рисунок). Устройство оснащено цветной камерой RGB (красный, зеленый, синий), датчиком глубины (с использованием инфракрасного - ИК-проектора и ИК-камеры) и многоступенчатым микрофоном с шумоподавлением (состоящим из четырех микрофонов, который также может способствовать для обнаружения местоположения человека в трехмерном (трехмерном) пространстве) [ 5 , 7 ]. Kinect также включает в себя акселерометр (вероятно, используется для определения наклона и наклона и, возможно, стабилизации изображения [ 7 ]). Используя проприетарное встроенное ПО (внутреннее программное обеспечение устройства), эти компоненты вместе могут обеспечить трехмерную съемку движения, распознавание жестов, распознавание лиц и распознавание голоса во всем теле [ 2 , 4 ]. (Функции, точность и удобство использования также в значительной степени зависят от драйверов устройств и соответствующего программного обеспечения, запущенного на хост-компьютере (который может быть ПК с Windows, Mac или Linux или игровой консолью Xbox 360) и используемом для доступа к оборудованию Kinect - см. обсуждение драйверов ниже.)

)

Анатомия Microsoft Kinect .

Kinect способен одновременно отслеживать двух активных пользователей [ 2 , 8 ]. Для отслеживания всего тела с головы до ног рекомендуемое расстояние пользователя от датчика составляет приблизительно 1,8 м для одного пользователя; если одновременно нужно следить за двумя людьми, они должны находиться на расстоянии примерно 2,5 м от устройства. Для Kinect требуется минимальная высота пользователя 1 м (значения расстояния стоя и высоты пользователя соответствуют информации, напечатанной на коробке Microsoft Kinect).

Поскольку для моторизованного механизма наклона Kinect требуется больше энергии, чем может быть подано через порты USB, устройство использует фирменный разъем и поставляется со специальным кабелем питания, который разделяет соединение на отдельные USB-разъемы и разъемы питания, причем питание подается от сеть через адаптер переменного / постоянного тока (рисунок).

Kinect можно купить новый в Великобритании менее чем за £ 100 за единицу ( http://Amazon.co.uk потребительская цена в фунтах стерлингов, включая НДС, по состоянию на июль 2011 года).

Поддержка драйверов ПК

В декабре 2010 года OpenNI и PrimeSense выпустили свои собственные драйверы Kinect с открытым исходным кодом и промежуточное программное обеспечение для отслеживания движения (называемое NITE) для ПК под управлением Windows (7, Vista и XP), Ubuntu и MacOSX [ 9 , 10 ]. FAAST (Flexible Action и Articulated Skeleton Toolkit) - это промежуточное программное обеспечение, разработанное в Институте креативных технологий Университета Южной Калифорнии (USC), цель которого - облегчить интеграцию управления всем телом с приложениями виртуальной реальности и видеоиграми при использовании OpenNI-совместимой глубины. датчики и драйверы [ 11 , 12 ].

В июне 2011 года Microsoft выпустила некоммерческий Kinect Software Development Kit (SDK) для Windows, включающий совместимые с Windows 7 драйверы ПК для устройства Kinect (SDK от Microsoft не поддерживает более старые версии Windows или другие операционные системы) [ 13 ]. Microsoft SDK позволяет разработчикам создавать приложения с поддержкой Kinect в Microsoft Visual Studio 2010 с использованием C ++, C # или Visual Basic (рисунок). Microsoft планирует выпустить коммерческую версию Kinect для Windows SDK с поддержкой более продвинутых функций устройства [ 2 ].

Бета-версия Microsoft Kinect для Windows SDK (некоммерческая, выпуск от июня 2011 г.) .

Существует также третий набор драйверов Kinect для ПК с Windows, Mac и Linux в рамках проекта с открытым исходным кодом OpenKinect (libFreeNect) [ 14 ]. CL NUI Platform от Code Laboratories предлагает подписанный драйвер и SDK для нескольких устройств Kinect в Windows XP, Vista и 7 [ 15 ].

Три набора драйверов сильно различаются по своим возможностям. Например, официальный Microsoft Kinect для Windows SDK не нуждается в позе калибровки; демонстрация «Shape Game», поставляемая с SDK, работает впечатляюще хорошо (для одного или двух активных пользователей) сразу после установки SDK, без необходимости калибровать позу пользователя [ 8 ]. Это способствует превосходному цифровому опыту Kinect для пользователей ПК, который сравним с OOBE, предлагаемым пользователям игровых приставок Kinect Xbox 360 [ 16 ]. Тем не менее, бета-версия Microsoft Kinect для Windows SDK (выпуск от июня 2011 г.) не обеспечивает распознавание жестов пальцев / рук или отслеживание только руками и ограничивается отслеживанием скелета. Драйверы OpenNI более гибки в этом отношении, но, с другой стороны, они требуют позы калибровки и не имеют расширенной обработки звука (распознавания речи), которая предоставляется в официальном SDK Microsoft [ 17 - 20 ].

Приложения вне игр

Многие разработчики и исследовательские группы по всему миру изучают возможные приложения Kinect (и подобные устройства, такие как ASUS Xtion [ 6 ]) которые выходят за рамки первоначального предназначения этих датчиков в качестве контроллеров домашних развлечений и видеоигр [ 2 , 21 , 22 ]. Эти новые приложения включают в себя 3-D и расширенные видео телеконференций (например, работа, проделанная Оливером Крейлосом в Университете Калифорнии в Дэвисе, объединяющая два устройства Kinect [ 23 , 24 ] и исследование «Kinected Conference», проведенное Линнингом Яо, Энтони Де Винченци и его коллегами из MIT Media Lab для улучшения качества видеоизображения с калиброванной глубиной и звуком [ 25 , 26 ]); использование Kinect для помощи клиницистам в диагностике ряда психических расстройств у детей (исследование Николаоса Папаниколопулоса и его коллег из Университета Миннесоты [ 27 ]); и более практичное использование устройства для управления дисплеями медицинских изображений во время операции без физического прикосновения к чему-либо, что снижает вероятность загрязнения рук в операционных залах (например, работа, проводимая в рамках проекта Virtopsy в Институте судебной медицины, Университет Берн, Швейцария [ 28 ] и система, используемая в настоящее время Кэлвином Лоу и его командой в Центре медицинских наук Саннибрук в Торонто [ 29 ], а также демонстрация аналогичной концепции американской компанией ИТ-услуг InfoStrat [ 30 ]).

Приложения Kinect для ПК также были разработаны для управления неигровыми 3-D виртуальными средами (3-D модели, виртуальные миры и виртуальные глобусы), например, [ 31 , 32 ]. Эти среды имеют много общих черт с трехмерными видеоиграми, исходной целевой областью датчика Kinect. Evoluce, немецкая компания, специализирующаяся на естественных пользовательских интерфейсах, предлагает коммерческое решение для взаимодействия с несколькими жестами, используя технологию трехмерного измерения глубины Kinect под Windows 7 [ 33 ]. Тай Фан из Института креативных технологий Университета Южной Калифорнии написал программное обеспечение на основе набора инструментов OpenNI для управления аватаром пользователя в трехмерном виртуальном мире Second Life® и естественной передачи социальных жестов пользователя аватару [ 34 ].

FAAST [ 11 ] использовался с подходящими «привязками клавиш» (чтобы отобразить движения пользователя и жесты для соответствующих действий клавиатуры и мыши) для навигации по Google Планета Земля и Street View (рисунок) [ 35 , 36 ]. InfoStrat недавно продемонстрировал использование их Motion Framework [ 37 ] для управления Bing Maps с помощью датчика Kinect [ 38 ]. Они также использовали пользовательские ГИС на базе карт Bing (географическая информационная система) и приложения для визуализации данных, чтобы продемонстрировать способность их Motion Framework работать с мультимодальным вводом данных от датчиков движения (таких как Microsoft Kinect), мультитач, распознавания речи, стилуса, и мышиные устройства [ 39 , 40 ]. Опираясь на работу InfoStrat (которая принесла мультисенсорные жесты, такие как пинч и масштабирование в Kinect), небольшая венгерская компания Response Ltd разработала и продемонстрировала альтернативное решение для навигации по Bing Maps с использованием сенсора Kinect, который, по их утверждению, предлагает больше «Kinect-подобного опыта», позволяя пользователю использовать все свое тело для управления картой [ 41 , 42 ].

Опираясь на работу InfoStrat (которая принесла мультисенсорные жесты, такие как пинч и масштабирование в Kinect), небольшая венгерская компания Response Ltd разработала и продемонстрировала альтернативное решение для навигации по Bing Maps с использованием сенсора Kinect, который, по их утверждению, предлагает больше «Kinect-подобного опыта», позволяя пользователю использовать все свое тело для управления картой [   41   ,   42   ]

Использование FAAST с подходящими «привязками клавиш» для навигации по Google Планета Земля и просмотру улиц .

Kinoogle: интерфейс Kinect для естественного взаимодействия с Google Планета Земля

В этой статье мы представляем Kinoogle, естественный интерфейс взаимодействия для Google Earth с использованием Microsoft Kinect. Kinoogle позволяет пользователю управлять Google Планета Земля с помощью серии жестов рук и всего тела [ 43 , 44 ]. Мы начнем с описания дизайна программного обеспечения и модулей, лежащих в основе Kinoogle, а затем предложим подробные инструкции для пользователей, заинтересованных в его испытании.

Аппаратное и стороннее программное обеспечение

Основным оборудованием, используемым в Kinoogle, является Microsoft Kinect. Kinect генерирует карту глубины в реальном времени, где каждый пиксель соответствует оценке расстояния между датчиком Kinect и ближайшим объектом в сцене в местоположении этого пикселя. На основе этой карты системное программное обеспечение Kinect позволяет таким приложениям, как Kinoogle, точно отслеживать различные части человеческого тела в трех измерениях. Kinoogle был разработан на основе специальной настройки для работы, которая включает в себя пользователя, стоящего на расстоянии около одного метра от Kinect, с плечами, параллельными устройству, и датчиком, расположенным на высоте локтей пользователя.

Kinoogle широко использует стороннее программное обеспечение, которое включает в себя драйверы OpenNI и промежуточное ПО NITE [ 9 , 10 ], OpenGL [ 45 ] и Google Планета Земля [ 46 ]. OpenNI и NITE Middleware используются для получения и манипулирования данными, полученными от датчика Kinect, тогда как OpenGL и Google Планета Земля предоставляют низкоуровневую графическую функциональность и приложение отображения внешнего интерфейса соответственно. OpenNI - это платформа для использования устройств с естественным пользовательским интерфейсом (NUI) и содержит абстракции, которые позволяют использовать промежуточное программное обеспечение для обработки изображений и информации о глубине. Это позволяет отслеживать пользователей, отслеживать скелеты и отслеживать руки в Kinoogle. OpenNI разработан таким образом, что приложения могут использоваться независимо от конкретного промежуточного программного обеспечения, и, следовательно, позволяет большей части кода Kinoogle напрямую взаимодействовать с OpenNI, используя функциональность NITE Middleware. Основное назначение NITE Middleware - обработка изображений, которая позволяет отслеживать как точки, так и скелеты. NITE отвечает за отправку местоположения (т. Е. Трехмерных координат) точек руки в каждом кадре. Kinoogle также использует OpenGL для создания графического пользовательского интерфейса (GUI) в виде строки меню в верхней части экрана, чтобы обеспечить визуальную обратную связь с пользователем (рисунок). В качестве внешнего интерфейса Kinoogle использует Google Планета Земля, которая предоставляет визуальные изображения местоположений Земли на трехмерном глобусе, которыми пользователь может манипулировать с помощью панорамирования, масштабирования, поворота или наклона с помощью обычной мыши, трехмерной мыши ( такие как SpaceNavigator [ 47 ]) или клавиатура.

Снимок экрана Google Планета Земля со строкой меню Kinoogle в верхней части экрана .

Системное программное обеспечение Kinoogle

На верхнем уровне система состоит из четырех основных объектов, которые служат для подключения к каждому из сторонних программных компонентов; эти четыре объекта: KinectControl, Kinoogle, EarthControl и Kinoogle GUI (рисунок). Система основана на аппаратном вводе, поэтому она предназначена для событий (см. Папку «Код и документация» в разделе «Дополнительные файлы»). 1 , 2 ).

1   ,   2   )

Блок-схема, демонстрирующая поток данных между объектами и сторонним программным обеспечением .

KinectControl

Первый объект, KinectControl, взаимодействует с NITE и OpenNI для сбора соответствующих данных из Kinect. Он действует как «сантехник», помещая определенные объекты на место для сбора и передачи данных о точках или скелетах в Kinoogle. Он также управляет потоком данных с аппаратного обеспечения Kinect, таким как остановка входящей точки / данных скелета.

Основной цикл в Kinoogle постоянно вызывает функцию KinectControl.kinectRun (), которая, в свою очередь, выполняет три основных вызова:

• context.WaitAndUpdateAll (), который заставляет OpenNI получить новый кадр из Kinect и отправить этот кадр в NITE для обработки;

• skeletonUpdater.run (), который просматривает все данные скелета, содержащиеся в узле UserGenerator. Если скелет активен, он отправляет все данные о совместной позиции в Kinoogle; а также

• sessionManager.Update (), который вынуждает sessionManager обрабатывать данные точек рук, содержащиеся в текущем контексте, и обновлять все элементы управления на основе точек обратными вызовами.

Дополнительные модули GestureListener и HandsUpdater регистрируют обратные вызовы с помощью PointControls и SessionManager. Таким образом, когда вызывается Update (), обратные вызовы активируются, и поток проходит через эти два модуля в Kinoogle и, в конечном итоге, в EarthControl.

В состав KinectControl входит также один из самых важных компонентов, Fist Detector. Он смотрит на форму руки вокруг точек руки и определяет, закрыта ли рука или открыта. Затем эта информация используется Kinoogle для взаимодействия и взаимодействия с Google Планета Земля. FistDetector основан на расчете площади выпуклой оболочки руки и сравнении ее с площадью руки. (Выпуклая оболочка геометрической формы - это самая маленькая выпуклая форма, которая содержит все точки этой формы.) В этом случае детектор кулаков позволяет количественно определить площадь между открытыми пальцами, как если бы рука была перепончатой. Если отношение руки к корпусу близко к одному, рука, скорее всего, будет закрыта; если это не один-к-одному, рука, скорее всего, открыта.

Kinoogle

Основная функция Kinoogle - интерпретировать данные точек из Kinect Control, чтобы определить, создал ли пользователь определенные жесты и позы для взаимодействия с Earth Control и Kinoogle GUI. Kinoogle отвечает за связь между тремя другими объектами, которые контролируют стороннее программное обеспечение; это достигается с помощью KinoogleMessage, который содержится в объекте Message.

Kinoogle также обрабатывает обнаружение стационарных поз, с помощью которых пользователь переключается между различными режимами карты (например, панорамирование, масштабирование). Всякий раз, когда пользователь активирует свои руки, среднее местоположение рук рассчитывается по последним 100 кадрам. Вокруг этого среднего местоположения устанавливается воображаемая рамка (300 × 200 пикселей). Затем есть три квадранта, в которые пользователь может поместить свои руки для обнаружения позы: над коробкой, слева или справа от коробки. Различные позы активируются, когда обе руки размещаются в соответствующих квадрантах вокруг среднего местоположения. Например, если поместить одну руку выше среднего местоположения, а другую - справа от среднего местоположения, это будет определено как поза для наклона. Были реализованы четыре режима карты (панорамирование, масштабирование, вращение и наклон) следующим образом:

• Панорамирование основано на определении положения (x, y) одной руки при включении (рисунок). Переменная скорости используется для устранения любых незначительных движений, которые могут привести к мерцанию.

Движение жестов используется для (a) панорамирования, (b) масштабирования, (c) поворота и (d) наклона .

• Для масштабирования требуется жест двумя руками (рисунок), который выполняется путем перемещения рук ближе или ближе друг к другу. Обнаружение основано на расчете расстояния между руками, чтобы определить, движутся ли они вместе или врозь.

• Вращение (в плоскости) также требует жеста двумя руками (рисунок), и обнаружение основано на определении того, движутся ли руки в противоположных направлениях вдоль оси 'y' (т.е. вертикальной оси).

• Наклон (повороты вне плоскости) также является жестом для двух рук (рисунок) и основан на определении того, движутся ли руки в противоположных направлениях вдоль оси «z» (т. Е. Оси глубины).

Наконец, Kinoogle также отвечает за интерпретацию данных скелета, что позволяет пользователям взаимодействовать с Google Street View с помощью интуитивных «ходящих» и «поворачивающихся» жестов. Для обнаружения ходьбы мы фокусируемся на скорости, с которой пользователь размахивает руками (рисунок); а именно, мы вычисляем среднюю скорость правой и левой руки на основе положения локтей и сравниваем ее с фиксированным порогом. Аналогично, для управления углом обзора камеры в режиме просмотра улиц мы определяем, крутит ли пользователь свои плечи (рисунок); в частности, мы определяем, какое плечо находится ближе к датчику Kinect, а затем поворачиваем изображение с камеры на основе разницы между двумя плечами.

Демонстрация (а) размахивания руками и (б) скручивания плеч для Street View .

EarthControl

EarthControl использует симулированные действия мыши и клавиатуры для управления Google Планета Земля. Объект получает EarthMessages от Kinoogle, например, земля. interpretMessage (& EarthMessage (Pan, panX, panY)), который затем интерпретируется для определения правильной последовательности действий мыши или клавиатуры. Перемещая указатель по определенным осям и удерживая определенные кнопки мыши, EarthControl вносит соответствующие изменения в вид карты. Другие функции выполняются путем имитации нажатия различных кнопок клавиатуры. Реальные функции мыши и клавиатуры выполняются с помощью ряда функций, которые сгруппированы в MouseLib. В частности, MouseLib использует вызов SendInput из API-интерфейса Windows (Application Programming Interface), который принимает структуры INPUT и вставляет их во входной поток операционной системы (ОС). Эти структуры указывают либо движение мыши, либо нажатие клавиши. MouseLib отделен от EarthControl для обеспечения будущей переносимости ОС системы Kinoogle. Например, весь код, специфичный для API Windows, хранится в MouseLib, так что можно легко заменить версию X-window или MacOSX.

EarthControl также обладает двумя другими примечательными характеристиками, которые были созданы в ответ на конкретные проблемы с Google Планета Земля: тормозная система мыши и метод предотвращения быстрой последовательности одиночных щелчков. Тормозная система мыши предотвращает нежелательное смещение вида карты во время панорамирования. Первоначально кнопка левого клика была отпущена сразу же, когда стрелка отключилась, и карта продолжала прокручиваться, что делало практически невозможным оставлять карту в неподвижном положении. Решением этой проблемы было измерение скорости указателя мыши при отсоединении руки. Если указатель мыши перемещается с определенной скоростью, включается «тормоз», оставляя кнопку мыши нажатой, а указатель остается неподвижным в течение определенного времени. Второй метод предотвращает случайные двойные щелчки левой кнопкой мыши, запуская таймер после первого щелчка левой кнопкой мыши и не позволяя другому произойти до тех пор, пока таймер не будет завершен.

Kinoogle GUI

Графический интерфейс Kinoogle предоставляет пользовательский интерфейс системы и реализован в виде строки меню в верхней части приложения (рисунок). Графический интерфейс Kinoogle работает как отдельный поток от основного потока Kinoogle, из которого он получает команды через GUIMessages, который является частью объекта Message. Интерфейс меню (окно и кнопки) реализован с помощью объекта рендеринга OpenGL. В строке меню для пользователя нарисованы три раздела информации (рисунок). В первом разделе показаны различные функции, доступные в текущем режиме, а также стрелки, соответствующие позе, чтобы активировать данную функцию. Второй раздел представляет собой одну кнопку, используемую для отображения пользователю текущего режима. Третий раздел содержит два ромба, представляющих руки пользователя. Дополнительные сведения об интерфейсе меню приведены ниже в разделе «Руководство пользователя: Инструкция по эксплуатации».

Дополнительные сведения об интерфейсе меню приведены ниже в разделе «Руководство пользователя: Инструкция по эксплуатации»

Панель графического интерфейса Kinoogle . (a) Окно статуса Kinoogle, как видно сразу при запуске программы, до инициализации отслеживания рук. (b) Цвет меняется между красным, желтым и зеленым в зависимости от обнаружения рук. (c) Окно статуса Kinoogle, как видно в режиме карты, без выбора подрежима. (d) Индикатор выполнения зарядки во время обнаружения позы. (e) Окно статуса Kinoogle, которое отображается в режиме просмотра улиц.

Руководство пользователя

Установка аппаратного и программного обеспечения

Kinoogle требует Microsoft Kinect, который в настоящее время доступен во всем мире для покупки у нескольких розничных продавцов. В комплект Kinect входит датчик Kinect, а также адаптер питания с электрической вилкой и разъемом USB (рисунок). Kinect требует больше энергии, чем может обеспечить USB-порт, поэтому перед использованием устройства электрическую вилку необходимо вставить в электрическую розетку. Разъем USB должен быть вставлен в компьютер, на котором будет работать Kinoogle (Kinect должен быть подключен к USB-порту ПК только после завершения установки драйвера OpenNI / NITE - см. Ниже). Kinoogle также требует, чтобы на хост-компьютере были установлены сторонние драйверы и программное обеспечение. Ссылки для загрузки версии этих пакетов программного обеспечения для ОС Windows: Google Планета Земля [ 48 ], OpenNI [ 49 ] и NITE [ 50 ] (x86 (32-разрядные) версии OpenNI и NITE хорошо работают как в 32-разрядных, так и в 64-разрядных (x64) версиях Microsoft Windows). Дополнительные файлы 1 , 2 сжатый архив, содержащий установочный пакет Kinoogle для Windows. Он был протестирован на нескольких машинах, чтобы убедиться, что он работает надежно.

Инструкция по эксплуатации

Пользователь должен убедиться, что Google Планета Земля работает, прежде чем запускать Kinoogle. После запуска Kinoogle индикатор состояния, показанный на рисунке, станет видимым в верхней части экрана. Два цветных ромба справа указывают на состояние отслеживания руки программы: (i) красный указывает, что соответствующая рука не была обнаружена, (ii) желтый указывает, что рука была обнаружена, но не включена, и (iii) зеленый цвет означает, что рука обнаружена и также включена; см. рисунок. Руки сжимаются, когда сжаты в кулак.

Чтобы инициализировать отслеживание рук, пользователь машет одной рукой, пока индикатор состояния для HAND1 не станет желтым, а затем махнет другой рукой рядом с местоположением первой руки, пока индикатор для HAND2 также не станет желтым. Пользователь может использовать любую руку для инициализации отслеживания. После инициализации отслеживания рук программа автоматически перейдет в режим карты, и строка меню изменится, чтобы отразить это; см. рисунок.

Режим карты имеет четыре подрежима, каждый из которых представляет свою форму манипулирования картой:

1. Pan / Zoom: это подрежим по умолчанию при первом входе в режим карты. Этот подрежим позволяет пользователю прокручивать карту в любом направлении, а также увеличивать и уменьшать масштаб. Чтобы прокрутить карту, пользователь задействует одну руку и перемещает ее, как если бы он / она перетаскивал карту на поверхности; см. рисунок. Чтобы увеличить масштаб, пользователь снимает обе руки и соединяет их вместе, затем включает обе руки и раздвигает их; см. рисунок. Уменьшение выполняется, не затрагивая обе руки и раздвигая их, затем задействуя обе руки и соединяя их вместе; см. рисунок.

Процедуры панорамирования, увеличения и уменьшения, поворота и наклона карты . (а) Процедура панорамирования. Карта может быть панорамирована в обоих направлениях по вертикали. (b, c) Процедура увеличения: (b) пользователь двигает руками и включает их, затем (c) раздвигает их. (d, e) Процедура уменьшения: (d) пользователь раздвигает руки и касается их, затем (e) сводит их вместе. (f) Порядок поворота карты. (g, h) Процедура наклона карты: (g) пользователь касается рук, а затем (h) перемещает одну вперед и одну назад. Смотрите Рисунок 6 (d) для альтернативного вида.

2. Поворот. Этот подрежим позволяет пользователю регулировать угол поворота карты в плоскости x, y. Чтобы повернуть карту, пользователь задействует обе руки и перемещает их в противоположных вертикальных направлениях, то есть, используя движение, подобное повороту рулевого колеса; см. рисунок.

3. Наклон: этот подрежим позволяет пользователю поворачивать карту вне плоскости. Чтобы наклонить карту, пользователь задействует обе руки и перемещает их в противоположных направлениях по оси z, т. Е. Использует движение, подобное вращению кривошипа (цепная передача); см. рисунок.

4. Сбросить карту / Исторические карты: карту можно сбросить, не задействуя обе руки и подняв их до уровня, соответствующего голове пользователя; см. рисунок. Это также настроит подрежим «Исторические карты», переместив курсор на селектор периода времени. Чтобы изменить период времени, пользователь включает одну руку и перемещает ползунок к желаемому периоду времени. Обратите внимание, что доступные периоды времени будут меняться в зависимости от просматриваемой области. При входе в подрежим «Исторические карты» углы наклона и поворота карты будут сброшены.

Позы, необходимые для переключения между подрежимами . (a) Чтобы войти в режим поворота, пользователь поднимает правую руку и перемещает левую руку влево. (b) Чтобы войти в режим наклона, пользователь поднимает левую руку и перемещает правую руку вправо. (c) Чтобы войти в режим Pan / Zoom, пользователь держит обе руки в стороны. (d) Чтобы сбросить карту, пользователь держит обе руки на том же уровне, что и его / ее голова. (e) Поза приземления используется для калибровки Kinoogle для просмотра улиц.

Для переключения между подрежимами пользователь должен сделать и удерживать определенную позу в течение короткого времени (рисунок). Стрелки справа от каждого поля на рисунке показывают, как пользователь должен держать руки, чтобы войти в этот режим. Индикатор выполнения для целевого режима будет заполняться, когда пользователь удерживает позу; см. рисунок.

Kinoogle также позволяет пользователю взаимодействовать с Google Планета Земля в режиме просмотра улиц. Этот режим вводится с помощью режима панорамирования / масштабирования, чтобы максимально увеличить масштаб улицы, которая включена для просмотра улиц. Google Планета Земля автоматически уменьшит масштаб до улицы. Как только карта увеличена на улицу, пользователь должен сделать позу приземления, чтобы откалибровать Kinoogle для просмотра улиц; см. рисунок. Ярлыки индикатора состояния также изменятся, как показано на рисунке. В режиме просмотра улиц все элементы управления в режиме карты отключены. Режим просмотра улиц имеет три основных подрежима, которые позволяют вам взаимодействовать с картой:

• Ходьба: чтобы двигаться вперед, пользователь размахивает руками, стоя на месте. Пользователь не должен двигать своими ногами, хотя он может ходить на месте при желании; см. рисунок.

Позы в Street View . (а, б) Идти вперед. (ce) Поверните направо, поверните прямо и поверните налево соответственно. (f) Выход из режима просмотра улиц.

• Поворот: пользователь может изменять вид камеры, поворачивая его плечи к камере или от нее. Пользователь должен убедиться, что он / она только крутит свои плечи, а не поворачивает все свое тело; см. рисунок.

• Выход: для выхода из режима просмотра улиц пользователь вытягивает обе руки горизонтально; см. рисунок. После выхода из режима просмотра улиц карта будет уменьшена. Затем пользователь должен повторно инициализировать обнаружение рук, чтобы снова войти в режим карты и продолжить манипулирование картой.

Обсуждение и выводы

В настоящее время онлайн-трехмерные виртуальные глобусы обычно используются для визуализации и изучения пространственной эпидемиологии и данных общественного здравоохранения [ 51 - 55 ]. Пользователи обычно используют одно или несколько обычных устройств ввода (мышь, трехмерная мышь и / или клавиатура) для навигации по виртуальным глобусам онлайн. Ожидается, что в ближайшие годы распознавание жестов и речи без помощи рук, например, предлагаемое датчиком Kinect, изменит наше взаимодействие между человеком и компьютером с сетевыми и настольными интерфейсами [ 56 , 57 ]. Улучшения в том, как мы взаимодействуем с виртуальными глобусами, всегда приветствуются, при условии, что убедительные «сценарии использования» могут быть задуманы, чтобы оправдать рекомендации и инвестиции в них по сравнению с существующими методами ввода с ПК.

Kinoogle предлагает хороший пример естественного интерфейса с Google Планета Земля и Просмотр улиц, используя только движения тела и жесты, без необходимости касаться какого-либо физического устройства ввода (тело пользователя становится контроллером). Kinoogle может быть значительно улучшен, если он также может использовать расширенные функции распознавания речи, предоставляемые устройством Kinect, в качестве альтернативного способа навигации по Google Планета Земля с помощью голосовых команд, помимо жестов рук и тела (например, когда человеку не хватает необходимой физической ловкости и ловкость в выполнении определенных «неуклюжих» жестов или в тех случаях, когда требуется более точное или более быстрое управление интерфейсом, чем то, что может быть достигнуто с помощью одних только жестов тела).

Другие возможные улучшения Kinoogle включают добавление виртуальной экранной клавиатуры, контролируемой Kinect, для ввода текста (например, для ввода в поле «Fly To» в Google Планета Земля), аналогичное тому, которое предоставляет KinClick [ 58 ] для пакета KinEmote, работающего под Windows [ 59 ] и, возможно, разработку специальных версий трехмерных виртуальных глобусов с более крупными элементами интерфейса, большими значками и удобными для Kinect диалоговыми окнами или вкладками, чтобы пользователям Kinect было легче перемещаться и выбирать / отменять выбор элементов и параметров на экране. (например, виртуальный глобус «Слои» в Google Earth).

Удобное громкое удобство распознавания жестов и речи может оказаться чрезвычайно полезным в ряде практических и эксклюзивных «сценариев использования», когда ввод с помощью мыши или мультитач затруднен, например, при проведении презентаций с использованием трехмерных виртуальных глобусов на большом экран на сцене для большой аудитории, например, эта презентация Microsoft WorldWide Telescope с использованием датчика Kinect: [ 60 ]. (Kinect также может поддерживать двух одновременно активных пользователей / докладчиков.)

Совместная ГИС в виртуальных комнатах с участием распределенных групп пользователей [ 61 ] - это еще один «сценарий использования», в котором могут быть использованы уникальные функции Kinect, такие как трехмерные функции без гарнитуры и расширенные функции видеоконференций [ 23 - 26 ], в дополнение к его использованию в качестве трехмерного NUI для распознавания движения / жестов и распознавания речи для управления общим трехмерным виртуальным глобусом во время представления сетевых пространственных данных [ 39 , 40 ]. Использование сенсора Kinect для создания трехмерных карт локаций и объектов в реальном мире [ 62 , 63 ] все еще не очень хорошо подходит для серьезного использования, но вскоре может быть добавлено в инструментарий GIS professional по мере развития и развития технологии.

Kinect может быть отличным, очень удобным и интересным способом навигации по Google Street View и изучения новых мест и городов (виртуальный туризм). Визуальная обратная связь в виде меняющегося уличного пейзажа при ходьбе пользователя (виртуально, как на беговой дорожке [ 64 ]) в Street View можно использовать, чтобы побудить людей выполнять физические упражнения и сжигать калории с помощью устройства Kinect в течение длительных периодов времени, не скучая быстро (например, в рамках программ по управлению и профилактике ожирения). Это использование Kinect в целях физической подготовки уже реализовано как игра для игровой консоли Xbox 360 [ 65 ].

NUI распознавания жестов и распознавания речи не являются полной заменой более традиционным методам взаимодействия; например, не все пользователи имеют необходимую подвижность и ловкость мышц, физическое пространство в комнате или достаточно большой размер экрана (для удобного просмотра с минимального расстояния пользователя от датчика), чтобы использовать датчик Kinect, и более обычную навигацию по виртуальным глобусам с помощью трехмерной мыши [ 47 ] или мультисенсорный экран иногда может предложить более точное и плавное управление трехмерной картой. Однако датчики глубины, такие как Microsoft Kinect, ASUS Xtion PRO / PRO Live [ 66 ] и Lenovo iSec [ 67 ] остаются интересным альтернативным или дополнительным методом взаимодействия с трехмерными виртуальными глобусами, с некоторыми эксклюзивными приложениями, где эти устройства не могут быть легко сопоставлены (например, презентации виртуального глобуса без помощи рук для большой аудитории), и другими приложениями, где NUI-возможности этих датчики могут значительно улучшить восприятие пользователя (например, при взаимодействии с большими и стереоскопическими экранами на расстоянии [ 36 , 68 ]).

Новости

Социальные сети в России, зима 2015-2016 Цифры, тренды, прогнозы | Блог Brand Analуtics — все о бренд мониторинге и социальной аналитике
Представляем данные регулярного исследования активной аудитории социальных сетей в России, зима 2015-2016. В исследовании представлены данные по аудитории, возрасту, полу и региональному распределению

SMM маркетинг от А до Я
Развитие социальных сетей породило новую огромную бизнес отрасль — СММ маркетинг. Это когда мы приходим с нашим продуктом в какую-нибудь соцсеть, находим там нашу целевую аудиторию, и предлагаем ей наш

Полезно знать
20.02.2014 Что такое Pinterest. Визуальный PR и маркетинг Pinterest или ПИНТЕРЕСТ – социальная сеть, использующая вместо текстов картинки и изображения, которые можно добавлять в аккаунт,

Фейсбук Моя страница: ВХОД на свою страницу Facebook
Фейсбук (Facebook) Моя страница — это личная страница каждого зарегистрированного пользователя самой большой в мире социальной сети.  Фейсбук даёт возможность людям с разных уголков Земли общаться между

Анализ социальных сетей
АНАЛИЗ СОЦИАЛЬНЫХ СЕТЕЙ (social network analysis) - новое направление структурного подхода, основными целями которого являются исследование взаимодействий между социальными объектами и выявление условий

Социальные сети для продвижения бизнеса: какие выбрать?
  Привет, друзья! Социальные сети занимают львиную часть времени в нашей жизни. Ежедневный просмотр новостей, любимых групп и переписка с друзьями – это любимое дело большинства молодых людей. Вот и

ВРЕДНОЕ ВЛИЯНИЕ СОЦИАЛЬНЫХ СЕТЕЙ НА ЗДОРОВЬЕ ЧЕЛОВЕКА - VI Студенческий научный форум (15 февраля - 31 марта 2014 года)
ВРЕДНОЕ ВЛИЯНИЕ СОЦИАЛЬНЫХ СЕТЕЙ НА ЗДОРОВЬЕ ЧЕЛОВЕКА Гущина Н. В., Люлина Н.В. С распространением всемирной паутины рост социальных сетей по всему миру стал глобальным явлением. С каждым

Влияние социальных сетей на подростков. Пропаганда суицида в сетях
Почему мы любим интернет? Почему молодым людям, подросткам сказать «Привет» стало проще, познакомившись в интернете, чем просто подойти в реальности? Почему все «сидят» в социальных сетях? Социальные сети

Маркетинг в социальных сетях (SMM) для продвижения компании
Деятельность в социальных сетях, на блогах и форумах по повышению лояльности клиентов получила название SMM — от аббревиатуры английского звучания этого термина – Social Media Marketing. Аудитория

Фейсбук (Facebook) - что это за сеть: как пользоваться ФБ
Фейсбук — это самая популярная и большая социальная сеть в мире. Если Вам интересно узнать больше о Facebook, про то как пользоваться сетью и о некоторых «фишках» ФБ — этот материал именно для вас!