基于VGG的SPECT骨扫描图像关节炎分类

2021-06-29 07:11曹传贵满正行曹永春李同同王海军
关键词:镜像关节炎病灶

曹传贵,林 强,满正行,曹永春,邓 涛,李同同,王海军

(1.西北民族大学 数学与计算机科学学院,甘肃 兰州 730030;2.西北民族大学 动态流数据计算与应用实验室,甘肃 兰州 730030;3.甘肃省人民医院 核医学科,甘肃 兰州 730020)

0 引言

随着医学影像技术的发展,计算机断层扫描(Computed Tomography,CT)、核磁共振(Magnetic Resonance Imaging,MRI)、正电子发射型计算机断层显像(Positron Emission Tomography,PET)和单光子发射计算机断层成像术(Single Photon Emission Computed Tomography,SPECT)[1]逐渐应用于人体组织器官、解剖结构、生理功能和病理变化的临床检查.特别是,近年来功能影像在疾病诊疗中的应用日渐突现[2].与传统的CT影像相比,尽管SPECT功能影像[3]分辨率较低、容易受噪声干扰,但它有着可提前发现机体功能病变的优点,一定程度上克服了传统CT、MRI等结构成像的不足.当前,SPECT全身骨显像检测已经成为疾病提前发现的重要临床手段[4-6].

关节炎是常见、多发性生理疾病,其病因复杂,临床表现有着较明显的个体差异.据统计,我国骨关节炎发病率达到3%[7],且随着年龄增长,发病率显著增加.因SPECT核医学成像具有提早发现疾病的独特优势,在骨转移、退行性改变、关节炎的诊断中发挥着重要作用.SPECT核医学可提前1~3个月发现关节病变[8-10].

以人工阅片为主的传统诊断方式不仅效率偏低,而且存在漏诊、误诊等影响准确诊疗的问题.利用从大量历史数据中提取出来的疾病特征,构建基于机器学习特别是深度学习技术的计算机辅助诊断系统(Computer Aided Design,CAD),可实现疾病的自动辅助诊断,减少漏诊、误诊现象的发生.这是因为,CAD系统能够克服医务人员临床经验、主观认识差异导致的诊断结果不一致等问题[11-14],包括基于Faster R-CNN模型在INbreast数据集上对乳腺X光片的恶性和良性病变的分类检测[15]、基于CheXNet模型在最大公开胸部X射线数据集中对14种疾病进行分类[16]、基于深度学习卷积神经网络的CT数据预测肺结节恶性肿瘤的系统方法NoduleX[17]、基于DenseNet改进的网络结构进行SPECT甲状腺诊断[18].而卷积神经网络(Convolutional Neural Network,CNN)因其独有的图像特征自动提取功能,学术界提出了大量基于深度学习的关节炎识别模型与方法.现有工作主要以结构医学图像中关节炎的自动分类和诊断为研究目标,包括基于多模式机器学习的X射线成像的膝骨关节炎的预测模型[19]、基于全卷积神经网络的X射线成像平片自动量化膝关节炎严重程度的分类[20]、基于V型网络和Inception网络的MRI图像关节软骨病变分类[21]、基于孪生CNN的X射线成像平片自动膝关节骨关节炎辅助诊断[22]、CNN与长短期记忆(Long Short Term Memory,LSTM)相结合的X射线成像关节炎自动诊断[23]以及可训练注意力模块CNN的X射线成像膝盖骨关节炎自动分类[24].

1 数据与方法

1.1 数据及预处理

本文实验数据来源于甘肃省人民医院核医学科患者的门诊检查记录,每个记录由DICOM文件和诊断报告两部分构成.原始数据集包含780个DICOM文件.根据部位的不同,将原始数据分为肩关节、肘关节、腕关节、膝关节、踝关节等五个类别,每个类别分别有正常和包含病灶两种类型.全身SPECT骨显像的大小为1024(高) × 256(宽).为专注关节炎病灶的识别和分类,本文基于常识以手工方式从原始图像中裁剪出64 × 64的图像块.包含炎症病灶的图像块有345个样本,不包含病灶的正常图像块有435个样本,共有400个病例,其中正常55人,异常345人.为表述方便,本文将包含病灶的图像称为异常图像,不含病灶的图像称为正常图像.每个异常图像中仅包含一个病灶,即不含多病灶图像样本.本文研究数据集涉及患者的年龄分布如表1所示.

