APP下载

基于人工智能算法STN-GResnet的肝硬化识别

2024-01-02鞠维欣赵希梅

软件导刊 2023年12期
关键词:识别率肝硬化卷积

鞠维欣,赵希梅

(1.青岛酒店管理职业技术学院 会计学院,山东 青岛 266100;2.青岛大学 计算机科学技术学院,山东 青岛 266071;3.山东省数字医学与计算机辅助手术重点实验室,山东 青岛 266000)

0 引言

肝硬化是目前人类的常见慢性疾病,对其进行早期检测以防止病情恶化至关重要[1]。计算机辅助诊断[2](Computer-Aided Design,CAD)技术在医学影像领域发展迅速,其可以高效识别出肝的病理图像,不仅可以降低医生人为主观误判概率[3],而且可以提高工作效率。目前肝硬化识别计算机辅助诊断从早期的传统机器学习人工提取特征,到深度学习卷积神经网络自动提取样本特征进行分类都有着较多研究和应用,也获得了较好的识别效果。

基于传统机器学习的人工提取特征方法主要包括LBP、Gabor 变换、HOG 和灰度共生矩阵等。雷一鸣等[4]用小波变换先对图像进行特征预处理,利用二维Gabor 变换,通过LBP 方法提取特征,再利用SVM 作为分离器,识别率达到了95.4%。韩秀芝等[5]使用稀疏矩阵作为多特征分类器,并用LBP 对样本提取特征,实现了肝类疾病的多分类识别,且性能较为稳定。在基于深度学习卷积神经网络的肝硬化识别中,鞠维欣等[6]将卷积神经网络与概率神经网络相结合,提出GoogleNet-PNN 的新模型,达到了较高的识别率。张欢等[7]将STN 模块和异构卷积滤波器应用于卷积神经网络,达到了较好的二分类效果。

肝脏具有特殊的解剖形态,属于双重动脉供血。在超声照影检查时,肝硬化在影像中主要呈现密度高低不均、肝叶不成比例等情况,在诊断时不仅耗时耗力,而且面对细微的变化也容易产生人为主观误差,并且随着神经网络层数的加深,会增加梯度离散和梯度爆炸的风险,同时模型训练效率也会降低。针对上述问题,为降低卷积神经网络训练的复杂性,简化模型参数,更好地优化梯度,同时提高提取特征质量,本文提出一种新的模型结构STNGResnet 应用于超声肝硬化样本识别。因Resnet 残差网络打破了网络越深、性能越好的共识,且残差结构能加速学习,使得模型更加容易学习,也能有效防止梯度爆炸或消失。Resnet18 在保持性能的前提下模型参数也更少,因此以Resnet18[8]为基础,在其中加入Ghostmodule 模块增强冗余信息,结合空间变换网络使特征具有空间不变性,同时在模型中加入附加角裕度损失函数(ArcFace)来增强超声肝CT 影像纹理特征与颗粒度的差异性[9-10],并将该网络与传统的AlexNet[11]、VGG[12]、GoolgeNet[13]从识别准确率和运行效率两方面进行对比分析。

1 相关理论

1.1 Ghost模块

在向模型中输入超声肝CT 影像时,经过Resnet 中的残差块在进行卷积操作时会产生一定量的冗余特征图,而这些冗余特征可能是提取特征过程中重要的组成部分,或者存在一定的映射联系,利用Ghost 模块[14]用少量参数进行特征的映射变换和叠加。本文每经过一个残差块,都会加入Ghost 模块,提取到保留冗余信息的特征图,从而提高特征提取质量。

Ghost 模块如图1 所示。对于输入的特征,首先进行普通的卷积操作得到常规特征图,再利用深度卷积Depthwise对生成的常规特征图进行cheap operate 操作,最终得到Ghost特征图,然后再与第一步普通卷积的特征图通过concat操作得到完整的特征输出[15]。

Fig.1 Ghost module图1 Ghost模块

输入特征图为h×w×Ch_in时,经过常规普通卷积得到特征图输出为h'×w'×CH_out。常规的特征图将输入的特征图分为n份,卷积核的尺度大小为c。

普通卷积操作运算量为:

Ghost模块操作运算量为:

由上述公式得知,Ghost 模块先进行普通卷积,再利用Depthwise 深度卷积对特征进行压缩,然后两者相加最终得到Ghost特征图。

1.2 空间变换网络

由DeepMind[16]提出的空间变换网络(Spatial Transformer Network,STN)以仿射变换矩阵为基础,动态地对图像进行空间几何操作,以增强网络的几何不变性。空间转换模块主要由3 部分组成:①本地化网络(Localisation Network);②参数化采样网络(Parameterised Sampling Grid);③图像采样(Image Sampling)。空间变换网络结构如图2所示。

