ВВЕДЕНИЕ 3
1. ОСНОВНЫЕ ТРЕБОВАНИЯ И ПРИОРИТЕТЫ ВЫБОРА ПРОГРАММНЫХ СРЕДСТВ РЕАЛИЗАЦИИ 8
2. АНАЛИЗ МАТЕМАТИЧЕСКИХ И АЛГОРИТМИЧЕСКИХ МОДЕЛЕЙ
МЯГКИХ ТКАНЕЙ 10
3. АРХИТЕКТУРА СИСТЕМЫ. РАЗРАБОТКА МЕТОДИКИ ПОЛУЧЕНИЯ
ИСХОДНЫХ ДАННЫХ ДЛЯ МОДЕЛИРОВАНИЯ 14
4. ОСОБЕННОСТИ РЕАЛИЗАЦИИ МОДЕЛИ МЯГКИХ ТКАНЕЙ В
СРЕДЕ UNITY3D 18
5. СПОСОБЫ ИСПОЛЬЗОВАНИЯ ПОЛУЧЕННОЙ МОДЕЛИ В
РАЗЛИЧНЫХ ПРОЕКТАХ, МЕТОДЫ ПОВЫШЕНИЯ КАЧЕСТВА РЕЗУЛЬТАТОВ МОДЕЛИРОВАНИЯ 27
ЗАКЛЮЧЕНИЕ 29
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33
В настоящее время все большую актуальность приобретают вопросы, связанные с роботизацией и автоматизацией различных видов человеческой деятельности. Не исключением является и медицинская отрасль знаний, испытывающая в настоящее время серьезное влияние со стороны инноваций и технологий, хотя и по-прежнему являясь, в достаточной мере консервативной. К перспективным областям применения высоких и инновационных автоматизированных технологий можно отнести генетические исследования, лабораторные исследования, методы лучевой, магнитно-резонансной, ультразвуковой диагностики, биоинженерные приложения, компьютерную хирургию, телеметрию и дистанционную хирургию [7] и т.д.
В настоящее время, серийно производится и внедряется робот- ассистированная хирургическая система «da Vinci» [17][14], в том числе и в медицинских учреждениях России. Актуальность создания подобных аппаратов растет пропорционально требованиям предоставления качественной высокотехнологической медицинской помощи, необходимостью снижения стоимости проводимых хирургических вмешательств, повышению качества проводимых операций. Следует отметить, что подобные комплексы не могут существовать без развитого математического и программного обеспечения, коммуникационной инфраструктуры (СПД), средств мониторинга и диагностики[5].
Ввиду вышесказанного, все больше значение приобретает вопрос разработки математических и программных моделей, отражающих все аспекты функционирования роботизированных хирургических систем. Включая как модели управления приводами (мехатронные модели и алгоритмы), позиционирование (интерполяция траекторий, расчет кинематических параметров системы), сбор данных с различных сенсорных диагностических систем (математическое обеспечения решения обратных задач, распознавание образов, 3-х мерная компьютерная геометрия, SmartGrids и т.д.)[11], а также модели взаимодействия хирургического робота непосредственно с живой тканью. Последнее направление тесно связано с объектом и предметом данной работы, но также следует отметить, что области применения разрабатываемых моделей существенно шире вопроса применения роботизированных хирургических комплексов.
Вопросам моделирования мягких тканей уделялось существенное внимания задолго до появления понятия робота[16], и самих электронных вычислительных машин. Одними из первых направлений, в рамках которых возникла потребность в разработке рассматриваемых моделей, являются область военных наук и криминалистика. Еще в первой половине XX проводились работы по взаимодействию мягких тканей с «твердыми телами» при получении тех или иных травм (огнестрельных, осколочных, колотых, резаных и т.д.), но данные работы носили качественный характер и обычно дополнялись средствами натурального имитационного моделирования (создавались различные физические модели), устанавливались эмпирические закономерности, проводился качественный анализ. Указанные результаты обобщались и систематизировались, для возможности их использования в форме атласов и справочников. Дальнейшее развитие вопрос моделирования мягких тканей получил в работах, связанных с биомеханикой, но опять же на пути их исследования встали определенные вычислительные сложности, что сделало невозможным практическое их применение на начальных этапах. В первую очередь хотелось бы отметить ученого Н.А. Бернштейна, работы которого носили основополагающий характер в области биомеханики. Однако следует отметить несмотря на то, что работы проводились в 20-30 годах XX века, опубликованы в массовой печати они были уже в 70-80 гг. Практическую значимость и соответствующее распространение, как исследования, так и публикации в данной области начинают получать с появлением и развитием электронно-вычислительной техники, со всем спектром связанных научных областей и дисциплин. В данный период (50-70 гг. XX в) происходит интенсивное создание различных вычислительных алгоритмов и подходов к моделированию различных сущностей физического мира. В данный период возникает и развивается метод конечно-элементного анализа (Finite Element Analyses - FEM)[4][10], разрабатываются теории вычислительной сложности, информационные оценки сложности и вычислимости моделей, что переводить вопрос теоретического исследования моделей в область практической (алгоритмической) реализации [3].
С дальнейшим развитием вычислительной техники, снижением удельной стоимости вычислительной операции, повышением степени интеграции, миниатюризации средств электронно-вычислительной техники происходит постепенный переход от теоретико-академического этапа создания моделей к их практическому прикладному использованию [21] [22]. Создаются пакеты средств моделирования, направленные на вычисления специфических задач диагностики и хирургии, разрабатываются модели для отдельных тканей и органов [12]. Указанные модели приобретают не только научную, но и коммерческую ценность, так как непосредственно участвуют в цепочке создания добавленной стоимости медицинских услуг (особенно ярко это проявляется в области пластической хирургии) [18]. Тем не менее, условно выделяя историческую (временную) границу, как конец нулевых начало десятых годов XXI века, можно сказать, что общая тенденция развития биологических моделей, медицинских моделей, алгоритмов и средств существенно изменилась. Если до условного в конце XX века разработка как алгоритмов так и программно-аппаратных средств носила коммерческий характер, что выражалось высокой степени экономической дифференциации продуктов (т.е. создавались специализированные продукты на базе проприетарных форматов данных и технологий, носящие узкий характер, стоимость которых определялось потенциальной экономической выгодной от их использования, а не фундаментальными характеристиками стоимости процесса их создания), а интегрированные продукты являлись агрегацией различных компонент (с соответствующей аддитивной политикой к ценообразованию), то в настоящее время появляется масса программных продуктов основанных на открытом исходном коде, а также распространяющиеся с использованием той или иной открытой лицензии.
Подобные изменения в первую очередь нужно связывать:
• продолжающимся снижением стоимости вычислительных мощностей;
• появлением высокопроизводительных вычислительных архитектур, основанных на массовом параллелизме;
• реализацией аппаратной поддержки высокопараллельных вычислений на основе GPU (реализованных в соответствующих библиотеках, таких как OpenCL);
• появлением средств FPGA (Field Programmable Gate Arrays);
• государственной поддержкой отдельных стан открытых проектов [8].
С учетом вышеуказанных обстоятельств, особое значение приобретает не столько разработка математического и алгоритмического обеспечения, сколько использования такого набора программных средств и технологий, который позволяет в максимальной степени снизить порог доступности использования моделей мягких тканей. Можно сказать, обеспечить их популяризацию на основе интеграции с более сложными в техническом плане, а следовательно, менее распространенными в среде разработчиков и исследователей средств, для создания эффективного сообщества, способного поддерживать и развивать модели, являющиеся для настоящей работы предметом исследования.
Таким образом, для решения данной задачи следует провести анализ путей создания модели мягких тканей в среде Unity3d, реализовать с помощью возможностей среды выбранную математическую и алгоритмическую модель, применить полученную модель к мягким тканям человеческого тела.
В ходе выполнения данной работы была произведена алгоритмическая и программная разработка модели мягких тканей в среде Unity3d. В качестве базовой модели была использована «пружинная модель» мягкого тела.
Таким образом, был практически реализован отсутствующий в среде механизм моделирования целого ряда физических сущностей предметной области. Были решены ряд технических проблем создания моделей и их практического вычисления с учетом ограничений налагаемых средой выполнения платформы моделирования Unity3d.
Учитывая техническую сложность поставленной задачи, в ходе выполнения работы были использованы не только средства интерпретируемого языка C#, но и созданы предварительно откомпилированные библиотеки, для осуществления создания моделей, пригодных для расчетов оптимизированными вычислительными подсистемами поддержки физической модели Unity3d.
Для обеспечения процесса моделирования входными данными была разработана методика обработки томографического изображения в формате DICOM, с построением твердотельной модели на базе различных алгоритмов сегментации тканей, в том числе и адаптивных, оптимизации полученной полигональной поверхности. Для демонстрации работы модели были сформулированы соответствующие методы, обеспечивающие практическое использование создаваемой модели с учетом ограниченности аппаратных ресурсов. К ним в первую очередь относятся средства фрагментации частей тела, обеспечивающее их закрепление в пространстве, с учетом возможных степеней свободы способа закрепления. Созданы средства поддержки моделирования и визуализации медицинского инструмента, на основе любой 3d модели.
Учитывая то, что в рамках настоящей работы были применены технические решения, выходящие за рамки использования платформы моделирования Unity3d и средств языка скриптов C#, целесообразно отметить возникающие ограничения и допущения при преобразовании различных форматов данных, влияющее на сложность вычисления и возможность практического применения модели.
Одним из существенных результатов работы является методика формирования «твердотельных» моделей в stl формате с использованием общедоступных алгоритмов сегментации типа watershade, для выделения отдельных слоев на объединенной воксельной пространственной структуре данных. Следует учитывать, что воксельная пространственная структура, сама по себе, не содержит качественной информации о границе представленных на томографических изображениях тканей и органов, а лишь содержит усредненные параметры характеристик вокселя (размеры которого приблизительно равны разрешения томографа) относительно поглощения рентгеновского излучения. Таким образом реконструированные модели являются не только результатом решения обратной задачи рассеивания рентгеновского излучения, а также содержат в себе результаты того или иного алгоритма кластеризации либо классификации.
Выбранный алгоритм сегментации в данном случае существенно превосходит результаты, получаемые при применении различных пороговых (в том числе и в логарифмическом масштабе), а также квантовых алгоритмов. Однако полученные результаты являются промежуточными и могут быть улучшены, принимая в внимание как очевидные семантические допущения относительно гладкости и непрерывности, так и используя адаптивный или многопроходный алгоритм, использующий непосредственно модель мягкой ткани, т.к. свойства распределения клеток ткани зависят от морфологических особенностей связей клеток рассматриваемой ткани, что позволяет сузить пространство решений и уточнить классификацию, используя априорную информацию о форме органа тела. Данная двунаправленная связь (исходные данные О модель мягких тканей) может быть полезна при определении патологических включений деформирующих здоровую ткань, при условии отсутствия существенных различий по характеру поглощения рентгеновского излучения. Частным случаем подобного использования могут переломы и разрывы в связывающих суставных тканях. Следует также отметить, что предложенный подход, основанный на выделении интересующих областей для исследования из общего объема данных, принципиально необходимый для сокращения объема вычислений привел к необходимости введения граничных условий. Для моделирования изолированной части ткани пришлось бы вводить дополнительные отношения (либо специальные точки моделируемой ткани, граничные точки), которые бы обеспечивали схожее поведение моделируемого объема выделенного для расчета и указанного объема как части общего фрагмента ткани или органа. Такое решение было найдено с использованием средств самого пакета моделирования, путем ограничения, как абсолютной подвижности, так и относительной (в виде вращения), что существенным образом упрощает процесс подготовки модели для проведения расчетов.
Также был найден общий способ снижения вычислительной сложности модели с применением средства предварительной обработки полигональных поверхностей, с целью снижения количества граней, ребер и вершин. Указанный результат также был получен с использованием инструментов с открытым исходным кодом (библиотека работы с 3х мерными объектами vtk и программный инструмент на ее основе meshlab). Отдельно следует отметить, что модели мягких тканей, в не зависимости от примененной математической абстракции и соответствующей модели требуют существенных вычислительных ресурсов, а также в перспективе полноценного использования высокопараллельных вычислительных архитектур реализованных на специализированных процессорах и кластерах процессоров с архитектурой CUDA, что не возможно с использование лишь встроенных средств Unity3d. Для решения указанного противоречия был реализована архитектурная инкапсуляция алгоритма расчета и добавления элементов моделируемого тела в отдельную компилированную библиотеку, что позволяет, в принципе, использовать программно-аппаратные решения на основе OpenCL (либо аналогичной библиотеки), для увеличения сложности моделей и сокращения времени моделирования (приближения к масштабам реального времени).
Также следует отметить, что существенный интерес представляло использование физических алгоритмов (которые реализованы внутренними оптимизированными средствами) среды Unity3d, что при сохранении достаточной производительности позволяет включать разрабатываемые модели в общую модель физического пространства среды. Таким образом, обеспечивается возможность относительно легкой интеграции со сторонними приложениями, написанными и предназначенными для использования в среде Unity3d.
1. D. Baraff. Curved surfaces and coherences for nonpenetrating rigid body simulation. Computer Graphics, 24(4):19-28, 1990.
2. D. Baraff and A. Witkin. Dynamic simulation of nonpenetrating flexible bodies. Computer Graphics, 26(2):303- 308, 1992.
3. D. Baraff and A. Witkin. Large steps in cloth simulation. In ACM SIGGRAPH 98 Conference Proceedings, pages 43-52, 1998.
4. M. Bro-Nielsen and S. Cotin. Real-time volumetric deformable models for surgery simulation using finite elements and condensation. Computer Graphics Forum (Eurographics’96), 15(3):57-66, 1996.
5. J. Brown, K. Montgomery, J.-C. Latombe, and M. Stephanides. A microsurgery simulation system. In Fourth International Conference on Medical Image Computing and Computer-Assisted Intervention (MICCAI 2001), Oct. 2001.
6. J. D. Cohen, M. C. Lin, D. Manocha, and M. K. Ponamgi. ICOLLIDE: An interactive and exact collision detection system for large-scale environments. In Proceedings of ACM Interactive 3D Graphics Conference, pages 189-196, 1995.
7. S. Cotin, H. Delingette, and N. Ayache. A hybrid elastic model allowing real-time cutting, deformations and forcefeedback for surgery training and simulation. The Visual Computer, 16(8):437-452, 2000.
8. H. Delingette. Towards realistic soft tissue modeling in medical simulation.
In Proceedings of the IEEE : Special Issue on Surgery Simulation, pages 512-523, Apr. 1998.
9. S. Gottschalk, M. C. Lin, and D. Manocha. OBB-tree: A hierarchical structure for rapid interference detection. In ACM SIGGRAPH 96 Conference Proceedings, pages 171-180, 1996.
10. D. H. House and D. E. Breen, editors. Cloth Modeling and Animation. A.K. Peters, Ltd., 2000.
11. A. Joukhadar and C. Laugier. Dynamic simulation: Model, basic algorithms, and optimization. In J.-P. Laumond and M. Overmars, editors, Algorithms For Robotic Motion and Manipulation, pages 419-434. A.K. Peters, Ltd., 1997.
12. E. Keeve, S. Girod, and B. Girod. Craniofacial surgery simulation. In Proceedings of the 4th International Conference on Visualization in Biomedical Computing (VBC ’96), pages 541-546, Sept. 1996.
13. E. Keeve, S. Girod, P. Pfeifle, and B. Girod. Anatomy-based facial tissue modeling using the finite element method. In Proceedings of IEEE Visualization ’96, 1996.
14. J. Felger J.E., Nifong L. The evolution of and early experience with robot assisted mitral valve surgery. Surg Laparosc Endosc Percutan Tech 2002; 12: 58—63.
15. R. M. Koch, M. H. Gross, F. R. Carls, D. F. von B'uren, G. Fankhauser, and Y. I. H. Parish. Simulating facial surgery using finite element models. In ACMSIGGRAPH 96 Conference Proceedings, pages 421-428, 1996.
16. U. G. K'uhnapfel, H. K. C, akmak, and H. MaaB. Endoscopic surgery training using virtual reality and deformable tissue simulation. Computers & Graphics, 24:671 -682, 2000.
17. Marescaux J., Leroy J., Rubino F. et al. Transcontinental robot-assisted remote telesurgery: feasibility and potential applications. Ann Surg 2002; 235: 487—492.
18. D. Terzopoulos and K.Waters. Physically-based facial modelling, analysis, and animation. The Journal of Visualization and Computer Animation, 1:7380, 1990.
19. R. V. O’Toole, R. R. Playter, T. M. Krummel, W. C. Blank, N. H. Cornelius, W. R. Roberts, W. J. Bell, and M. Raibert. Measuring and developing suturing technique with a virtual reality surgical simulator.
Journal of the American College of Surgeons, 189(1): 114-127, July 1999.
20. P. Volino and N. Magnenat-Thalmann. Collision and selfcollision detection: Efficient and robust solutions for highly deformable surfaces. In Eurographics Workshop on Animation and Simulation, 1995
21. G. Picinbono, H. Delingette, and N. Ayache. Non-linear and anisotropic elastic soft tissue models for medical simulation. In Proceedings of the IEEE International Conference on Robotics and Automation, May 2001.
22.S. D. Pieper, D. R. Laub, Jr., and J. M. Rosen. A finiteelement facial model for simulating plastic surgery. Plastic and Reconstructive Surgery, 96(5): 1100—1105, Oct. 1995.