基于Hessian矩阵与多视图卷积神经网络的纵隔淋巴结自动检测方法*

2021-07-23 08:44曹帅严加勇崔崤峣于振坤
生物医学工程研究 2021年2期
关键词:视图滤波器卷积

曹帅,严加勇,崔崤峣,于振坤

(1.上海理工大学医疗器械与食品学院,上海 200093;2.上海健康医学院医疗器械学院,上海 201318;3.上海健康医学院附属周浦医院,上海201318;4.中科院苏州生物医学工程技术研究所,苏州 215163;5.南京同仁医院,南京211102)

1 引 言

目前淋巴结的自动检测方法大多分为两个步骤:(1)提取候选淋巴结;(2)降低假阳性淋巴结数量。步骤(1)包括人为设定特征和采用卷积神经网络(convolution neural networks, CNN)训练两种方式提取候选淋巴结。人为设定特征的方式主要基于淋巴结的形态特征,设计合适的滤波器,用滤波器对CT图像进行滤波,找出具有高响应值的点作为候选淋巴结。Barbu等[1]主要使用Haar滤波器和自适应滤波器级联的方式提取颈部和腹部候选淋巴结。Liu等[2]用阈值法对肺、气管和脊柱等解剖标志点分割,找到纵隔区域,利用空间先验知识和随机森林提取候选淋巴结。与上述方法相类似,Nakamura等[3]使用基于Hessian矩阵的增强滤波器和级联的Haar滤波器提取候选淋巴结。采用卷积神经网络是使用大量的数据训练CNN自动提取特征。Oda等[4]用3D-Unet网络检测和分割纵隔淋巴结,把淋巴结和纵隔区域的一些器官一起训练,来解决淋巴结样本的不平衡和单一目标检测精度较低等问题。秦品乐等[5]使用级联的全卷积网络(fully convolution network, FCN)识别颈部淋巴结,该方法首先提取淋巴结医学分区,之后从分区内提取候选淋巴结,但级联的FCN识别精度有限,可能无法识别和软组织粘连的淋巴结。针对步骤(2)的去除假阳性工作,以往大多采用传统的机器学习的方法进行分类,分类器主要为支持向量机(support vector machine, SVM)[3,6-7]。由于CNN在图像分类领域取得了多项突破[8-9],被越来越多的研究人员采用。Roth等[10]把淋巴结候选点的冠状面、水平面和矢状面叠成一个2.5D彩色图像作为样本,训练卷积网络用于分类,但该算法对样本空间信息利用不足,难以分辨较为复杂的样本。秦品乐等[5]使用3D的VGG网络,并引入特征块平均池化层提高分类精度。

本研究针对CT图像纵隔部位的淋巴结,提出了一种基于传统方法和深度学习相结合的自动检测方法,首先使用基于Hessian矩阵的多尺度增强滤波器获取候选淋巴结,然后设计多视图卷积网络对候选淋巴结分类,减少假阳性淋巴结数量,提升淋巴结检测性能。

2 方法

本研究提出的基于Hessian矩阵与多视图卷积网络的方法主要包含三个步骤:(1)定位CT图像中纵隔区域并分割纵隔部位内与淋巴结无关的组织和器官;(2)基于Hessian矩阵的多尺度增强滤波器对纵隔内圆形物体进行增强,提取候选淋巴结;(3)结合CT图像三个视图信息,利用多视图网络对输入样本进行二分类,减少假阳性淋巴结数量。纵隔淋巴结自动检测方法整体流程图,见图1。

图1 淋巴结自动检测方法的流程图

2.1 提取目标区域

本研究是检测纵隔区域的淋巴结,纵隔区域可以确定为两肺之间,即为目标区域。肺部可以用阈值法[11]分割得到二值化图像,之后处理肺部区域图像得到目标区域。通过先验知识了解到,淋巴结不存在任何器官中,因此,可以分割目标区域内存在的器官来定位淋巴结存在区域。目标区域内的干扰器官主要有脊柱、动脉、心脏、气管和食道;脊柱可以用阈值法分割;动脉、心脏、气管和食道,本研究采用改进的Unet网络进行分割[12]。最后定义式(1)对目标区域上的像素点p0进行处理,得到二值化图像M。目标区域提取结果见图2,部分器官的分割结果见图3。

图2 目标区域提取结果