Fig.2 Spatial transformation network structure图2 空间变换网络结构

(1)本地化网络。该部分主要是将输入图片U∈R(H,W,C)经过一系列特征提取操作后输入到回归层,输出变换系数为θ,θ=floc(U)。

(2)参数化采样网络。对本地化网络输出的变换系数θ进行仿射变换,并对其中的坐标进行归一化,以此输出特征图。得到的特征变换关系如公式(3)所示。

(3)图像采样。图像通过本地化网络和参数采样层网络得到坐标信息,再与原图坐标信息相融合产生新的输出特征。其参数采样网络关系可表示为:

其中,k()为采样内核,Φx、Φy为采样核输入的内置参数,为输入特征,为特征图经过通道C对应的坐标。

输入的图像经过一系列仿射变换,其与原始特征图融合输出后的特征带有空间不变性。该网络即可作为完整网络,也可作为一个模块嵌入到模型中以增强特征提取能力,且参数较少,运行速度快。

1.3 附加角裕度损失函数

solftmax 作为Resnet 分类函数,将预测分类结果都转化为非负数,并将多个神经元的输出映射到(0,1)区间进行分类,且转化的数值相加为1。

其中,k为样本数,n为种类数,b为卷积神经网络的偏置,W为网络权重,x为特征向量,yi为第i个样本所属种类为第i个样本所属类别的权重矩阵,矩阵的转置为偏置矩阵。

在足够的数据集能够涵盖不同类别的情况下,solftmax 函数能够对每一个样本进行归属分类,保证类别的可分性。在区分过程中,所属类别的样本如果能更紧凑地拟合在一起,并且类与类之间有一定距离,即类内紧凑和类间分离,则分类过程会更加严谨。因此,本文引入附加角裕度损失函数(ArcFace)进行优化。首先对特征进行归一化处理,将其映射到(0,1)范围内,设置式(3)中的和偏置固定为0,并设置,再代入,得到公式如下:

之后,特征会以超球平面的形式分布在每个特征中心的周围。为使每一个特征中心围绕的特征更加紧凑,同时拉开特征中心之间的距离,即增强类内紧凑性和加大类间差异性,将公式(2)的进行缩放,并将增大至+β。具体公式如下:

经过附加角裕度损失函数(ArcFace)的优化训练,使得超声肝CT 影像的特征分布在类内更加聚合,同时反向传播优化β值的角间距离,使得不同特征之间的中心距离拉大,增强样本特征的差异性。

1.4 迁移学习与数据增强

因医学超声肝CT 影像样本集是在青医附院医生的指导下采集完成的,且数量远小于自然数据集的数量,为保证模型不因样本集数量产生过拟合现象,本文采用迁移学习和数据增强两种方法。

1.4.1 迁移学习

采用自然样本集的数据对模型进行预训练,保留训练后的参数应用到自己的样本集中。在卷积神经网络中,较低层次的网络学到的特征图都是比较简单的,包括轮廓、形状等,这些特征往往是通用的。但随着网络层数的加深,学到的特征也更加明显和差异化,此时可将预训练样本与自己真正的样本进行比较。如果样本差异性较大,可进行参数微调;如果样本差异性较小,可直接保留参数。因此,当样本集过小时,通过该方法可有效避免过拟合[17-19]。

1.4.2 数据增强

对于原先的数据集,通过设定数据变换规则对样本进行有效扩充[20]。数据增强主要分为有监督增强和无监督增强,有监督的数据增强又包括单样本增强和多样本增强。其中,单样本增强包括翻转变换(flip)、亮度对比度变化(Color Jittering)、平移变换(Shift)、水平/垂直翻转(Horizontally/Vertically Flip)与噪声扰动(noise)。

本文采用有监督学习中单样本集的平移旋转来扩充样本数据,设置旋转角度为30°,平移幅度为0.2,并将逆时针剪切变换角度和随机缩放程度都设置为0.2,通过该方式将样本集扩充了840个。

1.5 STN-GResnet网络

本文提出一种新的模型结构STN-GResnet,引用部分Resnet18 中的ResBlock 模块并改为直连,使得到的特征直接输入到Ghost 模块中。该模块中用 Depthwise 进行卷积和恒定映射,得到带有冗余信息的特征图,增强了信息获取能力,同时引入空间变换网络,提高卷积神经网络的平移不变性,并且可以定位到目标区域,达到区域变换的最优状态,增强特征提取能力。

