APP下载

基于STN 与异构卷积滤波器的肝硬化识别

2021-05-17赵希梅

计算机工程 2021年5期
关键词:识别率异构复杂度

张 欢,赵希梅,2

(1.青岛大学 计算机科学技术学院,山东 青岛 266071;2.山东省数字医学与计算机辅助手术重点实验室,山东 青岛 266000)

0 概述

自人工神经网络[1]诞生以来,计算机辅助诊断(Computer-Aided Diagnosis,CAD)[2]技术逐渐受到关注。随着卷积神经网络(Convolutional Neural Network,CNN)[3]的发展,该技术在医学影像特别是肝脏超声影像方面的应用日益广泛。肝脏超声影像可有效检测出肝脏组织的微小病变,操作安全便捷。目前CAD 辅助肝脏超声影像技术已成为检测肝脏病灶的重要手段,肝病检测中病灶图像特征的提取方式,也由基于机器学习[4]的人工提取发展为基于深度学习[5]的卷积自动提取。

目前,国内外研究人员采用机器学习或深度学习方法进行肝脏病变研究。在机器学习方面,文献[6]利用空间灰度独立矩阵、空间频率分解和分形结合两层BP 神经网络,对正常肝脏以及轻度、中度和重度脂肪肝4 种肝脏超声影像的平均识别率达到95.33%。文献[7]提出一种改进SLBP 特征与二维Gabor 变换结合的方法,采用超限学习机ELM 对肝硬化样本的识别率达到95.4%。在深度学习方面,文献[8]提出基于深度视觉特征学习的肝脏病灶识别方法,并采用CaffeNet 训练框架对原发性肝癌、肝硬化样本以及正常肝脏进行识别,其平均识别精度为96.67%。

由上述研究成果可知,与基于机器学习的人工提取方法相比,采用卷积自动提取特征的深度学习[9]方法对肝脏病灶识别效果更优,因此,基于卷积神经网络的算法作为深度学习的重要算法[10],逐渐成为肝脏影像处理领域的主流算法。然而,卷积神经网络也存在多种缺陷:卷积神经网络缺乏网络空间不变性,其对旋转、平移等操作输入特征的读取能力有限,造成网络分类效果较差且耗时较多;为提高网络分类精度并减少耗时,卷积神经网络不断加深,导致网络运行效率降低;传统卷积神经网络大部分采用同构内核执行卷积操作,其模型架构的堆叠易造成网络复杂度过高及分类效率较低。

为提高传统卷积神经网络的特征读取能力和分类精度、降低网络复杂度并提升运行效率,本文提出一种应用于肝硬化样本识别的SH_ImAlexNet 网络。在改进AlexNet 网络中加入空间变换网络(Spatial Transformer Network,STN)层增强空间不变性,在此基础上引入异构卷积滤波器降低网络复杂度,并将该网络与AlexNet、VGG[11]等传统深度学习网络的识别率及复杂度进行对比分析。

1 相关理论

1.1 空间变换网络

空间变换网络由DEEPMIND 等人[12]于2015 年提出,其能将输入样本在空间进行对齐,以减少样本由于空间旋转、平移等几何变换对分类任务的影响,空间变换网络结构如图1 所示。STN 以仿射变换矩阵为基础,允许神经网络学习输入样本或特征图执行空间变换的方式,以增强模型的几何不变性。

图1 空间变换网络结构Fig.1 Structure of spatial transformer network

空间转换模块是空间变换网络的核心,其主要包括本地化网络、参数采样网格和图像采样3 部分。

1)本地化网络

本地化网络的主要任务是确定输入所需变换的参数θ。将输入的特征图经过若干卷积或全连接操作后接入回归层,回归输出变换参数θ=,θ∈ℝ2×3。

2)参数采样网格

参数采样网格主要利用本地化网络的输出参数θ对特征图进行仿射变换。根据输入和输出特征图的坐标位置得到仿射变换的特征关系Tθ(Gi)与结果。假设输入特征图U每个像素的坐标位置为,经过空间转换后输出特征图每个像素的坐标位置为,得到特征关系如下:

其中,Aθ为仿射变换矩阵。

3)图像采样

图像采样是将经过本地化网络和参数采样网格得到的特征关系Tθ(Gi)与原始输入特征图U融合,并经过以下对应关系生成最终结果V∈ℝ(H×W×C):

其中,k() 为采样内核,ϕx和ϕy为输入参数,(n,m) 为特征图Ucmn在通道C内的位置。

