Translate this page:
Please select your language to translate the article


You can just close the window to don't translate
Library
Your profile

Back to contents

Software systems and computational methods
Reference:

Algorithm development for 3D image visualization: algorithm of layerwise transformation in compression and spread of a digital cube

Logunova Oksana Sergeevna

Doctor of Technical Science

Professor, the department of Computer Science and Programming, Nosov Magnitogorsk State Technical University 

455000, Russia, Chelyabinskaya oblast', g. Magnitogorsk, ul. Lenina, 38

logunova66@gmail.com
Kukhta Yuliya Borisovna

PhD in Technical Science

Docent, the department of Computer Science and Programming, Nosov Magnitogorsk State Technical University 

455000, Russia, Chelyabinskaya oblast', g. Magnitogorsk, ul. Lenina, 38

perfectumyuka@mail.ru
Reshetnikova Elena Sergeevna

PhD in Technical Science

Docent, the department of Engineering and Operation of Metallurgical Equipment, Nosov Magnitogorsk State Technical University 

455000, Russia, Chelyabinskaya oblast', g. Magnitogorsk, pr. Lenina, 38, aud. 298

elenresh74@gmail.com
Other publications by this author
 

 

DOI:

10.7256/2454-0714.2020.4.34303

Received:

12-11-2020


Published:

31-12-2020


Abstract: One of the promising areas of software development is the modeling of shapes of various objects with graphical representation of the process itself. The relevance of creation of such systems is first and foremost substantiated by providing a potential user with opportunity to visualize the process of shaping the object under the influence of external factors. Such software modules are highly demanded in such fields as modeling of deformation of a steel ingot in manufacturing rolled steel, prediction of occurrence of defects caused by external influence upon objects of various shape, as well as visualization of work of technical equipment related to external impact upon the object, which changes its shape as a result of applied forces. Elaboration of such systems allows inventing emulators that are demanded in educational institutions, as they replace expensive equipment for training practical skills of the students. For example, in medical universities, such software and hardware systems can be used for acquiring practical skills of working with medical equipment, like installation of ultrasonography. The standard training process for carrying out ultrasound examination in a medical university consists of two stages: theoretical and practical. In the course of training, students are not allowed to use ultrasonography machine as many times to be able to acquire sufficient skills in working with medical equipment. Therefore, it is relevant to develop an assistant robotic system for training, which would serve as an emulator of an actual ultrasonography equipment. The first stage of implementation of such project is the development of a specialized software product that would allow visualizing the image of human organs in 3D format with an option of scaling, rotation and deformation, which occurs due to application of pressure on soft tissues using special joystick during ultrasonography examination.


Keywords:

visualization, digital cube, modeling, 3D-object, software, IT technologies, simulation model, polygon grid, 3D-modeling, algorithm


Классификация разработок в области визуализации и моделирования графических 3D объектов

Динамичное развитие IT-технологий положительно влияет на множество сфер деятельности человека путем упрощения решения многих трудоемких задач. Разрабатывается огромное количество предметно-ориентированных программ, позволяющих эффективно использовать их преимущества в различных отраслях. К одним из перспективных направлений разработки программного обеспечения можно отнести графическое моделирование 3D объектов различной формы с возможностью их формоизменения [1]. Востребованность таких разработок объясняется потребностью детально визуализировать множество объектов реального мира, что позволяет создавать имитационные модели [2] и использовать их в качестве базиса для изучения и описания сложных структур и процессов [3]. Проектирование и разработка таких графических модулей основывается на математическом описании и моделировании, реализованном в формате алгоритмов программного обеспечения. Однако, существует ряд сложностей, связанных, прежде всего, с необходимостью четко и быстро отображать изображение с максимальной детализацией. Анализ теоретических и практических разработок показал, что решить эту проблему можно различными способами [4-5], например, использовать алгоритмы, позволяющие выполнить:

- трехмерное моделирование визуализации 3D объекта [1-5];

- трехмерное моделирование динамических преобразований 3D объекта [6-9];

- трехмерное имитационное моделирование жизненного цикла 3D объекта [10-12];

По результатам теоретико-информационного анализа разработок в области моделирования 3D объекта авторами получена классификация, позволившая охарактеризовать основные тенденции развития алгоритмов, реализующих построение сложных графических объектов (рис. 1).

