автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Методы и средства разработки адаптивных мультиплатформенных систем визуализации научных экспериментов
Автореферат диссертации по теме "Методы и средства разработки адаптивных мультиплатформенных систем визуализации научных экспериментов"
На правах рукописи
РЯБИНИН Константин Валентинович
МЕТОДЫ И СРЕДСТВА РАЗРАБОТКИ АДАПТИВНЫХ МУЛЬТИПЛАТФОРМЕННЫХ СИСТЕМ ВИЗУАЛИЗАЦИИ НАУЧНЫХ ЭКСПЕРИМЕНТОВ
05.13.11 - Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
АВТОРЕФЕРАТ диссертации на соискание учёной степени кандидата физико-математических наук
? 8 МАР 2015
005560773
Пермь-2015
005560773
Работа выполнена на кафедре математического обеспечения вычислительных систем федерального государственного бюджетного образовательного учреждения высшего профессионального образования «Пермский государственный национальный исследовательский университет».
Научный руководитель: Кандидат физико-математических наук
Чуприна Светлана Игоревна, заведующая кафедрой математического обеспечения вычислительных систем ФГБОУ ВПО «Пермский государственный национальный исследовательский университет».
Официальные оппоненты: Доктор физико-математических наук, профессор
Терехов Андрей Николаевич, заведующий кафедрой системного программирования ФГБОУ ВПО «Санкт-Петербургский государственный университет» (г. Санкт-Петербург).
Кандидат физико-математических наук Бондарев Александр Евгеньевич, старший научный сотрудник отдела №2 «Компьютерная графика и вычислительная оптика» ФГБУН «Институт прикладной математики им. М.В. Келдыша РАН» (г. Москва).
Ведущая организация: ФГБУН «Институт вычислительной математики и
математической геофизики Сибирского отделения РАН» (г. Новосибирск).
Защита состоится «7» апреля 2015 г. в 11 часов на заседании Диссертационного совета Д 002.024.01, созданного на базе ФГБУН «Институт прикладной математики им. М.В. Келдыша РАН», по адресу: 125047, Москва, Миусская пл., д. 4.
С диссертацией можно ознакомиться в библиотеке и на сайте ФГБУН «Институт прикладной математики им. М.В. Келдыша РАН» http://keldysh.ru/.
Автореферат разослан «3» марта 2015 г.
Учёный секретарь диссертационного совета доктор физико-математических наук
Т.А. Полилова
ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ
Актуальность работы. В настоящее время объекты научных исследований естественных и гуманитарных наук становятся всё более сложными и разнообразными как с точки зрения решаемых задач, так и с точки зрения форматов представления данных, получаемых в ходе научных экспериментов. Для наглядного представления результатов этих исследований требуются адекватные программные средства визуализации, автоматически адаптирующиеся к специфике решаемой научной задачи, сочетающие в себе необходимую функциональность и удобство использования. В компьютерной графике выделяется целое направление научной визуализации, которое изучает вопросы реалистичного и понятного человеку отображения объектов, процессов и явлений, представляющих научный интерес. Большой вклад в развитие этого направления внесли такие зарубежные исследователи, как М. Френдли, А. Сазерленд, Б. Хеймс, Т. Джу, К. Гручалла, М. Кутгел, С. Вольфрам и др. Среди российских учёных можно выделить труды О.В. Джосан,
A.B. Игнатенко, А.И. Сурина, Е.Л. Карташевой, B.JI. Авербуха, А.Е. Бондарева,
B.А. Галактионова, А.Г. Волобоя, В.Р. Васильева, Н.И. Вьюковой, В.Е. Турлапова, JI.A. Залоговой, C.B. Смирнова, Е.И. Артамонова, A.B. Толока, Я.Д. Кузнецова, A.A. Зацаринного и др.
Научная визуализация (научная графика) - это область компьютерной графики, изучающая вопросы реалистичной визуализации трёхмерных объектов и динамики протекающих в них процессов. В отличие от других направлений компьютерной графики (например, игровой или кинематографической), основными задачами научной графики являются точность изображения объектов и процессов, а также строгое соответствие отображаемых данных об объектах научным интересам исследователя. Часто научная визуализация сопряжена с вопросами обработки больших объёмов данных, полученных в результате измерений или моделирования реальных объектов, и особых способов визуализации объёмов, сечений, поверхностей уровня и т. д. Научная визуализация используется для наглядного представления результатов научных экспериментов с целью упрощения их анализа и интерпретации, создания научных иллюстраций и наглядных пособий.
Существует большое количество программных пакетов и библиотек научной визуализации, например TecPlot, Avizo, Vïzlt, ParaView, KiwiViewer и др. В диссертационном исследовании проведён анализ средств научной визуализации, в результате которого выявлены следующие проблемы:
1. Малое число высокоуровневых автоматизированных средств интеграции со сторонними решателями и средств адаптации к специфике решаемых задач.
2. Малое число мультиплатформенных решений для систем научной визуализации, в частности решений, которые позволяют переносить
системы научной визуализации с настольных компьютеров на мобильные устройства без внесения изменений в исходный программный код.
3. Недостаточная эффективность визуализации в условиях гетерогенной вычислительной среды, отсутствие средств адаптации к инфраструктуре программно-аппаратного обеспечения.
4. В ряде случаев недостаточно высокое визуальное качество изображения из-за ступенчатости границ объектов, либо недостаточно высокая производительность визуализации с применением сглаживания. Наличие этих проблем затрудняет процесс автоматизированного создания
высококачественных изображений, удовлетворяющих индивидуальным потребностям исследователей, работающих в различных научных областях. Такие изображения необходимы учёным для представления динамики и результатов экспериментов в наглядном виде с целью анализа, интерпретации, тиражирования (в том числе в контексте междисциплинарных исследований), поиска закономерностей, дефектоскопии и т. д. Актуальной является научная задача комплексного решения этих проблем, включающего в себя методы и средства для создания эффективных и эргономичных систем визуализации.
В контексте рассматриваемых проблем не затрагиваются вопросы т. н. Больших данных (англ. Big Data). Эта проблематика выходит за рамки данного диссертационного исследования.
Цель и задачи работы. Целью диссертационного исследования является разработка методов создания мультиплатформенных систем научной визуализации, предоставляющих высокоуровневые средства интеграции со сторонними решателями (англ. solvers, программные или программно-аппаратные комплексы, генерирующие подлежащие визуализации данные).
Задачами, которые необходимо решить для достижения поставленной цели, являются:
1. Исследование современных средств научной визуализации и анализ существующих проблем.
2. Разработка методов:
2.1. Интеграции систем научной визуализации со сторонними решателями.
2.2. Автоматической генерации мультиплатформенного графического интерфейса пользователя.
2.3. Адаптивного распределения процесса визуализации между узлами вычислительной системы.
2.4. Сглаживания ступенчатых границ объектов на изображении без существенного снижения производительности визуализации.
3. Реализация предложенных методов на практике путём разработки системы научной визуализации и применения её для решения реальных научных задач в различных предметных областях.
Объектом исследования является научная визуализация как раздел компьютерной графики. Предметом исследования выступают существующие
методы и средства разработки адаптивных мультиплатформенных клиент-серверных систем научной визуализации.
Научпая новизна работы заключается в создании новых методов и средств для комплексного решения задач научной визуализации, включающего в себя:
1. Унифицированную организацию мультиплатформенных клиент-серверных систем научной визуализации, поддерживающих интеграцию на принципах адаптации со сторонними решателями.
2. Автоматическую генерацию мультиплатформенного графического интерфейса пользователя по высокоуровневому описанию для решения проблемы двойного дизайна интерфейсов без снижения производительности визуализации.
3. Адаптивное распределение процесса визуализации между клиентом и сервером на основе эвристик, обеспечивающее поддержку работы системы на мобильных устройствах, подключенных по низкоскоростному
сетевому соединению.
4. Адаптивное сглаживание границ объектов на изображении, обеспечивающее высокое качество изображения и в 3 раза более быстрый по сравнению с аналогами отклик системы на команды пользователя.
5. Адаптивную мультиплатформенную систему научной визуализации, названную 8аУ1, которая реализована на основе предложенных методов и средств.
Достоверность полученных результатов подтверждается теоретической обоснованностью применяемых в исследовании научных методов, а также проверкой предложенных методов и средств путём создания на их основе адаптивной системы научной визуализации и тестированием этой системы при решении реальных прикладных задач из различных научных областей. Результаты тестирования подтвердили, что система может быть легко адаптирована к специфике различных решателей, а также обладает высокой производительностью визуализации на различных платформах.
Практическая значимость. Результаты диссертационного исследования могут быть использованы как основа методики создания систем научной визуализации, обладающих высокоуровневыми средствами интеграции со сторонними решателями. Разработанная система научной визуализации может выступать в качестве программной платформы для двумерной и трёхмерной визуализации научных экспериментов в различных областях знания, включая междисциплинарные исследования. Отдельные модули системы имеют самостоятельное значение и могут быть использованы для организации визуализации и мультиплатформенной переносимости при создании традиционных мультимедийных приложений.
Разработанные в рамках диссертационного исследования метод адаптивного сглаживания границ объектов на изображении и система научной визуализации ЯсМ были внедрены в пермской 1Т-компании ООО «Ньюлана».
Созданные при непосредственном участии автора диссертационного исследования библиотеки функций NGraphics и NChart3D, лежащие в основе программной системы SciVi, в комплексе и по отдельности используются в целом ряде программных продуктов ООО «Ньюлана», заказчиками которых, среди прочих, выступают компании Hewlett Packard, Thomson Reuters, Roche, Citi Bank и Институт генетических исследований Genomics Institute of the Novartis Research Foundation. Указанные библиотеки, а также сама система SciVi зарегистрированы в Федеральной службе по интеллектуальной собственности Роспатент.
Методы исследования. В диссертационной работе используются методы и средства вычислительной геометрии и компьютерной графики для автоматического синтеза высококачественных двумерных и трёхмерных изображений и для отображения графического интерфейса пользователя. При оценке разработанных алгоритмов использован понятийный аппарат теории сложности алгоритмов. Для организации автоматической настройки на сторонние решатели использованы методы и средства онтологического инжиниринга (методологии представления, хранения и обработки знаний на основе онтологии). Проектирование и реализация системы визуализации осуществлены с применением методов параллельного и обьекгно-ориентированного программирования.
На защиту выносятся следующие полученные автором научные результаты:
1. Метод автоматизированной интеграции на принципах адаптации систем научной визуализации со сторонними решателями, основанный на онтологическом инжиниринге.
2. Метод автоматической генерации мультиплатформенного графического интерфейса пользователя, в отличие от известных аналогов решающий проблему двойного дизайна интерфейсов без снижения производительности визуализации.
3. Метод адаптивного распределения процесса визуализации между клиентом и сервером, основанный на применении эвристических правил.
4. Метод сглаживания границ объектов на изображении, обеспечивающий более высокое визуальное качество результата визуализации и в 3 раза более высокую производительность по сравнению известными с аналогами, а также допускающий мультиплатформенную реализацию.
5. Средства научной визуализации, включающие архитектуру адаптивных мультиплатофрменных систем научной визуализации и реализованную на её основе программную систему SciVi, которая, в отличие от аналогов, предоставляет высокоуровневые средства интеграции со сторонними решателями, безотносительно к программным средствам их реализации и типу решаемых ими научных задач.
Апробация работы и публикации. Основные положения диссертационной работы докладывались и обсуждались на следующих научных конференциях и семинарах:
1. 22-я Международная конференция по компьютерной графике и машинному зрению «ГрафиКон'2012», МГУ, Москва, 2012 г.
2. Всероссийская научно-практичесская конференция «Актуальные проблемы механики, математики, информатики», ПГНИУ, Пермь, 2012 г.
3. Межвузовская конференция «Междисциплинарные исследования -будущее науки XXI века», ПГНИУ, Пермь, 2013 г.
4. Международная конференция «International Conference on Computational Science 2013 - Computation at the Frontiers of Science», Барселона, Испания, 2013 г.
5. Всероссийская научно-практическая конференция молодых учёных «Современные проблемы математики и её прикладные аспекты», ПГНИУ, Пермь, 2013 г.
6. Совместный научный семинар кафедр ПУиИБ, ИТ, МОВС (ПГНИУ), ПИ (ПГТПУ) и ГК ИБС, ПГНИУ, Пермь, 2013 и 2014 гг.
7. II Всероссийская научно-практическая конференция с международным участием, с элементами научной школы для молодёжи «Высокопроизводительные вычисления на графических процессорах», ПГНИУ, Пермь, 2014 г.
8. Международная конференция «International Conference on Computational Science 2014 - Big Data meets Computational Science», Кэрнс, Австралия, 2014 г.
Основные результаты диссертации опубликованы в 16 работах, среди которых 13 статей, из них 5 в изданиях, включенных в перечень ведущих рецензируемых журналов, рекомендованных ВАК, в частности, 3 - в изданиях, индексируемых Scopus и Web of Science.
Структура и объём диссертации. Диссертация состоит из введения, четырёх глав, заключения, списка сокращений и условных обозначений, списка терминов, списка литературы из 127 наименований и 8 приложений. Основная часть работы изложена на 174 страницах, содержит 31 рисунок, 6 таблиц и 2 листинга кода.
СОДЕРЖАНИЕ РАБОТЫ
Во введении даётся определение научной визуализации и приводятся её основные отличия от других направлений компьютерной графики; описываются актуальные проблемы научной визуализации; формулируются цель, задачи, актуальность и научная новизна диссертационного исследования. Далее кратко обозначаются методы исследования, приводится список положений, выносимых на защиту, и данные об апробации работы.
Первая глава посвящена сравнительному анализу основных методов и средств научной визуализации и выявлению в этой области общих проблем, требующих решения.
Рассматриваются основные технические средства и методы научной визуализации. Рассматриваются особенности мобильных устройств, проводится их сравнение с настольными компьютерами и анализ их применимости для решения задач научной визуализации. Описываются основные принципы и технологии, используемые при создании современных систем научной визуализации. Проводится обзор систем и инструментов научной визуализации, популярных в настоящее время, включая сравнительный анализ основных приложений для научной визуализации, наиболее широко используемых библиотек научной визуализации и модулей графического расширения общего назначения. Критериями сравнения служат открытость кода, поддерживаемые операционные системы (ОС), поддержка эффективного параллелизма, поддержка базовой (визуализация полигональных поверхностей) и сложной (визуализация сечений и объёмов) ЗБ-визуализации. Кроме того, обзор включает сравнительный анализ программных средств создания графических интерфейсов пользователя по критериям открытости кода и поддерживаемых ОС.
В результате выполненного анализа выявлены следующие основные недостатки систем научной визуализации, связанные с отсутствием унифицированных методов и средств для:
1. Автоматизации процесса высокоуровневой интеграции со сторонними решателями.
2. Поддержки мулътиплатформенности.
3. Адаптивного распределения процесса визуализации между узлами вычислительной системы, учитывающего инфраструктуру программно-аппаратного обеспечения.
4. Поддержки высокого качества результирующего изображения посредством эффективного сглаживания границ объектов. Интеграция существующих систем научной визуализации со сторонними
решателями осуществляется на сегодняшний день либо путём разработки средств визуализации для каждого нового решателя с нуля, либо генерацией выходных данных решателя только в стандартных форматах, либо за счёт создания конвертеров данных из выходных форматов решателей во входной формат визуализаторов. Актуальной является задача разработки методов автоматизированной высокоуровневой интеграции визуализаторов со сторонними решателями и методов адаптации к специфике проводимых научных экспериментов.
Отсутствие унифицированных методов и средств поддержки мулътиплатформенности для систем научной визуализации приводит к тому, что большинство популярных систем этого класса не имеют версий для мобильных устройств. Кроме того, при реализации графического интерфейса пользователя
для разных платформ падает производительность визуализации, так как при построении итогового изображения используются различные подсистемы вывода графики (для отрисовки интерфейса и визуализации сцены) и операционная система тратит время на объединение результатов их работы. Особенно остро данная проблема стоит для мобильных устройств, обладающих меньшей вычислительной мощностью по сравнению с настольными компьютерами. Положение усугубляет т. н. «проблема двойного дизайна», когда ввиду различных парадигм организации ввода-вывода на мобильных устройствах и настольных компьютерах приходится для одного и того же приложения проектировать различные графические интерфейсы пользователя под различные платформы. Это приводит к увеличению объёма платформенно-зависимого программного кода. Актуальной является задача разработки методов и средств для организации мультиплатформенности с сохранением высокой производительности визуализации.
Существующие методы организации процесса визуализации в контексте использования архитектуры клиент-сервер зачастую недостаточно эффективны с точки зрения производительности системы. На сегодняшний день, как отмечает в своей работе О. Джосан, имеют место следующие три подхода:
1. Визуализация на стороне клиента (все необходимые данные передаются по сети).
2. Визуализация на стороне сервера (клиенту передаётся лишь готовое изображение).
3. Визуализация частично на стороне сервера и частично - на стороне клиента.
На основе первого подхода можно достичь высокой интерактивности отображаемой сцены, однако при этом и к клиенту и к каналу связи между клиентом и сервером предъявляются повышенные требования, что зачастую неприемлемо для мобильных приложений.
При втором подходе вычислительная нагрузка полностью перекладывается на сервер, что в значительной степени снижает системные требования к клиентам. Однако в случае одновременного обращения большого количества клиентов сервер может оказаться перегружен. Кроме того, качественное отображение плавных изменений внешнего вида объектов в условиях низкоскоростного сетевого соединения может оказаться практически невозможным, так как требуется передавать по сети большое количество изображений.
Третий подход способен объединить в себе достоинства первых двух и частично нивелировать их недостатки, однако ввиду сложности реализации используется довольно редко. Актуальной является задача разработки методов и средств для организации распределённой визуализации, обеспечивающей высокую интерактивность графической сцены на стороне клиента и вместе с тем позволяющей использовать в качестве клиентов маломощные мобильные
устройства, а в качестве сетевого соединения - низкоскоростную беспроводную связь.
Визуализация представляет собой процесс дискретизации (непрерывная математическая модель сцены отображается на растр итогового изображения), в результате которого неизбежно возникает погрешность, выражающаяся в появлении ступенчатости на границах объектов (т. и. алиасинга, англ. aliasing), что снижает визуальное качество изображения. Для устранения ступенчатости используются специальные алгоритмы сглаживания (антиалиасинга), которые, однако, заметно снижают производительность визуализации. Так, например^ самый распространённый на практике алгоритм антиалиасинга - сглаживание на основе множественной выборки (англ. multisampling anti-aliasing, MSAA) -на мобильных устройствах снижает скорость визуализации в среднем в 3 раза, что при достаточно высокой сложности динамически изменяющихся сцен приводит к потере плавности изменения внешнего вида объектов.
На основании проведённого обзора формулируются требования к разрабатываемой системе научной визуализации.
Вторая глава диссертации посвящена описанию предлагаемых методов и средств создания систем научной визуализации, а также описанию архитектуры созданной на основе этих методов и средств системы, названной SciVi.
Построена формальная модель системы научной визуализации, удовлетворяющей требованиям, сформулированным в первой главе-
У* = (Ф,и,А,Г,М,Ё,е,1,0,П,М),
где Ф - оператор визуализации: Ф-.UX и Г(Е' М)-*Р _ ' '
U - онтология визуальных объектов, Р - растровое изображение, А - оператор сглаживания границ на изображении Р, А: Р-*Р, Р' = А°Ф, Р ' - итоговое растровое изображение, Г_ - оператор интерактивного взаимодействия, Г: ~Ex~M-*S, М - множество поддерживаемых элементов управления, S_ - множество возможных состояний элементов управления, Е - множество поддерживаемых действий пользователя, 9 - оператор синтаксического анализа, 0: KZXI 5, L - онтология синтаксических конструкций ввода-вывода языков программирования, на основе которой генерируется конкретный синтаксический анализатор при помощи оператора 9, - - множество данных решателя I, Kz - исходный код решателя I,
Q - оператор, порождающий конвертер данных, которые генерирует решатель в формат, пригодный для визуализации, CI: zxTj-*4>, V - множество операторов конвертации вида V: Е-* V,
П - оператор, порождающий графический интерфейс пользователя для решателя I, П :£хЖ-» М,
М - множество элементов управления графической сценой.
Процесс настройки системы визуализации на сторонний решатель I, а также процесс визуализации данных может быть представлен следующими соотношениями:
1 = в1(К1,1),0 = во(К1,Ь),
ч> = п{юо_1и),
Р'= А{Ф{и,Г{М))), где I, О - описание структуры входных и выходных данных решателя соответственно,
V - конвертер формата данных,
N - множество элементов управления решателем,
I/ - описание графической сцены, подлежащей визуализации.
Описывается концепция и реализация механизма интеграции на принципах адаптации системы Б а VI со сторонними решателями. БсГУ! поддерживает следующие режимы работы:
1. Динамическая визуализация данных, генерируемых в процессе работы
решателя:
1.1. С использованием дополнительных функций управления решателем.
1.2. Без использования дополнительных функций управления решателем.
2. Визуализация итоговых данных, сгенерированных решателем.
Функции дополнительного управления решателем в процессе
визуализации заключаются в возможности запускать его с различными входными данными и ключами командной строки при помощи графического интерфейса пользователя БсМ. Таким образом, у пользователя появляется возможность контролировать генерацию подлежащих визуализации данных и графическую сцену при помощи единой панели управления.
Настройку системы визуализации на особенности сторонних решателей обеспечивает интеграционный модуль, включающий в себя реализации операторов в, О и П. Этот модуль использует две онтологии: синтаксическую онтологию {¿) и онтологию визуальных объектов (£/). Первая описывает конструкции ввода-вывода и определения переменных в различных языках программирования, вторая - структуру сцены и графические объекты, которые могут быть использованы для визуализации.
Суть метода настройки заключается в том, что на вход интеграционному модулю подаётся исходный код решателя, и система, основываясь на онтологическом описании синтаксиса конструкций ввода-вывода соответствующего языка программирования, автоматически определяет структуру входных и выходных данных решателя. Высокоуровневый
графический интерфейс, используя онтологию визуальных объектов, позволяет пользователю настроить структуру сцены и внешний вид соответствующих графических объектов, указать необходимые для визуализации элементы структуры входных / выходных данных и поставить им в соответствие свойства визуальных объектов. Тем самым происходит адаптация системы к особенностям решаемой задачи. Затем интеграционный модуль в автоматическом режиме генерирует правила преобразования входных и выходных данных решателя в формат, пригодный для системы визуализации (для описания графических сцен был разработан специальный язык, основанный на XML), а также графический интерфейс пользователя для управления решателем. Схематично процесс настройки представлен на рис. 1.
Исходный Извлечённые Настройки
код решателя описания сцены
• Вход
—НЯ m
Финальное изображение сцены на клиенте SciVi
• Выход
—на * —
■—HD tmp —на d(i).x -—на d(i).y -
-—На d(i).z
га о о et о о
п О. .п и
11 о л
!f
8° с
<5
Размерность сетки ► Кол-во ключевых кадров
Тип сцены:
Вид объектов в узлах сетки:
ш
Время Ориентация объекта
Отправка клиенту
Автоматическая генерация
Шаблон сцены +
ггъ,
Входной Выходной файл файл
Рис. 1. Процесс настройки системы визуализации на сторонний решатель
Когда доступен исходный код решателя, вмЛЯ может работать в режимах (1.1) и (1.2) по выбору пользователя. Если исходный код решателя недоступен, пользователь может описать структуру входных и выходных данных при помощи заполнения простых вопросно-ответных форм. Последующие действия полностью аналогичны описанным выше. В этом случае БсМ также, по выбору пользователя, может работать в режимах (1.1) и (1.2).
Если недоступен исполняемый файл решателя, а лишь его входные и выходные данные, SciVi может работать только в режиме (2).
Исследованы различные типы решателей и определён набор ограничений, при котором предлагаемый подход обеспечивает возможность автоматизированной интеграции систем научной визуализации:
1. Решатель имеет ровно один входной файл с описанием начальных условий эксперимента и один выходной файл с результатами эксперимента.
2. Решатель обрабатывает объекты, набор параметров которых не изменяется в течение эксперимента.
3. Входной файл заполняется инкрементально, то есть ранее вычисленные результаты не изменяются.
4. Не требуется специальная установка решателя на компьютер (решатель представляет собой самостоятельный, готовый к запуску исполняемый файл со всеми необходимыми динамическими библиотеками).
Для стандартизации форматов обмена данными между компонентами системы научной визуализации SciVi используется стандарт Dublin Core.
Предлагаемая архитектура адаптивной мультиплатформенной клиент-серверной системы научной визуализации представлена на рис. 2.
| Авторская разработка
^ Авторская разработка совместно с ООО "Ньюлана"
^ Сторонняя разработка Решатель
^ Платформенно-зависимая часть
Рис. 2. Предлагаемая архитектура системы научной визуализации
В качестве средства абстрагирования от особенностей ОС для организации мультиплатформенности используется библиотека ЫРоишМюп,
разработанная при участии автора диссертационного исследования в пермской IT-компании ООО «Ньюлана».
Визуализация распределяется между клиентом и сервером, автоматически адаптируясь к инфраструктуре вычислительной сети. За планирование распределения отвечает модуль предобработки и визуализации данных, реализующий на стороне сервера оператор Ф. При этом на основе эвристических правил учитываются тип и быстродействие клиента, скорость сетевого соединения, количество клиентов, подключенных к серверу и объём доступной на сервере оперативной памяти. На стороне клиента оператор Ф реализуется в виде модуля визуализации, который отвечает за финальный рендеринг. Для построения изображений на стороне сервера и клиента используются сторонние библиотеки pVTK, VTK и VES, а также разработанные автором диссертационного исследования при поддержке пермской IT-компании ООО «Ньюлана» библиотеки NGraphics и NChart3D.
При необходимости (если клиентом выступает маломощное мобильное устройство) сервер выполняет дробление и упрощение данных, передаваемых клиенту.
Для построения графического интерфейса используется разработанная автором диссертационного исследования библиотека GUIBuilder, которая автоматически генерирует интерфейс для конкретной платформы по высокоуровневому описанию, реализуя тем самым оператор Г. Описание производится на специально созданном языке, основанном на XML. Эта библиотека поддерживает обработку множества Е действий пользователя и производит отрисовку элементов управления из множества ~М средствами того же низкоуровневого графического API, которое используется для визуализации сцены. За счёт этого обеспечивается высокая производительность визуализации, так как не тратится процессорное время на слияние построенных изображений. Для организации навигации по сцене используется графический интерфейс пользователя в виде множества управляющих элементов М, отображаемых при помощи библиотеки GUIBuilder.
Для построения Web-интерфейса используется сторонний набор библиотек Django.
В третьей главе описывается математическая модель и технические особенности реализации алгоритмов повышения визуального качества изображения путём устранения ступенчатости границ объектов и автоматического центрирования трёхмерных объектов в заданной области экрана для первого показа сцены.
Описывается разработанный алгоритм адаптивного сглаживания границ объектов на изображении. Большинство современных графических процессоров имеют аппаратную поддержку сглаживания границ объектов на изображении, основанную, чаще всего, на алгоритме MSAA. Однако встроенный антиалиасинг имеет три существенных недостатка:
1. Падение производительности (на мобильных устройствах было зарегистрировано в среднем трёхкратное уменьшение скорости визуализации при включении системного антиалиасинга).
2. Осложнение переносимости системы на разные платформы (в различных операционных системах встроенный антиалиасинг управляется по-разному, что приводит к увеличению объёма платформенно-зависимого кода).
3. Появление нежелательного размытия объектов, границы которых параллельны границам изображения.
В общем случае решить все описанные проблемы одновременно оказывается возможным лишь при условии отказа от использования системного антиалиасинга в пользу более эффективного алгоритма. Было проанализировано 8 различных алгоритмов антиалиасинга и выяснено, что для эффективной работы на мобильных устройствах лучше всего подходят алгоритм сглаживания на основе увеличенного изображения (англ. supersampling anti-aliasing, SSAA) и алгоритм быстрого аппроксимированного сглаживания (англ. fast approximate anti-aliasing, FXAA). SSAA - это классический алгоритм, обеспечивающий сглаживание за счёт визуализации сцены в большем разрешении, чем разрешение экрана, а затем уменьшении полученного изображения с использованием фильтрации. FXAA - это алгоритм, разработанный Т. Лоттесом а затем модифицированный Дж. Гинотом, основанный на поиске ступенчатых границ и размытии найденных ступенек в перпендикулярном к ним направлении. Однако каждый из них по отдельности не обеспечивает необходимого визуального качества итогового изображения, уступая по этому показателю встроенному антиалиасингу. Для решения указанной проблемы использована суперпозиция SSAA°FXAA, которая обеспечивает качество не ниже, чем встроенный алгоритм.
В предлагаемой реализации алгоритма SSAA размер промежуточного изображения вычисляется как
/' = s-I, I' = \w',h'\, I = \w,h\. ще w'.h' - ширина и высота промежуточного изображения, w, h - ширина и высота экрана, s — коэффициент увеличения изображения. Здесь и далее в качестве единицы измерения используется пиксель. Коэффициент i вычисляется динамически на основе данных о программно-аппаратных особенностях используемой платформы:
s = Tnin[max!i',lj,2j,
S--
wt , —, w>h w
h,
■Г, w<h h
где w,, h, - максимальные ширина и высота текстуры соответственно.
Такой способ определения размера промежуточного изображения делает SSAA применимым на широком классе различных устройств. При уменьшении промежуточного изображения до размеров экрана используется билинейная интерполяция.
Алгоритм FXAA, реализованный на шейдерах, оптимизирован с учётом аппаратных особенностей графических процессоров мобильных устройств:
1. Часть вычислений перенесена из фрагментного шейдера в вершинный.
2. Всюду, где возможно, использованы векторные инструкции.
3. Все формулы приведены к виду, совместимому с MAD-инструкциями GPU.
4. Все динамические ветвления заменены на пороговые функции.
5. Для реализации линейной интерполяции используются только аппаратно-подцерживаемые функции.
В результате указанной оптимизации быстродействие алгоритма увеличено на 20% по сравнению с оригиналом. Кроме того, улучшено визуальное качество результата работы FXAA путём смешивания исходного значения цвета каждой точки изображения с цветом, вычисленным в ходе алгоритма. Такое смешивание снижает шум, появляющийся на границах объектов.
Произведена оценка теоретической сложности алгоритмов визуализации в системе SciVi. Полученные данные приведены в табл. 1 (используемые обозначения приведены выше; и - число вершин на сцене). Для измерения скорости использовалась тестовая сцена, состоящая из 4,8-106 вершин, и устройство ¡Pad 3.
Таблица 1. Оценка характеристик процесса визуализации в системе SciVi
Способ визуализации Без сглаживания SSAA FXAA SSAA°FXAA
Асимптотическая сложность 0{n+w-h) 0{n+s2-w-h) 0{n+w-h) 0(n+s2-w-h)
Среднее количество итераций шейдеров n+wh (n+6)+ (i2+ l)-w-A (n+6)+ 2-w-h (n+6)+
Скорость, кадры в секунду 15 4,5 10 4,5
Производительность суперпозиции 88АА°РХАА примерно равна производительности системного антиалиасинга, однако, предложенный метод содержит в себе алгоритм автоматического отслеживания действий, высокая скорость визуализации для которых является критичной (например, воспроизведение анимации или изменение сцены в ответ на команды пользователя), и отключения антиалиасинга на периоды их выполнения. Временное отключение сглаживания не приводит к ухудшению качества итогового изображения, так как ступенчатость границ у движущихся объектов менее заметна.
Для предотвращения нежелательного размытия объектов была реализована возможность послойной визуализации. Под слоем здесь понимается множество объектов, объединённых по взаимному расположению и необходимости сглаживания. Автоматизация процесса группировки объектов в слои является нетривиальной и может привести к ошибкам, поэтому разработанная подсистема визуализации предоставляет публичные API-функции для создания слоев, добавления в них объектов и установки для каждого слоя атрибута сглаживания. В процессе подготовки изображения сцены слои последовательно отображаются, и сглаживание включается только для тех из них, у которых выставлен соответствующий атрибут. Таким образом, появляется возможность комбинировать объекты со сглаженными и несглаженными границами на одной сцене.
Предложенный метод сглаживания отличается от известных аналогов тем,
что:
1. Обеспечивает мультиплатформенность, так как использованные в нём алгоритмы антиалиасинга допускают эффективную реализацию как для настольных компьютеров, так и для мобильных устройств, а также, благодаря произведённым модификациям, автоматически учитывают аппаратные особенности различного графического оборудования.
2. Обеспечивает быстрый отклик графической системы, так как сглаживание автоматически отключается на периода динамического изменения сцены.
3. Обеспечивает высокое визуальное качество результата (не ниже, чем у системного антиалиасинга), при этом позволяет задавать, какие из объектов нуждаются в сглаживании, а какие - нет, и тем самым избежать эффекта нежелательного размытия.
На основе предложенного метода в системе SciVi реализован оператор сглаживания изображения А.
Произведено тестирование производительности SciVi на устройстве iPad3 при визуализации сцен различной сложности (до 4,8-106 вершин включительно). Измерялось время задержки отклика системы на команды пользователя. Результаты тестирования представлены на графике, изображённом на рис.3. Зелёная зона (от 0 до 50 мс) символизирует максимальный комфорт восприятия, когда пользователь не ощущает задержек отклика. Жёлтая зона (от 50 до 125 мс) составляет область допустимых задержек, не нарушающих плавность изменений сцены. Красная зона (от 125 мс) символизирует недопустимо высокую задержку, когда плавность изменения сцены нарушается.
По результатам тестирования можно сделать вывод о том, что предложенный алгоритм сглаживания обеспечивает в среднем в 3 раза большую производительность, чем стандартный MSAA, и даже на сложных сценах (более 4 млн. вершин) помогает сохранить комфортность восприятия динамики сцены пользователем.
Число вершин на сцене
——— МБАА —— БЭЛА о ЯХАА
Рис. 3. График задержки отклика системы при использовании сглаживания на основе системного М5АА и предложенной суперпозиции Ж4Л и РХАА
Предлагается авторское решение задачи центрирования объектов внутри заданной области. В процессе интерактивного взаимодействия пользователь может осуществлять навигацию по сцене, изменяя положение, размер и поворот объектов. При этом, однако, существует проблема автоматического нахождения начального положения, то есть положения для первого показа сцены. Для выбора начального положения сцены был разработан алгоритм автоматического вписывания множества объектов в заданную область на экране. Область £) для отображения сцены вычисляется, исходя из расположения управляющих элементов так, чтобы исключить перекрытия. Проекция для сцены формируется таким образом, чтобы центр усечённой пирамиды видимости имел следующие координаты:
где х, у - координаты левого нижнего угла области для отображения сцены, /г</ - ширина и высота области О соответственно. Все значения считаются, исходя из экранной системы координат. Преобразование камеры содержит в себе смещение и масштаб, определённые методом бинарного поиска таким образом, чтобы заданная группа объектов сцены при первоначальных углах поворота вокруг осей ОХ, ОУ и ()2 максимально точно вписалась в область В на экране. На каждой итерации поиска определяется область О' на экране, которую занимает проекция параллелепипеда, ограничивающего заданную группу объектов. Смещение и
масштаб изменяются так, чтобы минимизировать разницу между D' и D. Максимальное количество итераций поиска составляет
zoom„— zoom,
w,. = 2-log;
offsets-offset^
+2-log;
£
где offset тЫ, offset max,zoornmjn, zoom max - диапазоны поиска смещения и масштаба соответственно,
£ - константный параметр точности поиска, £б(0;+со). Разработанный алгоритм имеет логарифмическую сложность. По результатам проведённых экспериментов (численные данные представлены в табл. 1 и на рис. 3) можно сделать вывод, что по скорости визуализации SciVï не уступает таким популярным системам научной визуализации, как ParaView (на настольных компьютерах) и KiwiViewer (на мобильных устройствах). Более того, благодаря наличию адаптивного антиалиасинга, SciVi обеспечивает в 3 раза большую производительность по сравнению с указанными системами при включенном сглаживании границ объектов на изображении.
Четвёртая глава посвящена описанию применения SciVi для визуализации научных данных различной природы с целью демонстрации жизнеспособности предложенных методов и средств разработки систем научной визуализации. В соответствующих разделах главы описывается применение SciVi в задачах визуализации результатов следующих научных экспериментов:
1. Вращение магнитных моментов наночастиц в магнитном поле (решатель: MagnetoDynamics-F, язык: Fortran, разработчик: Белозёрова Т.С., ПГУ).
2. Изменение цен на валютной бирже (решатель: BTCeXplorer, язык: Java, разработчиком выступает автор диссертационного исследования).
3. Множественное выравнивание последовательностей ДНК и построение филогенетических деревьев (решатель: ClustalW, язык: С++, разработчики: Gibson Т., EMBL, Thompson J., CNRS, Higgins D., UCD).
4. Моделирование поведения жидкости в ограниченном объёме (решатель: OpenFOAM, язык: С++, разработчик: компания OpenCFD).
5. Исследование микроциркуляции крови с помощью вейвлет-анализа колебаний температуры человека (решатель: проект Микротест, разработчики: коллектив авторов под руководством к.ф.-м.н. Подтаева С. Ю.).
6. Измерение скорости передачи данных по сети (решатель: Remotix, язык: С++, разработчик: компания ООО «Ньюлана»),
Примеры изображений, построенных в системе SciVi после адаптации к соответствующим решателям перечисленных задач, представлены на рис. 4.
Рис. 4. Результаты научной визуализации в системе SciVi
Применимость системы SciVi для задач из различных предметных областей подтверждает её универсальность, доказывает состоятельность предложенного подхода к интеграции со сторонними решателями и свидетельствует о возможности использования SciVi в междисциплинарных исследованиях. Благодаря использованию методов онтологического инжиниринга стала возможной высокоуровневая адаптация системы SciVi к специфике сторонних решателей. За счёт использования адаптивного алгоритма сглаживания границ, высокое качество результирующего изображения в системе SciVi достигается без снижения производительности. Общая производительности визуализации при сглаживании границ оказывается в 3 раза выше, чем у известных аналогов.
В заключении формулируются основные результаты работы и описываются возможные перспективы дальнейших исследований.
В приложениях приведены копии актов о внедрении результатов диссертационного исследования; копии свидетельств регистрации программ для ЭВМ, созданных по материалам диссертационного исследования; документация по языку описания сцен; поддерживаемые типы графических сцен; поддерживаемые типы диаграмм и графиков; документация типов сообщений протокола SVTP (SciVi Transfer Protocol, протокол связи клиента и сервера SciVi); документация по языку описания графического интерфейса пользователя; документация по формату хранения трёхмерных моделей.
ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ
1. Разработаны новые метод и средства организации мультиплатформенных клиент-серверных систем научной визуализации, поддерживающих автоматическую интеграцию со сторонними решателями и адаптивное распределение процесса визуализации между клиентом и сервером. Впервые для интеграции систем научной визуализации со сторонними решателями предложены методы адаптации на основе онтологического инжиниринга.
2. Созданы новые метод и средства генерации мулътиплатформенного графического интерфейса пользователя, отличающиеся от известных тем, что решают проблему двойного дизайна без снижения производительности визуализации.
3. Разработан новый алгоритм сглаживания границ объектов на изображении, отличающийся от известных аналогов тем, что, путём адаптивного учёта аппаратных особенностей платформы, одновременно обеспечивается высокая производительность визуализации, высокое визуальное качество итогового изображения, а также мультиплатформенность реализации этого алгоритма.
4. На основе предложенных методов и средств разработана система научной визуализации SciVi, которая, в отличие от известных аналогов, обладает высокоуровневыми средствами интеграции со сторонними решателями, удовлетворяющими сформулированным в работе ограничениям, а также позволяет осуществлять научную визуализацию как на настольных компьютерах, так и на мобильных устройствах без потери качества изображения. SciVi использована для решения задач научной визуализации в различных предметных областях и внедрена в пермской IT-компании ООО «Ньюлана».
ПУБЛИКАЦИИ АВТОРА ПО ТЕМЕ ДИССЕРТАЦИИ
Публикации в журналах, индексируемых Scopus и Web of Science
1. Ryabinin К., Chuprina S. Adaptive Scientific Visualization System for Desktop Computers and Mobile Devices // Procedia Computer Science. - Elsevier, 2013.-Vol. 18.-P. 722-731.
2. Рябинин K.B. Разработка мультиплатформенной библиотеки построения и визуализации диаграмм // Научная визуализация. - М.: Национальный исследовательский ядерный университет МИФИ, 2014. - К. 1, Т. 6, №1. -С. 51-67.
3. Ryabinin К., Chuprina S. Development of Multiplatform Adaptive Rendering Tools to Visualize Scientific Experiments // Procedia Computer Science. -Elsevier, 2014. - Vol. 29.-P. 1825-1834.
Публикации в журналах, включенных в перечень ВАК РФ
4. Рябинин КВ. Разработка мультиплатформенной клиент-серверной системы для научной визуализации // Научно-технический вестник Поволжья. - Казань: Научно-технический вестник Поволжья 2013 -№2.-С. 197-203.
5. Рябинин К.В. Адаптивное сглаживание границ объектов на изображении для мобильных устройств // Вестник компьютерных и информационных технологий. - М.: Спектр, 2014. - №8. - С. 23-28.
Другие публикации
6. Рябинин К.В. Разработка адаптивного мультиплатформенного визуализа-тора результатов научных расчётов для высокопроизводительных вычислительных систем // Труды 22-й Международной конференции по компьютерной графике и машинному зрению «ГрафиКон'2012» - М 2012.-С. 193-198.
7. Рябинин КВ. вШ-фреймворк для настольных компьютеров и мобильных систем И Актуальные проблемы механики, математики, информатики: сб. тез. науч.-практ. конф. (Пермь, 30 октября - 1 ноября 2012 г.) / гл. ред.
B.И. Яковлев; Перм. гос. нац. исслед. ун-т. - Пермь, 2012. - С. 195.
8. Рябинин К.В. Разработка адаптивного мультиплатформенного визуализа-тора результатов научных расчётов для высокопроизводительных вычислительных систем // Научная визуализация. - М.: Национальный исследовательский ядерный университет МИФИ, 2012. - К 4 Т 4 №4 -
C. 17-29.
9. Рябинин КВ. Разработка мультиплатформенной системы научной визуализации II Междисциплинарные исследования: сб. матер, науч.-практ. конф. (Пермь, 9-11 апреля 2013 г.) / гл. ред. Ю.А. Шарапов; Перм. гос. нац. ис-след. ун-т. - Пермь, 2013. - Т. I. - С. 179-182.
\0.Рябинин КВ. Динамический антиалиасинг на мобильных устройствах // Современные проблемы математики и её прикладные аспекты - 2013: сб. тез. науч.-практ. конф. (Пермь, 29-31 октября 2013 г.) / га. ред. В.И. Яковлев; Перм. гос. нац. исслед. ун-т. - Пермь, 2013. - С. 25.
11.Рябинин К.В. Визуализация вращения магнитных моментов наночастиц // Современные проблемы математики и её прикладные аспекты - 2013: сб. тез. науч.-практ. конф. (Пермь, 29 - 31 октября 2013 г.) / гл. ред. В.И. Яковлев; Перм. гос. нац. исслед. ун-т. - Пермь, 2013. - С. 26.
12.Рябинин КВ. Визуализация результатов секвенации последовательностей ДНК // Международный научно-исследовательский журнал. - Екатеринбург, 2014. - №4 (23), Ч. 2. - С. 55-57.
\Ъ.Рябинин КВ. Подход к разработке системы визуализации результатов высокопроизводительных научных вычислений // Высокопроизводительные вычисления на графических процессорах: материалы
II Всероссийской иауч.-практ. конф. с междуиар. участием с элементами науч. шк. для молодёжи, 2-6 июня 2014 г. / отв. за вып. C.B. Русаков, М.М. Бузмакова; Перм. гос. нац. исслед. ун-т. - Пермь, 2014. - С. 50-55.
Свидетельства о регистрации программ для ЭВМ, разработанных по материалам диссертационного исследования
14.Рябинин К.В., Филоненко Ф.С., Полотнятциков И.С. Программа для ЭВМ NGraphics: свидетельство о государственной регистрации программы для ЭВМ № 2014613796 / Зарег. 07.04.2014, опубл. 20.05.2014. Официальный бюллетень Федеральной службы по интеллектуальной собственности (Роспатент) «Программы для ЭВМ. Базы данных. Топологии интегральных микросхем», №5 (91), 2014, 1 с.
15.Рябинин КВ., Чудинов Е.А. Программа для ЭВМ NChart3D: свидетельство о государственной регистрации программы для ЭВМ № 2014616258 / Зарег. 18.06.2014, опубл. 20.07.2014. Официальный бюллетень Федеральной службы по интеллектуальной собственности (Роспатент) «Программы для ЭВМ. Базы данных. Топологии интегральных микросхем», №7 (93), 2014, 1 с.
16.Рябинин К.В. Программа для ЭВМ SciVi: свидетельство о государственной регистрации программы для ЭВМ № 2014616257 / Зарег. 18.06.2014, опубл. 20.07.2014. Официальный бюллетень Федеральной службы по интеллектуальной собственности (Роспатент) «Программы для ЭВМ. Базы данных. Топологии интегральных микросхем», №7 (93), 2014,1 с.
Подписано в печать 04.02.2015. Формат 60x84/16 Усл. печ. л. 1,35 Тираж-100 экз. Заказ 245
Типография Пермского государственного национального исследовательского университета 614990. г. Пермь, ул. Букирева, 15
-
Похожие работы
- Разработка и исследование методов адаптивного синтеза изображений рельефов местности
- Исследование и разработка методов и программных средств визуализации результатов научных вычислений для массивно-параллельных вычислительных систем
- Высокоточное нейросетевое распознавание в системах технического зрения
- Текстурная визуализация векторных полей с использованием возможностей графического оборудования
- Анализ и оценка языков систем визуализации программного обеспечения
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность