发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于空谱融合深度学习的医学高光谱图像分类方法,实验表明,本发明能够有效地描绘出大脑的实质区域并确定肿瘤的位置,从而为医生在手术中成功而精确的肿瘤切除提供指导。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于空谱融合深度学习的医学高光谱图像分类方法,该方法包括;
步骤1;数据预处理;对所有的三维高光谱图像数据进行光谱校正;采用HySIME滤波器对光谱校正后的三维高光谱图像数据进行滤波降噪处理;移除噪声中的极端波段,并通过相邻波段均值融合的方法对高光谱图像进行降维;再对数据进行归一化处理,得到归一化处理后的三维高光谱图像;
步骤2;获取数据集;所述数据集包括归一化处理后的患者三维高光谱图像,所述归一化处理后的患者三维高光谱图像包括训练样本集和测试样本集,所述训练样本集和所述测试样本集均包括正常组织区域像素(1)、胶质母细胞瘤区域像素(2)、血管区域像素(3)和背景区域像素(4)四类;
步骤3;生成phasor特征:输入归一化处理后的三维高光谱图像,依据公式
计算得到归一化处理后的三维高光谱图像的phasor特征,并将归一化处理后的三维高光谱图像的phasor特征与归一化处理后的患者三维高光谱图像进行堆栈,得到训练样本集一;
步骤4;数据重采样;采用SMOTE算法对训练样本集一中的正常组织区域像素1、胶质母细胞瘤区域像素2、血管区域像素3和背景区域像素4四类中三维高光谱图像中个数最少的样本进行扩增,即根据正常组织区域像素1、胶质母细胞瘤区域像素2、血管区域像素3和背景区域像素4四类中三维高光谱图像中个数最少的样本人工合成新样本添加到步骤3的训练样本集一中,得到训练样本集二;
步骤5;1D-DNN模型的建立和训练;使用Pytorch开源软件库,构建一维深度神经网络(1D-DNN),将训练样本集二输入到一维深度神经网络(1D-DNN)内进行训练,得到训练好的一维深度神经网络(1D-DNN),再输入测试集并利用训练好的一维深度神经网络(1D-DNN)对测试集进行像素级分类,得到一维深度神经网络像素级分类结果;
步骤6;将步骤2的患者三维高光谱图像进行边缘填充,以每个像素为中心,使用其邻域像素组成新的大小为w×w×d的3D立方体作为训练样本集三,其中w为选取块状样本的宽度,d为光谱深度;然后采用SMOTE算法对训练样本集三中的正常组织区域像素(1)、胶质母细胞瘤区域像素(2)、血管区域像素(3)和背景区域像素(4)四类中三维高光谱图像中个数最少的样本进行扩增,即根据正常组织区域像素(1)、胶质母细胞瘤区域像素(2)、血管区域像素(3)和背景区域像素(4)四类中三维高光谱图像中个数最少的样本人工合成新样本添加到训练样本集三中,得到训练样本集四;
步骤7;使用Pytorch开源软件库,搭建二维卷积神经网络(2D-CNN)模型;将训练样本集四输入到二维卷积神经网络(2D-CNN)内进行训练,得到训练好的二维卷积神经网络(2D-CNN),再输入测试集并利用训练好的二维卷积神经网络(2D-CNN)对测试集进行素级分类,得到二维卷积神经网络(2D-CNN)像素级分类结果;
步骤8;分类结果融合及优化;
将二维卷积神经网络(2D-CNN)像素级分类结果上的胶质母细胞瘤区域像素(2)、血管区域像素(3)覆盖到一维深度神经网络像素级分类结果上,得到融合后的像素级分类结果,然后基于主成分分析(PCA)方法,由主成分分析(PCA)方法得到的第一个主成分引导,利用边缘保持滤波处理融合后的像素级分类结果,得到优化后的像素级分类结果;
步骤9;数据降维:利用主成分分析方法,对患者三维高光谱图像进行降维操作,得到由前三个主成分组成的三波段图像,即降维处理后的高光谱图像数据;
步骤10;全卷积神经网络模型的建立和训练:搭建全卷积神经网络模型,将降维处理后的高光谱图像数据中的训练集输入全卷积神经网络模型中进行训练,得到训练后的全卷积神经网络模型,采用全卷积神经网络模型对降维处理后的高光谱图像数据中的训练集进行语义分割;得到背景分割结果,最后将优化分类结果与背景分割结果融合,得到最终分类结果,并输出可视化结果。
进一步地,所述步骤1中的光谱校正是根据公式
进行光谱校正,其中,C
img是校正后的高光谱图像,R
img是原始图像,W
ref和D
ref分别是白参考图像和暗参考图像。
进一步地,所述SMOTE算法的具体流程为:首先,对于少数类中每一个样本x,以欧氏距离为标准计算得到其k近邻,然后,根据样本不平衡比例设置一个采样比例以确定采样倍率,对于每一个少数类样本x,从其k近邻中随机选择若干个样本xn,最后,对于每一个随机选出的近邻样本xn,分别与原样本x按照公式xnew=x+λ×(xn-x),λ∈[0,1]构建得到新的样本xnew。
进一步地,所述一维深层神经网络由两个隐含层组成,分别具有25个和50个节点,并使用ReLU(Rectified Linear Unit)函数作为非线性激活函数,用于使数据稀疏;在训练网络时,将批量大小设置为1000,训练轮数设置为2,初始学习率设置为0.001,损失函数为交叉熵损失函数,采用Adam优化器,解决遇到鞍点网络更新困难和不能自适应调节学习率的问题。
进一步地,所述二维卷积神经网络(2D-CNN)模型架构基于ResNet18,引入空谱残差网络模块建立深度残差网络,利用残差学习的原理来促进和规范模型的训练过程;在训练网络时,将w设置为11,批量大小设置为4000,训练轮数设置为40,初始学习率设置为0.0005,学习率变化策略为POLY,损失函数为交叉熵损失函数,使用Adam优化器的反向传播算法对所有权值进行随机初始化和训练。
与现有技术相比,本发明具有下述优点:
本发明的一种基于空谱融合深度学习的医学高光谱图像分类方法,包括数据预处理;根据输入的数据集,计算得到对应相量(phasor)特征并与高光谱图像组合,根据已有标签的训练样本,采用SMOTE(Synthetic Minority Oversampling Technique)算法来增加少数类样本,输入扩增后的训练样本集对一维深度神经网络和二维卷积神经网络进行训练,采用训练好的一维深度神经网络和二维卷积神经网络分别对测试集高光谱图像进行像素级分类;对分类结果进行融合并采用边缘保持滤波对融合后结果图进行优化;根据输入的三维高光谱图像,采用主成分分析技术,对输入的三维高光谱图像进行降维,基于获取的前三个主成分,采用全卷积网络对降维后的测试集高光谱图像进行分割得到背景分割结果,将优化后分类结果图与背景分割结果融合,得到最终人脑胶质母细胞瘤分类结果。实验表明,本发明能够有效地描绘出大脑的实质区域并确定肿瘤的位置,从而为医生在手术中成功而精确的肿瘤切除提供指导。
具体实施方式
本发明应说明的,本发明采用In-Vivo人脑高光谱图像数据集,该数据于2015年3月到2016年6月在英国南安普顿大学和西班牙大加那利岛拉斯帕尔马斯大学医院采集,其中包含22位成年患者的36张脑部高光谱图像。患者在医院的常规临床实践中,进行开颅手术切除轴内脑肿瘤或进行其他类型的脑外科手术。通过组织病理学评估,这些患者中有6名受到确诊的IV级胶质母细胞瘤(GBM)肿瘤的影响。数据通过Headwall高光谱成像仪获取,光谱分辨率从400到1000nm,光谱分辨率是2-3nm,光谱波段包含826个,经过数据预处理后光谱波段数为124。具体参考文献“Fabelo H.,Ortega S.,Szolna A.,Bulters D.,PineiroJ.F.,Kabwama S.,&Ravi D.In-Vivo Hyperspectral Human Brain Image Database forBrain Cancer Detection.IEEE Access,2019,7,39098-39116.”。
采用的实验平台:Ubuntu18.04.5LTS(操作系统),64GB(CPU),GeForce RTX2080super8GB(GPU),CUDA 10.0,cuDNN v7.4.1,Python3.6,Pytorch1.6.0(深度学习框架)。
下面结合附图和具体实施例,对本发明作进一步的详细描述。
如图1-2所示,本发明的一种基于空谱融合深度学习的医学高光谱图像分类方法,该方法包括以下步骤:
步骤1;数据预处理:根据公式
对所有的三维高光谱图像数据进行光谱校正,上式中,其中,C
img是校正后的高光谱图像,R
img是原始图像,W
ref和D
ref分别是白参考图像和暗参考图像;然后采用HySIME滤波器对光谱校正后的三维高光谱图像数据进行滤波降噪处理;移除噪声特别高的极端波段(即带宽在450-900nm之间的波段);并通过相邻波段均值融合的方法对高光谱图像进行降维;对数据进行归一化处理,得到归一化处理后的三维高光谱图像;
步骤2;获取数据集;所述数据集包括归一化处理后的患者三维高光谱图像,所述归一化处理后的患者三维高光谱图像包括训练样本集和测试样本集,所述训练样本集和所述测试样本集均包括正常组织区域像素(1)、胶质母细胞瘤区域像素(2)、血管区域像素(3)和背景区域像素(4)四类;具体地,从22位成年患者的36张脑部高光谱图像中,采用一个病人的三维高光谱图像及已标定的标签为测试集,其他病人的高光谱图像及已标定的标签为训练集的验证方法;更具体地,对22位成年患者进行5次交叉验证;分别选取第8、12、15、20、25号病人的三维高光谱图像作为测试集,相应地,剩余病人的三维高光谱图像及已标定的标签作为训练集,其中,22位成年患者在数据集中的编号并不是以1开始的,而是如4、5、7等不规则的选取;且每个患者的三维高光谱图像的数量均不一样,有的为一张,有的为两张或三张三维高光谱图像;
步骤3;生成phasor特征;输入归一化处理后的三维高光谱图像,依据公式
计算得到归一化处理后的三维高光谱图像的phasor特征,上式中,l代表波段的序号,L代表总的波段数,a
l代表归一化处理后的三维高光谱图像的第l个波段的光谱值,然后将phasor特征与归一化处理后的患者三维高光谱图像进行堆栈,得到训练样本集一;具体地,分别选取第8、12、15、20、25号病人的归一化处理后的三维高光谱图像作为测试集,则分别对第8、12、15、20、25号病人的归一化处理后的三维高光谱图像与归一化处理后的三维高光谱图像的phasor特征进行堆栈,得到第8、12、15、20、25号病人对应的测试集,相应地,剩余病人的归一化处理后的三维高光谱图像也分别与归一化处理后的三维高光谱图像的phasor特征进行堆栈,得到训练样本集一;
从而当需要得到8号病人三维高光谱图像分类结果时,将8号病人归一化处理后的三维高光谱图像与phasor特征进行堆栈作为测试集,剩余病人的归一化处理后的三维高光谱图像与phasor特征进行堆栈作为训练集。
步骤4;数据重采样;采用SMOTE算法对训练样本集一中的正常组织区域像素1、胶质母细胞瘤区域像素2、血管区域像素3和背景区域像素4四类中三维高光谱图像中个数最少的样本进行扩增,即根据正常组织区域像素1、胶质母细胞瘤区域像素2、血管区域像素3和背景区域像素4四类中三维高光谱图像中个数最少的样本人工合成新样本添加到步骤3的训练样本集一中,得到训练样本集二;
具体流程为:首先,对于少数类中每一个样本x,以欧氏距离为标准计算得到其k近邻。然后,根据样本不平衡比例设置一个采样比例以确定采样倍率,对于每一个少数类样本x,从其k近邻中随机选择若干个样本xn。最后,对于每一个随机选出的近邻样本xn,分别与原样本x按照公式xnew=x+λ×(xn-x),λ∈[0,1]构建得到新的样本xnew。
步骤5;1D-DNN模型的建立和训练;使用Pytorch开源软件库,构建一维深度神经网络(1D-DNN),将训练样本集二输入到一维深度神经网络(1D-DNN)内进行训练,得到训练好的一维深度神经网络(1D-DNN),再输入测试集并利用训练好的一维深度神经网络(1D-DNN)对测试集进行素级分类,得到一维深度神经网络像素级分类结果;具体地,该一维深层神经网络由两个隐含层组成,分别具有25个和50个节点,并使用ReLU(Rectified Linear Unit)函数作为非线性激活函数,用于使数据稀疏。在训练网络时,将批量大小设置为1000,训练轮数设置为2,初始学习率设置为0.001,损失函数为交叉熵损失函数,采用Adam优化器,解决遇到鞍点网络更新困难和不能自适应调节学习率的问题。
步骤6;将步骤二的患者三维高光谱图像进行边缘填充,以每个像素为中心,使用其邻域像素组成新的大小为w×w×d的3D立方体作为训练样本集三,其中w为选取块状样本的宽度,d为光谱深度;然后采用SMOTE算法对训练样本集三中的正常组织区域像素1、胶质母细胞瘤区域像素2、血管区域像素3和背景区域像素4四类中三维高光谱图像中个数最少的样本进行扩增,即根据正常组织区域像素1、胶质母细胞瘤区域像素2、血管区域像素3和背景区域像素4四类中三维高光谱图像中个数最少的样本人工合成新样本添加到训练样本集三中,得到训练样本集四;
步骤7;使用Pytorch开源软件库,搭建二维卷积神经网络(2D-CNN)模型;将训练样本集四输入到二维卷积神经网络(2D-CNN)内进行训练,得到训练好的二维卷积神经网络(2D-CNN),再输入测试集并利用训练好的二维卷积神经网络(2D-CNN)对测试集进行素级分类,得到二维卷积神经网络(2D-CNN)像素级分类结果;
具体地,二维卷积神经网络(2D-CNN)模型大致基于ResNet18,引入空谱残差网络模块建立深度残差网络,利用残差学习的原理来促进和规范模型的训练过程;在训练网络时,将w设置为11,批量大小设置为4000,训练轮数设置为40,初始学习率设置为0.0005,学习率变化策略为POLY,损失函数为交叉熵损失函数,使用Adam优化器的反向传播算法对所有权值进行随机初始化和训练。
该2D-CNN能有效地学习高光谱图像的光谱特征和空间特征,而且深度残差网比普通网络在结构上多了一个跳跃连接,这种残差块结构的设计使得梯度能够从较高的层次快速地传播到较低的层次,从而促进和规范了模型的训练过程,避免了梯度消失的问题。具体来说,该网络主要包含4个残差块,采用包括两个3×3卷积操作的基本块(Basic Block)作为基本单元,网络结构参数如表1所示,由于输入的训练样本块较小,为了在前期保留空间信息,将残差块里三个步幅为2的卷积步幅改为1。Conv代表一个卷积层(ConvolutionalLayer),Max polling代表最大池化层,Global Average pool代表全局均值池化层,FC代表全连接层(Fully Connected Layer)。
表1修改后Resnet18网络结构
卷积操作如以下公式所示:
其中,i表示当前操作所在的层,j表示特征图的数量,
表示在第j层第i个特征图在(x,y,z)处的输出;m指的是第(i-1)层连接到当前第j层特征图的特征图集,P
i和Q
i是空间卷积核的高和宽,R
i是光谱维度核的大小,
是连接第m个特征图(p,q,r)位置的权重值,b
ij是第i层第j个特征图的偏置,g代表激活函数。网络中激活函数都选择为ReLU,用于使数据稀疏,其表达式为:
步骤8;分类结果融合及优化;
将二维卷积神经网络(2D-CNN)得到的像素级分类结果上的胶质母细胞瘤区域像素2、血管区域像素3覆盖到一维深度神经网络(1D-DNN)得到的像素级分类结果上,得到融合后的像素级分类结果,然后基于主成分分析(PCA)方法,由主成分分析(PCA)方法得到的第一个主成分引导,利用边缘保持滤波处理融合后的像素级分类结果,得到优化后的像素级分类结果;
具体地,基于边缘保持滤波的分类结果图优化:利用主成分分析方法,对高光谱图像进行降维操作,得到高光谱图像的第一个主成分,作为引导滤波器的参考图像I;根据公式
采用引导滤波器对融合后的分类结果图进行边缘保持滤波处理。具体来说,像素i优化后的概率可表示为以该像素为中心的局部窗口内初始概率的加权平均;
上述公式中,p为滤波图像像素值,Wi,j为局部窗口内像素的权重,|ω|表示局部区域图像的像素个数,μk和σk分别表示引导图像I在ωk中的均值与方差。
步骤9;数据降维:利用主成分分析方法,对患者三维高光谱图像进行降维操作,得到由前三个主成分组成的三波段图像,即降维处理后的高光谱图像数据;利用Labelme软件对降维后的高光谱图像进行标注,将图像中边缘的非脑部实质区域标注为0,其它脑部实质区域标注为1;
步骤10;全卷积神经网络模型的建立和训练:搭建全卷积神经网络模型,将降维处理后的高光谱图像数据中的训练集输入全卷积神经网络模型中进行训练,得到训练后的全卷积神经网络模型,采用全卷积神经网络模型对降维处理后的高光谱图像数据中的训练集进行语义分割;得到背景分割结果,最后将优化分类结果与背景分割结果融合,得到最终分类结果,并输出可视化结果。
进一步地,搭建全卷积神经网络模型主要包括特征提取和上采样两个部分,所述特征提取部分使用去掉全连接层的Resnet-18进行特征提取,所述上采样部分对特征提取部分生成的特征图进行利用双线性插值上采样,用于生成原尺寸的语义分割图像。
具体地,不同深度学习语义分割模型提取背景结果的差异不大,因此对选取语义分割模型的要求并不严苛。这里选取的语义分割方法固定为基于全卷积神经网络的语义分割方法(基于全卷积神经网络的语义分割方法具体实现细节参考文献“J.Long,E.Shelhamer and T.Darrell,Fully convolutional networks for semanticsegmentation,2015IEEE Conference on Computer Vision and Pattern Recognition(CVPR),Boston,MA,USA,2015,pp.3431-3440,doi:10.1109/CVPR.2015.7298965.”)
实施例中将通过仿真的方式对本实施例基于空谱融合深度学习的医学高光谱图像分类方法的效果进一步证实。
评价指标采用交并比IoU(intersection-over-union)、准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1-分数(F1-score),这些指标值越大表示所采用方法的分类效果越好。表2列出了利用本发明对人脑高光谱图像数据集分类得到的分类结果的量化评价。参见表2可知,本发明提出的基于空谱融合深度学习的医学高光谱图像分类方法分类精度较高,具有很大的实用价值。
表2本发明在In-Vivo人脑高光谱数据集上的分类性能表现
种类 |
IOU(%) |
Accuracy(%) |
Precision(%) |
Recall(%) |
F1-score(%) |
正常组织 |
85.16 |
96.61 |
88.84 |
95.47 |
91.77 |
肿瘤 |
78.91 |
96.34 |
87.76 |
90.53 |
86.81 |
血管 |
77.68 |
95.55 |
95.61 |
80.90 |
86.56 |
背景 |
94.92 |
98.28 |
98.53 |
96.38 |
97.34 |
平均 |
88.41 |
96.69 |
92.68 |
90.82 |
90.62 |
最终得到的部分数据分类结果图如图3-7所示。图中包括病人高光谱图像的伪彩色图、标签和本发明得到的分类结果图,例如图3代表8号病人第1张高光谱图像的伪彩色图、标签和本发明得到的分类结果图,图4代表8号病人第2张高光谱图像的伪彩色图、标签和本发明得到的分类结果图。参见图3本发明得到的分类结果图,其中1绿色为正常组织,2红色为肿瘤,3蓝色为血管,4黑色为背景。可以看出,本发明得到的分类结果图相对平滑、总体错分点少,大部分区域完整,接近于原始的图像。本发明能够有效地描绘出大脑的实质区域并确定肿瘤的位置,从而为医生在手术中成功而精确的肿瘤切除提供指导。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明技术方案进行了详细的说明,本领域的技术人员应当理解,其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行同等替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神与范围。