发明内容
本发明的目的在于提供一种角膜神经纤维分割系统、方法、计算机设备及存储介质,解决了采用UNet网络存在的缺乏全局信息和处理边界模糊困难的问题。
本发明是通过以下技术方案来实现:
一种角膜神经纤维分割方法,包括以下步骤:
S1、获取临床角膜神经纤维图像;
S2、将临床角膜神经纤维图像输入构建好的分割网络模型中,提取角膜神经纤维,得到角膜神经纤维分割图像;
所述分割网络模型的结构包括依次连接的第一层至第十二层,具体为:
第一层为卷积层,第二层至第六层均为基于transformer多轴注意力机制的编码模块,第七层至第十一层均为transformer的解码模块,第二层和第十一层、第三层和第十层、第四层和第九层、第五层和第八层均通过跳层连接的方法连接,第十二层为卷积层。
进一步,所述基于transformer多轴注意力机制的编码模块包括依次连接的第一卷积层、第一正则化层、两层多轴注意力模块层、第二卷积层、第二正则化层和叠加层;
叠加层用于对第二正则化层的输出与第一卷积层的输入进行特征叠加,作为基于transformer多轴注意力机制的编码模块的输出。
进一步,每层多轴注意力模块层包括前卷积层、注意力计算层、后卷积层和融合层,注意力计算层中设置有0°、90°、45°、135°共四个特征注意力轴的注意力;
多轴注意力模块层的输入为特征图,特征图经过前卷积层后得到中间特征图;注意力计算层对于中间特征图上的每一个特征点位分别从0°、90°、45°、135°进行注意力机制的运算,通过后卷积层升维,得到升维后的特征图;融合层将升维后的特征图与输入给前卷积层的特征图进行特征融合,最后得到输出特征图。
进一步,S2中,所述分割网络模型的构建过程为:
使用基于transformer多轴注意力机制的编码模块和 transformer的解码模块重构UNet网络,得到分割网络模型;
获取临床角膜神经纤维图像作为原始图像,原始图像构成数据集;
将数据集进行标注,并生成分割网络模型能够读取的掩模图;
在得到的分割网络模型中,将原始图像作为输入、掩模图作为标签,通过损失函数计算网络输出与标签文件的差异,并指导分割网络模型的优化方向;
设置训练批次大小为W,计算每一批次分割网络模型的输出与标签文件的Dice系数,则得到W个Dice系数,取最小的Dice系数所对应的分割网络模型作为最终输出模型,得到构建好的分割网络模型。
进一步,损失函数的计算公式如下:
;
其中表示总的损失函数,/>表示角膜神经纤维待分割的类别总数,/>表示当前类别,/>表示当前类别下预测结果与真实标签并集的面积,/>表示当前类别下预测结果与真实标签交集的面积;/>表示当前类别的概率,/>为自定义常量,/>为权重系数且/>>1。
进一步,权重系数,自定义常量/>。
本发明还公开了一种角膜神经纤维分割系统,具体包括:
图像获取模块,用于获取临床角膜神经纤维图像;
图像分割模块,用于将临床角膜神经纤维图像输入构建好的分割网络模型中,提取角膜神经纤维,得到角膜神经纤维分割图像;
所述分割网络模型的结构包括依次连接的第一层至第十二层,具体为:
第一层为卷积层,第二层至第六层均为基于transformer多轴注意力机制的编码模块,第七层至第十一层均为transformer的解码模块,第二层和第十一层、第三层和第十层、第四层和第九层、第五层和第八层均通过跳层连接的方法连接,第十二层为卷积层。
本发明还公开了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述角膜神经纤维分割方法的步骤。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述角膜神经纤维分割方法的步骤。
与现有技术相比,本发明具有以下有益的技术效果:
本发明提出了一种角膜神经纤维分割方法,将临床角膜神经纤维图像输入构建好的分割网络模型中,提取角膜神经纤维,得到角膜神经纤维分割图像。分割网络模型的第二层至第六层均为基于transformer多轴注意力机制的编码模块,第七层至第十一层均为transformer的解码模块,在用transformer取代传统UNet网络来提取图像特征后,由于transformer自带的全局建模机制,相比与传统UNet网络结构,能获得更大的感受野,由于角膜神经纤维分布广且错综复杂,更大的感受野能带来更好的分割效果;编码模块采用多轴注意力机制,能把二维注意力依次分解成多个方向上的一维注意力,大幅度提升计算效率,同时也能调动全局范围内的特征互动,这对角膜神经纤维的分割带来了极大的提升。
进一步,自定义损失函数能有效的解决角膜神经纤维主干、分支样本不均衡的问题和分割难易程度权重分配不均的问题。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明了,以下结合附图及实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅为本发明一部分实施例,而不是全部实施例。
本发明附图及实施例描述和示出的组件可以以各种不同的配置来布置和设计,因此,以下附图中提供的本发明实施例的详细描述并非旨在限制要求保护的本发明的范围,而仅仅是表示本发明选定的一种实施例。基于本发明的附图及实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护范围。
需要说明的是:术语“包含”、“包括”或者其他任何其他变体意在涵盖非排他性的包含,使得包括一系列要素的过程、元素、方法、物品或者设备不仅仅只包括那些要素,还包括没有明确列出的其他要素,或者是还包括该其过程、元素、方法、物品或者设备所固有的要素。
如图1所示,本发明公开了一种角膜神经纤维分割方法,具体包括以下步骤:
S1、获取临床角膜神经纤维图像;
S2、将临床角膜神经纤维图像输入构建好的分割网络模型中,提取角膜神经纤维,得到角膜神经纤维分割图像;
如图2所示,所述分割网络模型的结构包括依次连接的第一层至第十二层,具体为:
第一层为卷积层,第二层至第六层均为基于transformer多轴注意力机制的编码模块,第七层至第十一层均为transformer的解码模块,第二层和第十一层、第三层和第十层、第四层和第九层、第五层和第八层均通过跳层连接的方法连接,第十二层为卷积层。
如图3所示,所述基于transformer多轴注意力机制的编码模块包括依次连接的第一卷积层、第一正则化层、两层多轴注意力模块层、第二卷积层、第二正则化层和叠加层。
其中,各层的功能如下:
第一卷积层:提取更高阶的图像特征,为后续多轴注意力模块层做准备;
第一正则化层:平滑第一卷积层的输出并使其服从同一种分布,提高网络的可训练性;
多轴注意力模块层:提取单位特征与其它四个不同方向维度的联系,有利于神经纤维像素级的分割;
第二卷积层:提取多轴注意力模块层输出的特征,使其更容易与后续叠加层相互作用;
第二正则化层:平滑第二卷积层的输出并使其服从同一种分布,提高网络的可训练性;
叠加层:用于对第二正则化层的输出与第一卷积层的输入进行特征叠加,作为基于transformer多轴注意力机制的编码模块的输出。解决了多层神经网络训练困难的问题,弱化经过多轴注意力模块层分支带来的负向效果影响到后续层的训练,提高网络整体的可训练性。
如图4所示,每层多轴注意力模块层包括前卷积层、注意力计算层、后卷积层和融合层,注意力计算层中设置有0°、90°、45°、135°共四个特征注意力轴的注意力。
多轴注意力模块层在原有基于0°和90°特征注意力轴的基础上,结合角膜神经纤维无方向延伸的特点,新增了45°和135°这两个轴的注意力,具体为:
如图5所示,输入特征图h*w*256经过1*1的前卷积层后得到h*w*128的特征图,对于该特征图上的每一个特征点位分别从0°、90°、45°、135°进行注意力机制的运算,通过1*1的后卷积层升维并与输入特征图进行特征融合,最后得到多轴注意力模块层的输出,即输出特征图。
S2中,所述分割网络模型的构建过程为:
使用基于transformer多轴注意力机制的编码模块和 transformer的解码模块重构UNet网络,得到分割网络模型;
获取临床角膜神经纤维图像作为原始图像,原始图像构成数据集,数据集分为训练集和验证集;
将数据集进行标注,并生成分割网络模型能够读取的掩模图;
在上述构建的分割网络模型中,先将训练集对应的原始图像作为输入、训练集对应的掩模图作为标签,通过自定义的损失函数计算网络输出与标签文件的差异,并指导分割网络模型的优化方向;
设置训练批次大小为W,计算每一批次分割网络模型的输出与标签文件的Dice系数,则得到W个Dice系数,取最小的Dice系数所对应的模型作为此分割网络的最终输出模型,得到训练好的分割网络模型。
比如有200张标注好的角膜神经纤维数据,按照7:3的比例将140张数据划分为训练集,60张数据划分为验证集,设置网络训练的批次为100后,用训练集数据开始训练分割网络;当每一个批次训练完成后,保存训练模型并用验证集作为该模型的输入后获取模型的输出掩模图,并计算训练集标签掩模图与模型输出掩模图的Dice系数。等全部批次训练结束后,获取最小的Dice系数对应的模型作为训练好的分割网络模型。
自定义的损失函数的计算公式如下:
;
其中表示总的损失函数,/>表示角膜神经纤维待分割的类别总数,/>表示当前类别,/>表示当前类别下预测结果与真实标签并集的面积,/>表示当前类别下预测结果与真实标签交集的面积。
由于角膜神经纤维的主干类别和分支类别样本不平衡,分支样本的数量往往远大于主干样本的数量,从而导致分支样本主导了总的损失;为了避免这一情况,可以设置的大小来平衡不同样本在损失函数中的主导地位。在本次分割任务中,角膜神经纤维主干样本的标签类别为2,可以设置/>来赋予主干样本在损失值中更多的权重,从而弱化了分支样本的主导地位。
在角膜神经纤维主干和分支的分割任务中,由于主干和分支无论从外观上、长度上都有及其相似的特性,对此,希望在实际分割任务中赋予难以分割的主干神经纤维更大的权重系数,使网络关注难以分割的主干神经纤维,把高置信度样本的损失降低一些,来引导模型优先关注难以分割的主干神经纤维,表示当前类别的概率,/>为自定义常量。实验表明/>,/>时效果最好,这样损失函数训练的过程中模型的优先级为主干角膜神经纤维>难以分割的背景>分支角膜神经纤维>易分割的背景。
本发明用基于transformer多轴注意力机制的编码模块替代原始的CNN卷积层提取特征,使网络模型能从全局范围内提取信息,在使用多轴注意力时,从4个不同角度上去计算特征之间的关联性,这很符合角膜神经纤维的分布特点,使网络模型针对角膜神经纤维有了一个更高层次的理解;同时针对角膜神经纤维主干和分支样本不均、分割难易程度不同设计了自定义的损失函数来解决这一问题。
下面以100张临床测试数据为例,将自行搭建的网络与其他5种网络模型进行横向对比,实验结果如下表所示:
通过表格可以得到,本发明在Transformer的0°轴和90°轴注意力的基础上结合角膜神经纤维多方向延伸的特点增加了45°轴和135°轴这两个方向上的注意力机制,并与改进的损失函数的结合,针对于角膜神经纤维主干和分支的提取,在Dice系数和IOU系数方面均有提升。
以图6中的原始图像为例,经过不同的网络模型处理后,测试效果如图7所示,图7中a为UNet++网络处理得到的神经纤维图像,图7中b为UNet网络处理得到的神经纤维图像,图7中c为TransBTS网络处理得到的神经纤维图像,图7中d为MedT网络处理得到的神经纤维图像,图7中e为TransUNet网络处理得到的神经纤维图像,图7中f为本发明所构建的分割网络模型处理得到的神经纤维图像,由图7中a-f对比可知,本发明所构建的分割网络模型相比于其它模型,其优势如下:
精确度高:本发明的分割网络模型在角膜神经纤维分割任务上具有出色的精确度,能够准确地将图像中的角膜神经纤维与背景进行分离,实现像素级别的精细分割。与其他模型相比,本发明的模型能够更准确地捕获角膜神经纤维的边界和细节。
对抗鲁棒性:本发明的分割网络模型对于噪声、遮挡和复杂背景等条件具有较强的鲁棒性,能够有效地处理角膜神经纤维图像中的干扰噪点,并生成准确的分割结果。相比之下,其他模型可能对这些干扰更为敏感。
如图8所示,本发明还公开了一种角膜神经纤维分割系统,具体包括:
图像获取模块,用于获取临床角膜神经纤维图像;
图像分割模块,用于将临床角膜神经纤维图像输入构建好的分割网络模型中,提取角膜神经纤维,得到角膜神经纤维分割图像;
所述分割网络模型的结构包括依次连接的第一层至第十二层,具体为:
第一层为卷积层,第二层至第六层均为基于transformer多轴注意力机制的编码模块,第七层至第十一层均为transformer的解码模块,第二层和第十一层、第三层和第十层、第四层和第九层、第五层和第八层均通过跳层连接的方法连接,第十二层为卷积层。
本发明还公开了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述角膜神经纤维分割方法的步骤,其中,所述存储器可能包含内存,例如高速随机存储器,也可能还包括非易失性存储器,例如,至少一个磁盘存储器等;处理器、网络接口、存储器通过内部总线互相连接,该内部总线可以是工业标准体系结构总线、外设部件互连标准总线、扩展工业标准结构总线等,总线可以分为地址总线、数据总线、控制总线等。存储器用于存放程序,具体地,程序可以包括程序代码、所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述角膜神经纤维分割方法的步骤,具体地,所述计算机可读存储介质包括但不限于例如易失性存储器和/或非易失性存储器。所述易失性存储器可以包括随机存储存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器可以包括只读存储器(ROM)、硬盘、闪存、光盘、磁盘等。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。