综上所述,特征图像U经过旋转、平移或拉伸等操作后,通过本地化网络得到仿射变换参数θ,在参数采样网格进行仿射变换,最终在图像采样处与原始特征图融合,得到具有空间不变性的新特征图像V。除了空间不变性外,空间变换网络还具有优化损失函数、计算速度快以及耗时少等特性。

1.2 异构卷积滤波器

随着卷积神经网络在计算机视觉和图像识别等领域的广泛应用,人们对卷积神经网络分类精度的要求越来越高。为提高识别率,采用同构滤波器[13]的传统卷积神经网络深度不断增加,但导致网络复杂度逐渐增大。为了在提高网络分类精度的同时有效降低复杂度并提高网络运行效率,文献[13]提出一种采用异构内核进行卷积运算的深度学习模块,即异构卷积(Heterogeneous Convolution,HetConv)滤波器。

图2 为异构卷积滤波器与同构卷积滤波器的结构。由于两者的主要区别在内核,因此异构内核是异构卷积滤波器的核心。异构内核通常由3×3 的分组卷积[14]和1×1 的逐点卷积[15]构成。如果同构卷积滤波器为3×3×C(C为输入通道数),则异构卷积滤波器会利用比例系数P保留C/P的3×3 卷积核尺寸,剩余的(C-C/P)个卷积核尺寸则变为1×1,以此替换同构卷积滤波器。

图2 异构卷积滤波器与同构卷积滤波器的结构Fig.2 Structures of heterogeneous convolution filter and homogeneous convolution filter

如果一个L层的卷积核输出通道数为D,且每个通道均为3×3和1×1的异构内核,此时若比例系数P=4,则异构卷积滤波器将会从该层的第一个滤波器的首位依次使用3×3 和1×1 的异构内核,如图3 所示。

图3 L 层异构卷积滤波器结构Fig.3 Structure of L-layer heterogeneous convolution filter

K×K同构卷积滤波器的每秒浮点运算次数(FLOPS)的计算公式如下:

其中,Fo为卷积输出的特征图大小,C为输入通道数,D为输出通道数。

若将L层异构卷积滤波器的比例系数P视为一个整体,则K×K(即3×3)的内核只有(1/P)个,含有P的K×K内核的FLOPS 计算公式如下:

实际上K×K内核个数为(C/P),剩余1×1 内核个数为(C-C/P),剩余1×1内核的FLOPS计算公式如下:

L层的异构卷积滤波器的FLOPS计算总量如下:

异构卷积滤波器与同构卷积滤波器相比,其减少计算量Fh为:

由式(7)可知,当P为1 时,异构卷积滤波器也是同构卷积滤波器。

综上所述,异构卷积滤波器通过将一部分通道的同构卷积滤波器尺寸保留为3×3,将另一部分通道的同构卷积滤波器尺寸减少为1×1,从而确保覆盖前者的空间相关信息,并缩小后者的空间范围,同时得到相同或高于同构卷积滤波器的分类精度。此外,异构卷积滤波器直接插入卷积神经网络可降低网络复杂度。

1.3 AlexNet 网络

2012 年复杂卷积神经网络AlexNet[16]在ImageNet竞赛[17]中夺冠,与LeNet5[18]网络相比,AlexNet 网络结构更深,图像识别效果更出色[19],其结构如图4 所示。AlexNet 网络分别通过最大池化(MaxPool)、ReLU 激活函数、Dropout 函数以及数据增强处理,对浅层神经网络进行优化,避免训练时出现过拟合的现象,最终得到全连接(FC)层。此外,AlexNet 网络还具有传统卷积神经网络空间不变性的特点。由于肝硬化样本纹理信息复杂多样,且传统卷积神经网络在经过卷积(Conv)-池化训练后其特征会改变,因此尽管AlexNet网络能在自然图像识别上取得较好的识别效果,但仍会受样本图像和自身特性影响,出现网络识别率与运行效率降低的现象。

图4 AlexNet 网络结构Fig.4 Structure of AlexNet network

2 本文网络

2.1 改进的AlexNet 网络

为提高图像识别率,本文对AlexNet 网络结构和参数进行改进以适应肝硬化样本的尺度,并将改进后的AlexNet网络记为ImAlexNet网络,其主要由4个最大池化层以及3个全连接层以及7个卷积层组成,卷积层中6 个含有批标准化(Batch Normalization,BN)层。ImAlexNet网络结构参数如表1所示(其中“—”表示该值不存在)。输入样本为3×56 像素×56 像素(3 为通道数,以下同),采用64个3×3的卷积核提取特征,然后采用ReLU函数作为激活函数进行处理,并经过最大池化层得到下一层卷积的输入为64×14像素×14像素(64为卷积核数,以下同)。对于含有BN 层的卷积层,在卷积提取完特征后,需要经过BN 层的归一化处理,再采用ReLU 激活函数进行训练。改进后的AlexNet 网络采用尺寸为3×3的卷积核。

