Консалтинг и автоматизация в области управления
эффективностью банковского бизнеса

Журнал ВРМ World

DIVE-ON: От баз данных к виртуальной реальности

Введение

На протяжении многих лет виртуальная реальность ассоциировалась больше с научной фантастикой и индустрией развлечений. Так, в одном из фильмов на фантастическом космическом корабле Enterprise команда использовала голографическую плату Холодек для "естественного" метода изучения и экспериментов с новыми понятиями. Достигли ли наша реальность сегодня такого уровня, когда виртуальная среда может использоваться в рабочих приложениях? Чтобы разобраться в этом, настоящая статья предлагает читателям предпринять своего рода ознакомительный тур по современным технологиям виртуальной реальности и познакомиться с одним из новых направлений, в котором виртуальная реальность используется в качестве среды интеркативного визуального data mining. Наша цель как исследователей - использовать технологию виртуальной реальности для увеличения объемов информации, извлекаемой из баз данных. Извлеченная информация представляется так, чтобы наилучшим образом использовать возможности нашей зрительной системы - непревзойденного средства обработки пространственных данных и распознавания структур. Мы представляем информацию в виде трехмерных (3D) геометрических объектов в Виртуальной среде погружения (Immersed Virtual Environment, IVE), где пользователь может изучать понятия, перемещаясь всевозможными способами и взаимодействуя с объектами виртуального мира.

"Data mining в Виртуальной среде погружения по сети" (Data mining in Immersed Virtual Environment Over a Network, DIVE-ON) - это название системы, использующей преимущества виртуальной реальности, баз данных и распределенных вычислений в экспериментах с новым методом к визуальному data mining. Эта статья состоит из трех разделов. В первую очередь представлено понятие погружения в виртуальную среду, вместе с современной IVE-системой - CAVE Theatre. Во втором разделе описано преобразование типичной СУБД для операции по поиску знаний применительно к рассматриваемой теме. Последний раздел рассказывает об основной архитектуре системы и способе интеграции ее компонент - удаленных и локальных - для обеспечения прозрачной рабочей среды анализа данных и исследований.

Предыстория

Виртуальная реальность

Виртуальная реальность (Virtual Reality, VR) представляет собой отрасль компьютерной науки, созданную на основе человеческих систем визуального и сенсомоторного восприятия. Чтобы лучше разобраться в работе этих систем, проведем небольшой эксперимент. В некотором пространстве, где кроме вас никого нет, оглянитесь вокруг на объекты, формирующие это пространство: стены, стулья, картины и другие имеющиеся предметы. Сосредоточьте свой взгляд на некоторой конкретной точке или объекте и перемещайте за счет какого-либо движения всего тела - как это происходит при ходьбе, сидении или стоянии. Вы заметите, что каждая отдельная точка из вашего окружения "оживет" и ваше представление об окружающем вас пространстве будет постоянно меняться, пока вы движетесь. Аналогичный прием использован и в компьютерной графике. Это и есть квинтэссенция Виртуальной среды погружения (IVE). Среда носит название "виртуальной", так как генерируется компьютером, и "средой погружения", поскольку обеспечивает пользователю "эффект присутствия". Таким образом, становится понятно, что реалистичность изображения не является первостепенным требованием к качественной IVE-системе. Главной задачей является достижение оптимальной скорости и точности преобразования изображения при перемещении пользователя.

Для создания таких сред технология виртуальной реальности предусматривает специализированные устройства ввода и вывода, позволяющие пользователям взаимодействовать с искусственной средой как с реальным миром. Перемещения пользователя отслеживаются трекером, регистрирующим положение головы в трехмерном пространстве (x, y, z) и ее ориентацию в полярной системе координат (T1 на Рисунке 1). Эта информация собирается с достаточно высокой степенью частоты и включается в структуру данных, загружаемую в графическую систему один раз за цикл. Технология DIVE-ON использует пакет MR-Toolkit для получения этого информационного потока в виде заранее отформатированных структур данных.

В среде виртуальной реальности используется другой трекер, по своей функциональности аналогичный обычной мыши. Это устройство часто называется "3D-курсор" или ручной трекер. Структура данных, получаемая от этого трекера (T2 на Рисунке 1) используется системой виртуальной реальности для изображения курсора в виртуальном мире. Поскольку трекер способен предоставлять информацию о своей ориентации и расположении, изображение курсора обеспечивает реальное трехмерное отображение движения руки пользователя. Как мы увидим ниже, это устройство может использоваться для выбора объектов виртуального мира и взаимодействия с ним и его объектами.