Рис. 1. Классификация разработок в области визуализации и моделирования графических 3D объектов

Следует отметить, что на текущий момент существует множество разнообразных пакетов прикладных программ и разработанных алгоритмов [13-15], которые могут решить задачу моделирования визуализации 3D объекта с возможностью дальнейшего преобразования, как формы этого объекта, так и его основных свойств. Среди существующих разработок можно выделить такие программные системы, как DEFORM, ANSYS, ABAQUS и COSMOS. Особенность этих прикладных пакетов – наличие встроенных модулей, позволяющих проводить многоцелевой инженерный междисциплинарный анализ, причем как для научно-исследовательских, так и учебных целей в самых разных сферах деятельности, в числе которых: автомобилестроение, электроника, металлургия, нефтедобыча и переработка, производство товаров народного потребления, общая механика и геомеханика. К несомненным плюсам представленных систем можно отнести возможность создавать разнообразные геометрические 3D модели, разбивать их на конечные элементы, определять все параметры графического объекта, проводить теоретический анализ и т.д. Все выше описанное реализовано при помощи алгоритмов, повышающих устойчивость вычислительного процесса и улучшающих сходимость результатов. Однако, представленные разработки не могут решить проблемно-ориентированные задачи, связанные со специфичной предметной областью – построение объемного 3D объекта на основе анализа фотореалистического изображения, представленного в формате массива снимков. В связи с чем, актуальным является разработка алгоритмов, позволяющих выполнить детальное построение 3D объекта в формате цифрового куба с возможностью его преобразования и визуализации результатов в объемной форме и любом плоском сечении, что и является основной целью проекта. Проектирование такой программной системы на основе реализованных алгоритмов позволит решить задачу, связанную с построением тренажера-эмулятора УЗИ-установки.

Для ее достижения необходимо решить следующие задачи:

- формирование 3D изображения в виде цифрового куба с возможностью его расслоения по дискретной сетке;

- разработка алгоритмов для трансформации цифрового куба;

- разработка комплекса алгоритмов визуализация эффектов трансформации цифрового куба: выбора положения сечения цифрового куба, определения послойной цифровой гаммы отображения сжатия и растяжения, отображения композиционного сечения цифрового куба.

Разработанные алгоритмы лягут в основу программной части тренажера-эмулятора УЗИ-установки. Проектирование аппаратной части и создание модулей для распознавания фоторяда и построения реалистичного изображения будет являться следующим этапом проекта.

Алгоритм построения цифрового куба для 3D изображения

Существует множество алгоритмов визуализации 3D объекта, которые основываются на математическом описании геометрии изображения или на анализе фото-ряда, полученного при помощи внешних оптических устройств:

- алгоритмы построчного вывода графической информации. Суть заключается в осуществлении форматированного вывода графической информации таким образом, что данные передаются на персональный компьютер построчно, пока не будет завершен вывод всего блока [6];

- алгоритмы, позволяющие автоматически осуществлять построение трехмерных цифровых моделей по наземным фотоснимкам [4]. Они основаны на итеративном применении метода минимального разреза графа, построенного на множестве снимков, с использованием супер пикселов в качестве вершин и уточнения силуэта с применением, так называемых визуальных конусов. Полученные таким образом силуэты используют в качестве одного из ограничений при последующем автоматическом построении цифровых трехмерных моделей объектов;

- алгоритмы, построенные с использованием нейросетей. Дают возможность визуализации 3D объекта на основе распознавания фоторяда [7]. Эффективность такого подхода зависит от тех данных, на которых происходит первоначальное обучение системы без учёта помех реальных фотоснимков.

К достоинствам представленных алгоритмов можно отнести относительную простоту реализации и возможность использования данных без дальнейшей математической обработки; недостатки – большое число операций, используемых при выводе информации и возможность потери ее целостности, что приведет к искажению графического представления 3D объекта при его визуализации.

Несмотря на наличие разнообразия готовых решений, каждый разработчик программной системы сталкивается с выбором метода визуализации 3D объекта и способом представления его внутренний структуры и параметров. Например, можно использовать нейросетевое моделирование, метод конечных элементов или же цифровой куб, как способ идентификации и визуализации объекта. Первые два способа, несомненно, имеют ряд достоинств, но не всегда могут быть использованы в связи с необходимостью построения целостного многоуровневого подхода к моделированию визуального представления объекта и значительной вычислительной сложности, требующей зачастую мощного технического оснащения. Поэтому для решения задачи визуализации 3D объекта был выбран формат представления информации о нём в виде цифрового куба. Суть такого подхода заключается в детальной визуализации трехмерного тела в виде многослойной полигональной сетки, узлы которой связаны между собой (рис. 2).

