APP下载

基于深度残差网络的脊柱疾病分类预测

2022-05-30李大舟张诗瑞

计算机技术与发展 2022年5期
关键词:脊椎椎间盘卷积

李大舟,张诗瑞,高 巍

(沈阳化工大学 计算机科学与技术学院,辽宁 沈阳 110142)

0 引 言

退行性脊柱疾病是导致腰背疼痛的主要原因,是脊柱外科中最常见的疾病脊椎疾病。《1990~2016年中国及省级行政区疾病负担报告》显示脊椎问题,包括颈部和下腰部,一直是影响国内各省级行政区人群生命质量的最重要疾病,严重制约了人群健康期望寿命的提高[1]。脊椎疾病不仅带来了巨大的医疗开销,而且因患病导致的残疾造成了巨大的社会成本。

脊椎疾病的诊断难度大、早期发现效率低,给及时治疗带来了很大的难度。磁共振成像因其很好地对人体软组织(例如神经组织)进行成像,是目前临床上诊断脊椎疾病的常用手段。放射科医生根据核磁图像能够确定神经根受压的位置、病因和严重程度,生成具有逐级详细信息的区域,并将这些发现传达给医师及患者。但是,核磁共振数据复杂、包含多个切片和多个模态数据,造成医生的工作重复量大、效率低。为了解决这个问题,国内外研究者引入人工智能技术来提高诊断效率,降低漏诊、误诊率,实现了医生诊断的一致性。

针对脊柱磁共振图像的特点,该文提出了一种针对性的处理方法和训练方法,解决了在医学领域中医学数据的采集、标注困难和医疗数据集数量少的问题。同时,着重于提高网络的计算效率,降低内存占用,以满足该模型在嵌入式设备、移动设备等资源有限的应用场景的需要,解决了训练深度卷积神经网络过程中计算和内存需求量大的问题,将卷积神经网络应用在退行性脊柱疾病的自动化筛查领域。

1 相关工作

早期的脊椎图像特征提取依靠人工实现特征工程。2008年,Corso等人使用概率图模型来进行脊椎的定位和分割任务[2]。2008年,赵燕燕等人使用形态学的分水岭算法,实现了脊柱图像的特征提取并完成了分割任务[3]。2011年,Koompairojn S等利用T2轴状位图像,使用手工制作的多层感知器特征进行脊椎疾病的分类[4]。2012年,Ghosh等[5];2013年,Oktay和Akgul等[6]使用人工设计的梯度方向直方图特征来对脊椎特征进行提取。2018年,吴裕浩提出了一种基于随机森林的椎骨CT图像检测算法,实现了椎骨特征提取和椎骨检测[7]。

2019年,付光华等人使用边缘检测和区域生长的方法,实现了脊椎区域的分割[8]。这些基于人工特征工程的传统算法需要耗费大量的时间在特征工程的设计上,而且针对特定数据集所设计的特征工程往往存在着严重的过拟合。一旦更换数据集,则需要重新设计特征工程。在实际应用场景下的使用复杂,分析过程难以理解。

近年来,神经网络逐步取代传统算法。基于卷积神经网络算法自动进行特征工程学习的算法取代了传统的人工设计特征的方法,在计算机视觉领域的各方面均取得了最优的成绩。1995年,LoSCB等人使用含有两个隐藏层的卷积神经网络算法,对胸部CT图像中的肺结节进行了检测[9]。2017年,Rajpurkar P等人使用改良的DenseNet,使用150 000个训练样本,对14种不同的肺部疾病进行了分类[10]。2017年,Jamaludin等开发了多任务VGG-M结构,用于对椎间盘退变、中央管狭窄和其他脊柱疾病的分级[11]。2018年,田娟秀等人基于Unet网络[12]对肿瘤图像特征进行了提取和分析[13]。2019年,刘帆将卷积神经网络方法和机器学习中经典特征提取方法相结合,实现了对脊柱侧弯疾病的分级诊断[14]。2019年,洪雁飞等人使用了卷积神经网络的方法提取脊椎图像特征[15]。这些算法虽然取得了比传统算法识别率更高的效果,但模型训练时间长、占用资源大、不利于模型在实际应用场景中的使用。

2 算法设计

医学图像数据集具有数据量少、样本之间差异性小的特点。该文提出的Depthwise-ResNet模型针对经典的ResNet残差结构进行了改进,保证了在模型拟合能力不降低的同时,可以减缓模型对内存的过度依赖,提高了模型的运算效率。

2.1 模型设计

针对脊柱医学图像提出了针对性的数据处理方法。提出的模型将深度可分离卷积引入了传统的ResNet的残差结构中。提出的改进的结构能在保证模型效果的同时,减少参数数量,提高运算速度并减少内存占用,模型的主要结构如图1所示。

