发明内容
本发明实施例的目的在于提供一种颈椎分割矫正、曲度检测方法、系统、电子设备及介质,用以解决现有技术中难以自动分割颈椎CT图像且颈椎曲度检测精度有限的问题。
为实现上述目的,本发明实施例提供一种颈椎分割矫正方法,所述方法具体包括:
获取脊柱图像,对所述脊柱图像进行预处理,得到预处理图像;
将所述预处理图像输入H i gherHRNet神经网络,得到颈椎关键点;
对所述颈椎关键点进行拟合得到拟合颈椎曲线;
基于所述颈椎关键点识别单个颈椎位置;
将所述单个颈椎位置和所述预处理图像分别输入训练好的MT-UNet神经网络,得到单椎分割结果;
基于所述单椎分割结果对所述颈椎CT图像进行三维重建;
通过颈椎拟合曲线计算颈椎旋转矩阵,基于所述颈椎旋转矩阵矫正三维重建后的颈椎CT图像。
在上述技术方案的基础上,本发明还可以做如下改进:
进一步地,所述获取脊柱图像,对所述脊柱图像进行图像预处理,得到预处理图像,包括:
标注脊柱图像中的颈椎区域,基于所述颈椎区域获取脊椎图像;
将所述脊椎图像在矢状面方向进行投影,得到所述预处理图像。
进一步地,所述对所述颈椎关键点进行拟合得到拟合颈椎曲线,包括:
通过三次样条插值对所述颈椎关键点进行拟合得到拟合颈椎曲线。
进一步地,所述基于所述颈椎关键点识别单个颈椎位置,包括:
计算相邻两个颈椎关键点的距离为边界框长度,在相邻两个颈椎关键点中心位置与拟合线做垂线,延长垂线至所述边界框长度,提取所述单个颈椎位置。
进一步地,所述将所述单个颈椎位置分别输入训练好的MT-UNet神经网络分割单个颈椎,得到单椎分割结果,包括:
将所述预处理图像划分为训练集、验证集和测试集;
基于所述训练集训练所述MT-UNet神经网络;
基于所述验证集对所述MT-UNet神经网络进行性能验证,保存满足性能条件的MT-UNet神经网络;
基于所述测试集评估所述MT-UNet神经网络的单椎分割结果。
一种颈椎曲度检测方法,所述方法具体包括:
获取脊柱图像,对所述脊柱图像进行预处理,得到预处理图像;
将所述预处理图像输入H i gherHRNet神经网络,得到颈椎关键点;
对所述颈椎关键点进行拟合得到拟合颈椎曲线;
基于所述拟合颈椎曲线计算颈椎曲度。
一种颈椎分割矫正系统,包括:
获取模块,用于获取脊柱图像;
预处理模块,用于对所述脊柱图像进行预处理,得到预处理图像;
H i gherHRNet神经网络,用于基于输入的所述预处理图像得到颈椎关键点;
拟合模块,用于对所述颈椎关键点进行拟合得到拟合颈椎曲线;
识别模块,用于基于所述颈椎关键点识别单个颈椎位置;
MT-UNet神经网络,用于基于输入的所述单个颈椎位置和所述预处理图像,得到单椎分割结果;
三维重建模块,用于基于所述单椎分割结果对所述颈椎CT图像进行三维重建;
矫正模块,用于通过颈椎拟合曲线计算颈椎旋转矩阵,基于所述颈椎旋转矩阵矫正三维重建后的颈椎CT图像。
一种颈椎曲度检测系统,包括:
获取模块,用于获取脊柱图像;
预处理模块,用于对所述脊柱图像进行预处理,得到预处理图像;
H i gherHRNet神经网络,用于基于输入的所述预处理图像得到颈椎关键点;
拟合模块,用于对所述颈椎关键点进行拟合得到拟合颈椎曲线;
计算模块,用于基于所述拟合颈椎曲线计算颈椎曲度。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如所述方法的步骤。
一种非暂态计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述方法的步骤。
本发明实施例具有如下优点:
本发明中的颈椎分割矫正方法,将预处理图像输入H i gherHRNet神经网络得到颈椎关键点,对颈椎关键点进行拟合得到拟合颈椎曲线,基于颈椎关键点识别单个颈椎位置,将单个颈椎位置和所述预处理图像分别输入训练好的MT-UNet神经网络,得到单椎分割结果,基于单椎分割结果对颈椎CT图像进行三维重建,通过颈椎拟合曲线计算颈椎旋转矩阵,基于颈椎旋转矩阵矫正三维重建后的颈椎CT图像,解决了现有技术中难以自动分割颈椎CT图像的问题。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
图1为本发明颈椎分割矫正方法实施例流程图,如图1所示,本发明实施例提供的一种颈椎分割矫正方法包括以下步骤:
S101,获取脊柱图像,对脊柱图像进行预处理,得到预处理图像;
具体的,标注脊柱图像中的颈椎区域,基于所述颈椎区域获取脊椎图像;将所述脊椎图像在矢状面方向进行投影,得到所述预处理图像。
在一个具体的示例中,获取脊柱图像,基于脊柱图像构建脊柱图像数据集,将脊柱图像数据集中的脊柱图像进行手动标注颈椎区域,最终只提取含有颈椎部分的标签作为分割mask;对于颈椎定位的标签,需要标记颈椎的关键点位置,以此来建立识别数据库和分割数据库。将二维横断面DICOM数据转换成PNG格式的图片,标注分割mask转换成PNG格式的图片。
S102,将预处理图像输入HigherHRNet神经网络,得到颈椎关键点;
具体的,采用HigherHRNet作为颈椎关键点提取的模型框架。
目前主流的自下而上检测关键点的热力图(heatmap)分辨率使用1/4,而这个分辨率用于识别关键点的精度较低。因此,我们使用更高分辨率特征的HigherHRNet关键点检测神经网络。
HigherHRNet神经网络30使用高分辨率特征金字塔来解决多尺度问题。传统的特征金字塔一般从一个很小的分辨率开始,通过一系列上采样操作得到1/4分辨率的特征。而HigherHRNet神经网络30使用的高分辨率特征金字塔则是从1/4分辨率出发,通过Transposed Convolution得到更高分辨率的特征。在训练的过程中,使用多分辨率监督让不同层的特征能学习不同尺度的信息。同时利用多分辨率融合,把不同分辨率的热度图统一放大到原图大小并且融合到一起,从而得到一个对尺度敏感的特征。
Transposed Convolution(反卷积),是卷积操作的逆向操作。卷积的理论依据是统计不变性中的平移不变性(Transposed Invariance),起到降维的作用。反卷积,输入图片的特征,输出图片,起到还原的作用。在HigherHRNet中反卷积的主要目的是生成更更高分辨率的特征来提高准度。HigherHRNet神经网络30结构如图6所示:
将DICOM图像向矢状面方向投影,得到一张二维数据图像,将得到的二维图像和其对应的MASK输入到HigherHRNet神经网络30中进行训练,最终得到颈椎关键点位置。
神经网络中使用平均池化,损失函数为多分类损失函数,优化函数为Adam,使用ReLU激活函数,最后通过softmax分类器进行分类。
S103,对颈椎关键点进行拟合得到拟合颈椎曲线;
具体的,通过三次样条插值对所述颈椎关键点进行拟合得到拟合颈椎曲线。对检测出的颈椎关键点需要拟合曲线,用来寻找颈椎检测框,因此本文使用三次样条插值来拟合颈椎曲线。
三次样条插值以构造简单,使用方便,拟合准确,具有“保凸”的重要性质等特点成为了常用的插值方法。采用三次样插值法能够更好的拟合颈椎曲线,还原颈椎的实际位置。
三次样条插值(Cubic Spline Interpolation)简称Spline插值,是通过一系列形值点的一条光滑曲线,数学上通过求解三弯矩方程组得出曲线函数组的过程。
实际计算时还需要引入边界条件才能完成计算。一般的计算方法书上都没有说明非扭结边界的定义,但数值计算软件如Matlab都把非扭结边界条件作为默认的边界条件。
S104,基于颈椎关键点识别单个颈椎位置。
具体的,计算相邻两个颈椎关键点的距离为边界框长度,在相邻两个颈椎关键点中心位置与拟合线做垂线,延长垂线至所述边界框长度,提取所述单个颈椎位置。
S105,将单个颈椎位置和预处理图像分别输入训练好的MT-UNet神经网络,得到单椎分割结果;
具体的,将所述预处理图像进行打乱顺序后按照6:2:2的比例划分为训练集、验证集、测试集;基于所述训练集训练所述MT-UNet神经网络60;基于所述验证集对所述MT-UNet神经网络60进行性能验证,保存满足性能条件的MT-UNet神经网络60;基于所述测试集评估所述MT-UNet神经网络60的单椎分割结果。
医学图像分割任务中UNet是最被广泛采用的用于医学图像分割的框架,因其特殊的级联结构可以有效的保留原始特征;而Transformer作为在NLP领域中一种十分流行的模型,目前正逐步引入到计算机视觉领域,在目标检测、图像分类和图像分割任务中均取得了优异的效果。
虽然UNet在医学图像分割领域取得了巨大的成功,但是缺少建立长程依赖关系的能力。而Transformer则在这一方面有优异性能,但却需要依赖大规模的预训练,并且拥有很高的计算复杂度。因此将二者结合起来可以比单独使用两种方法更有效,本文使用一种新的MT-UNet神经网络60,来对颈椎进行分割。
该网络中MTM首先使用局部-全局高斯权重自注意力模块来计算注意力,然后会通过外部注意力模块学习样本间关系。由于Transformer往往需要大规模预训练,因为没有办法借助先验知识,因此在设计MT-UNet时本文使用卷积作为浅层的特征提取器,这样为分割任务引入先验知识。
图7展示了网络的整体结构,主要网络还是编解码结构,使用skip-connection来保持地尺度特征。可以看到只有在较深层次使用MTM模块,此时空间分辨率比较小计算成本也比较低。因为本发明的颈椎分割矫正方法希望最开始的几层更关注局部关系,它们也包含更多的高分辨率细节信息;通过卷积还可以在建模全局关系之前引入一些结构信息,这些信息对小规模的医学图像数据集很有帮助。需要注意的是,是由的MTM模块都使用步长为2的步长卷积实现下采样和通道扩展,使用反卷积实现上采样/通道压缩。
图8展示了MTM模块的内部结构,可以看到包含LGG-SA和EA两部分。LGG-SA用于建模不同粒度的依赖关系,包括局部和全局的;EA则计算样本之间的相关性。这一模块用于替代原始Transformer的SA模块,用来实现更好的性能、更低的时间复杂度。
模型训练过程中,训练的batch_size为64,初始化学习率设置为1e-4,附加学习率衰减策略,每迭代5000次,学习率衰减为原来的0.9,优化器使用Adam优化器,使用损失函数为DICE loss,设置每迭代1000次,对训练集和验证集做一次验证,通过早停法来判断网络训练停止时间,并得到最终模型即训练好的MT-UNet神经网络60。
S106,基于单椎分割结果对颈椎CT图像进行三维重建;
图9为本发明的对颈椎CT图像进行三维重建的示意图。
S107,通过颈椎拟合曲线计算颈椎旋转矩阵,基于颈椎旋转矩阵矫正三维重建后的颈椎CT图像;
具体的,通过颈椎拟合曲线来计算颈椎旋转矩阵,将颈椎拟合曲线以Z轴为旋转轴,顺时针方向每旋转1度,便在矢状面方向做一次投影,计算投影曲线的弯曲程度,曲线弯曲程度及弓顶距离,最大弓顶距离所对应的角度即为需要旋转的角度,通过此角度计算旋转矩阵来矫正分割后的脊柱。
该颈椎分割矫正方法,如图5所示,获取脊柱图像,对所述脊柱图像进行预处理,得到预处理图像;将所述预处理图像输入HigherHRNet神经网络30,得到颈椎关键点;对所述颈椎关键点进行拟合得到拟合颈椎曲线;基于所述颈椎关键点识别单个颈椎位置;将所述单个颈椎位置和所述预处理图像分别输入训练好的MT-UNet神经网络60,得到单椎分割结果;基于所述单椎分割结果对所述颈椎CT图像进行三维重建;通过颈椎拟合曲线计算颈椎旋转矩阵,基于所述颈椎旋转矩阵矫正三维重建后的颈椎CT图像。可以节约人工识别成本,提高椎骨分割识别精度,同时该方法可以解决医生水平不同导致颈椎分割结果不同的情况,该颈椎分割矫正方法分割精度优于目前已有的神经网络,可以准确的将颈椎分割出来,更加准确的辅助医生进行手术规划,提高手术的成功率。
图2为本发明颈椎曲度检测方法实施例流程图,如图2所示,本发明实施例提供的一种颈椎曲度检测方法包括以下步骤:
S201,获取脊柱图像,对脊柱图像进行预处理,得到预处理图像;
具体的,标注脊柱图像中的颈椎区域,基于所述颈椎区域获取脊椎图像;将所述脊椎图像在矢状面方向进行投影,得到所述预处理图像。。
S202,将预处理图像输入HigherHRNet神经网络,得到颈椎关键点;
S203,对颈椎关键点进行拟合得到拟合颈椎曲线;
具体的,通过三次样条插值对所述颈椎关键点进行拟合得到拟合颈椎曲线。
S204,基于拟合颈椎曲线计算颈椎曲度;
具体的,测量弓顶位置集弓顶距离,具体包括:从齿状突尖至C7椎体后下缘划线,正常生理弓的弓顶应在C5椎体后上缘。如果弓顶不在C5椎体后上缘而在其下者为弓顶下移,或在C5椎体后上缘以上者为弓顶上移,均提示颈椎某节段有病变存在的可能。
对于拟合的曲线通过求曲线斜率最大处即为弓顶位置。连接C1和C7,其中点和弓顶的连线即为弓顶距离。
该颈椎曲度检测方法,获取脊柱图像,对所述脊柱图像进行预处理,得到预处理图像;将所述预处理图像输入HigherHRNet神经网络30,得到颈椎关键点;对所述颈椎关键点进行拟合得到拟合颈椎曲线;基于所述拟合颈椎曲线计算颈椎曲度。通过颈椎曲线检测颈椎弯曲程度,解决了现有技术中对颈椎曲度的检测较为复杂繁琐的问题。
图3为本发明颈椎分割矫正系统实施例流程图;如图3所示,本发明实施例提供的一种颈椎分割矫正系统,包括:
获取模块10,用于获取脊柱图像;
预处理模块20,用于对所述脊柱图像进行预处理,得到预处理图像;
HigherHRNet神经网络30,用于基于输入的所述预处理图像得到颈椎关键点;
拟合模块40,用于对所述颈椎关键点进行拟合得到拟合颈椎曲线;
识别模块50,用于基于所述颈椎关键点识别单个颈椎位置;
MT-UNet神经网络60,用于基于输入的所述单个颈椎位置和所述预处理图像,得到单椎分割结果;
三维重建模块70,用于基于所述单椎分割结果对所述颈椎CT图像进行三维重建;
矫正模块80,用于通过颈椎拟合曲线计算颈椎旋转矩阵,基于所述颈椎旋转矩阵矫正三维重建后的颈椎CT图像。
本发明的一种颈椎分割矫正系统,通过获取模块10获取脊柱图像;通过预处理模块20对所述脊柱图像进行预处理,得到预处理图像;通过HigherHRNet神经网络30基于输入的所述预处理图像得到颈椎关键点;通过拟合模块40,对所述颈椎关键点进行拟合得到拟合颈椎曲线;通过识别模块50基于所述颈椎关键点识别单个颈椎位置;通过MT-UNet神经网络60基于输入的所述单个颈椎位置和所述预处理图像,得到单椎分割结果;通过三维重建模块70基于所述单椎分割结果对所述颈椎CT图像进行三维重建;通过矫正模块80,通过颈椎拟合曲线计算颈椎旋转矩阵,基于所述颈椎旋转矩阵矫正三维重建后的颈椎CT图像。分割精度优于目前已有的神经网络,可以准确的将颈椎分割出来,更加准确的辅助医生进行手术规划,提高手术的成功率。
图4为本发明颈椎曲度检测系统实施例流程图;如图4所示,本发明实施例提供的一种颈椎曲度检测系统,包括:
获取模块10,用于获取脊柱图像;
预处理模块20,用于对所述脊柱图像进行预处理,得到预处理图像;
HigherHRNet神经网络30,用于基于输入的所述预处理图像得到颈椎关键点;
拟合模块40,用于对所述颈椎关键点进行拟合得到拟合颈椎曲线;
计算模块90,用于基于所述拟合颈椎曲线计算颈椎曲度。
本发明的一种颈椎曲度检测系统,通过获取模块10获取脊柱图像;通过预处理模块20对所述脊柱图像进行预处理,得到预处理图像;通过HigherHRNet神经网络30基于输入的所述预处理图像得到颈椎关键点;通过拟合模块40对所述颈椎关键点进行拟合得到拟合颈椎曲线;通过计算模块90基于所述拟合颈椎曲线计算颈椎曲度。通过颈椎曲线检测颈椎弯曲程度,解决了现有技术中对颈椎曲度的检测较为复杂繁琐的问题。
图10为本发明实施例提供的电子设备实体结构示意图,如图10所示,电子设备100包括:处理器1001(processor)、存储器1002(memory)和总线1003;
其中,处理器1001、存储器1002通过总线1003完成相互间的通信;
处理器1001用于调用存储器1002中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取脊柱图像,对所述脊柱图像进行预处理,得到预处理图像;将所述预处理图像输入HigherHRNet神经网络30,得到颈椎关键点;对所述颈椎关键点进行拟合得到拟合颈椎曲线;基于所述颈椎关键点识别单个颈椎位置;将所述单个颈椎位置和所述预处理图像分别输入训练好的MT-UNet神经网络60,得到单椎分割结果;基于所述单椎分割结果对所述颈椎CT图像进行三维重建;通过颈椎拟合曲线计算颈椎旋转矩阵,基于所述颈椎旋转矩阵矫正三维重建后的颈椎CT图像。或
获取脊柱图像,对所述脊柱图像进行预处理,得到预处理图像;将所述预处理图像输入HigherHRNet神经网络30,得到颈椎关键点;对所述颈椎关键点进行拟合得到拟合颈椎曲线;基于所述拟合颈椎曲线计算颈椎曲度。
本实施例提供一种非暂态计算机可读介质,非暂态计算机可读介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:获取脊柱图像,对所述脊柱图像进行预处理,得到预处理图像;将所述预处理图像输入HigherHRNet神经网络30,得到颈椎关键点;对所述颈椎关键点进行拟合得到拟合颈椎曲线;基于所述颈椎关键点识别单个颈椎位置;将所述单个颈椎位置和所述预处理图像分别输入训练好的MT-UNet神经网络60,得到单椎分割结果;基于所述单椎分割结果对所述颈椎CT图像进行三维重建;通过颈椎拟合曲线计算颈椎旋转矩阵,基于所述颈椎旋转矩阵矫正三维重建后的颈椎CT图像。或
获取脊柱图像,对所述脊柱图像进行预处理,得到预处理图像;将所述预处理图像输入HigherHRNet神经网络30,得到颈椎关键点;对所述颈椎关键点进行拟合得到拟合颈椎曲线;基于所述拟合颈椎曲线计算颈椎曲度。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。