图3 不同器官分割的结果图

(1)

2.2 候选淋巴结检测

2.2.1圆形结构增强滤波器的构造 基于Hessian矩阵的方法常被用于增强图像上具有某些结构的特征,如管状、团状等[13-14]。Hessian矩阵是一个由二阶偏导数组成的方阵。若要分析图像L上某点p0所具有的结构特征,一般是考虑点p0周围领域的泰勒展开,其数学表达式为:

(2)

五岁以下的儿童受影响严重。报道称,目前看起来,大多数国家都不太可能完成世界卫生组织定下的营养目标,特别是儿童群体。五岁以下的儿童中,仍然有很多患有各种形式的营养失调症:1.5亿儿童发育不良(在非洲之外的地区,这个数字有所下降)、5000万儿童处于消瘦状况、3800万儿童深受超重困扰,而且地区分布不平衡的特点依然存在。根据地区不同,即使是在同一个国家内,比例也差距很大。此外,一方面,每年有2000万的婴儿在出生时体重不足。另一方面,超重和肥胖的人数创下了纪录,有四成儿童都深受其害。

二维CT图像上像素点p0在L(x,y)处的Hessian矩阵是一个2×2的实对称矩阵,具体数学表达式为:

(3)

式中,Lxx,Lxy,Lyx,Lyy表示图像L点(x,y)处的二阶偏导数。图像由一系列的离散数据组成,因此二阶偏导数可以用差分的形式表示。

x方向上的二阶偏导数:

y方向上的二阶偏导数:

x,y方向上的混合偏导数:

L(x+1,y)-L(x,y+1)

二阶偏导数构成的Hessian矩阵的特征值表示图像本质的特征,由于二阶Hessian矩阵是实对称方阵,因而可以得到其两个特征值λ1和λ2。假设某像素点处的Hessian矩阵特征值为λ1和λ2,且假定|λ1|≤|λ2|,则图像中不同区域的结构特性与特征值的关系如表1所示。淋巴结在2D平面上具有圆形结构,据此可以构造圆形增强滤波器。由于我们增强的是暗色背景下的亮点,需要考虑符号问题,因而构造圆形结构增强滤波器[15]如下:

表1 Hessian矩阵特征值与图像中结构特性关系

(4)

(5)

其中,二元高斯函数为:

(6)

Dσi(x,y)=Zσi(x,y)M(x,y),i=1,…,4

(7)

CT图像上具有高响应值的点更有可能是淋巴结候选点,对增强后的图像使用阈值操作,保留图像上响应值大于0.2的像素点,之后提取图像中每个连通域的最小外接矩形框作为候选淋巴结样本。

图4 提取候选淋巴结

2.3 去除假阳性淋巴结

通过Hessian滤波器提取的候选淋巴结中含有大量假阳性淋巴结,主要由血管和其他的软组织组成,两者在CT图像水平面上形状相似,较难区分,但是淋巴结在空间上呈现团状,而血管在空间呈现柱状,可以从CT图像的冠状面和矢状面区分出来,因此,本研究设计基于CT图像三个视图的分类网络来进行分类,降低假阳性淋巴结数量。

2.3.1多视图网络结构 多视图卷积网络的结构示意图,见图5。特征提取CNN提取每个视图的特征,视图合并层整合每个通道提取的特征后,输送到CNN分类层,对整合特征分类。特征提取层的结构(见图6)由7个卷积层和3个最大池化层组成;第一、二层是连续的两个卷积层,由16个3*3的卷积核组成;第三、四层是连续的两个卷积层,由32个3*3的卷积核组成;第五、六层是连续的两个卷积层,由64个3*3的卷积核组成;第七层是单个卷积层,由128个3*3的卷积核组成;其中每个卷积层的步长为1,填充为1。卷积层后加入批量归一化(batch normalization,BN)、修正线性单元(rectified linear unit,ReLU),以避免过拟合,提高模型的稳定性。最大池化层的池化单元尺寸均为2×2,步长为2。视图合并层参考DenseNet[16]的思想对子网络的输出特征拼接合并成一个新的特征标量。之后将合并的特征放入分类器中,分类CNN是一个全连接层,经过全连接层后使用Sigmoid激活层输出预测概率,为了减轻过拟合,在全连接层前加入参数为0.5的Dropout层对全连接层进行失活处理。对于候选样本正负比例不平衡的问题,本研究选择Focal loss[17]作为损失函数。见式(8):