HMD: IVE, которую вы носите

С самого начала исследований виртуальной реальности существенное внимание уделялось изучению и разработке головных дисплеев - Head Mounted Displays (HMD), создающих эффект погружения в виртуальную реальность. В целом HMD представляют собой предназначенный для пользователя шлем с встроенным дисплеем. Этот шлем подсоединен к компьютеру, обновляющему информацию на внутреннем дисплее. Ряд HMD-шлемов оснащен единственным дисплеем, тогда как другие имеют по отдельному дисплею для каждого глаза, создавая тем самым стереоскопическую графику. Ввод в типичную HMD-систему происходит с помощью электронной перчатки. Эта перчатка оборудована трекером и несколькими пальцевыми сенсорами, предназначенными для формирования команд-жестов. В большинстве старых HMD-систем шлем был привязан или присоединен к балке, прикрепленной к потолку. Однако, большинство более поздних моделей стали оснащаться независимыми шлемами.

CAVE: IVE, которую вы видите

Сбор и создание информации может осуществляться из любого места, однако для самой визуализации используется сложная среда виртуальной реальности под названием VizRoom (официально именующаяся CAVE Theater). CAVE является рекурсивным акронимом названия Cave Automatic Virtual Environment (Полостная автоматическая виртуальная среда) и описывает визуализационную среду, помещающую пользователя между тремя стенами (9.5 X 9.5 футов) (Рисунок 1). На каждую из этих стен с помощью проектора с высоким разрешением сзади проецируется визуализированная графика с частотой 120 кадров в секунду (Рисунок 4). Эта графика имеет стереоскопически характер (60 кадров в секунду для каждого глаза), что позволяет с помощью технологии DIVE-ON создавать стереоскопические представления, которые пользователь может просматривать через легкие очки с жалюзи (shutter glasses). CAVE в VizRoom опирается на две системы SGI Onyx2 InfiniteReality Rack, оснащенные четырьмя процессорами и специализированными графическими средствами, работающими на частоте 195MHz R10000 IP27.




Рисунок 1: Пользователь CAVE внутри трех стен, на которые осуществляется проекция визуализированной графики. T1 и T2 - головные и ручные трекеры потока данных соответственно (в реальном времени)

Этот тип IVE был избран для DIVE-ON вместо HMD-систем по ряду причин:

  • Пользователь может свободно и естественно двигаться без ограничений, накладываемых HMD.
    Как уже говорилось выше, DIVE-ON по существу является средством поддержки процесса принятия решений, поэтому вероятнее всего будет использоваться группами и командами аналитиков. В CAVE любое представление в любое время моментально доступно для любых исследований или обсуждений (Рисунок 4).
  • В стенах CAVE человек может использовать естественные средства общения с окружающими.
  • Повысить реализм CAVE-среды проще, поскольку и правое и левое представления уже отражены (на левой и правой стенах), что позволяет пользователю обращаться к различным представлениям простым поворотом головы. В случае HMD ориентация головы отслеживается (T1 на Рисунке 1) и используется для переключения вращения изображения в соответствии с вращением головы пользователя.
  • В ранних экспериментах для некоторых пользователей большой проблемой были санитарные факторы. Безусловно, ношение шлема с внутренним дисплеем при ходьбе вызывает у большинства людей весьма обильное потоотделение.

Далее мы рассмотрим определение Хранилища данных, три фазы, создающие так называемый "Поиск знаний в базах данных" ("Knowledge Discovery in Databases") - KDD-процесс и операции, необходимые для data mining.

Данные: Хранение и добыча (Warehousing and Mining)

Во всем мире корпорации исследуют свои данные для выявления фактов мошенничества, анализа покупательских моделей клиентов, эффективности использования автопарка, анализа данных кредитных приложений, результатов работы системы здравоохранения и т.д. Согласно данным последних исследований прирост международного рынка бизнес-анализа (business intelligence) и Хранилищ данных (BI/DW) в 1999 году составил 62%. Это означает, что данный сектор рынка превысил $28 миллиарда. В том году произошел скачек в количестве приложений для создания, управления и исследования Хранилищ данных. Все это стало возможным благодаря освоению способов считывания информации, собранной в базах данных за много лет.