表1 患者年龄分布

由表1可知,患者的年龄主要分布在40~79岁之间,占比达到94.7%,而60~69岁之间的患者达到33.9%.这是因为,SPECT核医学检查主要面向重病患者,而老年人随着机体功能的下降,更容易出现生理疾病,甚至严重疾病.

图1(左)中SPECT全身骨显像包含左右肩关节、腕关节、肘关节、手指关节炎和左膝关节炎多处病灶,还有膀胱残留;图1(右)中包含左右膝关节炎、L1~L5退行性改变以及膀胱残留.从图1可以看出,SPECT全身骨扫描具有分辨率低且一张图像包含多个病灶的特点.

尽管图1所示的关节炎病灶呈现为放射浓聚的区域,但是否诊断为关节炎,临床上通常要综合其他信息(如对称性、个体差异)给出诊断结论.因此,本文借助深度学习技术特征自动提取功能,特别是深度模型的卷积层感受野特性,来实现个体差异显著的低分辨率SPECT图像关节炎病灶的可靠分类.

图1 SPECT骨显像样例

1.1.1 数据归一化

每个原始DICOM文件是一个矩阵,每个元素代表成像设备捕获的放射量.如图2所示,放射量的变化范围宽广,最高时可能超过1万.为了适应模型的处理要求,本文利用归一化处理技术将原始DICOM文件转化为元素取值在0~255的数据矩阵,本文称其为SPECT图像.归一化过程如下:

1) 扫描每个DICOM文件,确定其辐射量的最小值Xmin和最大值Xmax.

2) 根据下式计算系数k.

(1)

3) 得到归一化[a,b]区间的数据,其中a=0,b=255.

1.1.2 数据扩展

SPECT图像是在疾病诊治过程中收集的核医学影像记录,疾病类别的差异自然导致归属各类疾病的图像数据集存在不平衡现象,例如膝关节炎患者较多而踝关节炎患者较少.为了确保不同类别疾病数据集的基本平衡,同时适度扩展图像数据的数量,本文使用基于图像平移、旋转、扭曲、镜像的数据扩展方法.

为尽可能避免分类类间的不平衡现象,在数据扩展时做不等量扩展.如肘关节炎比膝关节炎少,肘关节炎扩展10倍,而膝关节炎只扩展5倍.本文经数据预处理后的实验数据见表2.

表2 本文所用数据集

镜像:SPECT核医学检测每次产生两幅图像,分别代表前位图像和后位图像.但检查过程及数据传输和存储过程中可能出现图像丢失的现象.为了避免图像丢失带来的影响,本文对SPECT图像做镜像处理.常见的图像镜像有水平镜像和垂直镜像.因人体的垂直对称性,本文仅选用水平镜像实现SPECT图像的水平镜像处理.令w和h分别代表原始图像的宽度和高度,源图像中点的(xi,yi)经过水平镜像后的坐标(xo,yo)为:

xo=w-xi-1,yo=yi

(2)

旋转:疾病检查过程中,因患者的躺姿不完全标准等可能,所收集的SPECT图像中会包含倾斜现象.为提升模型识别的鲁棒性,需要对SPECT做适度旋转.但医学图像不同于自然图像,旋转幅度应该控制在合理的范围之内.

假定(xi,yi)为输入图像中的点,给定旋转角度θ∈[θ1,θ2],其中θ1和θ2分别代表旋转角度的下限和上限,其取值通过实验方式确定.式(2)给出了经旋转处理后的点(xo,yo).

(3)

为给定包含关节炎病灶的样本实例,图3给出了镜像和旋转处理后的结果.

(a)原图 (b)镜像 (c)旋转

1.2 VGG分类模型

本文选用标准的VGG-16模型构建SPECT图像分类器.由于标准VGG-16模型的网络层级较深,对训练样本的数量要求较高,因此本文参照VGG-16结构定义新的模型VGG-6.两类模型的网络结构分别见图4和图5.

图4 VGG-16网络结构

图5 VGG-6网络结构

1.2.1 标准VGG-16模型

VGG-16是由多层卷积运算和池化运算堆叠而成的深层网络结构,包括13个卷积层、5个池化层和3个全连接层,总数目为13+3=16(这就是VGG16中16的来源).其中,卷积层和全连接层有相应的权重,因此也称为权重层.

卷积层均使用3×3的卷积核,结合其他参数(步幅Stride=1、填充方式Padding=Same),以确保每个卷积层与前一层保持相同的尺寸.

