В научной визуализации и компьютерная графика, рендеринг объема - это набор методов, используемых для отображения двухмерной проекции трехмерного дискретно дискретизированного набора данных, обычно это скалярное поле 3D .
Типичный набор данных 3D представляет собой группу изображений 2D-срезов, полученных с помощью CT, MRI или MicroCT сканера. Обычно они получают в виде регулярного шаблона (например, один срез на каждый миллиметр) и обычно имеют регулярное количество изображений пикселей в регулярном шаблоне. Это пример регулярной объемной сетки с каждым элементом объема или вокселем, представленным одним значением, которое получается путем выборки непосредственной области, окружающей воксель.
Чтобы визуализировать 2D-проекцию набора 3D-данных, сначала необходимо определить камеру в пространстве относительно объема. Также необходимо определить непрозрачность и цвет каждого вокселя. Обычно это определяется с помощью передаточной функции RGBA (для красного, зеленого, синего, альфа-канала), которая определяет значение RGBA для каждого возможного значения вокселя.
Например, объем можно просмотреть, извлекая из объема изоповерхности (поверхности с равными значениями) и отображая их как полигональные сетки, или непосредственно визуализируя объем как блок данных. Алгоритм марширующих кубов - это распространенный метод извлечения изоповерхности из объемных данных. Прямая объемная визуализация - это вычислительно-ресурсоемкая задача, которую можно выполнить несколькими способами.
Объемная визуализация отличается от презентаций тонких срезов томографии, а также обычно отличается от проекций 3D-моделей, включая проекцию максимальной интенсивности. Тем не менее, технически все объемные визуализации становятся проекциями при просмотре на 2-мерном дисплее, что делает различие между проекциями и объемными визуализациями немного расплывчатым. Тем не менее, воплощения моделей объемной визуализации представляют собой сочетание, например, окраски и затенения для создания реалистичных и / или наблюдаемых представлений.
Прямая объемная визуализация требует, чтобы каждое значение выборки было сопоставлено с непрозрачностью и цветом. Это выполняется с помощью «передаточной функции », которая может быть простой линейной кривой, кусочно-линейной функцией или произвольной таблицей. После преобразования в значение цветовой модели RGBA (для красного, зеленого, синего, альфа) составной результат RGBA проецируется на соответствующий пиксель кадрового буфера. То, как это делается, зависит от техники рендеринга.
Возможна комбинация этих методов. Например, реализация деформации сдвига может использовать оборудование текстурирования для рисования выровненных срезов в внеэкранном буфере.
Техника объемного преобразования лучей может быть получена непосредственно из уравнения визуализации. Он обеспечивает результаты очень высокого качества, которые обычно считаются наилучшим качеством изображения. Формирование объемного луча классифицируется как метод объемного рендеринга на основе изображения, поскольку вычисления исходят из выходного изображения, а не из входных данных объема, как в случае с методами на основе объектов. В этом методе луч генерируется для каждого желаемого пикселя изображения. Используя простую модель камеры, луч начинается в центре проекции камеры (обычно в точке глаза) и проходит через пиксель изображения на плоскости воображаемого изображения, плавающей между камерой и визуализируемым объемом. Луч обрезается по границам объема для экономии времени. Затем выборка луча производится через регулярные или адаптивные интервалы по всему объему. Данные интерполируются в каждой точке выборки, передаточная функция применяется для формирования выборки RGBA, выборка накладывается на накопленный RGBA луча, и процесс повторяется до тех пор, пока луч не выйдет из объема. Цвет RGBA преобразуется в цвет RGB и помещается в соответствующий пиксель изображения. Процесс повторяется для каждого пикселя на экране, чтобы сформировать законченное изображение.
Это техника, в которой качество меняется на скорость. Здесь каждый элемент объема разбрызгивается, как сказал Ли Вестовер, как снежный ком, на поверхности обзора в заднем порядке. Эти знаки отображаются как диски, свойства которых (цвет и прозрачность) меняются диаметрально, обычным (гауссовым ) образом. Плоские диски и диски с другими типами распределения свойств также используются в зависимости от приложения.
Метод сдвига деформации Объемный рендеринг был разработан Кэмероном и Ундрилом, популяризирован Филиппом Лакрутом и Марком Левуа. В этом методе преобразование просмотра преобразуется таким образом, что ближайшая грань объема становится осью, выровненной с закадровым изображением с буфером данных с фиксированным масштабом от вокселей до пикселей. Затем объем визуализируется в этот буфер с использованием гораздо более подходящего выравнивания памяти и фиксированных коэффициентов масштабирования и смешивания. После рендеринга всех срезов объема буфер деформируется в желаемую ориентацию и масштабируется на отображаемом изображении.
Этот метод относительно быстр в программном обеспечении за счет менее точной выборки и потенциально худшего качества изображения по сравнению с литьем лучей. Существуют накладные расходы на память для хранения нескольких копий тома из-за возможности иметь тома, выровненные по оси. Эти накладные расходы могут быть уменьшены с помощью кодирования длины прогона.
Многие Системы трехмерной графики используют наложение текстуры для применения изображений или текстур к геометрическим объектам. Графические карты Commodity PC быстро обрабатывают текстуру и могут эффективно визуализировать срезы трехмерного объема с возможностью взаимодействия в реальном времени. Рабочая станция Графические процессоры еще быстрее и являются основой для большей части визуализации объемов добычи, используемой в медицинской визуализации, нефтегазовой отрасли и других рынках (2007). Раньше специализированные системы трехмерного наложения текстур использовались в графических системах, таких как Silicon Graphics InfiniteReality, HP Visualize FX графический ускоритель и другие. Этот метод был впервые описан Биллом Хиббардом и Дэйвом Сантеком.
Эти срезы могут быть либо выровнены по объему и визуализированы под углом к зрителю, либо выровнены по плоскости просмотра и дискретизированы из невыровненных срезов через объем. Для второго метода требуется графическая аппаратная поддержка 3D-текстур.
Текстурирование с выравниванием по объему дает изображения приемлемого качества, хотя часто наблюдается заметный переход при повороте объема.
Из-за чрезвычайно параллельной природы прямого объемного рендеринга аппаратное обеспечение объемного рендеринга специального назначения было обширной темой исследований до того, как GPU объемный рендеринг стал быстрым довольно. Наиболее широко упоминаемой технологией была система распределения лучей в реальном времени VolumePro, разработанная Ханспетером Пфистером и учеными из Mitsubishi Electric Research Laboratories, которая использовала высокую пропускную способность памяти и грубую силу для рендеринга с использованием алгоритма лучей. Технология была передана TeraRecon, Inc., и было произведено и продано два поколения ASIC. VP1000 был выпущен в 2002 году, а VP2000 - в 2007 году.
Недавно использованный метод для ускорения традиционных алгоритмов объемного рендеринга, таких как ray-casting, - это использование современных графических карт. Начиная с программируемых пиксельных шейдеров, люди осознали силу параллельных операций с несколькими пикселями и начали выполнять универсальные вычисления на () графических процессорах (GPGPU). Пиксельные шейдеры могут произвольно считывать и записывать данные из видеопамяти и выполнять некоторые основные математические и логические вычисления. Эти процессоры SIMD использовались для выполнения общих вычислений, таких как рендеринг полигонов и обработка сигналов. В последних поколениях GPU пиксельные шейдеры теперь могут работать как процессоры MIMD (теперь с возможностью независимого ветвления), используя до 1 ГБ памяти текстур с форматами с плавающей запятой. С такой мощностью практически любой алгоритм с этапами, которые могут выполняться параллельно, например, объемное лучевое литье или томографическая реконструкция, может выполняться с огромным ускорением. Программируемые пиксельные шейдеры могут использоваться для моделирования изменений характеристик освещения, тени, отражения, цвета излучения и так далее. Такие симуляции могут быть написаны с использованием высокоуровневых языков затенения.
Основная цель оптимизации состоит в том, чтобы пропустить как можно большую часть объема. Типичный набор медицинских данных может иметь размер 1 ГБ. Для рендеринга со скоростью 30 кадров / с требуется чрезвычайно быстрая шина памяти. Пропуск вокселей означает, что нужно обрабатывать меньше информации.
Часто в системе объемного рендеринга есть система для определения областей объема, не содержащих видимого материала. Эту информацию можно использовать, чтобы избежать рендеринга этих прозрачных областей.
Это метод, используемый, когда объем визуализируется в порядке от начала до конца. При прохождении луча через пиксель, как только будет обнаружен достаточно плотный материал, дальнейшие сэмплы не будут вносить существенного вклада в пиксель, и ими можно пренебречь.
Использование иерархических структур, таких как октодерево и BSP -дерево, может быть очень полезным как для сжатия объема оптимизация данных и скорости процесса объемного лучевого литья.
сегментация изображения - это ручная или автоматическая процедура, которая может использоваться для разделения больших частей объема, которые кажутся неинтересными перед рендерингом, количество вычислений, которые должны быть выполнены с помощью лучевого литья или смешение текстур может быть значительно уменьшено. Это сокращение может быть от O (n) до O (log n) для n последовательно индексированных вокселей. Объемная сегментация также дает значительные преимущества в производительности для других алгоритмов трассировки лучей. Сегментация объема впоследствии может быть использована для выделения интересующих структур.
Путем представления менее интересных областей объема в более грубом разрешении накладные расходы на ввод данных могут быть уменьшены. При ближайшем рассмотрении данные в этих областях могут быть заполнены либо путем чтения из памяти или с диска, либо с помощью интерполяции. Объем с более грубым разрешением передискретизируется до меньшего размера так же, как 2D-изображение MIP-карты создается из оригинала. Эти меньшие объемы также используются сами по себе при повороте объема в новую ориентацию.
Предварительно интегрированный объемный рендеринг - это метод, который может уменьшить количество артефактов выборки путем предварительного вычисления большей части требуемых данных. Это особенно полезно в приложениях с аппаратным ускорением, так как улучшает качество без значительного снижения производительности. В отличие от большинства других оптимизаций, здесь не пропускаются воксели. Скорее он уменьшает количество выборок, необходимых для точного отображения области вокселей. Идея состоит в том, чтобы визуализировать интервалы между сэмплами, а не сами сэмплы. Этот метод позволяет улавливать быстро меняющийся материал, например переход от мышцы к кости, с гораздо меньшими затратами.
Создание сетки на основе изображения - это автоматизированный процесс создания компьютерных моделей из данных трехмерного изображения (например, MRI, CT, Industrial CT или микротомография ) для вычислительного анализа и проектирования, например CAD, CFD и FEA.
Для полного отображения требуется только один воксель на пиксель (передний) (хотя для сглаживания изображения можно использовать больше), если требуется анимация, отображаемые передние воксели можно кэшировать, а их положение относительно камеры можно пересчитывать по мере ее движения. Там, где отображаемые воксели становятся слишком далеко друг от друга, чтобы покрыть все пиксели, новые передние воксели могут быть найдены с помощью преобразования лучей или подобного, а где два вокселя находятся в одном пикселе, передний можно сохранить.
На Викискладе есть материалы, связанные с Объемным рендерингом. |