基于分群和几何约束的器官外部组织快速剥离方法
2022-05-31蒋先刚张红斌
蒋先刚,张红斌
1.华东交通大学理学院,江西南昌 330013;2.华东交通大学信息工程学院,江西南昌 330013
前言
基于种子填充、主动轮廓模型和深度神经网络学习等算法的体数据分割方法能有效分割出所需的器官组织[1];但临床和手术过程中有许多复杂病例,分割方法对包含肿瘤块和区域粘连交错的体数据的处理缺少鲁棒性[2],许多人工智能和传统分割方法不能实现切实有效的内部器官实时显示。
本研究基于图形处理单元(Graphics Processing Unit, GPU)的器官组织切割方法和渲染技术,采用OpenGL 着色语言(OpenGL Shading Language,GLSL)技术实现器官组织三维掩模的快速构建,并提取相关器官组织。此外,本研究还探讨了空间约束下分层次组织剥离的方法和技术。结果表明使用本研究设计的分割工具能在三维可视环境下进行疾病的辅助诊断。
1 器官分割和剥离方法
1.1 几何约束的器官组织剥离方法
本研究主要采用切割和剥离的方法实现器官组织内部分布呈现。体数据器官组织的分割流程如图1 所示,首先通过选择三维几何原型和绘制平行投影面的二维图形来产生组合的几何掩模;然后在这些更小的数据集中,通过种子填充和其他分类方法,将组合几何掩模划分为不同的群组和连通域[3-4]。为实现对图1中腿部骨骼组织的细节表达,首先在投影图上绘制一个二维曲线,构成任意形状柱体;然后通过对柱体体数据进行分类等处理,将该柱体掩模分成对应于肌肉和骨骼等不同块群,可将这些块群定义为“0”或者“1”等标签;最后通过原体数据和这些标签进行代数处理,从而达到一定区域的骨骼可见而肌肉和皮肤不可见的视觉效果[5]。
图1 几何约束和分群的分割和剥离过程Figure 1 Procedure of segmentation and peeling by geometric constraints and clustering
图2 是头部通过分群分割方法剔除部分后头壳的过程。在三维渲染图像的中部绘制将要划定的任意形状柱体的平行于投影面的浅蓝色二维图形范围(图2a),头部的后头皮、头骨和大脑等在该任意形状定义的柱体投影方向上,各组织的亮度域、颜色值和透明度是不同的,因而产生了在投射方向上在圈定范围内有着不同连通域层片块。图2b表示被考查的任意形状的三维柱体,通过调整透明度、亮度和其他属性,使柱体内部的组织在垂直投影面的方向构成3个群,包括比较多粘连的脑前部组织1、在投影方向上起隔离作用的隔膜组织2 和将被剔除的部分后头壳组织3。如图2c所示,通过选择分群的序号而使相应的分群组织消失,记录动态消失组织对应的三维掩模为动态掩模,在确认分割效果后,将其转换为合成掩模,而原始的体数据并没有被修改或丢失。
图2 头部在任意形状柱体方向的分群分割Figure 2 Clustering segmentation of geometric restrained head
1.2 三维掩模数据的GPU程序处理
当对大的体数据集依属性不能进行有效分割时,可通过划定空间的范围而使选择的体素具有可分性,进一步将体素根据更多细分的属性而划分在感兴趣区域、动态掩模、合成掩模和分群图像这些容器中,通过相互间的交、差、并,得到可分群的体素连通域[6-8]。 图3 是在原几何约束动态掩模dynamicMask 基础上继续按亮度属性阀值对其进行分群而产生细分的动态掩模的着色程序。程序中dynamicMask为几何约束产生的动态掩模,通过属性阀值AttributeHigh 和AttributeLow 进一步对这个动态掩模进行按属性的任意形状挖切和分群,而GLSL程序的快捷性也使得这种挖切能达到实时交互效果。
图3 按几何约束的动态掩模进行分群的程序Figure 3 Code for clustering geometrically constrained dynamic masks
1.3 有符号距离场的三维容积开运算
有符号距离函数是某度量空间X 中的一个集合的函数,决定X 中任一点到Ω 边界的距离。x在Ω 边界内时,函数为正;反之为负。有符号距离函数用式(1)表达,通过计算空间点在已有连通域的里面还是外面而确定对连通域进行腐蚀或膨胀操作,腐蚀和膨胀的组合就是开运算。
其中,x为体素亮度纹理,Ω表示作用空间。针对器官组织区域的空洞填充,采用有符号的距离场开运算更适合实际填充要求,距离场运算考虑了整个体数据间的相互关系,在体数据膨胀和腐蚀过程中始终根据全局体素的亮度分布的整体性来消除毛刺和空洞。
图4 用三维图像表达了整个肺部组织提取的过程。图4a是原始的包括肺部的上胸部分CT 图像,通过选定合适的窗口窗位和灰度等属性阀值范围得到的连通域图像如图4b 所示;通过交互选择肺实质所在连通域序号而得到图4c 所示的肺实质掩模。由于左肺附着一个较大的肿瘤和其他与肺实质属性不一样的肺气管等组织[9],将其以空洞形状存在。图4d是对肺部初步提取的掩模进行有符号距离场开运算而得到的合成掩模,包含血管、支气管等其他附着的肺部组织,包括较为丰富的血管、淋巴管、支气管和肿瘤等组织。
图4 肺部组织的分割Figure 4 Lung segmentation
1.4 分区域数据划分
人体各个器官组织和系统是相互缠连而不易分割的;但如果将它们按照属性分组,并将其放在同样的几何空间而在不同描述的容器中,就能使属性更加个性化和有序化,便于有目的的分析和解剖。可采用不同几何约束得到不同的动态掩模。其中,几何约束包括圆柱、球、立方体和任意形状柱体等,同时这些几何约束的切割都带有属性(亮度、梯度、对比度和Hessian特征)选择和景深控制等。将划分空间中的数据集依滤波数据细分到感兴趣区域、动态掩模、最后合成掩模这些同空间的不同容器中进行交互利用和处理,从而达到依属性在空间分群的目的。
通过景深的控制可使几何约束在投影方向上得到进一步约束,也就是组织切割的深度由剖切面到视点的距离来确定[10-11]。在小腿的右上部通过控制景深和组织属性而只在左脚剥离前部的皮肤和肌肉,使骨骼得以呈现(图5)。图5的中下部是采用划定区域的透明度剥离方法得到的显示效果,其剥离的深度由透明度累积值而定,如对于耻骨等高密度内部组织为目标的剥离,按属性和划定柱体范围的分割方法优于透明度剥离。
图5 依景深的分割和依透明度的剥离Figure 5 Peeling by depth of field and transparency
对于全心脏分割,包括胸骨绑捆钢丝伪影和起搏器械影像等干扰时,传统分割方法和人工智能方法都不适应这种复杂数据的分割。图6a 为消除肺部的胸部组织的图像,在易于观察心脏与胸肌和肋骨间分界的方向产生的投影图右上方绘制一浅黄色封闭区域,得到二维掩模如图6b右上所示,并产生任意柱面体切割结果(图6c);心脏前的右边大部分遮挡组织被移走,采用多次类似切割方法可得到全心脏分割图,且保留心肌外的脂肪分布丘形(图6d)。结合进一步的冠状动脉分割,可为搭桥手术在心外脂肪处找到合适的狭窄冠脉搭接切口提供参考。
2 器官组织分割实验和效率比较
本研究的器官组织分割辅助诊断工具在Windows 10 操作系统上进行开发,采用开源编程环境Lazarus 2.0.8,主机采用CPU I7 7700-HQ 笔记本电脑,图像卡为8 G 显存的GTX1070,实验数据选自于ELCAP、Kaggle 相关网站和合作医院提供的数据。一般性任意形状柱体的属性切割和剥离如在头部局部模拟开盖、腿骨细节分析和显示等解剖操作能在1~3 s内交互完成。
2.1 器官组织分割和剥离实验
传递函数控制着CPU 到GPU 纹理的颜色分布,每个不同属性的组织类型对应不同的区间,这些传递函数梯形结构在空间上具备一定的交叉性,故在综合渲染显示时需要对它们进行合并和融合[12-14]。需根据梯形的位置形状为每一类计算一个传递函数,强调k类目标的传递函数定义为tk(i),i为在亮度直方图的位置值。hk(i)为第k个传递函数梯形的红色元素,不同目标要同时表达时,红色元素的最后渲染结果是这几类目标红色分布的融合结果,如式(2)所示;其他绿色和蓝色元素渲染处理公式和该方法类似。
图6 全心脏分割Figure 6 Whole heat segmentation
其中,hk(i)为第k个梯形在i处的高度;Num 为显示该类组织时,在综合传递函数的梯形融合时所用的总数;n为综合表达需要强调使用梯形的种类。
式(3)表示当多个显示目标需要表达时,其总体传递函数的不透明度总是取这几个类型组织的传递函数梯形k在i处的最大值,即越不透明的目标在该i处最后融合效果更加明显。
图7a 是在合理传递函数下,同时显示手的血管、骨骼、肌腱和肌肉的分布;而图7b是在保留手臂皮肤的情况下,在手腕和尺骨部位剥离除骨骼以外的组织,而在手臂中部剥离肌肉上表的组织,其肌肉和血管仍然保留。图7c 是直接剥离肾脏周边组织的解剖实验,通过定义任意形状柱体范围而保留除肾脏周边外的整个身躯,通过体素连通域的属性而排除柱体内其他组织而呈现出肾脏与临近组织的渲染图像;而图7d是采用虚切割提取的肾脏。
图7 分割与剥离实验Figure 7 Segmentation and peeling experiments
2.2 器官分割效率比较
为了将器官组织在隔膜附近分割开来,需要对和器官组织存在交错粘连的体数据进行双边滤波处理,双边滤波处理可以消除瑞利和高斯噪声且有效保留边缘信息。式(4)为双边滤波的公式:
其中,I表示像素的亮度值或者颜色分量,该亮度值差距大的地方就是边缘部分,使其权重减小,其滤波效应也变小。公式的前一项为空间调整因子,后一项为亮度调整因子,Wij为计算得到的各点的滤波权衡系数。通过式(4)后部的修正而仍然保持梯度较大的局部图像部分,使图像平滑和边缘保持得到平衡。
将双边滤波和属性分群分割的算法在CPU 和在GPU 上的运行效率进行比较,T 和F 分别表示采用或不采用算法的选择(表1)。当体数据维数增加时,采用GPU 的预处理和分割效率提高更快;边界和组织间隔膜明显的体数据可不采用双边滤波处理,以提高运算速度,同时无双边滤波处理也会影响后续的分割效率。
表1 体数据滤波和分割效率比较Table 1 Comparisons of volume data filtering and segmentation efficiency
3 结语
本研究着重分析了基于分群和几何切割相结合的复杂CT 数据中器官组织的分割方法以及采用GPU 对分割数据进行快速处理的方法,将纠缠和交叉数据通过属性划分和空间划定等技术使复杂器官组织采样的数据能够以医生更易理解的图像方式呈现出来,使内部病灶状态以虚拟现实的方式表达出来。实验证明基于双边滤波、分群掩模体的器官数据处理方法加快了各种医学器官三维虚拟现实的处理速度和实用性,进一步的研究将着重于分割器官的实时三维打印输出。