该模型由4 个ResBlock 模块作为主框架,如图3 和表1所示,其中保留了残差网络模型中ResBlock 块内的残差运算,但模块间改为直连结构。模块1-3 中,Conv1 中卷积核大小为3×3,步长设为2;模块4 中Conv1 卷积核大小为3×3,步长设为1;模块1-4 中Conv2 卷积核大小都为1×1,步长都设为1。在每一个ResBlock 模块前引入Ghost 模块,每个模块通过公式(2)得到带有冗余信息的特征图,再传入下一个残差模块,同时Ghost 模块的输入channel 与上一个残差块输出的channel 保持一致。模型中Ghost 模块的常规卷积核大小为1×1,深度卷积核大小为3×3,步长都为1,模块中分组数为Groups=out_channels/ratio,并向上取整,ratio 设为2。通过以上结构,肝CT 样本通过提取该残差块的特征,再输入到Ghost 模块,从而提取到带有冗余信息的特征,因而能获得更多信息,提高了特征质量。同时,与空间变换网络相结合,该网络具有较好的鲁棒性。在本模型中,该网络作为一个模块融合到模型中,在增强网络模型整体性的同时,也增强了卷积神经网络平移、旋转后的空间不变性,进一步提升了分类效果。

Table 1 STN-GResnet network structure parameters表1 STN-GResnet网络结构参数

Fig.3 Structure of STN-GResnet model图3 STN-GResnet模型结构

最后,本文在分类层加入附加角裕度损失函数(Arc-Face)、loss 函数,如公式(5)所示。通过该方法增强了类内紧凑性,并加大了类间距离,以此增强超声肝CT 影像特征之间的差异性,提升对正常肝和肝硬化的识别精度。

2 实验结果分析

2.1 数据采集

本文的医学实验数据集均来自于青岛大学附属医院肝胆科的超声科室,该样本数据经医院医师许可,仅用于科学研究目的,不会泄露患者隐私信息。如图4—图6 所示,正常肝的影像纹理清晰、质地均匀;而肝硬化的影像肝实质回声增粗增强,质地不均匀,呈波浪状、锯齿状,且门静脉内径变宽。

Fig.4 Schematic diagram of two types of liver images and their sample extraction图4 两类肝脏图像及其样本提取示意图

Fig.5 Schematic diagram of liver sample(liver cirrhosis)图5 肝样本部分示意图(肝硬化)

Fig.6 Schematic diagram of liver sample(normal liver)图6 肝样本部分示意图(正常肝)

2.2 数据构成

为了在保证数据集充足的同时,尽可能保留肝影像特征,本文数据集通过MATLAB 对原始图像ROI 区域选取样本。在肝CT 每张影像中取不同位置且大小的样本,一共300 人的病理影像,其中正常肝150 人,肝硬化150 人。通过ROI 取样得到正常样本600,肝硬化样本600,并通过数据增强的方法扩充400 样本,最终实验样本为1 600 张(正常肝影像840 张,肝硬化影像760 张)jpg、png 格式的超声肝CT 影像。在运行过程中,会对数据集统一进行预处理,并初始化数据标签。0 为正常肝,1 为肝硬化,并将每组前60%的数据作为训练集,60%~80%的数据作为验证集,后20%的数据作为测试集。

2.3 实验环境

(1)硬件环境。CPU 为Core(TM)i7-11400H,内存为32G,显卡为RTX 3070(8G)独立显卡。

(2)软件环境。Pytorch1.9,CUDA11.2,Python 3.8.12,操作系统为Win10(64位)。

2.4 实验分析

2.4.1 评价指标

为保证数据的有效性,将实验中的初始化参数设为一致,即设置学习率为0.001,输入样本批大小为16,迭代次数为100,同时对测试模型进行了迁移学习的预训练,并优化参数,以保证分析的公平性。在对比分析中,将从识别率和复杂度两个维度进行对比,其中识别率判断公式如下:

式中,xi表示正确分类的样本数量,yj表示第j个样本,计算出全部正确分类的样本数量在全部样本数量中的占比,推出模型识别率。

复杂度包括网络的时间复杂度和空间复杂度。网络时间复杂度与模型训练和预测时间成正比,而模型有限的运算次数会影响复杂度大小,其单位为Flops(Floatingpoint Operations),设每一个卷积层的时间复杂度如下:

式中,M表示该层中每一个卷积核输出的featuremap大小,卷积核的大小设置为K,Cin、Cout分别为输入和输出通道数。最终得到整体时间复杂度为:

式中,第l层网络深度为D,Cl-1为上一层的卷积核个数(输出通道数),Cl为第l个卷积层的卷积核个数。

空间复杂度是指模型的参数总量,以及每一个卷积层输出的特征图大小,其公式如下:

由式(11)可知,空间复杂度的总参数量与卷积核大小K、通道数C、层数D有关,而各层输出的特征图仅与输入数据的大小M和通道C有关。

2.4.2 识别率与复杂度分析