图1 设计的脊椎疾病分类模型

2.2 数据预处理

磁共振图像在采集过程中,存在对比度低,图像含有较多的噪声等问题。在将图像输入网络中进行训练之前,使用自适应直方图均衡化对输入图像进行了对比度增强,使用中值滤波,实现了对图像噪声的处理。

2.2.1 自适应直方图均衡化

医学图像由于本身及成像条件的限制,图像的对比度很低,主要以图像的低频部分组成。但是,考虑到人眼对高频信号(图像边缘部分)比较敏感,因此该文通过提高图像高频部分达到了提高视觉效果的目的。

采用自适应直方图均衡化算法增强医学图像的对比度,以增强图像的高频部分。自适应直方图均衡化(AHE)是一种提升图像对比度的计算机图像处理技术。AHE算法将原始图像分为不重叠的局部小块,然后在每一局部块进行直方图均衡化,其计算方法如公式(1)所示:

(1)

式中,Sk表示均衡化之后的灰度值,nj表示原图中某个灰度色阶j的橡树数量,N表示图像像素总和。

通过自适应直方图均衡化算法很好地增强了核磁共振中脊椎部位的图片局部信息。

2.2.2 中值滤波

磁共振图像在采集过程中,存在脉冲干扰,因此核磁共振脊柱图像具有较强的噪声。为了消除该噪声,该文选用非线性平滑中值滤波预处理核磁共振脊柱部位图片。中值滤波是一种去除噪声的非线性处理方法。中值滤波的基本思想是用一点的一个领域中各值的中值替代像中该点的值。该文使用中值滤波在输入模型前对图片进行了处理。

2.3 邻近帧扩充

该文使用中间帧与相邻帧构成的三通道彩色图作为提出的Depthwise-ResNet模型的输入,核磁共振成像从不同角度提供了对于身体某个部位的切片扫描信息。在数据集中不仅包含专家标注信息的中间帧的图像,还包含着大量的可用信息在其他的切片。通过对核磁共振影像数据集的研究分析,发现矢状位中间帧的邻近帧的关键点位置以及相关的医学特征与数据集中专家标注的中间帧具有高相似性。因此,将含有专家标注的中间帧与其前一帧和后一帧图像数据在通道维度上组合,输入模型进行训练。

2.4 one-hot编码

使用one-hot编码方式对输入模型的标签值进行编码。在脊椎磁共振数据集中,由于不同的疾病类别之间的相似度大,不同专家的标注信息(真实标签值)并不具有一致性,标注错误时有发生。传统的one-hot编码方式将样本的真实标签所对应的分类所映射的整数值为1,其他位均为0。忽略了错误的损失值,同时对标注标签过度自信。此时使用传统的one-hot编码训练模型将会导致模型过度自信而缺乏泛化性。

标签平滑是机器学习中的一种针对标签的正则化方法。标签平滑把one-hot编码中标签为1的那一项进行衰减,衰减的那一部分平均分配到其他的每一个类别之中去,从而避免了过分相信训练样本。假设原标签分布为q(k|x)=δk,y,那么标签平滑之后的标签分布q'(k|x)如公式(2)所示:

q'(k|x)=(1-ε)δk,y+εu(k)

(2)

其中,u(k)为一个概率分布。该文采用均匀分布,并假设需要分类的类别共有K类,该文使用的标签平滑之后的标签分布如公式(3)所示:

(3)

2.5 Depthwise-ResNet结构单元

将经过预处理的图片数据和经过one-hot编码的标签值输入到提出的Depthwise-ResNet模型中进行训练。在传统的ResNet网络的残差结构的基础上,将深度可分离卷积引入到残差结构中。将标准卷积分解成了深度卷积和一个1*1卷积,输入x先经历一个3*3 的深度卷积,再经过一个1*1卷积,在每次卷积操作之后紧接一个批标准化层和一个ReLu激活函数。模型结构单元如图2所示。

图2 Depthwise-ResNet模型结构单元

2.5.1 深度卷积

图2中卷积核尺寸为3*3的深度卷积将卷积核拆解成单通道形式,深度卷积的卷积核个数等于输入特征图的通道数,其每个卷积核对应着输入图像的一个通道。图3展示了一个当输入特征图通道数为3时的深度卷积过程。相比标准卷积,在深度卷积部分,卷积核的每个通道与图片的单个通道一一对应。每一个卷积核只提取一个通道的特征,卷积核尺寸为3*3时的深度卷积的参数量仅为标准卷积的1/9。

图3 深度卷积过程

2.5.2 批标准化层

