基于深度学习的肝包虫病超声图像分型研究
2019-11-21南嘉格列王海霞
南嘉格列,李 锐,王海霞,周 旭,王 毅, 倪 东
1)青海大学附属医院超声科,青海西宁 810001;2)深圳大学医学超声图像计算实验室,医学超声关键技术国家地方联合工程实验室,深圳大学医学部生物医学工程学院,广东深圳518060
肝包虫病(hepatic echinococcosis)是一种世界性的人畜共患的寄生虫病.最主要的两种影响人类健康的包虫病分别是由细粒棘球绦虫引起的囊型肝包虫病(Cystic Echinococcosis, CE)和由多房棘球绦虫引起的泡型肝包虫病[1](Alveolar Echinococcosis, AE).根据中国疾病预防控制中心的统计,2012年中国受包虫病威胁人口达到6 600万[2].目前,肝包虫病的筛查诊断主要依赖于影像检查[3],而超声因其无辐射和低成本的特性,被广泛用于肝包虫病的检查和诊断[4].世界卫生组织根据肝包虫病的超声成像特性,将囊型肝包虫病分成6个类型,分别为单纯性囊肿(CL)、单囊型(CE1)、多子囊型(CE2)、内囊塌陷型(CE3)、实变型(CE4)和钙化型(CE5); 将泡型肝包虫病分成3个类型,分别为浸润型(AE1)、钙化型(AE2)和液化空洞型(AE3)[5].图1分别给出了每种类型的病灶图片,其中,CL和CE1、CE4和AE1等极易相互混淆.在中国,囊型肝包虫病广泛分布于青海省、西藏自治区和新疆维吾尔自治区等[6];泡型肝包虫病较集中分布在青海省玉树和果洛两个州县.泡型包虫病又被称为“虫癌”和“西藏第一癌症”[7],相对囊型包虫病,其危害更严重,死亡率更高,在临床上应得到重视.肝包虫病标准化分型对于包虫病的诊断、社区普查和制定合理的治疗方案极其重要.然而,目前临床上的分型依赖于医生的主观判断,其结果主观性强.由于分型间的高度相似性,容易造成误判,且不能满足大规模筛查的需要,因此需要一种标准化的智能辅助诊断方案对肝包虫病进行分型.
图1 不同类型的肝包虫病超声图像病灶示例Fig.1 Ultrasound images of different types of hepatic echinococcal lesions
卷积神经网络(convolutional neural network, CNN)因其强大的特征提取能力,被广泛用于计算机视觉任务,在分类、检测和分割等任务中取得了显著成功[8-10].最近几年,基于CNN的深度学习方法也被用来对疾病进行分类[11-12].来自Google的小组将CNN应用于皮肤疾病分类并取得了极高的准确率[13].相比传统的手动提取特征方法,CNN能够从大量数据中自动学习高级的抽象特征,在分类任务中具有较大的优势[14].在大规模图像数据上(如ImageNet)训练的网络,经过微调可以迁移到小数据集上,并取得了更高的性能.深度神经网络在医学超声领域也有广泛应用[15].
肝包虫病病灶间有复杂的相互关系.囊型肝包虫各分型间存在着部分随时间过渡的关系,如CE2和CE3;单纯性囊肿(CL)和单囊型包虫病(CE1)在特征上极为相似,临床上通过“双边征”或“囊沙”区分.超声成像所得的图像为切面图像,医生的扫查手法和成像角度均存在不同,同类别的病灶图像表现出较大差异.这与自然图像中被广泛研究的细粒度分类(fine-grained visual classification, FGVC)[16]问题较为相似.该类任务中需要学到的特征不仅是可分离的,还需要有足够的判别能力(discriminating ability),判别能力表现在需要特征具有紧凑的类内变化和可分离的类间差异.尽管现有的基于深度学习的分类方法能够在如ImageNet的数据集上取得极高的准确度,但细粒度分类问题仍然是巨大的挑战.对于这类问题的解决,主要有两种思路:一是提取目标不同区域的特征,综合后进行分类[17];二是对提取的特征进行类内约束,令特征更满足类内的共性[18].
基于超声图像的肝包虫病病灶分型面临的主要难点在于:类别间的图像特征相似度极高,如图2中第1行和第2行,CE1与CL均有个囊状结构,可通过囊壁的细微特征区分.类别内的图像特征差异极大,如图2中第3行中不同形态的CE3.
图2 CE1、CL和CE3型肝包虫病病灶难样本示例Fig.2 Difficult samples of CE1, CL and CE3
本研究首次提出针对肝包虫病超声图像分型的辅助诊断方法,并基于卷积神经网络,对9类包虫病病灶进行全自动分型;通过引入视觉注意力模型,提高对全局类别特征的关注程度,实现在更大的区域上寻找类别间的差异特征.我们对基础网络进行了改进,通过抑制响应最高的区域,扩大注意力范围,提高了对相似类别的判别能力;通过引入度量学习解决类内差异大的问题.将中心损失函数[19]作为对特征相似度的度量,对同一类别中距离较远的特征进行二范式约束,使得CNN学到的类别表征更集中,缩小同类别特征差异性,从而提高模型的判别能力.通过在真实临床肝包虫病超声图像数据上进行的实验证明,本研究所提方法能够有效对肝包虫病灶进行分类.
1 方 法
本研究旨在探索一种肝包虫病超声图像病灶的全自动分型方法,创新点在于对基础网络引入了视觉注意力的模块(如图3),通过扩大注意力范围,同时,结合中心损失函数,缩小同类别特征差异,进一步提高模型的判别能力,提高算法诊断准确率.以下将从网络结构、迁移学习、视觉注意力模型和度量学习[20]方面进行介绍.
1.1 卷积神经网络(CNN)
CNN通常为多层卷积操作,结合最大池化层和非线性单元对图像特征进行学习.CNN可由浅入深提取不同层次的特征,且随着层数的加深,所学特征也更抽象.本研究通过对VGG16网络结构[21]进行改进(图3),首先通过预训练的VGG网络[21](Visual Geometry Group, Department of Engineering Science, University of Oxford)提取特征,再通过2个分支分别对该特征进行不同的处理,主分支将特征展成一维向量,接2个全连接层,第1个全连接层通过中心损失函数约束特征,第2个全连接层通过交叉熵损失函数进行学习,辅助分支将对部分擦除的特征进行分类.推理阶段通过主分支得到预测的分型结果.
通常,图像数据的浅层特征具有共性.CNN的性能与训练数据集的大小相关,在大规模数据集上训练的模型具有更好的泛化能力.尽管有文献指出,迁移学习在域(domain)有较大差异时对分类性能的提高有限,但在数据规模有限时,仍能极大地提升模型性能.本研究利用Pytorch官方提供的在ImageNet上训练好的权重初始化VGG16模型的参数,然后在包虫病超声图像数据上进行微调.
1.2 视觉注意力模型(visual attention model, VAM)
VAM[22]在计算机视觉(computer vision, CV)[23]领域已得到广泛且深入地研究,近年来也逐渐被引入医学图像处理的研究和应用中.如在临床实践中,经验丰富的医生在判断难以区分的病灶类型时,通常会同时考虑其整体标准和局部细节特征,关注不同范围的病灶特征.由于CNN最大池化层的特性,传统的CNN分类网络在判断目标类型时通常依靠特征图中的最高响应区域,对应图像的细节特征,这对包虫病病灶分型任务具有一定的局限性.
通过分析VAM和医生的判断方式,本研究改进了经典的VGG网络结构,在保留原有VGG结构的基础上,新增一个分类分支.先把全连接层之前的特征响应归一化到[0, 1],再进行二值化,将高于阈值0.5的区域置0,低于阈值的区域置1,得到掩模(mask)图像,然后将该图像与特征响应相乘,作为第2个分支的输入特征,该分支作为辅助任务继续进行分类.双分支的结构使得神经网络能够关注不同病灶区域的特征,更能注意到最高响应以外的区域,增加的信息提高了分类网络的性能.
图3 双分支分类网络结构(主分支将特征扩展成一维向量,接2个全连接层,第1个全连接层通过中心损失函数约束特征,第2个全连接层通过交叉熵损失函数进行学习,辅助分支将对部分擦除的特征进行分类)Fig.3 (Color online) Dual-branch classification network structure (The main branch expands the feature into a one-dimensional vector, which is connected to two fully connected layers. The first fully connected layer constrains the feature through the central loss function, and the second fully connected layer learns through the cross entropy loss function, and the auxiliary branch classifies the partially erased features.)
1.3 损失函数
交叉熵损失函数常用来训练CNN模型.该损失函数能使训练迅速收敛,在分类任务中被广泛应用.交叉熵损失函数(softmax cross entropy)可表示为
(1)
其中,xi∈Rd表示第i个特征,d为特征向量x的维度;wj为最后的全连接层权重W的第j列;b为偏置项;n为类别数;m为样本数;yi为样本标签.但是,交叉熵损失函数仅用于提取可分离的特征.在一般的目标识别任务中,类别预测决定了网络的性能.神经网络最后的全连接层类似于一个线性分类器,学到的抽象特征也是足以区分的[22].包虫病类间相似度大于类内差异度,仅通过交叉熵损失函数难以解决包虫病病灶分型任务,需通过一种度量函数来表征同类别样本间的特征相似度.因此,本研究引入中心损失函数[17]
(2)
其中,Cyi为第i类的特征中心;xi为网络第1个全连接层的输出.中心损失函数通过二范式约束,表述类内差异度,距离类别中心较远的特征损失更大.
2 实验和结果分析
2.1 实验数据
本研究采用的超声图像数据均采集自青海省和西藏自治区的临床案例,各类型数量如表1.实验随机将其中的75%作为训练集,25%作为测试集.据初步统计,数据采集所用的超声设备厂家超过8家,包括Mindray、Philips、GE、Siemens、SonoScape、Dawei、EDAN和SIUI.不同设备产生的超声图像数据差异极大,这也让本次研究更具挑战性.为包含背景信息,先将医生标注的框的长宽扩大1.2倍,再从原图中裁剪下来.为使实验结果更具客观性,数据预处理流程保持一致:先将病灶图像大小调整为250×250像素,再随机剪切出224×224像素的区域.统计出训练数据的均值和方差,再对训练和测试数据进行归一化处理.另外实验中对训练集数据进行了在线的数据增广, 包括 ±10°的随机旋转,±10像素的随机平移,概率为0.5水平翻转.数据增强可以降低过拟合问题.
本算法基于Pytorch实现,使用的计算资源为一台包含8块GeForce GTX1080Ti GPU的服务器.
表1 各类别数据量
采用F1分数和准确度(accuracy)来评估模型性能.其中,
(3)
这里,precision和recall分别为精确率和召回率[24],其计算式分别为
(4)
(5)
准确度是评价分类器性能的重要指标,其定义为对于所有给定的测试样本,分类器正确分类的样本数和总样本数之比,其计算式为
(6)
其中,TP、FP、TN和FN分别表示真阳性(true positive)、假阳性(false positive)、真阴性(true negative)和假阴性(false negative).
2.2 实验结果
实验在训练集上迭代100次.初始学习率设为0.003,并分别在第40次和第60次时乘以0.1作为训练的学习率下降方案.训练批大小统一设为24,4块GPU同时进行训练,每次训练耗时约2 h.GPU上每张图片的测试耗时约为10 ms.表2给出了不同方法的实验对比结果,所有的网络结构均基于VGG. 其中,迁移学习表示利用ImageNet上的VGG预训练权重微调(fine-tuning); VAM表示使用双分支结构的视觉注意力模型; Metric 表示增加中心损失函数.由表2可见,相对VGG基线(baseline),采用迁移学习F1分数提高了2%,准确度提高了1.1%; 采用迁移学习+VAM使F1分数提高了3%,准确度提高了2.1%;采用迁移学习+VAM+中心损失函数使F1分数提高了4%,准确度提高了3.4%;其中,F1和准确度均为按测试集样本数量加权平均后的最优结果.为了减少过拟合问题,实验中的结果均为五折交叉验证的均值.
表2 不同方法对肝包虫病分型的实验结果对比
1)√表示使用了对应的组件;2)灰底数据表示最优结果
为进一步分析所提方法在肝包虫病各分型上的准确率,表3列出了每个类别的性能指标及对应的测试图片数量.图4为最终结果的混淆矩阵.
表3 各类别分型结果
图4 按样本量归一化的混淆矩阵Fig.4 (Color online) Confusion matrix normalized by sample size
通过对CNN提取的特征响应进行可视化,可以直观地判断神经网络是否关注到有用的区域[25].图5列出了部分输入图片与其对应的热度图显示,分别对比了原始VGG模型所得到的热度图与本研究基于视觉注意力模型的方法得到的热度图.
图5 病灶与对应热度图Fig.5 (Color online) Various types of lesions and the corresponding heatmaps
3 讨 论
本研究提出一种端到端的分类方法,辅助超声医师对肝包虫病超声图像进行自动分型,通过对比实验和可视化验证了所提改进方法的有效性.该方法能够将基础网络的性能提高约3%.迁移学习的引入使网络性能提升了1%;采用基于注意力机制的网络结构使网络性能提高了1%;度量学习方法的引入使网络性能提升了1%.
对比表1和表2可见,数据量对分型性能的影响显著,一般来说,数据量偏少的类型在分型性能上也相对较差.其中,泡型的3种分型数据量相对较少,这与两种包虫病在中国的分布是相关的,我们也将继续探索特征融合的方法,提高泡型肝包虫病病灶的分型准确度.从图3可见,CL和CE1、CE4和AE1等存在易混淆的情况.从图4可见,与基础VGG网络相比,该方法关注区域更广,提取的特征更丰富,判别能力也更强.
尽管本研究提出了有效的改进方法,肝包虫超声图像分型的准确度仍有待提升.肝包虫病各分型间存在的类内差异度和类间相似度给分型带来了极大的挑战.此外,本研究所采用的数据来自各个州县医院,因临床超声医师的经验和手法等存在较大差异,且来源的超声设备厂家多样,采集到的图像存在较大的差异,从而进一步增加了分型的难度.
结 语
本研究提出一种端到端的肝包虫病超声图像自动分型网络,该网络结合注意力机制和度量学习方法获取病灶不同区域的特征,一定程度上解决了肝包虫超声图像中存在的类内差异大、类间差异小的问题,分型性能相对基础网络有了显著的提高.研究表明,深度卷积神经网络能用于肝包虫病分型,同时提出的改进能够有效地提高网络的分型性能.目前,中国正在大力推进包虫病筛查防治工作,快速、准确的智能辅助诊断方法能大幅减轻医生的负担.因此,基于深度学习的肝包虫病灶分类方法具有较高的研究价值和应用价值.