池化层均采用相同的2×2大小的参数,高和宽逐步减半,即224→112→56→28→14→7,通道数逐步翻倍,即64→128→256→512,其后将保持不变.

1.2.2 自定义VGG-6模型

参照VGG-16模型的结构,本文定义深度为6的模型VGG-6,即由4个卷积层和2个池化层构成,同时包含2个全连接层.模型的输入为64×64的三通道图像:①经过两层3×3的卷积后通道数变为64,由于采用Same方式填充,所以经过两层卷积后图像尺寸仍然不变;②经过2×2的池化处理,变成32×32的图像;③进行两层3×3的卷积,仍采用Same方式填充,通道数为128且大小不变;④经过2×2的池化处理,变为16×16的图像;⑤经过两层全连接,完成10类别分类(对应于关节炎和正常图像的类别数).

激活函数和优化函数是CNN的重要组成部分,对分类的准确度、模型的收敛速度和迭代周期等起着重要的决定作用.正则化和Dropout能够提高模型的泛化能力、降低过拟合现象的发生,从而提高模型的分类性能.

激活函数:ReLU是CNN常用的激活函数,它原样输出正样本,但对负数本做置0处理.相比于Sigmoid或者Tanh,ReLU因不使用指数运算,因而计算量小,能够加快模型收敛.ReLU的定义见公式4.

f(x)=max(0,x)

(4)

图6给出了ReLU函数的图形化表示.

图6 ReLU函数曲线

优化函数:本文选用随机梯度下降(Stochastic gradient descent,SGD)优化函数,在每次迭代中,使用一个样本来对参数进行更新,从而使得训练速度加快.

正则化:在训练过程中通过逐渐增大超参数λ来增加网络参数稀疏性,以提高泛化能力.本文采用L1范数作为稀疏性惩罚Ω(θ)的正则化方式叫做L1正则化,其定义如下:

(5)

其中,L1范数‖θ1‖1定义为张量θ1中所有元素的绝对值之和.

Dropout:失活操作通过随机断开神经网络的连接,以减少训练时实际参与计算模型的参数数量.但在模型测试阶段,Dropout会恢复所有的连接,保证模型测试时获得最好的性能.本文带有Dropout层的网络模型在训练时,其实际参数量减少,因而泛化能力变强.

2 实验及评价

2.1 实验设计

使用表2所示的5 086个图像样本,实验验证本文构建的分类器的性能.为获得实验数据的真实情况,实验开始前邀请三名核医学科医生对图像进行了手工标注.三名标注人员依据诊断报告分别独自标注每一幅图像,当标注结果不一致时,采用少数服从多数的原则确定最后结果.

训练数据、验证数据、测试数据的比例为6︰2︰2,学习率设置为0.0001、Dropout设置为0.5.实验中所用的GPU为P400、CPU为i7-9700,内存为32 G,采用Tensorflow2.0框架和Pytorch 1.4.0框架.

模型分类后的图像将归属于下列四个类别的其中一个:

①真阳性(True Positive,TP):将包含关节炎病灶的图像正确地识别为异常图像;②真阴性(True Negative,TN):将不含病灶的图像正确地识别为正常图像;③假阳性(False Positive,FP):将不含病灶的图像错误地识别为异常图像;④假阴性(False Negative,FN):将包含病灶的图像错误地识别为正常图像. 基于上述定义,现定义本文的评价指标准确度Acc、精确度Prec、召回率Rec和F-1评分如下:

(6)

(7)

(8)

(9)

此外,一个好的分类器应该同时获得高的检测率(True Positive Rate,TPR)和低的误报率(False Positive Rate,FPR),其定义见公式(10)和公式(11).

(10)

(11)

以TPR为横坐标、FPR为纵坐标,绘制ROC (Receiver Operating Characteristic Curve)曲线,曲线下的面积AUC值越大,则模型的分类性能越好.

2.2 实验结果与分析

2.2.1 VGG6准确率变化曲线分析

图7给出了VGG-6模型的训练准确度Acc和损失Loss的变化情况.从图7可以看出,随着训练迭代次数的增加,准确率不断上升.当训练到100周期时准确率基本保持不变,达到0.92,其后准确率将基本保持不变.

图7 VGG-6模型的训练准确率和验证准确率曲线

2.2.2 量化结果