图5 多视图卷积网络结构

图6 特征提取网络结构

Loss=αy(1-yt)γlog(yt)+(1-α)(1-yt)(yt)γlog(1-yt)

(8)

其中y∈{0,1}是样本中真实标签,yt是网络预测概率结果。α和γ是可以调节的超参数,分别取0.5和2。

3 实验结果与分析

本研究所使用的实验数据集是公共数据集[18],数据集的信息见表2,淋巴结大小见表3。由于数据集中图像分辨率不同,因此把所有CT图像采样到相同的分辨率(1 mm×1 mm×1 mm)并把图像CT值固定到[-100,200]HU,该范围内淋巴结显示效果最明显且干扰因素较少;然后用Hessian滤波器提取候选淋巴结样本,对于由Hessian滤波器提取的候选淋巴结,本研究以候选样本矩形框的中心点,裁剪32×32大小的区域进行后续的分类。

表2 数据集具体信息

表3 按短轴分类的淋巴结数目Table 3 Number of lymph nodes categorized by short axes

数据集中训练集和测试集比例为8:1。为了应对数据量不足问题,本研究对数据集进行扩充,使用随机翻转,随机正负15o旋转,像素值偏移等增强策略。优化算法采取随机梯度下降(stochastic gradient descent, SGD)算法,动量设置为0.9,学习率初始设置为0.01,批处理大小为32,为了防止网络中负样本比例过多,使得网络学习的结果更倾向于负样本,本研究对正样本重复使用,当批处理中正样本数据不足时,随机从原始样本中选取正样本加入,使得批处理中正负样本比例为1:1,训练轮次为200轮,并且每轮学习率衰减为原来的0.95,当学习率为0.0001时,停止衰减。实验环境为:Ubuntu 18.04,GPU为GTX 2080ti,所使用的框架是Pytorch。

测试结果的评估使用接受者操作特性自由响应(free response operating characteristic, FROC)曲线,见图7。通过计算不同假阳性下的淋巴结召回率,以评估不同条件的误检和漏检情况。FROC曲线的横轴代表每个患者的假阳性淋巴结数量,单位FPs/patient,曲线纵轴代表灵敏度,即召回的正样本占比。从FROC曲线可以看出,在9FPs/patient的条件下,该网络最终可以达到90.32%的淋巴结召回率。对于二分类结果受试者工作特征(receiver operating characteristic,ROC)曲线下的面积(area under curve,,AUC)可以达到0.94。由表4可知,本研究检测算法在测试集上的效果与其他文献中所列出的检测方法的效果对比。从表中可以看出,本研究检测算法比所列出的检测算法有一定的提升。真阳性(TP),假阳性(FP),假阴性(FN)的淋巴结检测结果示例,见图8。

表4 各检测方法性能的比较

图7 测试结果曲线

图8 候选淋巴结检测样例

本研究算法在自动检测纵隔区域淋巴结时,仍然存在一些局限性。在提取疑似淋巴结时,某些淋巴结与周围软组织粘连,并且形态不规整,造成某些淋巴结无法提取,后续会探索更适合的识别算法,如Mask R-CNN;此外,使用多视图网络进行分类时,某些软组织在三视图上具有与淋巴结相似的结构,导致部分假阳性淋巴结识别错误,后续可以考虑利用淋巴结的3D空间结构,使用3D网络来进行分类。

4 结语

本研究提出一种基于Hessian矩阵的多尺度增强滤波器和多视图卷积分类网络淋巴结自动检测方法。构造了基于Hessian矩阵的多尺度圆形结构增强滤波器对CT图像中的纵隔区域进行增强,获取候选淋巴结,设计基于冠状面、矢状面和水平面的多视图分类网络对候选淋巴结分类,降低假阳性淋巴结数量,提升整体检测性能。通过对90组CT患者的测试,表明本研究方法能够在产生较低的假阳性淋巴结的情况下,有效地检测出不同大小的淋巴结,对后续肿瘤疗效的评估和分期具有重要的意义。

猜你喜欢
视图滤波器卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
从滤波器理解卷积
开关电源EMI滤波器的应用方法探讨
基于傅里叶域卷积表示的目标跟踪算法
一种微带交指滤波器的仿真
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
Django 框架中通用类视图的用法