СПОСОБ СОЗДАНИЯ ИЗОБРАЖЕНИЙ ТРЕХМЕРНЫХ ОБЪЕКТОВ ДЛЯ СИСТЕМ РЕАЛЬНОГО ВРЕМЕНИ
METHOD OF FORMING IMAGES OF THREE-DIMENSIONAL OBJECTS FOR REAL-TIME SYSTEMS

Изобретение относится к представлению трехмерных (3D) изображений объектов и может быть использовано для визуализации 3D изображений объектов в реальном времени на виртуальных панелях управления сложными системами на основе мониторов.
Современный уровень развития мониторинга сетей сложной топологии, например систем энергообеспечения, трубопроводных систем транспортировки газообразных, жидких продуктов или многокомпонентных сред, требует наглядного и одновременного отображения статической, динамической информации и доступных управляющих воздействий с целью создания полной картины о состоянии системы для принятия решений в режиме реального времени. Одной из задач, которая возникает при решении данной проблемы, является создание реалистичного изображения объекта, которое включает два этапа: формирование 3D объекта и визуализация (рендеринг).
Известны технологии визуализации, использующие полигональные модели. Среди множества подходов к созданию 3D моделей объектов можно выделить несколько основных, предлагаемых сегодня в наиболее успешных программах 3D-графики: создание твердых тел с помощью булевых операций - путем добавления, вычитания или пересечения материала моделей; формирование сложных полигональных поверхностей, называемых меш, путем полигонального или NURBS-моделирования; применение модификаторов геометрии. Однако формирование фотореалистичных объектов требует значительных усилий специалистов и занимает много времени. Большая вычислительная стоимость синтеза фотореалистичных изображений проистекает из сложных геометрических преобразований, использования сложных моделей освещения, отображения текстуры и окружающей среды, а также методов устранения искажений, возникающих из-за дискретной природы устройств вывода изображений.
Известны способы представления трехмерных объектов с использованием изображений с глубиной (RU №2237248 С2, опубл. 27.09.2004, RU №2215326 С2, опубл. 27.10.2003). Способы, основанные на использовании изображений объектов, представляют данный объект в качестве набора изображений - "фотографий" объекта, полностью покрывающих его видимую поверхность и полученных с нескольких различных положений камеры. Помимо этого каждое такое изображение рассматривается совместно с соответствующей картой глубины, которая является матрицей расстояний от пикселов в плоскости изображения до поверхности объекта. Более современный способ по патенту RU №2237248 С2, опубл. 27.09.2004, основан на генерировании структуры узлов. Способ включает в себя этапы, на которых создают поле текстуры, в которое записывают цветное изображение, содержащее информацию о цвете для каждого пиксела; создают поле глубины, в которое записывают изображение с глубиной, содержащее информацию глубины для каждого пиксела, и генерируют узел простой текстуры путем объединения поля текстуры и поля глубины в заданном порядке.
Общая проблема для основанных на изображениях способов представления 3D объектов состоит в появлении дырок в результирующем изображении. В отличие от многоугольных моделей, которые являются "непрерывными" в том смысле, что поверхность объекта линейно интерполируется во внутренность всех многоугольников (как правило, треугольников), основанные на изображениях и основанные на точках представления, создают "дискретные" аппроксимации объектов. В случае основанных на изображениях представлений поверхность объекта фактически аппроксимируется малыми цветными квадратами, т.е. сдвинутыми пикселами опорных изображений. Когда направление взгляда значительно отличается от нормального направления к каждой из плоскостей опорного изображения, проекции аппроксимирующих квадратов в общем случае не полностью покрывают проекцию поверхности объекта. Другим источником дырок в результирующем изображении для основанных на изображениях представлений является то, что некоторая часть поверхности может быть не видна на всех опорных изображениях, но становится видимой для некоторых точек зрения. Эти дырки появляются из-за недостаточной информации, содержащейся в конкретном, основанном на изображениях, представлении.
В целом представление проецирование 3D изображения объекта на экран монитора с учетом освещенности, текстуры объекта, динамики его изменения и текущего положения наблюдателя требует значительных вычислительных ресурсов и занимает много времени.
Наиболее близким к заявляемому изобретению является способ представления и визуализации трехмерного объекта, описанный в патенте RU №2215326 С2, опубл. 27.10.2003, который принят в качестве прототипа. В известном способе исходные данные трехмерного объекта представляют в виде набора изображений, преобразуют исходные данные трехмерного объекта в представление в виде бинарного волюметрического октодерева и визуализируют трехмерный объект. Способ, при визуализации сложного трехмерного изображения в компьютерной графике и анимации, позволяет получить технический результат в виде обеспечения компактности хранения информации об изображении, достаточно быстрой визуализации с высоким качеством выходного изображения.
Однако при построении панелей управления для систем управления реального времени, которое связано с отображением достаточно простых по форме и структуре объектов, известный способ приводит к неоправданным затратам ресурсов и времени, что снижает скорость визуализации.
Задачей, на решение которой направлено настоящее изобретение, является разработка способа визуализации трехмерных объектов в реальном времени на мониторах систем управления сложными системами с улучшенными характеристиками.
Технический результат, достигаемый при осуществлении данного изобретения, заключается в повышении фотореалистичности изображения трехмерных объектов и увеличении скорости визуализации.
Технический результат достигается тем, что в способе создания изображений трехмерных объектов для систем реального времени, заключающемся в том, что формируют N визуальных образов каждого объекта с различных ракурсов в динамике их покадрового изменения, преобразуют исходные данные трехмерного объекта в представление объекта и визуализируют трехмерный объект, на каждом из N визуальных образов объекта выделяют простые геометрические примитивы, по которым строят геометрию объекта, восстанавливают трехмерный геометрический образ объекта путем сравнения геометрии объекта с N визуальными образами объекта на различных ракурсах, одновременно на каждом из N визуальном образе объекта в границах простых геометрических примитивов выделяют текстуры, приводят формы текстур в соответствие с формой примитивов трехмерного геометрического образа объекта, формируют карту глубин текстуры, интерполируют текстуру на образующиеся дырки в текстуре при изменении углов визирования, формируют трехмерную модель объекта путем наложения суммарной текстуры на трехмерный геометрический образ объекта, визуализируют трехмерные модели объектов с учетом трассировки лучей света, теней и геометрических искажений, содержащихся в N визуальных образах объектов, и выводят покадрово в реальном времени на устройство отображения системы с учетом углов визирования.
При этом ракурсы для формирования N визуальных образов каждого объекта выбирают вкруговую с интервалами, не превышающими 30 град.
Технический результат достигается тем, что получение глубины изображения объекта переносится с этапа формирования трехмерных геометрических образов объекта на этап формирования текстур, что обеспечивает при формировании трехмерных геометрических образов минимизацию требуемого количества простых примитивов и, следовательно, повышение быстродействия. Уменьшение вычислительных затрат обеспечивается так же тем, что перерасчет трехмерных моделей объекта при изменении углов визирования производится только с учетом трассировки лучей света, теней и геометрических искажений, а приближение к реалистичности отображения других световых эффектов обеспечивается за счет использования фототекстуры.
Изобретение иллюстрируется чертежами, на которых представлено:
на фиг.1 - структурная электрическая схема устройства для реализации способа;
на фиг.2 - пример панели управления;
на фиг.3 - пример сформированного трехмерного геометрического образа объекта в виде кнопки;
на фиг.4 - укрупненный фрагмент панели управления с трехмерными моделями кнопок и датчика.
На фиг.1 введены обозначения:
1 - датчик ракурса съемки;
2 - блок формирования N визуальных образов объекта;
3 - блок выделения простых геометрических примитивов;
4 - блок построения трехмерного геометрического образа объекта;
5 - датчик кадров;
6 - блок выделения текстур;
7 - блок преобразования текстур;
8 - блок анализа текстур смежных поверхностей;
9 - блок формирования карты глубин текстур;
10 - датчик углов визирования;
11 - блок интерполяции текстур;
12 - блок формирования трехмерной модели объекта;
13 - блок визуализации;
14 - блок индикации.
Реализацию способа рассмотрим на примере отображения виртуальной панели управления, входящей в состав тренажера бортовой полупогруженной платформы, общий вид которой представлен на фиг.2. Панель управления содержит кнопки управления клапанами, насосами, датчики давления в насосах, датчики уровня в танках, схему трубопроводной системы. Особенностью отображаемых объектов является их относительная геометрическая простота.
Способ осуществляют следующим образом. Формируют, например, с помощью цифрового фотоаппарата N визуальных образов каждого объекта с различных ракурсов и динамики их покадрового изменения, задаваемых с помощью датчика 1 ракурса съемки и датчика 2 кадров, соответственно, и создают базу данных цифровых визуальных образов. Ракурсы для формирования визуальных образов выбирают вкруговую с интервалами, не превышающими 30 град.
На каждом из N визуальных образов объекта выделяют простые геометрические примитивы в виде треугольников и прямоугольников, по которым восстанавливают трехмерные геометрические образы объектов путем интерактивного сравнения геометрии объекта с N визуальными образами объекта, полученными с различных ракурсов. Эта операция может быть выполнена с помощью стандартного редактора трехмерной графики, например Autodesk Maya. Пример сформированного трехмерного геометрического образа объекта в виде кнопки приведен на фиг.3.
Одновременно на каждом из N визуальном образе объекта выделяют текстуры в границах простых геометрических примитивов. Приводят форму текстур в соответствии с формой примитивов трехмерного геометрического образа объекта. Формируют карту глубин структур в предположении однородности поверхности объекта путем анализа гистограмм изображений (см., например, Ту, Гонсалес. Принципы распознавания образов. М.: Мир, 1978, с.244-254).
Съемка объектов с разных ракурсов не гарантирует одинаковую цветопередачу на всех текстурах. Приведение взаимооднозначного соответствия между пикселями смежных текстур производится путем анализа пограничных пикселей с учетом окружающих пикселей и их сглаживания.
При изменении углов визирования, задаваемого датчиком 10, преобразуют структуру текстур, при этом возможно возникновение дырок в текстуре, которые исключают за счет формирования недостающих пикселей по известным углам визирования и известным текстурам на смежных поверхностях (см., например, Роджерс Д., Адамс Дж. Математические основы машинной графики - М.: Мир, 2001, с.276-285). Формируют трехмерную модель объекта путем наложения суммарной текстуры на трехмерный геометрический образ объекта. Визуализируют трехмерные модели объекта с учетом трассировки лучей света, теней и геометрических искажений, содержащихся в N визуальных образах объектов, путем многовариантных геометрических преобразований. При этом присутствующие на визуальных образах объектов и содержащиеся в фототекстуре световые эффекты (блики и другие оптические эффекты) не перерассчитывают, что приводит к сокращению требуемых вычислительных ресурсов без потери фотореалистичности. Выводят последовательность кадров в реальном времени на устройство отображения системы с учетом углов визирования объектов, поступающих отдатчика 10.
Пример отображения трехмерных моделей датчика и двух кнопок представлен на укрупненном фрагменте панели управления (см. фиг.4). Угол визирования на фиг.4 направлен по нормали к левой кнопке. Трехмерное изображения датчика выполнено с учетом трассировки лучей света и тени. Правая кнопка отображается с учетом изменения угла ее наблюдения. Блики на обеих кнопках не изменены, что не снижает фотореалистичность изображения кнопок.
В качестве датчика 10 может быть использована любая из известных систем позиционирования (см., например, Желамский М. Электромагнитное позиционирование: Преимущества и области применения. Электроника: Наука, Технология, Бизнес, 2007, №3, с.2-6).
В целом, как следует из изображений на фиг.2 и фиг.4, на панели управления отображается динамическая картинка с фотореалистичным качеством, содержащая световые эффекты. За счет достигаемого сокращения вычислительных ресурсов скорость визуализации при осуществлении заявляемого способа достигает до 60 кадр/сек.