由于STN-GResnet 是在Resnet18 基础上改进并拓展创新的一种网络模型,因此将本文模型与Resnet18、GResnet 的识别率、召回率和运行时间(训练加测试时间)进行比较,如表2所示。

Table 2 Comparison of 3 models表2 3种模型比较

由表2 分析可得,加入Ghost 模块以及引入附加角裕度损失函数后,STN-GResnet 网络模型相比于Resnet18 和加入Ghostmoduled 的模型,识别率分别提高了5.2%和3.6%。并且采用附加角裕度损失函数优化后,增加了超声肝CT 影像的类间差异性和类内聚合度,加大了不同病理影像之间的差异,也提高了模型的鲁棒性。通过引入Ghost 模块并且引用Resnet18 部分残差块,参数量也少于原Resnet18。

本文同时比较了目前使用较多且性能较好的分类网络模型,如Vggnet、HRNet、Alexnet、Goolgenet(V3),如图7、图8 所示。在运行时间上以训练加测试时间的和来比较整体模型运行效率,通过比较也可得到该模型属于参数较少的轻量级神经网络,从而保证了整体的运行性能。不同模型比较如表3所示。

Table 3 Comparison of different models表3 不同模型比较

Fig.7 Comparison of accuracy of different models图7 不同模型识别率比较

Fig.8 Comparison of loss value of different models图8 不同模型loss值比较

2.4.3 不同优化器比较

本文同时比较了不同优化器对网络模型性能的影响。在实验中,学习率与迭代次数分别设置为0.001 和100,得到比较结果如表4、图9、图10所示。

Table 4 Comparison of different optimizers表4 不同优化器比较

Fig.9 Comparison of optimizer accuracy图9 优化器识别率比较

Fig.10 Comparison of optimizer Loss图10 优化器Loss值比较

Adam[21]相比于其他优化器的性能更好,该优化器结合了Momentum 和Adaptive 动量算法,将SGD 的一阶动量和AdaDelta 的二阶动量相加使用。

SGD 的一阶动量如下:

AdaDelta 的二阶动量如下:

β1、β2为矩估计的指数衰减率,并初始化m0=0,V0=0。但在梯度运算初期,mt和Vt会向0 逼近。为解决该问题,通过公式(14)(15)进行修正。

修正后再使用公式(16)进行运算。

式中,∈为维持数值稳定性的常数,通常设置为10-8,η为学习率。通过上述公式,可以动态调整一阶动量和二阶动量的运算,通过对不同参数设置各自的适应性学习率,使其快速收敛并完成对梯度的优化。

通过上述分析结果得知,使用Adam 优化器在识别精度上相比于其他优化器更加适应于本文模型。

2.4.4 不同损失函数比较

通过比较不同损失函数约束模型的分类效果来验证其有效性,本文算法训练过程中的设置与对比模型实验一致,训练批次为16,迭代次数为100,使用Adam 作为优化器,通过消融实验保障最佳的模型性能,比较结果如图5所示。

由表5 可以看出,融入了Triplet Loss、Sphereface、Arcface 等损失函数进行优化的模型,其分类准确率均优于交叉熵损失函数。在加入附加角裕度损失函数对Loss 进行训练优化后,识别率提升了5.2%,具有较好的识别效果。

Table 5 Comparison of different Loss functions表5 不同损失函数比较

3 结语

针对传统神经网络泛化性弱、识别率较低、参数量大,且特征提取质量不高等问题,本文提出一种新的STNGResnet 网络模型,结合了部分Resnet18 残差块并改为直连结构,加入Ghost 模块,使其在超声肝CT 影像中能提取到保留冗余信息的特征图,并结合空间变换网络,使提取到的特征具有空间不变性,进而提高特征提取质量。在分类层加入附加角裕度损失函数(ArcFace),增强类内紧凑性,并加大类间距离,从而增强了超声肝CT 影像特征之间的差异性,提升了对正常肝和肝硬化的识别精度,使模型达到了较高识别率。

相比传统的深度学习识别算法,本文在保证较高识别率的同时,其模型大小也相对较小,便于其在应用上的部署。但对于硬件的算力要求较高,因此部署成本也较高。研究目前尚处于测试阶段,后续将进一步优化算法,并能够实现多分类任务目标,精确地进行多类常见肝疾病的检测,如脂肪肝、血管瘤等,实现在肝胆科的临床应用。

猜你喜欢

识别率肝硬化卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
肝硬化病人日常生活中的自我管理
基于类图像处理与向量化的大数据脚本攻击智能检测
从滤波器理解卷积
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
提升高速公路MTC二次抓拍车牌识别率方案研究
基于傅里叶域卷积表示的目标跟踪算法
防治肝硬化中医有方
高速公路机电日常维护中车牌识别率分析系统的应用
活血化瘀药在肝硬化病的临床应用