图3中3*3深度卷积运算之后生成的特征图具有不同的数据分布,这不利于模型特征的学习。该文在3*3深度卷积输出后紧接批标准化层,对每一个最小训练批次进行归一化操作,批标准化将每个输入批次的数据转换为以0为均值,1为方差的正态分布,来保证输入卷积层的数据分布具有一致性。这样,使得模型更加专注于特征的提取,不必为不一致的分布增加额外的运算操作和参数,从而提高了该模型的运算速度,减少了模型的参数量。此外,为了恢复部分被修改的特征,在批标准化加入了γ,β。为了提高模型的运算效率,将批标准化引入残差结构中,批标准化的计算公式为:

(4)

2.5.3 1*1卷积

图3中3*3深度卷积生成的通道分离的特征图作为1*1卷积层的输入,将由3*3深度卷积得到的多个通道的特征图在通道维度上进行信息的交互并实现特征图通道数的变化。1*1卷积过程的卷积核深度等于输入特征图的通道数,卷积核个数等于输出特征图的通道数。该文在每一个3*3深度卷积之后均使用一个1*1卷积用于融合特征图的通道信息以及特征图维度的变换。

3 实 验

3.1 数据集

文中使用的数据集是脊柱的磁共振影像数据集,共包含训练集150例和测试集50例。磁共振成像是放射学中常用到的一种医学成像技术。磁共振成像技术使用强磁场、磁场梯度和无线电波来生成人体器官的图像。在脊柱磁共振的影像数据中,神经、脊髓、椎体和椎间盘的氢原子含量不同,因此呈现出的亮度也不同。

文中使用的数据集中每一例数据包括训练所需要的灰度图像和与图像相对应的标注数据。灰度图像数据包含从胸12(T12)腰1(L1)间的椎间盘开始到腰5(L5)骶1(S1)间的椎间盘结束的共6块椎体和5块椎间盘的图像像素数据信息。标注信息包含与之相对应的各个椎骨和椎间盘质心关键点的坐标,以及每个椎骨和椎间盘所属的病变类型。数据集中椎体病变类型分成2类:正常和退行性病变;椎间盘病变类型分成5类:正常、膨出、突出、脱出、椎体内疝出。椎体和椎间盘病变类型及编码见表1。

表1 椎体、椎间盘分类编码

3.2 评价指标

评价指标采用了精确率、召回率、F1-Score、内存性能和一次完整迭代所需要时间。FP代表把负类预测为正类的样本数;FN代表把正类预测为负类的样本数;TP代表把正类预测为正类的样本数;TN代表把负类预测为负类的样本数。选用的5个评价指标的计算公式如下:

精确率的计算公式:

(5)

召回率的计算公式:

(6)

F1-Score的计算公式:

(7)

内存占用(兆字节):

N=模型占用的内存大小

(8)

运算速度(个/秒):

S=病例样本的平均运算速度

(9)

3.3 训练过程

在进行实验训练的过程中,针对医学图像的数据特点以及在训练过程中所遇到的过拟合等问题,对该脊椎数据集采取了多种针对性的处理和训练方法。这些方法主要包括尺度扰动、带权重的损失函数和过采样。

3.3.1 尺度扰动

该文在对椎骨椎间盘图片进行裁取时采用了尺度扰动的方法。在数据集数据统计结果的基础上,以关键点为中心,上下两个关键点垂直距离h为基准,随机截取垂直长度为h到1.2h,水平宽度为0.8h到h的矩形范围。在实际训练时,使用上述的尺度扰动方法截取的随机尺寸图像作为模型的输入图像。

3.3.2 带权重的损失函数

所用数据集一共包含7个病变类别。椎体包含2类:正常、退行性改变。椎间盘包含5类:正常、膨出、突出、脱出和椎体内疝出。对数据集中每个类的类别进行统计后,发现数据集中椎间盘-脱出共有32例,椎间盘-椎体内疝出共有5例,而椎体-退行性改变有587例,数据集中存在类别不均衡的情况。为了缓解类别不均衡给模型效果带来的不利影响,使模型学到更多的少数类特征,采用了带权重的损失函数和过采样方法来解决数据集类别不均衡问题。

带权重的损失函数是一种改善类别不均衡的方法。通过对少数类的损失值乘上一个大于1的系数,以此来定向提升模型的召回率,增加少数类错分的惩罚代价,并将此代价直接体现在目标函数里。通过该方法优化目标函数调整模型在小样本上的注意力。在实现过程中,使用PyTorch框架的CrossEntropyLoss损失函数的weight参数来设置损失函数的权重。根据训练集中各个类数量所占训练集样本总数的比例的倒数,对带损失的交叉熵损失函数的权重向量进行了初始化并进行训练。

3.3.3 过采样