В свое время много внимания уделялось и исследованиям в области облегчения доступа к информации, сокрытой в массивных объемах данных. Типичные СУБД обычно оптимизированы для обработки запросов и онлайновой обработки транзакций (online transaction processing, OLTP), минимизирующих время, необходимое для систематических ежедневных операций организации. Эти операции состоят из хорошо структурированных и (repetitive) повторяющихся наборов элементарных транзакций, разбитых на отдельные небольшие пакеты. Однако нас больше интересует модель данных, созданная для тех, кто работает непосредственно со знаниями (руководителей и аналитиков), использующих ее при OLAP-обработке, в процессе которой исторические данные могут быть представлены в различных формах и с разной степенью обобщения. Именно с этой целью были разработаны и Хранилища данных.

Технология Хранилищ данных

Хранилище данных - это "предментно-оринтированный, интегрированный, переменный во времени и достаточно постоянный в целом набор данных, созданный для поддержки процесса принятия управленческих решений". Это всестороннее определение отделяет Хранилище данных от других репозиториев данных. Оно предназначено не для работы с ежедневными операциями организации (OLTP), а призвано создать основы для прогнозирования, моделирования, выявления аномалий и признаков, на базе которых можно принимать точные корпоративные решения. Для построения Хранилища данных требуется преобразовать традиционные модели данных (обычно ER-модель), существующие в СУБД, в многомерные предметно-ориентированные модели данных. Хранилища данных строятся на базе одной центральной идеи. Понятие измерения можно рассматривать как точку зрения, с которой организация предпочитает рассматривать свои данные. Например, компания может создавать Хранилище данных для анализа бюджета. В этом случае центральной идеей может быть "dollars_budgeted" (суммы бюджета в долларах), а измерениями могут быть "location" (местоположение, местность), "product" (продукт) и "time" (время). Такое Хранилище позволяет практически мгновенно получать бюджетную информацию по "продукту" в конкретной "местности" для конкретного периода "времени". Для улучшения поддержки OLAP-операций Хранилище данных часто реализуется как иерархическая N-мерная модель данных, называемая куб данных (data cube. Хранилища данных, генерируемые DIVE-ON, в действительности являются N-мерными кубами данных. Потребность в иерархических моделях кубов данных станет очевиднее, когда мы перейдем к обсуждению модуля конструктора кубов данных (data cube constructor module, DCC).

Data Mining

Весь процесс нетривиального извлечения из базы данных неявной, потенциально полезной и ранее неизвестной информации называется процессом Поиска знаний в базах данных (Knowledge Discovery in Databases process), или KDD-процессом. Этот процесс состоит из трех основных фаз (каждая фаза может быть разделена еще на несколько подфаз). Первой идет препроцессинговая фаза (фаза предварительно обработки), на которой удаляются все несоответствующие и неполные данные. Предварительная обработка преобразует необработанные данные из СУБД в набор полных элементов данных, соответствующих основной теме. Например, чтобы проанализировать модели продаж международной компании, необходимо сформировать куб данных исключительно на основе данных по продажам, не принимая в расчет постороннюю информацию, существующую в плоских файлах или СУБД данного локального подразделения или местности. Второй фазой является интеграция и консолидация данных, объединяющая несколько (возможно, разнородных) обработанных источников в однородный источник, в котором можно осуществлять data mining. Хранилище данных (N-мерный куб) обычно строится именно на этом этапе. Заключительным шагом KDD-процесса является фаза итерационного data mining, когда алгоритмы добычи (mining) подвергаются точной настройке и применяются повторно после оценки их результатов.

В этом разделе мы спрашиваем: "Зачем нужны эксперименты с IVE-инструментом применительно к таким приложениям?" Большинство коммерческих приложений для исследования данных содержит некую визуализационную компоненту. Использование визуальных ключей позволяет оптимизировать время, необходимое для понимания информации и снизить потребность в дополнительных инструкциях. Преимущества такой визуализации в интерактивном IVE состоят в объединении наших визуальных возможностей с нашими сенсомоторными способностями (визуальной обработкой для контроля движения).

DIVE-ON: Системные компоненты

DIVE-ON состоит из трех целевых подсистем, тесно связанных между собой для обеспечения необходимых функций. Рисунок 2 отражает различные уровни, образующие полную систему от серверной (СУБД) части до клиентской (CAVE). Первая система - это Конструктор Куба данных (Data Cube Constructor, DCC), отвечающий за создание и управление Хранилищем данных над распределенной СУБД. DCC выполняет запросы на перемещение входных данных (Рисунок 2: 1 и 2). Второй подсистемой является Модуль контроля визуализации (Visualization Control Unit, VCU), отвечающий за создание и работу с IVE таким образом, чтобы максимизировать частоту кадров для поддержки уровня "реальности" в VR-среде (Рисунок 2: 3). Простота использования всей системы в целом является задачей третьей подсистемы, Менеджера пользовательского интерфейса (User Interface Manager, UIM) (Рисунок 2: 4). Передающий слой транслирует запросы и сопряженные с ним отклики между подсистемами, а также между построенным объединенным Хранилищем данных и его исходной СУБД. Такая передача реализуется либо с помощью архитектуры CORBA через протокол TCP/IP, либо с помощью SOAP через HTTP. Чуть дальше мы рассмотрим и сравним две эти реализации. Сообщения между подсистемами передаются с помощью XML-документов, содержащих запросы и сопряженные с ними ответы. VCU и UIM содержатся в средствах графических исследований Университета Альберты (University of Alberta), а DCC находится на стороне источника данных.

Далее мы более тщательно изучим указанные подсистемы применительно к их целям и задачам. Для начала мы представим DCC, включающий возможности проектирования Хранилища данных, подходящего для осуществления data mining.




Рисунок 2: Компоненты DIVE-ON от источника данных до виртуальной среды

DCC: Конструктор Куба данных (Data Cube Constructor)

DCC - это модуль DIVE-ON, отвечающий за полноту предварительной обработки и консолидации (создание куба данных). DCC, установленная на возможно удаленной системе, представляет собой сервер в распределенной клиент-серверной модели. Для начала к необработанным данным согласно заданным критериям составляется запрос, изолирующий неполные и несоответствующие элементы данных (предварительная обработка). В случае множества СУБД-источников процесс организации запросов запускается на "главном" сервере, использующем CORBA/SOAP для активизации удаленных методов, выполняющих соответствующие SQL-запросы. Затем эта информация собирается, и из нее формируются однородные, согласованные и консолидированные данные, необходимые при создании куба данных. DCC можно указать создать более одного куба данных - такой подход используется в случае, когда рассматривается более одной центральной темы. В связи с этим, n-мерные кубы данных получили название объединенного N-мерного Хранилища данных (Рисунок 2).

Чтобы создать куб данных с помощью DCC, прежде всего, необходимо извлечь с его помощью структурную информацию о соответствующих источниках данных. Эта информация используется для определения каждого из N измерений куба. Каждое измерение может рассматриваться как перспектива или логическая организация объектов в соответствии с корпоративными моделями рассмотрения данных. Определение измерения должно включать и понятийную иерархию, уточняющую описание измерения применительно к последовательности маппингов между низкоуровневыми и высокоуровневыми понятиями. Каждый уровень этой понятийной иерархии определяет уровень обобщения. Например, типично измерение куба данных "время", обычно ассоциирующееся с понятийной иерархией {год, квартал, месяц, день}. Представление иерархической информации в виде различных уровней детализации помогает поддерживать агрегацию и обобщение в процессах принятия решений. Считается что данные, рассматриваемые на уровне "день" (пониженное обобщение), находятся на низком уровне обобщения. Как только мы переходим выше, от "дня" к "месяцу", данные могут рассматриваться на более высоком уровне обобщения, обеспечивающем меньше подробной информации (повышенное обобщение).

Важно отметить, что этот процесс не может быть полностью автоматизирован для каких-то общих случаев, поскольку понятие измерения определяется пользователем и в большой степени основывается на рассматриваемой центральной теме. Например, для типичных измерений - типа "местность", - описываемых понятийной иерархией как {континент, страна, регион, город}, необработанные данные СУБД могут описывать местоположение только с помощью идентификационных номеров. В таких случаях для определения распределения "городов" по "регионам", "регионов" по "странам" и т.д. необходим реальный эксперт.

VCU: Модуль контроля визуализации (Visualization Control Unit)

VCU - это модуль, отвечающий за генерацию и управление IVE для визуализации данных и исследований. Только так его и следует рассматривать. Это означает, что специфика DCC не должна влиять на разработчика VCU и наоборот. Для реализации этого абстрактного представления, и VCU и DCC строятся внутри упаковщика, обеспечивающего единственное средство передачи сообщений между двумя подсистемами. Простой коммуникационный протокол, определяющий набор запросов (от VCU к DCC) и сопряженных с ними откликов (от DCC к VCU) реализуется в DIVE-ON. После того, как DCC завершит создание N-мерного куба данных, он сигнализирует VCU. Поскольку мы генерируем трехмерный виртуальный мир, в любой момент времени могут рассматриваться только три измерения. Эти три измерения, выбранные пользователем, извлекаются из N-мерного куба данных, и затем трехмерный куб данных передается VCU для визуализации. Какой же уровень обобщения представляет этот трехмерный куб? Или, другими словами - является ли он высоко-обобщенным? Поскольку будет помещен в IVE, само собой разумеется, что задержки действий пользователя будут поддерживаться на минимальном уровне. По этой причине при выполнении необходимой агрегации данных (генерации менее подробных данных) DIVE-ON полагается на VCU. Все это эффективно снижает зависимость сети до минимума.

Реализованные OLAP-операции
Data mining в многомерном иерархическом изобилии специфических данных требует реализации набора операций. Эти операции называются OLAP-операциями. Операция roll-up выполняет агрегацию конкретного измерения куба данных, эффективно перемещая представление на более высокий уровень обобщения. Противоположная операция носит название drill-down. Например, если в данный момент вы просматриваете Хранилище на уровне "месяца", вы можете осуществить roll-up на более высокий уровень обобщения - "год" или произвести drill-down на более низкий уровень - "день". Для data mining очень важны и другие типичные OLAP-операции - например, slice и dice (продольные и кубические срезы). Продольные срезы подразумевают отбор конкретного значения по одному из измерений. Например, назначая ограничение (Z = t) некоторой точке данных в трехмерном представлении, получаем двухмерный результат - или "продольные срез" по Z = t. Операция кубического среза позволяет ограничить представление по нескольким измерениям. Таким образом получается подкуб исходных данных. DIVE-ON не поддерживает операции drill-down, roll-up, slice и dice в IVE, созданной с помощью VCU (Рисунок 5). Пользователь может вводить параметры для каждой операции через набор целевых методов взаимодействия, управляемых UIM. В следующем разделе мы рассмотрим, как VCU использует данные, полученные из DCC, для генерации IVE и обеспечения заключительной фазы KDD-процесса - операции data mining.

Визуальные ключи и измерения
Данные, представленные пользователю в IVE, зашифрованы с помощью графических объектов. Это объекты, действительно создающие визуализированный виртуальный мир. VCU рассматривает трехмерный куб, полученный от DCC, как функцию трех переменных. Каждое из измерений данных ассоциировано с одним из физических измерений - X, Y и Z. Поскольку каждая запись в кубе данных представляет собой структуру, содержащую два измерения M1 и M2, VCU просто вычерчивает две функции M1 (x, y, z) и M2 (x, y, z) в (R3). Значение этих измерений будет пояснено далее.

Допустим, что анализируемое Хранилище данных построено на основе темы "продажи в долларах" (Рисунок 4). Специалист по поддержке принятия решений с помощью OLAP не заинтересован в первую очередь в фактах типа "в течение года t общая сумма продаж продукта p в магазине s составила $100,000.00". Важен контекст, в котором появляется это измерение. VCU представляет этот контекст пользователю в VR, связывая эти измерения с визуальными ключами. Первым ключом, который мы используем, будет size (размер). Этот ключ связан с измерением M1 ("продажи в долларах"). После нормализации M1 (xt, yp, zs) используется для визуализации куба (или сферы) данного размера (или радиуса), центрированного по позиции (xt, yp, zs), для некоторых t, p и s из рассматриваемого интервала данных. Используя только этот критерий и не рассматривая никакие числовые данные, из Рисунка 3(b) можно сразу заключить, что итоги продаж для местности A, куб (t, p, A) вдвое превышают итоги продаж для местности B, куб (t, p, B).

Вторым использованным ключом является цвет объекта. На Рисунке 3(а) выбрана восьмицветная палитра, соответственно интервал нормализованных величин измерения дискретизирован и маппирован согласно этой палитре. Красные оттенки указывают на "высокие" значения соответствующего понятия, и значение уменьшается слева направо, от красного к синему, при чем синий цвет представляет "низкие" значения. Использование цвета для шифрования результатов data mining весьма удобно. Как уже говорилось выше, каждое измерение связано с понятийной иерархией, более подробно описывающей это измерение. Если - согласно некоторому измерению - некая аномалия встречается на низком уровне обобщения, DIVE-ON способен быстро и эффективно выделить этот результат, будь он даже похоронен глубоко в тоще уровня низкой агрегации. Все это может осуществляться за счет использования цветового ключа. Например, на самом нижнем уровне агрегации (при высокой степени детализации) цвет может применяться для отражения отклонений от среднего значения по одному из измерений. Это особенно удобно при анализе колебаний рынка. Формально это можно прсдетавить следующим уравнением:

M2 (xi, yj, zk) = (M1 (xi, yj, zk) - Ut),

где Ut - математическое ожидание по временному измерению.




Рисунок 3: (a) Цветовая палитра (b) Один ключ (c) Два ключа

Когда активизируется операция roll-up по временному измерению от "дня" к "месяцу", второе измерение (M2) принимает иной характер. В новом "свернутом" ("rolled-up") представлении значение M2 для объекта "месяц" представляет собой максимальное M2, найденное по всем агрегированным им дням. Для демонстрации эффективности этого метода давайте рассмотрим пример Рисунка 3(b), на котором объекты представляют годовые продажи для некоторого продукта в некоторой местности. После добавления к Рисунку 3(b) цвета в качестве второго визуального ключа, краткая проверка двух итоговых объектов (Рисунок 3(c)) сразу выявляет важную и, возможно, скрытую ранее информацию. Использование палитры в Рисунке 3(a) и измерения M2 так, как это указано выше, при том, что годовой объем продаж по местности A вдвое превышает годовой объем продаж по местности B, показывает, что один из месяцев имеет существенное отклонение от остальных. Для аналитика замачиво выбрать этот объект (t, p, A) и попытаться понять причины этого отклонения. С другой стороны, свой интерес к большой стабильности в категории продуктов местности B может быть и у пользователя (взаимодействие обсуждается в следующем разделе).

Рисунок 4 представляет IVE, созданный путем визуализации кубов, реализующих описанное выше использование визуальных ключей. Ось X (слева направо) создана для отражения измерения "продукт". Ось, перпендикулярная картине, представляет измерение "время" (Y), а ось Z отражает "местность". Плавающее трехмерное меню, появляющееся в картине, обсуждается в следующем разделе.




Рисунок 4: Группа "погруженных" пользователей, обсуждающих куб данных "объем продаж в долларах". Ось X: "Продукт", ось Y (перпендикулярно плоскости изображения): "Время", ось Z (вверх): "местность"

Таким образом, наша дискусия сосредоточена на кубах как геометричесикх объектах, содержащих представленую информацию. DIVE-ON может создавать IVE на основе сферического представления данных (Рисунок 6). В этом режиме каждая точка представляется сферой, размер и цвет которой определяется как описано выше. Необходимость этого режима состоит в том, что сферы, отражая тот же объем информации, что и кубы, при этом скрывают меньше объектов. Увидеть меньшую сферу позади большей гораздо проще, чем меньший куб позади большего куба. Однако важно отметить, что визуализация сфер требует гораздо более сложных вычислений, чем визуализация кубов. Для создания трехмерной сферы система должна выполнить моделирование источника света, обсчет вектора нормали, отрисовку фактуры материала и визуализацию тени. При этом для кубов не нужно ничего подобного, поскольку визуализация многоугольников является одной из самых базовых операций любого графического аппаратного обеспечения.

Манипуляции с точкой зрения
Полин Бейкер (Pauline Baker) предлагает общую среду разработки VR-приложений для исследования данных. Ее работа описывает характеристики, необходимые в таких приложениях для максимизации чувства реальности и использовавшиеся для создания соответствующих представлений генерируемых данных в нашей системе. DIVE-ON манипулирует точкой зрения для создания двух отдельных естественных представлений данных в IVE. Для моделирования нормальной ежедневной работы, IVE построена на базе точки зрения пользователя, как будто он находится в центре этого виртуального мира. Все это создает "эгоцентричную" систему координат (Рисунок 4). Другой системой координат является "экзоцентричная" система, создаваемая для обеспечения пользователя средствами выхода из виртуального мира на внешнюю для него точку зрения (Рисунок 5). Эгоцентричные представления важны для локального исследования данных, при котором пользователь может исследовать отношения между соседними элементами данных и работать с любыми имеющимися атрибутами, принадлежащих конкретным объектам. И наоборот, экзоцентричный метод, рассматривающий данные с "внешней" точки зрения, позволяет пользователю исследовать и выявлять глобальные модели данных.


 

Рисунок 5: Экзоцентричная точка зрения (пользователь выполняет OLAP)

UIM: Менеджер пользовательского интерфейса (User Interface Manager)

UIM - это компонента DIVE-ON. Управляющая всеми аспектами человеческой и компьютерной реакции. Все сигналы трекеров поступают в VCU для работы с IVE и затем передаваемые в UIM на проверку. Постоянное обновление информации о метоположении пользователя необходимо для определения исходного положения плавающего меню, числа активных меню и текущего выбора. Ввиду недостатка аналогичных приложений, которые можно было бы изучить при проектировании нашей системы, эффективность UIM достигнута во многом благодаря добровольцам. Представление, навигация, OLAP-операции и в целом весь процесс получения пространственных знаний оценивалось экспериментально. Исходный дизайн UIM обеспечивал взаимодействие систем через набор элементов, появляющихся на нулевом параллаксе (выровненном по экрану) таким образом, что они всегда были доступны и находились на некотором привычном месте. После первичного тестирования, такой дизайн был отброшен по ряду причин, в том числе:

  • Эти элементы скрывают существенную часть экранного пространства, значительно уменьшая число видимых данных.
  • Наличие этого меню (или элементов), появляющегося описанным выше образом, мнговенно изменяет систему координат от эгоцентричной к экзоцентричной, серьезно нарушая эффект присутствия пользователя в IVE.

Почти ов всех IVE-приложениях сущность сзаимодействия компьютера и человека можно разбить на объектную манипуляцию, манипуляцию точкой зрения и контроль приложения. Причиной такой систематизации является тот факт, что моделирование реальности связано с моделированием изменения окружающих нас представлений, а также способности взаимодействовать с объектами, создающими эти представления. В результате интерфейс, имеющий высокую степень прозрачности, должен успешно использовать человеческую сенсомоторную систему в целях обеспечения соответствующей визуального отклика на движения пользователя. Понимание этих моментов помогло нам создать интерфейс, требующий мало или даже вовсе не требующий инструкций. Однако должно быть ясно, что необходмо, чтобы пользователь разбирался в источниках данных и OLAP-операциях. Все интерактивные возможности DIVE-ON были сгруппированы в соответствии с приведенной выше систематизацией. Пользователи, избранные нами для эксперимента, были знакомы с архитектурой рассматриваемого Хранилища данных, а также с терминологией и методологией data mining. Три категории взаимодействия, управляемые UIM, описываются ниже.




Рисунок 6: Пользователь указывает направление полета (сферическое представление). Некоторые малые элементы данных были бы совершенно скрыты при использовании кубического представления.

Системное взаимодействие
Системное взаимодействие связано с контролем, необходимым для управления DCC и the VCU в соответствии с характером данных и способом их представления. В процессе запуска система направляет ссобщение к DCC, запрашивая набор всех N имеющихся измерений Хранилища данных. VCU получает соответствующий XML-документ, и пользователю предлагается список для определения трех измерений данных для визуализации (по одному для X, Y и Z). На этом этапе DCC создает соответствующий трехмерный куб данных с самым низким уровнем обобщения и направляет его в VCU вместе с другим XML-документом, содержащим три соответствующие понятийные иерархии. Наша главная задача в этом проекте заключается в проведении OLAP-операций локально, в рамках VCU. Это позволяет минимизировать использование возможно перегруженной сети. Все системные взаимодействия обеспечиваются с помощью иерархии трехмерных плавающих меню (Рисунки 4 и 5), инициируемых нажатием первой кнопки на ручном трекере. UIM реализует эти меню с 6 степенями свободы (6-DOF), позволяя им свободно плавать в среде VR, в полной синхронизайии с рукой пользователя. Ориентационный поток структуры данных (четырехчлен, кватернион), передаваемый из ручного трекера (T2 на Рисунке 1), использовался для вращения поверхности меню таким образом, чтобы его нормаль была постоянно обращена к пользователю.

Агрегационное взаимодействие
Основной задач пользователей в процессе визуального исследования данных является определение того, что именно они рассматривают и что именно они хотят найти. На основании этого агрегационной взаимодействие сосредоточено в основном на постоянном обеспечении истории происхождения (lineage), связанной с каждым визуальным ключом для каждого из объектов. Как уже говорилоась выше, размер и цвет каждого объекта является результатом нормализованных измерений Хранилища данных. Поскольку нормализация необратима, необходимо, чтобы система работала с исходными данными, используемыми до визуализации. Местоположение ручного трекера поступает в систему и используется для изображений курсора в IVE. Когда курсор помещен "близко" к объекту, кнопка активизирует небольшую текстовую панель, отображающую всю информацию, соответствующую этому конкретному агрегату. Эта информация достаточна для выявления всех аспектов этого агрегата, включающему текущий уровень обобщения по каждому из трех измерений, а также действительное значение первого и второго измерения. Текстовая панель возникает в виде трехмерного блока (Рисунки 5 и 6), не перекрываемого никакими другими объектами и предназначенного для указания на конкретный выбранный объект.

Взаимодействие на основе среды
Этот тип взаимодействия отвечает за манипуляцию точкой зрения. Его задачей является создание и использование когнитивной карты IVE. Как уже было показано, способность определять местоположение данного агрегата в среде является второй важнейшей функцией, после рвозможности исследования данных в среде VR. Обеспечение эффективных средств навигации - чрезвычайно важная задача, поскольку в зависимости от уровня агрегации только часть данных может входить в состав плоскостей отсечения. Третья кнопка курсора используется для контроля навигации и местоположения. Нажатие этой кнопки предоставляет пользователю два режима движения - движение по конкретным координатам и движение по конкретной траектории. Первый режим обеспечивает пользователя плоской ячеистой картой плоскостей X, Y или Z, указывающих на ячейку, содержащую информацию о текущем положении пользователя. Затем курсор может использоваться для указания на новую ячейку места назначения. Второй режим позволяет пользователю указывать на направление, в котором он хочет "перелететь". Этот режим строится на базе траектории курсора, а изображение преобразуется для моделирования ощущения полета в данной среде. Скорость полета контролируется с помощью расстояния между рукой пользователя и его головой. Таким образом, вытягивание руки вызовет более быстрое перемещение, а приближение руки к телу замедлит его (Рисунок 6).

Обсуждение и перспективы

Для того, чтобы система виртуальной реальности была эффективной и хорошо воспринимаемой пользователем, необходим существенный упор на фактор "реальности" виртуальной реальности. По мере передвижения пользователя в стенах CAVE степень реализма преобразований проецируемых изображений прямо пропорциональная общей скорости визуализации сцены в системе. С увеличением объемов данных, отображаемых в отдельном представлении, увеличивается и число многоугольников, необходимых визуализации сцены, что, в свою очередь, существенно ухудшает способность системы произвоить ровные и реалистичные преобразования изображений. Здесь мы сталкиваемся с компромиссом - масштабируемость против реальности. Для систем визуализации Хранилища данных и data mining работа с большими объемами агрегатов в отдельном представлении должно стать обычным процессом, которого не следует избегать. Способ решения DIVE-ON этой проблемы путем создания уникальной простраственной структуры данных, подходящей как для иерархической пространственной декомпозиции, так и для иерархической агрегации данных.

DIVE-ON создает вирутальный мир, наполненный геометрическими объектами (сферами и кубами), использующими цвет и размер для предоставления информации. Хотелось бы исследовать возможность увеличения числа измерений data mining, представленных несколькими типами геометрических объектов. Например, пирамида, указывающая вверх, может использоваться для указания на наличие монотонного возрастания где-либо на более низком уровне, что особенно удобно использовать в процессах анализа рынка. Не менее важно продолжать эксперименты со звуковыми ключами таким же образом, как это было проделано в случае визуального шифрования информации.