Рис. 2. Вершинная полигональная сетка

Методика построения многослойной полигональной сетки состоит из нескольких алгоритмов, объединенных в единый модуль визуализации объекта. Алгоритм расчета положений вершин полигональной сетки позволяет определить координаты точек каждого слоя, причем общее количество слоев может варьироваться в зависимости от необходимой детализации визуального представления 3D объекта (рис. 3) и основывается на реализации последовательных процедур, использующих в качестве основных параметров следующие переменные: i – идентификационный номер, характеризующий узел сетки, N – общее количество узлов трехмерного тела, pos – трехкомпонентные вектор, содержащий информацию о координатах вершин в трехмерном пространстве, вектор , характеризующий положение вершины в пространстве.

Рис. 3. Алгоритм расчета положений вершин полигональной сетки

Алгоритм включает в себя процедуры, позволяющие в зависимости от количества вершин (величина N), описывающих форму 3D объекта, получить массив значений, который описывает координаты каждого узла полигональной сетки.

Алгоритм визуализации цифрового куба для 3D изображения

Следующий алгоритм состоит из набора функций позволяет реализовать визуализацию цифрового куба с применением открытой графической библиотеки OpenGL Mathematics [16-18], в которой представлены основные функции операций матричных преобразований в трехмерном пространстве, что позволило использовать базовые методы OpenGL для отображения текущего положения полигональной сетки с учетом параметров локации в трехмерном пространстве (рис. 4).

Рис. 4. Ментальная карта процесса визуализации

Координаты вершин каждого узла полигональной сетки передаются в функцию glBufferData для дальнейшего использования. Алгоритм работы функции заключается в следующем: выделяется участок памяти на графическом устройстве, который заполняется переданным массивом координат вершин. Частичное обновление данных видеопамяти достигается с помощью функции glBufferSubData, в которой задается диапазон для изменения параметров. После чего вызывается функция glDrawArrays, в которую передаются следующие параметры: тип отображаемого примитива, индексы границ диапазона массива. В результате формируется итоговое изображение в памяти кадрового буфера, вывод которого, осуществляется с помощью функции glSwapBuffers. Для визуализации изображения так же используется аппаратный ускоритель, подразумевающий использование графического ускорителя. Суть данного алгоритма заключается в следующем – поддержка многопоточности между центральным и графическим процессорами, первый из которых выполняет от одного до двух потоков вычислений на одно процессорное ядро, а второй может поддерживать несколько тысяч потоков на каждый мультипроцессор. Использование графического процессора позволяет снизить нагрузку на центральный процессор, но в этом случае необходимо учитывать, что скорость передачи данных между центральным и графическим процессорами ограниченна и следует правильно распределять нагрузку между ними.

Общая схема работы модуля визуализации представлена на рисунке 5.

Рис. 5. Алгоритм работы модуля визуализации

Для преобразования и хранения информации о позициях вершин разработана структура, позволяющая адаптировать данные в формат, используемый при визуализации, который зависит от специфики программного интерфейса системы. Структура представляет собой одномерный массив данных размерностью (3*N) (рис. 6).

Рис. 6. Схема структуры хранения информации о координатах вершин полигональной сетки

Вершины, составляющие полигональную сетку, описываются набором трехмерных координат (x, y, z), определяющим их точное положение в виртуальном пространстве цифрового куба. Хранение информации организовано в формате массива, для каждого элемента которого требуется как минимум 12 байт. Инициализация всей структуры цифрового куба начинается с определения местоположения первой вершины относительно экранного пространства визуальной формы программы с учетом смещения относительно начала буфера памяти, значение которого для самого массива будет равным нулю.

Алгоритм генерации цифрового куба включает этап считывания данных из памяти для получения координат частиц из структуры хранения данных 3D куба. Функциональная схема работы АРС приведена на рис. 7.

Рис. 7. Функциональная схема работы программного модуля для трансформации и визуализации виртуального объекта

