ИНФОРМАТИКА, ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА И УПРАВЛЕНИЕ
COMPUTER SCIENCE, COMPUTER ENGINEERING AND MANAGEMENT
УДК 681.3
О ВЫБОРЕ ПРОГРАММНЫХ СРЕДСТВ КОГНИТИВНОЙ КОМПЬЮТЕРНОЙ ВИЗУАЛИЗАЦИИ
Т.Н. Байбикова, Е.П. Доморацкий
Аннотация. В статье рассмотрены вопросы визуализации научной информации, особенности применения когнитивной компьютерной графики, выделен круг задач научной визуализации. Приведены краткий обзор, тенденции развития и основные характеристики современных средств программной визуализации. Разработан модуль визуализации для системы численного анализа геометрических характеристик изображений объектов.
Ключевые слова: научная визуализация, когнитивная графика, численный эксперимент, графическая библиотека OpenGL.
ABOUT CHOOSING OF SOFTWARE TOOLS FOR COGNITIVE COMPUTER VISUALIZATION
T.N. Baybikova, E.P. Domorackiy
Abstract. Some questions of scientific visualization are under consideration in this paper. This article also discusses the peculiarities of application of cognitive computer graphics, singles out a range of tasks of scientific visualization. The paper gives a brief overview of modern support tools for program visualization, tendencies of their development and their main characteristics. A module of visualization for the system of numerical analysis of geometrical characteristics of object images has been developed.
Keywords: scientific visualization, cognitive graphics, numerical simulation, OpenGL graphic library.
C развитием науки объекты ее исследований становятся сложнее и разнообразнее как по виду и содержанию решаемых задач, так и по форме представления научных результатов. Активно развивается новое междисциплинарное направление науки, основанное на компьютерной графике и когнитивной психологии человека, объясняющей его способности при восприятии, понимании и интерпретации информации, имеющей различную природу происхождения.
Научная визуализация - это область машинной (компьютерной) графики, занимающаяся визуализацией многомерных объектов и отображающая динамику протекающих процессов. Научная визуализация дает наглядное представление результатов, получаемых в ходе научных экспериментов, упрощает их анализ и интерпретацию, а также позволяет создавать научные иллюстрации исследуемых сложных явлений и процедур.
Когнитивная компьютерная графика (ККГ) базируется на способности человека работать с чувственными (в первую очередь зрительными) образами, и опирается на исследования в области ментальной интерпретации перцептивных образов (образов, создающихся в результате восприятия) и исследованиях в области анимации зрительных картин. ККГ способствует получению нового знания, являющего результатом познавательной активности человека и лежит в основе научной визуализации [3].
При использовании научной визуализации решаются следующие задачи:
1. Качественный анализ данных - позволяет зрительно определять наличие или отсутствие каких-либо особенностей в визуальных данных.
2. Количественный анализ данных - позволяет наглядно выполнять измерение какого-либо параметра в определенном диапазоне его значений (например, в зоне максимума или минимума).
3. Получение новых знаний - при этом компьютеру отводится роль системы, обрабатывающей и визуализирующей информацию, а человеку - роль эксперта, анализирующего и интерпретирующего полученные данные.
4. Стимулирование восприятия информации - распознавание нечетко определенных образов, выделение возможных трендов в визуализированных данных.
Задачи, решаемые с применением научной визуализации, соответствуют задачам, возникающим при обработке цифровых графических данных. Это позволяет упрощать анализ свойств цифровых объектов, сокращать время их обработки и отсекать неэффективные решения на ранних стадиях создания новых методов обработки данных.
Произведем краткий обзор средств программной визуализации:
1. OpenGL (Open Graphics Library) [4] представляет собой промышленный стандарт для высокопроизводительной обработки
графических данных. Данная спецификация позволяет создавать приложения для разнообразных компьютерных платформ. Создаваемые приложения независимы от системы управления окнами, работают в различных операционных системах и прозрачны для сети. OpenGL поддерживает функциональные возможности современных графических аппаратных средств. С помощью данной библиотеки создаются графически привлекательные приложения для компьютеров, рабочих станций и сверхпроизводительных вычислительных систем. Приложения, созданные с использованием спецификации OpenGL, применяются в системах автоматизированного проектирования, в промышленных и медицинских системах, при создании игр, в системах виртуальной реальности и т.п. На данный момент разработана спецификация OpenGL версии 4.5. Не требует лицензии.
2. OpenGL ES (OpenGL for Embedded Systems) представляет собой кроссплатформенный интерфейс прикладного программирования API (Application Programming Interface) для реализации возможностей 2D и 3D графики встроенных и мобильных систем. Тип лицензии: Royalty-free (единожды оплачиваемая лицензия).
3. WebGL представляет собой кроссплатформенный API, позволяющий использовать OpenGL ES 2.0 внутри HTML документа. Оптимизирован для создания динамических 3D приложений, основанных на языке программирования JavaScript. Тип лицензии: Royalty-free.
4. OpenCL (Open Computing Language) - открытый стандарт крос-сплатформенного, параллельного программирования в гетерогенных системах. Данная спецификация находит применение как в игровых приложениях, так и для поддержки научной визуализации и задач медицины. Применяется для персональных компьютеров, серверов, мобильных систем и встроенных платформ. Тип лицензии: Royalty-free.
5. WebCL - разработан для расширения возможностей web-браузеров, поддерживающих спецификацию HTML 5. Позволяет web-приложениям использовать OpenCL для ускорения обработки графической и видео информации, особенно для случаев обработки физических эффектов.
6. OpenVX - спецификация для высокопроизводительных систем компьютерного зрения. Предназначена для использования во встроенных системах и системах реального времени. Тип лицензии: Royalty-free.
7. OpenVG - кроссплатформенный API для ускорения работы графических библиотек для работы с векторной графикой, таких, как Flash и SVG (Scalable Vector Graphics). Спецификация предназначена главным образом для портативных устройств с малым экраном. Тип лицензии: Royalty-free.
8. Vulkan. Данная спецификация представляет собой новое поколение графического и вычислительного API, обеспечивает высокопроизводительный, кроссплатформенный доступ к современным графическим процессорам различных устройств, от персональных компьютеров, до мобильных телефонов и встроенных платформ. Первая версия спецификации Vulkan 1.0 появилась в феврале 2016 г. На данный момент применение данного стандарта изучено недостаточно.
9. Visualization ToolKit (VTK). Данная спецификация представляет собой свободно распространяемую библиотеку C++ классов, основанных на OpenGL, для построения трехмерной графики и визуализации. Не имеет встроенного GUI.
10. OpenDX. Данная спецификация является одной из первых универсальных систем визуализации (производство IBM) с открытым исходным кодом. Позволяет осуществлять трехмерную визуализацию данных различных форматов: скалярных, векторных, тензорных. Имеется возможность строить сечения и вращать визуализированный объект. Имеет GUI.
11. ParaView. Данное многоплатформенное программное обеспечение с открытым исходным кодом предназначено для анализа и визуализации данных. Имеется режим интерактивного исследования данных. Спецификация ParaView реализована на базе библиотеки VTK. Имеет GUI.
12. VisIt - свободно распространяемый инструмент, поддерживающий визуализацию и графический анализ данных в интерактивном режиме. Работает с данными большого и малого объема.
Тенденции развития систем визуализации [1]:
1. Открытость, то есть возможность расширения систем без изменения их архитектурных свойств. При этом многие из них имеют тип лицензии Royalty Free.
2. Разработка систем визуализации для портативных и мобильных устройств.
3. Создание универсальных и специализированных систем визуализации информации. В основе универсальных систем (например,
OpenDX, Visit) лежит типовой набор функций для отображения типовых объектов (в том числе математических). Специализированные системы необходимы для визуализации принципиально новых объектов, для которых необходимо наглядное представление об их особенностях и свойствах. 4. Создание систем, основанных на языках программирования высокого уровня (C++, Java и т.п.), содержащих как встроенные GUI (например, ParaView), так и отдельные библиотеки (например, OpenGL).
Разработка модуля визуализации для системы численного анализа геометрических характеристик изображений объектов.
В данной системе численного анализа [2] необходимо визуализировать процедуры создания и исследования математических моделей геометрических характеристик размеров и формы двух и трехмерных объектов и методов их анализа. Использование при этом возможностей ККГ позволит активизировать ментальную способность исследователя к обработке информации в виде схемы: образ объекта - абстракция - интерпретация - интуиция, что позволит сократить число проводимых экспериментов, повысить их качество и наглядность.
Правила, процедуры, алгоритмы
Входные
V
Новые процедуры,
правила и алгоритмы
данные Предобработка Промежуточные
входных данных результаты
Визуализация L*- и анализ данных -i ^Выходные предобработки данные
Данные для повторной обработки
Последующая обработка данных
Результаты
Рисунок 1. Функционалная схема модуля визуализации
На рис. 1 приведена функциональная схема модуля визуализации, содержащего новый блок визуализации и анализа данных.
Введение данного блока и соответствующих новых связей в модуль численного анализа геометрических характеристик объекта позволяет в интерактивном режиме проводить предварительную оценку результатов моделирования объекта и, при необходимости, вносить изменения во входные данные (обратная связь по входу) и в управляющие процедуры (обратная связь по управлению).
Данный модуль компьютерной визуализации не предназначен для использования на портативных (мобильных) устройствах, при этом объект визуализации не является стандартным для подобных типовых систем, поэтому с учетом наличия открытой лицензии, оптимальным программным средством визуализации для программной системы численного анализа является графическая библиотека OpenGL.
Подведем итоги. При разработке современных систем поддержки научных исследований широко применяются возможности научной визуализации, которая рассматривается как часть численного эксперимента. Происходит синтез когнитивной графики и вычислительного эксперимента (моделирования) в одном модуле, что позволяет разделить функции по обработке информации между человеком и компьютером таким образом, что компьютеру отводится роль системы, обрабатывающей и визуализирующей информацию, а человеку - роль эксперта, анализирующего и интерпретирующего полученные данные.
В статье определен круг задач и проведен краткий обзор современных программных средств визуализации научной информации, рассмотрены их характеристики и тенденции их дальнейшего развития. Отмечена актуальность применения лицензионных спецификаций с открытым кодом, использование готовых приложений при адаптации их к конкретным задачам, создание собственных приложений, применение открытых библиотек, комбинации алгоритмов, встроенных в программные спецификации и создание на их основе специализированных приложений.
Разработан модуль визуализации для системы численного анализа геометрических характеристик изображений объектов, предназначенный для поддержки численных экспериментов по определению свойств исследуемых объектов и способа их анализа. При этом исследователь получил возможность зрительно оценивать результаты эксперимента и отсекать неоптимальные решения на ранних этапах
разработки, что позволяет сокращать количество необходимых экспериментов, повышать их качество и эффективность.
Библиографический список
1. Байбикова Т.Н. Комплексы программ для цифровой обработки изображений // Вестник Московского финансово-юридического университета МФЮА. 2016. № 2.
2. Доморацкий Е.П. Методика оценки информативности геометрических характеристик проекционных изображений микрообъектов. // Качество. Инновации. Образование. 2014. № 2.
3. Зенкин А.А. Когнитивная компьютерная графика / под ред. Д.А. Поспелова. М., 1991.
4. The Khronos Group - Connecting Software to Silicon. URL: https://www. khronos.org/ (дата обращения: 15.10.2016).
Т.Н. Байбикова
старший преподаватель Национального исследовательского университета «Высшая школа экономики» (г. Москва), аспирант Московского финансово-юридического университета МФЮА E-mail: [email protected]
Е.П. Доморацкий
доктор технических наук
профессор Московского финансово-юридического университета МФЮА E-mail: [email protected]