表1 ImAlexNet 网络结构参数Table 1 Structure parameters of ImAlexNet network

2.2 SH_ImAlexNet 网络

由于AlexNet 网络对自然图像识别效果良好,因此本文以AlexNet 网络为基础,在考虑了肝硬化纹理信息多样性的情况下,对AlexNet 网络进行改进(见2.1 节),所得ImAlexNet 网络更适合肝硬化样本训练。此外,由于卷积神经网络在训练时不能保证网络的空间不变性,因此为提高网络分类精度,本文引入空间变换网络。该网络有较强鲁棒性,能动态地对样本执行空间变换,增强卷积神经网络平移、旋转及拉伸后的空间不变性,还能对样本的目标区域进行定位和优化[20],以增强样本的分类效果。

此外,为确保提高分类精度和运行效率并降低网络复杂度,本文在引入空间变换网络的基础上融合异构卷积滤波器,以增强网络整体有效性。异构卷积滤波器采用比例系数P调整异构内核中3×3 和1×1 的卷积核数目,利用调整后的异构内核替换传统卷积神经网络的同构内核。异构内核的一部分通道在保留同构卷积滤波器尺度(3×3)的同时,也保留其空间的相关信息,另一部分通道则通过缩减同构卷积滤波器尺度来减少滤波器的空间范围,使得网络能在确保网络分类精度的情况下,提高网络运行效率并减少FLOPS 计算量与网络参数量,从而提高网络整体有效性。本文融合STN、HetConv和ImAlexNet的优势,提出SH_ImAlexNet 网络,其结构如图5 所示。该网络主要由1 个空间变换网络层、7 个卷积层(1 个3×3 卷积层、6 个异构卷积层)以及3 个全连接层组成。

图5 SH_ImAlexNet 网络结构Fig.5 Structure of SH_ImAlexNet network

本文的STN 层主要由本地化的2 个卷积层(包括8个7×7卷积核和10个5×5卷积核)和2个全连接层(神经元数量分别为32 和6)组成。以改进的ImAlexNet 网络为基础,在其输入层与第一个卷积层之间引入STN,利用STN 的仿射变换矩阵结构,对输入样本进行旋转生成并输出新的特征图像,从而增强卷积神经网络对样本输入特征的读取能力[20],提高模型的空间不变性与分类精度。引入STN 后,保留第一个卷积层和池化层的所有参数,将其余各层的卷积核替换为异构卷积滤波器,训练时每进行一次异构卷积就执行一次池化降维。根据1.2 节中异构内核划分标准,设置比例系数P=2,划分异构内核中各个3×3 和1×1 卷积核的数量。由样本采用3 通道可知,最终得到的3×3 和1×1 卷积核数量一致,分别占通道总量的1/2。本文提出的SH_ImAlexNet 网络中各层卷积核的数量和ImAlexNet 网络相同(见表1),与原始AlexNet 网络相比,其可有效降低网络复杂度,并增强网络的鲁棒性。

本文以3×56 像素×56 像素的肝硬化超声影像样本为输入,通过空间变换网络生成3×56 像素×56 像素的新特征,以新特征为输入对所保留的卷积层和池化层进行卷积-池化操作,获得维度为64×14×14 的输出特征。将该特征送入异构卷积神经网络,经过异构卷积、BN 层、ReLU 函数与最大池化的多次交叠运算,最终得到全连接层输入维度为256×1×1。

在网络训练中,先采用交叉熵函数H(p,q)表示与期待值之间的差异,再利用Adam 优化器优化网络结构,最后通过Softmax 分类器对所训练样本的每类概率进行预测。假设xi为训练样本x的第i个样本,y∈{1,2,…,Y}为训练样本的每类概率(本文中y为2),则交叉熵函数表达式为:

其中,p(xi)为预测的概率值,q(xi)为真实的概率值。

采用Adam 优化器进行网络优化的相关计算公式如下:

其中,η为学习率,c为常数,mt为对梯度的一阶矩阵估计Mt,nt为对梯度的二阶矩阵估计Nt的校正(用于理想图像的无偏差估计),Δθt对学习率形成有明确范围的动态约束。

