Формирование полигональной модели по воксельным данным
Конференция: XXI Международная научно-практическая конференция «Научный форум: инновационная наука»
Секция: Медицина и фармацевтика
XXI Международная научно-практическая конференция «Научный форум: инновационная наука»
Формирование полигональной модели по воксельным данным
Formation of a polygonal model based on voxel data
Grigory Volkov
student of the magistracy, Mari State University, Russian Federation, Yoshkar-Ola
Ksenia Volkova
student of the magistracy, Mari State University, Russian Federation, Yoshkar-Ola
Аннотация. В данной статье рассмотрен процесс формирования полигональной модели по воксельным данным. Для получения полигональной модели интересующего органа необходимо решить задачи сегментации, определения границ и триангуляции в трехмерном пространстве. Первоначально для построения полигональной модели необходимо выделение в воксельном пространстве изоповерхности, соответствующей интересующему органу. Одним из наиболее популярных и широко применяемых алгоритмов триангуляции является метод марширующих кубов. Чтобы получить возможность триангулировать модель любой сложности необходимо создать типовую таблицу. Таким образом, появляется задача сглаживания поверхности.
Abstract. This article describes the process of formation of a polygonal model on voxel data. To obtain a polygonal model of the organ of interest, it is necessary to solve the problems of segmentation, boundary definition and triangulation in three-dimensional space. Initially, for the construction of a polygonal model, it is necessary to allocate in the voxel space an isosurface corresponding to the body of interest. One of the most popular and widely used triangulation algorithms is the method of marching cubes. To be able to triangulate a model of any complexity, you must create a sample table. Thus, there is a problem of smoothing the surface.
Ключевые слова: полигональная модель; воксельная модель; воксельные данные; формирование модели; модель интересующего органа; определение границ органов; триангулирование; пространство изоповерхностей.
Keywords: polygonal model; voxel model; voxel data; model formation; model of the organ of interest; determination of organ boundaries; triangulation; space of isosurfaces.
Для получения полигональной модели интересующего органа необходимо решить задачи сегментации, определения границ и триангуляции в трехмерном пространстве. Основными входными данными будем полагать воксельную модель анатомии пациента.
Первоначально для построения полигональной модели необходимо выделение в воксельном пространстве изоповерхности, соответствующей интересующему органу. Классическим методом выделения границ на цифровом изображении является выделение контуров. Простым способом сегментации трехмерных данных является применение двухмерного алгоритма выделения контуров к каждому срезу объемного набора данных [1].
Далее необходимо соединить выделенные контуры на различных срезах между собой. Основной задачей является поиск соответствия между различными вершинами всех срезов. Проблема данного способа заключается в том, что контуры объекта меняют свою форму на каждом срезе. Также стоит отметить, что контуры претерпевать топологические изменения. При разветвлении объекта количество контуров увеличивается, и они должны быть соответствующим образом объединены [2].
Одним из наиболее популярных и широко применяемых алгоритмов триангуляции является метод марширующих кубов. Суть данного алгоритма заключается в том, что он разбивает объем на кубические ячейки, содержащие восемь вершин, и строит триангулированную модель для каждой ячейки индивидуально [3].
Таким образом, чтобы получить возможность триангулировать модель любой сложности необходимо создать типовую таблицу, к которой будут находится триангулированные данные для каждой комбинации входящих в ячейку вершин. Однако многие из комбинаций такой таблицы будут повернутыми или отраженными версиями друг друга. По своей работе метод марширующих кубов является локальным, так как он не учитывает модель в целом. Следовательно, для контроля целостности полученной поверхности необходимо использовать алгоритмы более высокого уровня. Поверхность модели, которая построена марширующими кубами, является неровной и ступенчатой. Также она содержит избыточное количество треугольников, так как плоские и гладкие поверхности аппроксимируются большим числом ячеек, каждая из которых триангулируется отдельно.
Таким образом, появляется задача сглаживания поверхности. К одному из способов сглаживания относится смещение каждой вершины на величину, пропорциональную средневзвешенному значению координат соседних вершин. Также стоит помнить, что выбор таких параметров сглаживания, как количество соседей, количество итераций, весовые коэффициенты, напрямую зависит от класса анатомических структур. Фильтр Лапласа, который сглаживает каждую вершину модели, несколько уменьшает размер модели в целом, поэтому был разработан модифицированный алгоритм, в котором вводится второй этап сглаживания, сохраняющий общий объем модели [4].
Еще одним подходом к сглаживанию является использование методов обработки сигналов, в котором поверхность модели рассматривается как двухмерный дискретный сигнал, подвергающийся преобразованию Фурье. Далее применяется фильтрация низких частот, где в качестве частот выступают собственные значения матрицы Лапласа [5].
После всех манипуляций с преобразованиями необходимо сформировать изображения полигональной модели, которые являются стандартным методом представления поверхностей в задачах отображения трехмерных данных. Это стало возможным благодаря наличию аппаратной поддержки отображения полигональных моделей в видеокартах персональных компьютеров. Производители программного обеспечения могут использовать для доступа к видеокарте такие API как OpenGL, DirectX или Vulcan.
Рассмотрим процесс отображения полигональной модели на основе OpenGL. В процессе отображения кадра каждая вершина модели проходит по так называемому «графическому конвейеру», где подвергается последовательным преобразованиям. Далее модельно-видовая матрица описывает преобразование из системы координат, связанной с виртуальной моделью, в систему, которая связана с виртуальной камерой. В данной ситуации используется понятие «виртуальная камера» для упрощения восприятия выполняемых над моделью преобразований и сопоставления получаемых виртуальных изображений с реальными. Работа с виртуальной камерой позволяет отказаться от непосредственного формирования матриц преобразования координат модели и оперировать такими параметрами, как координаты камеры, направление взгляда, ориентация камеры, а также угол зрения и плоскости отсечения.