30485

Интерфейс на основе жестов для манипулирования трёхмерными виртуальными объектами и его применение в системах научной визуализации

Научная статья

Информатика, кибернетика и программирование

Развитие вычислительных систем позволяют проводить моделирование сложных физических процессов со всё большей точностью. Однако увеличение объема вычисляемых данных приводит к усложнению обработки полученных сведений...

Русский

2015-01-19

43.5 KB

1 чел.

Интерфейс на основе жестов для манипулирования трёхмерными виртуальными объектами и его применение в системах научной визуализации

Александр Зырянов

Уральский государственный университет, Екатеринбург

Развитие вычислительных систем позволяют проводить моделирование сложных физических процессов со всё большей точностью. Однако увеличение объема вычисляемых данных приводит к усложнению обработки полученных сведений. Научная визуализация позволяет представить результаты в виде более удобных для анализа трёхмерных объектов, но вместе с тем порождает проблему взаимодействия пользователя с виртуальной средой.

Поскольку суть взаимодействия состоит не в выполнении повседневных операций, а в изучении нового, ранее неизвестного объекта, необходимо создать такой интерфейс, в котором манипуляции с устройством ввода в точности соответствуют воздействию на виртуальный объект (к примеру, поворот манипулятора приводит к аналогичному повороту объекта). И единственный способ осуществить это, не прибегая к использованию множества различных манипуляторов – осуществлять пользовательский ввод при помощи трёхмерных жестов.

Существует большое число различных методов Motion Capture, однако ни один из них не позволяет реализовать дешевый, простой в установке и удобный в использовании способ ввода трёхмерных жестов. Поэтому я разработал собственную технологию, основанную на единственной веб-камере и обыкновенном фонарике, который пользователь держит в руке. Изображение, получаемое с веб-камеры, подвергается анализу: изменение положения светового пятна позволяет определить две координаты, на основе изменений размера светового пятна определяется третья, а путем анализа геометрической формы светового пятна вычисляются вектор направления фонарика. Проведённые исследования показали, что «интерфейс фонарика» является удобным для пользователей, эффективно работает при любых условиях внешней освещённости, и обладает достаточной точностью для распознавания жестов. В качестве основы алгоритма распознавания жестов используется “$1 Gesture Recognizer Algorithm”, предложенный Jacob O. Wobbrock, Andrew D. Wilson, Yang Li. Выполненная мною модификация позволила этому алгоритму работать в трёхмерном пространстве и осуществлять распознавание жестов в процессе их ввода (т.е. без необходимости как-то обозначать начало и конец жеста).

Т.к. мы хотим реализовать возможность оперирования виртуальными объектами точно так же, как если бы объект был реален, и поскольку в руках у пользователя находится фонарик, в «виртуальной руке» пользователя тоже должен находиться предмет, с помощью которого и осуществляется воздействие на виртуальную среду. Иными словами, все манипуляции с объектами должны выполняться не непосредственно, а при помощи виртуальных инструментов. Благодаря этому подходу пользователь, основываясь на опыте реальной жизни, знает, какой жест применить, чтобы воспользоваться определённым инструментом, и каких результатов от этого действия следует ожидать. Таким образом, пользователь может взаимодействовать с виртуальной средой без предварительного обучения, либо с минимальным обучением принципам функционирования системы. Также следует отметить, что подобные жесты связаны исключительно с предметами и не зависят от национальной культуры человека.

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

Gesture-Based Interface for 3D Virtual Object Manipulating and its Application in Scientific Visualization Systems

Alexander Zyryanov

Ural State University, Yekaterinburg, Russia

The modern computer systems allow modeling complex physical processes with phenomenal accuracy. However, it is very difficult to extract useful information from the huge amount of resulted data. Scientific visualization allows us to present the results in the form of more convenient 3D-objects, but it also raises the problem of user interaction with virtual environments.

The essence of such interaction is not to perform some boring daily operations, but to explore new, previously unknown objects. That’s why it is necessary to create an interface in which the manipulation with the input device is corresponding to the effects on the virtual object (for example, manipulator rotation leads to a similar object rotation). And the only way to do so without using many different manipulators is to implement 3D-gesture user input.