На рис. 7 введены обозначения: МЭ – процедура масштабирования экрана; 1 – 4 – один из видов преобразования поворота или сжатия.

Перспективы развития проекта

Следует отметить, что дальнейшая разработка тренажера-эмулятора УЗИ аппарата для обучения студентов медицинских вузов включит все алгоритмы, описанные в статье. Она будет дополнена модулем для формирования динамических массивов исходных данных по фоторяду с возможностью построения объекта и его трансформации: изменению размеров, масштабированию и повороту. Исходный объект будет представляет собой набор плоских изображений, упорядоченных по времени их получения за один проход датчиков аппарата УЗИ. Получение такого массива данных позволит сформировать 3D изображение путем синтеза плоских графических областей с последующей сборкой в формате цифрового куба. Пример консолидации плоских изображений реального объекта с возможностью раскрытия внутренней структуры цифрового куб приведен на рис. 8. Описание технологии получения виртуального объекта планируется в последующих работах.

Рис. 8. Схема генерации цифрового куба

Следует отметить, что на первом этапе реализации проекта по созданию тренажера-эмулятора УЗИ аппарата был разработан модуль, позволяющий выполнять деформацию цифрового куба, теоретические аспекты алгоритмов которого основаны на использовании физических законов, таких как закон Гука и второй закон Ньютона. В результате визуализировано изменение формы полигональной сетки при имитации воздействия внешней силы на объект, то есть, представлен процесс деформации в целом или по выбранным узлам (рис. 9). Дальнейшее использование представленного модуля позволит выполнить реализацию имитации воздействия джойстика аппарата УЗИ на мягкие ткани поверхности человеческого тела с возможностью контроля силы воздействия, что позволит при обучении студентов-медиков контролировать степень нажатия на джойстик и предотвратить возможность болевого ощущения у пациента при обследовании с использованием аппарата УЗИ.

Рисунок 9 – Визуализация процесса деформации: а – визуализация процесса деформации; б – деформация тела по выбранным узлам

Следует отметить, что реализация программного модуля визуализации 3D цифрового куба выполнена с использованием языка программирования C++; функций и процедур библиотеки OpenGL, не зависящей от платформы программного интерфейса для приложений, использующих двумерную и трёхмерную компьютерную графику; кросс-платформенной библиотеки Qt фирмы TrollTech для создания графических пользовательских интерфейсов (GUI). Эта библиотека полностью объектно-ориентированная, что обеспечивает легкое расширение возможностей и создание новых компонентов.

Заключение

В результате реализации первого этапа проекта были разработаны алгоритмы, позволяющие построить полигональную сетку для представления 3D объекта в виде цифрового куба, реализованы структуры для хранения и дальнейшего использования всей необходимой информации, а так же сгенерирован модуль, позволяющий выполнить визуализацию изменения формы объекта при деформации, вызванной воздействием внешней силы на него. Представленные алгоритмы позволят в дальнейшем спроектировать и реализовать программное обеспечение для тренажера-эмулятора аппарата УЗИ. Перспективными направлениями развития проекта являются:

– автоматический анализ получаемого изображения, представленного в формате ряда фотоснимков, по результатам которого определяется структура 3D объекта;

– построение 3D изображения графического объекта на основе анализа его фотоизображения в формате цифрового куба;

– реализация алгоритмов, позволяющих отображать трансформацию построенного 3D объекта с детальным отображением всех изменений при повороте, деформации и масштабировании.