全连接层Softmax 分类器的相关计算公式如下:

其中,j为训练样本的种类个数。

3 实验与结果分析

3.1 实验环境

本文实验基于pytorch1.2.0 框架在Anaconda3 环境的Spyder3.4 平台进行,采用Win10 64 位操作系统,Inter®XeomTMW-2133 处理器,64 GB 内存。通过R2018b 版本的Matlab 软件提取样本,并使用tensorboardX 库、torchstat 库和matplotlib 库对实验结果进行可视化处理。

3.2 数据集及数据预处理

本文实验所用数据集是从青岛大学附属医院肝胆科选取的多幅正常肝脏和肝硬化样本的超声影像(部分肝脏超声影像示例见图6)。由于肝硬化超声影像的病变部位纹理受样本尺度影响较明显,为避免使用尺度较小样本(如16 像素×16 像素样本和28 像素×28 像素样本)造成纹理丢失,以及尺度较大样本(如128 像素×128 像素样本和224 像素×224 像素样本)包含过多胆囊等其他腹部组织的纹理信息导致肝硬化病灶识别准确率降低,本文采用matlab 提取所选超声影像的感兴趣区域(Regions of Interest,ROI),得到1 200张初始样本,大小为56像素×56像素,提取后的部分肝脏感兴趣区域图像样本如图7所示。

图6 肝脏超声影像示例图Fig.6 Example diagrams of liver ultrasound images

图7 部分肝脏感兴趣区域图像样本Fig.7 Partial image samples of region of interest of liver

为确保实验的有效性与真实性,对现有的1 200 张样本进行归一化处理,以增强图像的对比度。同时,对部分样本分别以5°、10°、15°和20°进行逆时针旋转以增强数据,得到的实验样本共2 480 张。本文将样本分为S1 和S2 两组进行组合实验。S1 组共880 张,将其中320 张正常肝脏样本和320 张肝硬化样本作为训练集,120 张正常肝脏样本和120 张肝硬化样本作为测试集。S2 组共1 600 张,将其中300 张正常肝脏样本和300 张肝硬化样本作为训练集,将500 张正常肝脏样本和500 张肝硬化样本作为测试集。

3.3 实验参数和评价指标

本文采用AlexNet 和VGG11 两种网络与本文网络进行对比分析。为使对比网络符合肝脏样本尺度(3×56 像素×56 像素)的需要,在不改变原始网络结构的基础上优化这两种网络的参数,优化后其步长为1,卷积核大小均为3×3,卷积核个数分别为64、192、218 和256,全连接层的神经元个数均为512。本文采用S1 和S2 两组样本进行组合实验。实验参数设置为:迭代次数为100,每次迭代输入样本的批尺寸为16,学习率初始值设置为0.001,训练时每迭代7 次调整1 次学习率,此时gamma 取0.1。

将改进的AlexNet 和VGG11 与STN、HetConv 相融合,分别得到STN_AlexNet、STN_VGG、SH_AlexNet和SH_VGG。将改进的AlexNet、VGG11 和上述4 种网络,与本文的ImAlexNet、SH_ImAlexNet 以及融合STN的STN_ImAlexNet,从网络识别率和复杂度两方面进行对比分析。

网络识别率定义如下:

其中,ncorrect为正确分类的样本数量,ntotal为样本总数量。

网络复杂度分为时间复杂度和空间复杂度。时间复杂度指模型的运算次数,主要体现实际运行时CPU 的运算能力。

单个卷积层的时间复杂度为:

其中,M为每个卷积核输出的特征图大小,K为卷积核大小,Cin为输入通道数,Cout为输出通道数。

卷积神经网络整体的时间复杂度为:

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

空间复杂度主要包括总参数量和各层输出的特征图,其表达式如下:

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

由上述分析结果可知,时间复杂度和空间复杂度分别决定网络的训练耗时和参数量。如果网络复杂度过高,则会造成网络训练耗时和参数量过多,使训练网络所需数据量增加,并在样本较少时导致网络出现过拟合现象。

3.4 结果分析

由于ImAlexNet 是构成SH_ImAlexNet 的基础网络,其复杂度和识别效果对SH_ImAlexNet 有直接影响,因此先对ImAlexNet 与原始网络(即优化后的AlexNet 和VGG)进行分析,实验结果如表2 所示。可以看出,在样本一致且不考虑训练耗时情况下,ImAlexNet 的识别率略高于原始网络。若考虑训练耗时,当样本一致时,ImAlexNet 的训练耗时最多为AlexNet 的2 倍、VGG 的1.3 倍,但当样本不一致时,在S1 组和S2 组样本中ImAlexNet 的识别率仅较AlexNet 分别提高3.75 个百分点和5.00 个百分点。