There are many different methods of Motion Capture, but none of them allows cheap, easy to install and easy to use method of inputting 3D-gestures. I therefore developed my own technology, based on a single web camera and an ordinary flashlight, which the user holds in his hand. The program analyse web camera image: from position change of light spots the first two coordinates are determined, from the changes of the light spot’s size we determine the third, and from geometric shape analysis program calculates the angles of the flashlight. Research has shown that the «flashlight’s interface» is a user-friendly, work effectively with any external light conditions, and has sufficient accuracy for gesture recognition. As the basis algorithm for gesture-recognition process, the "$1 Gesture Recognizer Algorithm" by Jacob O. Wobbrock, Andrew D. Wilson and Yang Li was chosen. I have performed modification that allows the algorithm to work in 3D-space and to extract gestures from continuous user input (i.e. without the need of marking the beginning and end of a gesture by the user).

Since we want to interact with virtual objects exactly the same way as with their copy in the real world, and because user’s real hand holds a flashlight, user’s virtual hand also should hold an object – an instrument, by which all impact on the virtual environment is implemented. In other words, the manipulation with virtual objects must be carried out not directly but by using some virtual instruments. With this approach, the user, based on real life experience, knows what kind of gesture to perform to use a certain instrument, and what results from this action he or she should expect. Thus, the user can interact with a virtual environment without prior training or with very limited training. It should also be noted that such gestures are linked to the instruments and does not depend on the user’s national culture.

Described interface can be easily connected to any developing scientific visualization system. As an example, «flashlight’s interface» was used in the visualization of complex graphs in 3D-space. Preliminary data shows some advantages of this interface, but a full comparative analyze with traditional interfaces yet have to be done. In future I intend to perform this analyze, and to implement «flashlight’s interface» as a set of libraries with the ability to use any element of this system in third-party applications.


 

А также другие работы, которые могут Вас заинтересовать

10653. Отделение корней уравнений. Уточнение корней методом Ньютона 146 KB
  Лабораторная работа 4 Отделение корней уравнений. Уточнение корней методом Ньютона. Цель работы. Изучить способы отделения корней уравнений после чего методом дихотомии найти три интервала изоляции для алгебраического уравнения третьего порядка. Выбрав од...
10654. Уточнение корней уравнений методом итераций 147.5 KB
  Лабораторная работа 5 Уточнение корней уравнений методом итераций. Цель работы. Уточнить корень алгебраического уравнения с заданной степенью точности используя метод итераций построить график сходимости и сравнить его с методом Ньютона. Теоретиче
10655. Построение эмпирической формулы методом наименьших квадратов 280 KB
  Лабораторная работа 6 Построение эмпирической формулы методом наименьших квадратов. Цель работы. Для опытных данных представленных в виде таблицы подобрать такую аналитическую зависимость которая бы приближенно выражала исследуемый процесс.
10656. Интерполирование функций методом Лагранжа. Линейная интерполяция 291 KB
  Лабораторная работа 7 Интерполирование функций методом Лагранжа. Линейная интерполяция. Цель работы. По результатам эксперимента заданным в виде последовательности точек на координатной плоскости построить интерполяционную функцию методом Лагранжа...
10657. Численное дифференцирование 157 KB
  Лабораторная работа 8 Численное дифференцирование. Цель работы. Научиться выполнять дифференцирование функций заданных в виде таблиц опытных данных а также уметь оценивать погрешность численного метода. Теоретические положения. Источником форм
10658. Интегрирование функций, заданных таблично 240 KB
  Лабораторная работа 9. Интегрирование функций заданных таблично. Цель работы. Методом трапеций вычислить определенный интеграл от сложной функции или от функции заданной в виде таблицы опытных данных; выполнить оценку полученного результата. Теорет
10659. Численное интегрирование методом Симпсона 193.5 KB
  Лабораторная работа 10 Численное интегрирование методом Симпсона. Цель работы. Методом Симсона вычислить определенный интеграл от сложной функции или от функции заданной в виде таблицы опытных данных; выполнить оценку полученного результата. Теоретичес
10661. Интегрирование дифференциальных уравнений первого порядка методом Эйлера 322 KB
  Лабораторная работа 11. Интегрирование дифференциальных уравнений первого порядка методом Эйлера. Цель работы. Научиться решать дифференциальные уравнения первого порядка используя алгоритм Эйлера; сравнить численный результат с точным аналитическим выр...