References
1. Khan M.D., Ignatenko A.V. Osnovannye na izobrazheniyakh sposob predstavleniya i vizualizatsii trekhmernogo ob''ekta i sposob predstavleniya i vizualizatsii animirovannogo ob''ekta. Patent na izobretenie RU 2216781 C2, 20.11.2003. Zayavka № 2001118221/09 ot 29.06.2001.
2. Supel' A., Khvostov P.M., Ignat'ev K.E. Otsenka effektivnosti proektirovaniya trekhmernykh poligonal'nykh modelei kak sposoba vizualizatsii illyustrativnoi informatsii // Sovremennye informatsionnye tekhnologii: sb. tr. 5-oi Vser. nauch.-tekhn. konf, M.: OOO «Nauchnyi konsul'tant», 2019. S. 115-120.
3. Ksenofontov S. Yu. Sposob trekhmernoi vizualizatsii vnutrennei struktury issleduemogo ob''ekta v real'nom vremeni. Patent na izobretenie RU 2681348 C1, 06.03.2019. Zayavka № 2018114616 ot 19.04.2018
4. Blokhinov Yu.B., Verkeenko M.S. Algoritmy postroeniya tsifrovykh trekhmernykh modelei unikal'nykh ob''ektov. // Izvestiya Rossiiskoi akademii nauk. Teoriya i sistemy upravleniya. 2011. № 4. S. 118-131.
5. Gorodnichev M.G., Gematudinov R.A., Kukharenko A.M. O nekotorykh metodakh vizualizatsii dinamicheskikh 3D modelei // Ekonomika i kachestvo sistem svyazi. 2018. №1(7). S 18-29.
6. Aleksanyan G.K., Shcherbakov I.D., Kucher A.I. Programma vizualizatsii vnutrennikh struktur issleduemogo ob''ekta metodom elektroimpedansnoi tomografii (Vizualizatsiya 3D-EIT1). Svidetel'stvo o registratsii programmy dlya EVM RU 2018666295, 13.12.2018. Zayavka № 2018662721 ot 13.11.2018.
7. Zhilyakov E.G., Likhosherstnyi A.Yu. Arkhitektura neiroseti v zadache pretsedentnogo raspoznavaniya ob''ektov na izobrazheniyakh s ispol'zovaniem chastotnykh priznakov // Voprosy radioelektroniki. 2013. T. 4. № 1. S. 35-45.
8. Bagutdinov R.A. Ideya mnogorakursnoi sistemy tekhnicheskogo zreniya dlya formirovaniya 3D-modelei poverkhnosti ob''ekta v zadachakh razrabotki mobil'nykh robotov //Programmnye sistemy i vychislitel'nye metody. 2017. № 4. S. 1-6.
9. Osintsev A.V., Ochkov K.Yu. Vizualizatsiya peremeshchenii i deformatsii metodom tsifrovoi korrelyatsii izobrazhenii // Nauchnaya vizualizatsiya. 2016 . T. 8. № 2. S. 15-23.
10. Bugakova T.Yu. Trekhmernoe modelirovanie deformatsii inzhenernogo ob''ekta metodom splain-interpolyatsii // Vestnik SGUGIT (Sibirskogo gosudarstvennogo universiteta geosistem i tekhnologii). Novosibirsk. 2019. S. 96-105.
11. Kravchenko A.M., Semerenko I.P., Ikama D.L. Modelirovanie i vizualizatsiya napryazhenno-deformirovannogo sostoyaniya mekhanicheskikh sistem v usloviyakh sovremennoi obrazovatel'noi sredy // Nauchnyi rezerv. 2019. № 4 (8). S. 92-98.
12. Koznov D.V., Larchik E.V.1, Terekhov A.N. Transformatsiya dinamicheskikh predstavlenii v predmetno-orientirovannom vizual'nom modelirovanii // Programmirovanie. 2015 . № 4. S. 3-12.
13. Bagutdinov R.A. Ideya mnogorakursnoi sistemy tekhnicheskogo zreniya dlya formirovaniya 3D-modelei poverkhnosti ob''ekta v zadachakh razrabotki mobil'nykh robotov //Programmnye sistemy i vychislitel'nye metody. 2017. № 4. S. 1-6.
14. Litvinova Yu.S., Maksimenko-Sheiko K.V. // Analiticheskaya identifikatsiya trekhmernykh geometricheskikh ob''ektov po informatsii o forme ikh sechenii. Problemy mashinostroeniya. 2017. T. 20. № 1. S. 45-51.
15. Glaz A.B., Timukhin A.A. Vosstanovlenie 3d poverkhnosti lits na baze iskhodnykh 2D izobrazhenii // Matematicheskie metody raspoznavaniya obrazov. 2005. T. 12. № 1. S. 69-72.
16. D'yakonov V.P. Entsiklopediya komp'yuternoi algebry. M.: DMK. 2018. Press. 1257s.
17. Bastov G.A. Tekhnologii graficheskoi transformatsii ob''ektov v usloviyakh ispol'zovaniya komp'yuternoi grafiki // Dizain i tekhnologii. 2016. № 51 (93). S. 6-12.
18. Ginsburg, D. OpenGL ES 3.0. Rukovodstvo razrabotchika. M.: DMK Press. 2015. 448s.