表3给出了VGG-16和VGG-6两种模型在各评价指标上的取值.从表3可以看出,本文自定义的深度模型VGG-6获得了更好的分类性能,分类准确度较VGG-16高出11.9个百分点.

表3 不同模型的实验结果比较

VGG-6获得较好分类的可能原因:对于小数据集来说,较浅层的识别模型更有利于提取病灶的有效特征,从而获得较高性能的分类结果.由于VGG-16模型层数较深,容易造成过度学习,总参数量是VGG-6的4倍,相应地增加了计算量和运行时间.所以采用卷积核较小的浅层VGG-6模型,可实现SPECT骨显像图像中关节炎疾病的高效可靠分类.

为了进一步考察不同激活函数对分类性能的影响,表4给出VGG-6模型使用不同激活函数时的准确度和损失指标.从表4可以看出,激活函数ReLU效果最好,其收敛周期为125,明显低于其他激活函数.同时,ReLU获得的准确率和损失值也优于其他函数.这与Tanh和Sigmoid相比,ReLU的计算量更小、收敛速度更快.

表4 不同VGG-6模型激活函数比较

2.2.3 ROC曲线与AUC值

图8给出了VGG-6模型的ROC曲线及其AUC值.高达0.986 2的AUC值充分说明了本文自定义的VGG-6模型可有效用于SPECT图像关节炎疾病的自动诊断.

图8 ROC曲线和AUC值 图9 VGG-6模型的混淆矩阵

2.2.4 混淆矩阵

为了进一步探究VGG-6模型在不同类别关节炎SPECT图像分类中的性能,图9提供了分类结果的混淆矩阵.其中,0类图像的准确率偏低,为87.9%;其他类别的识别率都在90%以上,部分甚至高达95%.从混淆矩阵可知,关节炎与正常部位的分类准确率指标均保持在一个较高水平.

由图10给出的误分样本可以看出:(a)正常踝关节被模型预测为踝关节炎.在此踝关节处浓聚增强,医生也会有误诊为踝关节炎的可能,对深度模型也会造成误判;(b)正常肩关节被模型预测为肩关节炎,此肩关节与图(a)情况类似,中心位置浓聚增强,容易导致误诊;(c)膝关节炎被预测为正常膝关节.此膝关节显影减淡,相对其他关节炎浓聚减弱,是放射药物吸收在个体之间的差异所导致的结果;(d)肩关节炎被预测为正常肩关节.此患者较为年轻,对放射性药物吸收能力强,因此在检测时肩关节处显影明显,有浓聚现象,对于这种情况医生也经常会误诊. 此外,在SPECT检测中,特殊人群如老年人、体质较弱患者对放射性药物的吸收能力普遍偏低,是造成许多老年人在关节炎检测时漏诊的主要原因.相反,年轻人代谢能力强,对放射性药物吸收能力也较强,因而容易发生误诊的情况.放射药物吸收在个体之间存在的差异,一定程度上对分类模型造成干扰,但深度模型的自动特征提取能力可有效针对这些差异,是传统机器学习方法的有效补充.

(a) (b) (c) (d)

3 总结与展望

以SPECT成像关节炎的自动可靠识别为目标,本文研究并构建基于VGG-16的分类器,同时自定义了VGG-6分类模型.首先,对SPECT图像的预处理和数据扩展过程进行了说明.然后详细阐述了本文构建的深度分类器.基于临床环境收集的真实SPECT检查数据,对构建的分类模型进行了实验验证.实验结果表明,本文提出的方法在关节炎图像自动分类中具有可行性.未来将从如下几个方面对本文工作予以扩展:

首先,进一步优化本文构建的深度分类模型,尤其是VGG-6模型,以提升模型的分类性能.

然后,收集大量真实SPECT检查数据,来验证模型的有效性和可用性.

最后,拓展研究领域,构建面向多病灶的深度分类模型,进而研发可实际操控的SPECT关节炎CAD系统.

猜你喜欢
镜像关节炎病灶
剪切波弹性成像在乳腺不同深度病变中的可重复性评价
能谱CT 在肺癌淋巴结转移诊断中的应用价值
非布司他治疗痛风性关节炎的疗效
Red panda Roshani visits Melbourne Zoo vet
关节炎的“养护手册”
镜像
AP—4、EZH2基因表达量与子宫内膜癌病灶中细胞凋亡、上皮间质转化的相关性研究
镜像
镜像
彝药“我思”治疗痛风性关节炎60例临床观察