数据不平衡是指在分类样本中,各个类别所占的比例不均等。通过对数据集中各个类别样本数量进行统计后发现,该数据集中不同类别样本存在着严重的类别不平衡。为了解决不平衡问题,采用了过采样技术。过采样方法利用现有的正样本生成新的正样本。过采样增加了正样本数量以及正样本的多样性,提升了模型对正样本的分类效果。

为了保证模型能学习到足够多的特征,增大正样本的抽样比例。此外,采取的生成新样本的方式是,在将正样本图片输入模型进行训练之前随机添加随机高斯噪声,并对正样本图像进行小角度的随机旋转。

3.4 实验结果

3.4.1 模型层数选择

提出的Depthwise_ResNet模型的卷积层层数会影响模型的表达能力。为了选择最优的Depthwise_ResNet模型层数,使用不同的单元数量进行训练。图4记录了精确率、召回率、F1-Score的数值与层数的关系。

(a)迭代轮数与精确率

(b)迭代轮数与召回率

(c)迭代轮数与F1-Score图4 模型参数的选择

从图4的实验结果可以看到,当Depthwise_ResNet模型结构单元数量为6时,模型的精确率、召回率和F1-Score均为最高,所以使用的最终模型的Depthwise_ResNet模型结构单元数量为6,模型总层数为13。

模型结构见图5。

图5 提出的Depthwise_ResNet模型网络结构

在每一个卷积操作之后,紧接一个批标准化层和一个线性激活函数ReLu层。每一个3*3的深度卷积都紧接一个1*1卷积来融合通道信息以及改变输出特征图的维度。将卷积操作得到的特征图送入输入维度为512,输出维度为7的全连接层中,计算并输出分类结果。

3.4.2 标签平滑系数的选择

对one-hot 编码进行了标签平滑。图6展现了在不同的标签平滑系数ε下模型的F-Score分数,横轴是平滑系数ε,纵轴是F1-Score的值。在基准模型下,图6表明不添加标签平滑时,模型的F1-Score为0.671;当标签平滑参数ε取0.001时,模型的F1-Score最高,达到了0.710。该结果证明了在模型中加入标签平滑解决了过拟合问题。

图6 标签平滑系数选择

3.4.3 实验结果分析

表2展示了使用不同的数据处理方法和训练方法进行训练的结果。表2中基准模型是该文提出的结构单元数量为6的Depthwise_ResNet模型。表2每一行表明了对提出的Depthwise_ResNet模型使用不同的训练方法进行训练的结果。

表2 训练细节的处理

表2中还可以看到邻近帧扩充可以提升F1-Score 0.015个百分点;尺度扰动可以提高F1-Score 0.013个百分点;带权重的损失函数可以提升F1-Score 0.02个百分点;标签平滑能提高F1-Score 0.01个百分点;过采样操作可以提高F1-Score 0.017个百分点。该结果表明邻近帧扩充的数据增强方式和带权重的损失函数能够在一定程度上降低过拟合,提高模型的表现能力。综上,所用的最终的模型的F1-Score 为0.710,比基准模型提高0.038个百分点。

3.4.4 与经典模型的比较

在控制其他变量不变的情况下,该文提出的Depthwise_ResNet模型与AlexNet[16]、ResNet[17]、VGG[18]等经典卷积神经网络进行了比较。表3给出了上述5种算法在5种评价指标下的比较结果。

表3 提出的Depthwise_ResNet模型与经典模型的比较

表3中结果表明,在保证模型能力的同时,提出的Depthwise_ResNet模型结构在F1-Score、精确率、运算速度、内存占用方面均取得了比传统算法更好的结果。Depthwise_ResNet模型减少35%到85%的计算时间,降低70%以上的内存占用。

在资源有限的应用场景中,Depthwise_ResNet模型比传统的模型占用更小的内存消耗和更低的延迟,节省更大的计算成本。

4 结束语

提出了一种轻量化的Depthwise_ResNet模型,实现依据核磁共振图像了对脊椎疾病进行分类。针对医学影像的核磁共振数据处理,提出的邻近帧扩充、尺度扰动方法能够小幅度提高Depthwise_ResNet模型的表现能力。与传统的AlexNet、ResNet和VGG相比,提出的模型能够减少85%的内存占用和60%的计算时间,并且提高了预测效果。

猜你喜欢

脊椎椎间盘卷积
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
职业亚健康之脊椎病
椎间盘源性腰痛患者锻炼首选蛙泳
基于深度卷积网络与空洞卷积融合的人群计数
半躺姿势最伤腰
给动物分一分“门派”
首个3D打印人造脊椎成功植入
射频消融联合椎间盘内亚甲蓝注射治疗25例椎间盘源性腰痛的临床分析
“摸到腰椎间盘”是鬼话