基于医学征象的3D肺结节交替优化检索方法
2022-01-27张娅楠赵涓涓侯国杰
张娅楠,赵涓涓,武 炜,耿 鑫,侯国杰
(1.太原理工大学 信息与计算机学院,太原 030024;2.山西省人民医院 医学影像科,太原 030012)
哈希可以将高维数据变为低维紧凑的二值码,同时保留图像或视频的相似性,检索时直接使用低维的二值码。用汉明距离计算距离或相似性时,CPU可以使用一些例如XNOR(异或非)之类的快速指令,这样既可以减少特征的存储空间,又可以提高检索速度,从而可以有效解决“维数灾难”的问题[1-3]。然而在医学领域,一张肺部图像包含的信息非常多,在肺部图像的检索中,人们通常使用单标签进行检索,这样做并不能够充分表达图片中的语义。
目前可以把传统的医学图像检索技术分为两种,有监督方法和无监督方法。无监督方法中典型的是局部敏感哈希(locality sensitive hashing,LSH)。在此基础上衍生出了很多方法,其中DRIEMEL et al[4]提出了曲线局部敏感哈希(locality-sensitive hashing of curves,LSHC),AJ et al[5]提出使用动态相似度和局部敏感哈希的多视图检索(content-based mammogram retrieval methods using multi-view information fusion,MVIF-CBMR).迭代量化(iterative quantization,ITQ)[6]也是典型方法。有监督方法中,最著名的方法就是有监督核哈希(supervised hashing with kernels,KSH),它通过相似对的汉明距离最小化,不相似对的汉明距离最大化来获得哈希码。HU et al[7]通过在汉明空间中显式地最小化原始间距和重建间距之间的偏差来学习哈希函数。逆转谱哈希(reversed spectral hashing,ReSH)[8]是将哈希的输入和输出交换,不同于谱哈希从给定的高维数据中估计相似度结构,而是根据未知的低维哈希码来定义数据点之间的相似度。但传统的检索方法中要求手工提取多种特征,降低了检索速度。深度哈希的出现,解决了这个问题。
2017年,WU et al[9]提出了一种名为结构深哈希(structured deep hashing,SDH)的方法,能够同时学习适用于哈希任务的有效的图像表示以及一组哈希函数。LAI et al[10]提出了一种新的深度哈希模型框架,设计一个三元组排序损失来优化。近年来,鉴于当前海量的医学影像数据和哈希方法的优势,已有一些学者将哈希方法用于医学影像检索方面。LIU et al[11]提出一种基于AGH(anchor graph hashing)的图像检索框架,提高乳腺X射线图像检索精度。YAO et al[12]提出一种离散鲁棒监督哈希(discrete robust supervised hashing,DRSH)算法,融合不同模态的分类标签和特征,通过低秩约束学习鲁棒相似矩阵,在共享的汉明空间中保留基于鲁棒相似矩阵的相似度来生成哈希码。CHEN et al[13]提出了一种深度学习监督哈希(deep learning supervised hash,DLSH)方法,该方法采用深度结构学习基于深度特征表示的二进制代码,用于大规模图像检索。QI et al[14]提出了一种新型的端到端监督深度哈希方法,该方法通过联合优化来进行特征提取和二进制编码学习,实现肺结节的检索。CAI et al[15]提出了一种基于卷积神经网络和哈希编码的基于内容的医学图像检索框架(content based medical image retrieval,CBMIR).
对于肺部医学序列图像的特殊性,三维卷积神经网络(3D convolutional neural networks,3D-CNN)可以较全面地表征序列图像的隐含特征信息,更充分地结合序列图片上下文信息,因而在特征提取领域得到了广泛的应用。KANG et al[16]利用多视角三维卷积神经网络对肺部CT图像进行学习和分析,最终实现肺结节的良恶性分类。KHVOSTIKOV et al[17]利用3D卷积神经网络提取结构磁共振成像(structural magnetic resonance imaging,sMRI)图像的特征,设计了基于SMRI和DTI模式的海马区融合算法来辅助诊断阿尔兹海默病的诊断。DOU et al[18]利用图像中的空间上下文信息,使用三维卷积神经网络(3D-CNN)从核磁共振图像中提取更有代表性的高级特征,进而检测出脑部的微出血。
图像哈希技术虽然已被广泛关注并在医学图像检索领域取得了初步成效,但由于医学图像自身的特点,基于深度学习的图像哈希的应用研究也还有很多困难,如何利用更全面的图像信息,特别是针对序列CT影像的检索还有很多问题亟待解决。因此,本文提出一种基于医学征象的多标签语义监督3D肺结节图像相似性检索方法。
1 构建多标签语义监督的3D Resnet网络
本文提出的基于医学征象的多标签语义监督3D肺结节图像相似性检索方法主要包括3个模块:1) 构造肺结节CT影像ROI区域3D数据块并利用3D Resnet网络提取3D特征;2) 构建哈希函数,基于加权交替正则最小化优化方法构建紧致哈希码;3) 利用多级检索方法进行肺结节CT图像检索。基于医学征象的多标签语义监督3D肺结节图像相似性检索过程如图1所示。
图1 方法总体框架图Fig.1 Framework of the method
1.1 构建3D肺结节数据块与特征提取
本文研究的是肺结节CT图像的检索,首先要对肺部CT影像进行预处理。根据DICOM影像中医师标注的结节出现位置到结束位置,从切片中提取结节ROI(region of interest)区域,利用样本得到的结节区域,通过预处理得到三维体数据的体素区域在4×4×4~60×60×60之间。根据CT影像数据中所使用医疗设备不同,导致每个病例的像素点和层厚不同,根据DICOM影像中给出的像素点距离和切片厚度,对得到的样本数据进行归一化,根据结节中心坐标点将结节区域进行选取,使用双三次插值将每个样本插值为64×64×64的3D数据块。形成序列图像的过程如图2所示。
图2 构建3D肺结节数据块Fig.2 Construction of 3D lung nodules data block
本文设计了一个三维残差网络(3D Resnet),目的是利用残差学习,从三维CT数据中提取更有代表性的特征。ResNet优点是残差块比其他网络小得多。这种差异使得其能够更容易灵活地拼接和组合成不同的网络。例如,循环一致性生成对抗网络(cycle-consistent generative adversarial networks,CycleGAN)样式生成器就使用这种结构。对于医学图像,更有必要在保证模型性能的前提下提高模型的灵敏度,这就是本文使用Resnet的原因。本文3D-Resnet参数结构如表1所示。
表1 3D-RESnet参数结构Table 1 3D-RESnet parameter structure
1.2 构建肺部病灶的多语义标签
LIDC肺结节诊断信息包括4名放射学专家对每张CT片中出现的结节的标注。其中包括结节的九种CT医学征象,有毛刺征(Spiculation)、分叶征(Lobulation)、钙化(Calcification)、精细度(Subtlety)、内部结构(Internal structure)、边缘(Margin)、球形度(Sphericity)、纹理(Texture)以及结节的恶性度(Malignancy).我们根据医学征象构建多标签相似性矩阵。
对于样本集中的两个样本xi,xj,它们的语义相似性rij可以表示为它们拥有相同标签的数量,最相似的两个样本对于数据集中的九种医学征象都具有相同的标签,即rij=9,最不相似的两个样本不具有相同的标签,即rij=0.
本文构建标签相似性矩阵方法的具体步骤为:
表2 九种肺结节征象Table 2 9 signs of pulmonary nodules
图3 构建标签相似矩阵Fig.3 Construction of label similarity matrix
1.3 哈希码学习
1.3.1相似性测量
(1)
两者内积小,汉明距离就大。相反,若是内积大,汉明距离就小。因此不同哈希码的内积可以用来衡量不同样本之间的相似性。
给定标签矩阵后,哈希码的最大后验评估(MAP)可以表示为:
p(B|S)∝p(S|B)p(B)=
∏Sijp(Sij|B)p(B) .
(2)
其中p(S|B)代表似然函数,p(B)是先验概率,对于每一个图片对,p(Sij|B)是在Sij条件下求得的哈希码B,可以有如下定义:
(3)
1.3.2损失函数优化
根据公式(3)相似性度量,可以得到损失函数:
J=-log2p(S|B)=-∑Sij∈Slog2p(Sij|B) .
(4)
根据公式(2),p(Sij|B)可以写成
p(Sij|B)=σ(Φij)Sij(1-σ(Φij))1-Sij.
(5)
将其结合公式(3),可以得到
J=-log2p(S|B)=
-∑Sij∈S(ΦSij-log2(1+eΦ)-Φ) .
(6)
即使根据公式(5)用标签矩阵来学习哈希函数,标签信息也并没有被充分利用。最近的一些有关多标签分类的工作是在多任务学习框架下进行的,受此启发,在哈希层后又加了一层分类层,用简单的线性分类器来模拟学习到的哈希码与标签信息之间的关系:
Y=WTB.
(7)
其中,W=[w1,w2,…,wk]是分类权重,Y=[y1,y2,…,yk]是1.2求出的标签向量,可以求出损失函数如下:
(8)
其中,L(·)是损失函数,λ是正则化参数,‖·‖F是Frobenius参数,结合公式(6)和(8)可以得到如下公式:
(9)
其中,μ是权衡参数,v=λμ,对于线性分类我们选择L2损失,这样做意义是使哈希码尽可能地接近Sij,并且对于线性分类器来说,能够得到最好的分类效果,公式(9)可以近似为:
(10)
hi=MTΘ(xi,θ)+n.
(11)
其中,θ是全连接层之前的参数,M∈R4 096×K代表权重矩阵,n∈RK×1为偏置项。引入辅助变量的好处是可以将方程(10)分解为两个子优化问题,通过交替极小化方法迭代求解。交替优化哈希码算法如下所示:
输入bi,W,M,n,Θ
输出 优化好的哈希码B
Step1 当固定bi,W时,有如下公式
(12)
然后按照公式(13),通过反向传播(BP)更新权值M,n,Θ
(13)
Step2 当固定M,n,Θ,M,可以通过如下方式更新W.
(14)
Step3 当固定M,n,Θ,W,公式(13)变为
(15)
Step4 采用位置坐标下降法迭代逐行求解B
1.4 肺结节图像检索
在检索时,本文首先将检索图像的二值码与图像库中的二值码用汉明距离进行相似性度量,降序选出最相似的k个图片;然后再用提取特征时全连接层的特征,进行欧氏距离的衡量,更细致地找到k个图片中最相似的图片,由此提高检索效率,方法如图4所示。
图4 肺结节图像检索框架Fig.4 Image retrieval framework for pulmonary nodules
肺结节精准图像检索算法如下:
输入 查询图像的哈希码Hq={hq1,…,hqk}
输出 相似肺结节图像
Step1 从哈希码库中通过汉明距离计算,筛选出m个相似图像
Step2 forj=l:m
计算查询图像与第j幅图像在全连接层图像的欧氏距离DE
End for
Step3 将欧氏距离进行升序排序,选取前k个欧式距离较小的图像作为候选集.
{x1,x2,…,xk}←sort(DE,′descend′) .
2 实验结果与分析
2.1 数据集
本文实验部分所使用的肺部CT影像一共709例,分别来自LIDC数据集和合作医院。同时,在专业放射医师的指导下,对所有实验病例进行了相应的标记。将LIDC数据集中获取的图像作为训练集,将合作医院肺结节数据作为整个方法的测试集以验证本文方法的有效性。
以往的检测实验经验表明,多个类之间样本大小的不平衡可能导致一个偏向于包含更多样本的类的训练偏倚模型。在模型训练中,训练和验证集中样本的质量和数量对模型训练有重要影响。一般情况下,样本集应该只包含放射科医生标注的区域,否则训练过的模型可能不稳定。同时,应该收集尽可能多的样品来训练模型。基于以上经验,在三维空间中通过多方向体素平移来扩充标注样本。每一组数据旋转90°,180°,270°,然后再将旋转后的数据做镜面反射,进行数据增强。数据扩增如表3所示。
表3 数据扩充Table 3 Data expansion
2.2 实验环境
对于训练,我们使用动量0.9的随机梯度下降和权重衰减为5×10-4,批量大小为32的参数进行学习。一开始学习速率被设定为10-4,20个epoch后降低到10-5.训练一个监视器验证数据集的损失,如果损失增加太多,它会提前停止。实验是在一个8 GB内存的NVIDIA GeForce GTX 1080 GPU上进行的。
2.3 评价指标
为了验证本文所提出方法的性能,使用平均准确率MAP(mean average precision),查准率P@K,召回率R@K3个指标,通过7种常用的哈希算法(包括:LSH、ITQ、KSH、JKSH、CBMIR)对本文提出的方法进行评价。对于优化方法,本文对比了松弛优化(Relaxed Optimization)离散循环坐标下降(discrete cyclic coordinate descent,DCC).对于特征提取方法,对比了传统2D CNN特征与3D Resnet特征。
MAP指标是检测模型检索能力,相似结节在检索中的排序越靠前,MAP值就越大。P@K反映的是在检索到的前K个结节中,和查询结节相似的结节出现的概率。R@K反映的是相似结节在检索到的前K个结节中,与所有相似结节的比值。相关公式的定义如下:
(16)
(17)
(18)
2.4 实验结果与分析
由于哈希码的长度对检索效果有重要影响,为了比较不同长度的哈希码的检索效果,使用查全率-查准率(Recall-Precision)来衡量本文所提出方法的性能。设定哈希码长度为12、24、32、48、64、和72位。结果如图5所示,图5(a)-(f)展示了在不同的哈希码长度下不同方法的P-R曲线,可以看出不同的方法检索性能都随着哈希码长度的增加而提高,当r=64 bits时,性能逐渐趋于稳定。这是因为3D Resnet提取的是肺结节空间的信息特征,对肺结节的信息提取越全面,检索准确性就越高;虽然随着返回图像数目的增加,整体的模型检索精度有明显下降的趋势,但是仍然优于其他哈希码位数下的检索效果。
图5 不同哈希码下不同方法的查全率-查准率曲线图Fig.5 Recall-precision curves of different methods under different Hash codes
表4列出了不同的哈希检索方法在不同特征下随着编码长度的增加,所对应的平均准确率(MAP)实验结果。
表4 不同编码长度下两种特征的MAP值Table 4 MPA values of the two features under different coding lengths
对比表4中CNNs特征与3D Resnet特征的实验结果,可以看出基于3D Resnet特征的MAP值具有明显优势。本文使用3D Resnet特征在不同编码长度下一直拥有最高的MAP值,与传统2D CNNs相比,效果分别提升了7.9%,7.2%,12.5%,13%,15.6%,18.5%.进一步验证了从肺结节单张图像特征到高层空间语义中逐层提取的3D Resnet特征对检索结果的有效性。
为了评估本文优化方法的有效性,使用P@K比较检索结果中前5个相似结节的精确度。
表5所示是本文优化方法与其他优化方法在不同编码长度下,所对应的平均准确率(MAP)实验结果。
表5 不同优化方法比较Table 5 Comparison of different optimization methods
根据3种方法在不同编码长度下的Precision和MAP对比,可以看出,随着比特数的升高,差距越来越大,本文提出的优化方法比传统的优化方法对检索的精确度有着显著的提高,离散优化对于哈希本身十分重要。
图6展示了当哈希码位数为64时,本文方法与最新的哈希算法的检索效果。从中可以看出,使用了3D Resnet网络提取肺结节特征并利用交替最小化正则优化方法,会达到更高的平均检索精度,相比较传统2D网络和优化方法,平均提高了5%~8%左右,同时也证实了本文提出的基于医学征象的多标签语义监督3D肺结节图像相似性检索方法可以产生更精确的检索结果,在检索前5张肺结节图像时的准确度可以达到94.83%.
图6 不同方法的检索精度比较Fig.6 Comparison of retrieval accuracy of different methods
3 结论及展望
本文提出一种基于医学征象的多标签语义监督3D肺结节图像相似性检索方法,用于实现相似肺结节CT图像ROI区域的快速检索。本文方法的主要贡献有:1) 利用基于医学征象的多标签语义3D Resnet网络提取肺结节的重要空间语义特征,能更有效地表示肺结节含有的征象信息;2) 通过构造准确的哈希码并利用交替最小化正则方法进行优化;3) 为了进一步提高检索精度,使用多级检索方法由粗到精进行检索。本文利用合作医院数据集和公共数据集LIDC进行实验,实验证明本文方法在肺结节图像检索过程中的有效性和准确性。未来的工作将研究基于深度哈希的肺结节图像快速检索,在提高结节图像的检索精度的同时,保证检索的速度,从而进一步为医师诊断肺部病灶提供辅助和支撑。