表2 ImAlexNet 与原始网络的识别率对比Table 2 Comparison of recognition rates between ImAlexNet and original networks

由表2 的分析结果可知,ImAlexNet的识别效果并不理想,因此,为增强图像的特征表示、优化分类效果以及减少训练耗时,将STN 与表2 中的网络分别进行融合,实验结果如表3 所示。可以看出,在样本一致时,STN_ImAlexNet 的识别率略高于STN_AlexNet 和STN_VGG,其时间损耗比STN_AlexNet 更少,与STN_VGG 的耗时差距较小。与表2 中AlexNet 和ImAlexNet 相比,STN_AlexNet 的识别率显著提升,STN_ImAlexNet的识别率也小幅提升。与表2 中VGG相比,STN_VGG 的时耗更多且识别率更低,整体识别效果较差。综上可知,STN 虽然可以提高网络分类效果,但对部分网络存在识别效果不稳定的现象,易导致识别率过低。

表3 融合STN 后不同网络的识别率对比Table 3 Comparison of recognition rates of different networks after fusion of STN

由表2 和表3 的分析结果可知,ImAlexNet 与STN_ImAlexNet 的识别率不高,网络整体识别效果较差。为优化网络结构,提高其识别率与运行效率,本文提出融合ImAlexNet、STN 和异构卷积滤波器(即SH_ImAlexNet),并将其与融合STN 和HetConv 的AlexNet、VGG(即SH_AlexNet 和SH_VGG)进行对比分析,实验结果如表4 所示。可以看出,SH_ImAlexNet对S1 和S2 两组样本进行训练后的识别率均显著高于SH_AlexNet 和SH_VGG。训练S1 组样本时SH_ImAlexNet 的耗时最低,而在训练S2 组样本时,SH_ImAlexNet的耗时虽少于SH_AlexNet,但仍略高于SH_VGG。

表4 融合STN 和HetConv 后不同网络的识别率对比Table 4 Comparison of recognition rates of different networks after fusion of STN and HetConv

由上述分析可知,本文提出的SH_ImAlexNet 具有较高的识别率,其训练S1 组样本的耗时较ImAlexNet 更少,与STN_ImAlexNet 的耗时差距较小。由网络识别率和训练耗时分析结果可知,SH_ImAlexNet 具有一定的鲁棒性。

为验证SH_ImAlexNet 的有效性,本文将其与其他6 种网络在复杂度上进行对比,实验结果如表5 所示。可以看出,SH_ImAlexNet 的总参数量更少,从而可知其空间复杂度更低。SH_ImAlexNet 的时间复杂度仅高于SH_AlexNet,然而SH_AlexNet 的总参数量过多,造成网络空间复杂度较高,且其对S1 组和S2 组样本训练所得识别率和耗时均不如SH_ImAlexNet。综合考虑网络识别效果、空间复杂度和时间复杂度可知,SH_ImAlexNet 识别率较高,空间复杂度较低,可有效避免网络出现过拟合现象,且时间复杂度也较低。由此可见,SH_ImAlexNet 具有一定的有效性和鲁棒性。

表5 不同网络的复杂度对比Table 5 Complexity comparison of different networks

4 结束语

本文在改进AlexNet 网络的基础上,提出一种应用于肝硬化样本识别的SH_ImAlexNet 网络。在改进AlexNet 网络中增加空间变换网络层提高特征提取能力,同时引入异构卷积滤波器减少网络参数量并提升运行效率。实验结果表明,该网络具有一定的有效性和鲁棒性,分类效果较AlexNet、VGG等传统网络更优。然而其时间复杂度略高且两组样本的识别率变化不稳定,后续将结合剪枝算法和轻量化网络进行研究,进一步提高网络有效性和分类效果。

猜你喜欢

识别率异构复杂度
试论同课异构之“同”与“异”
基于类图像处理与向量化的大数据脚本攻击智能检测
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
一种低复杂度的惯性/GNSS矢量深组合方法
提升高速公路MTC二次抓拍车牌识别率方案研究
求图上广探树的时间复杂度
overlay SDN实现异构兼容的关键技术
高速公路机电日常维护中车牌识别率分析系统的应用
LTE异构网技术与组网研究
某雷达导51 头中心控制软件圈复杂度分析与改进