shartoo +

医疗图像处理:LUNA2016 3DCNN 网络论文详解

本文总阅读量
欢迎star我的博客

0 背景知识

自动肺结节检测系统由以下两步组成(代码部分,参考 luna16_3DCNN):

  1. 候选screen
  2. 假阳性剔除

在候选screen中,大量粗粒度的候选经由多种标准,如放射密度阈值、数学形态操作、外形,筛选之后被喂入系统。为获得对候选screen敏感度高的分类器,这一步阈值标准都较宽泛、直接,这就导致大量的候选被送入第二步。这样一来,第二步的剔除假阳性成了整个系统的关键。

肺部恶性肿瘤结节的挑战主要来源于以下两方面。一:肺结节尺寸、形状和位置千变万化。而且,不同的周遭环境使得不同种类的肺结节更加多元化。其二:一些假阳性候选携带了与真的恶性肿瘤结节相似的形态。

目前已有方法

论文标题 方法 准确率
A new computationally efficient cad system for pulmonary nodule detection in ct imagery 形状、位置、密度和梯度特征集合 82.66%灵敏性,平均每个scan 3个假阳性
Automatic detection of subsolid pulmonary nodules in thoracic computed tomography images 密度、形状、纹理特征和并入的周遭信息 80% 灵敏性,平均每个scan 1个假阳性
Pulmonary nodule detection in ct images:false positive reduction using multi-view convolutional networks 多角度2D CNN方法 85.4%l灵敏度,平均每个scan 1个假阳性

一 本文方法

为应对肿瘤结节千变万化,以及提高分辨器的鲁棒性,我们提出了一个多层次肿瘤语境信息预测模型

1.1 方法详细

架构图

架构图

模型中每个网络的详细结构如下表

模型每个网络结构

1.2 3D 卷积层

为构建3D卷积层,首先需要定义一系列小的3D特征抽取器(kernel),抽取堆叠的高层次表征。为了生成新的特征空间,使用了不同的3D kernel抽取输入空间上不同的特征。然后添加偏置项,使用非线性激活函数。公式如下

其中

注意到,不同的3D kernel的激活函数值应该在偏置之前累加。

1.3 3D 最大池化层

假设 $l$ 层为卷积层,$l+1$ 为紧随其后的3D池化层。最大池化层接受一个4D输入tensor $T=[h^l_1,h^l_2,h^l_3,…h^l_k]\epsilon R^{X\times Y\times Z\times K}$ 。

对于最大池化操作,它选取立方体内最大值,并生成抽象输出 $T’\epsilon R^{X’\times Y’\times Z’\times K}$ ,其中$(X,Y,Z)$ 和$(X’,Y’,Z’)$ 分别是最大池化特征抽取前后的尺寸。$K$为特征空间数目。

给定池化 kernel 尺寸M 和步长S,池化之后,特征空间减小到 $X’=(X-M/S+1)$

1.4 全连接层

全连接层中,每个神经元与邻接层所有神经元相连。全连接层之前,首先需要将特征空间压平(flatten)到一个神经元向量,接下来再执行向量-矩阵乘法,再加上偏置项以及应用非线性激励函数。

1.5 softmax层

3D CNN的输出层就是softmax层。 $h^l$ 代表最后一层的神经元向量,C是目标分类数。通过softmax回归 $p_c(h^L)=exp(h^L_c)/\sum^{C-1}_{c=0}exp(h^L_c)$计算每个分类 $c$ 的概率,其中 $h_c^L$ 是神经元向量的第 $c$ 个元素。softmax层的激励函数输出都是(0,1)之间的正值,并且和为1。

1.6 损失函数

对于给定N对3D训练样本集合 ${(I^{(1)},y^{(1)}),….(I^{(N)},y^{(N)})}$ ,其中$I^{(j)}$ 是输入立方块,$y^j$ 是对应的真实标签,$\hat y^{(j)}$ 为预测标签,$\theta$ 代表所有参数。损失函数如下:

其中 $indicator$ 代表指示函数,$P(\hat y^{(i)}=c|I^{(j)};\theta)$ 为样本 $I^{(j)}$ 属于类别$c$的预估概率(即softmax回归层的输出值 $p_c(h^L)$)。通过调整参数使得 $loss(\theta)$ 最小。

二 接收域

肺部结节的多样性十分广泛,半径从3mm到30mm,形状和其他特性比如毛玻璃、固体、内部结构、刺孔等。除此之外,肺结节还与周遭环境十分相关。人工设计的判别规则辨别能力十分有限,无法从这一类别迁移到另外一类。

3D CNN肺结节检测,立方体样本以候选位置坐标为中心切割,并被输入到网络。立方体的样本的尺寸,即目标位置的环绕范围成为网络的接受域。接收域的大小对网络辨识准确率至关重要,接收域太小,只有有限的环境信息被包含入网络,会导致预测能力下降以及难以处理大量变化的目标;接收域太大,会包含太多噪音数据。

论文设计了一种多层次3D CNN来应对这一问题,并综合不同层次的判别结果。

三 多层次语境网络和模型混合

结节半径尺寸分布

上图为肺结节尺寸大小分布统计,小结节的半径大小分布,X和Y维度集中在9体素,Z维集中在4mm体素。

鉴于此,设计得第一个网络即Archi-1 接收域为 $20\times 20\times 6$ ,主要是处理小结节,覆盖了数据集中58%的结节。

第二个网络即Archi-2 的接收域为$30\times 30\times 10$ ,处理中等尺寸的结节,覆盖了数据集中85%的结节。

第三个网络即Archi-3 的接收域为$40\times 40\times 26$ ,处理中等尺寸的结节,覆盖了数据集中99%的结节。

使用softmax回归来综合三个模型的最后预测结果。模型 Archi-1预测 $I_j$属于分类 $c$ 的概率为 $P_1(\hat h_j=c|I_j;\theta _1)$ (不同的 $\theta$ ),Archi-2Archi-3 类似。

混合概率由权重的线性组合评估 $P_{fusion}(\hat y_j)=c|I_j=\sum {\phi \epsilon{1,2,3}}\gama _{\phi} P{\phi}(\hat y_j=c|I_j;\theta \phi)$ 。其中 $P{fusion}(\hat y_j=c|I_j)$ 是接收域 $I_j$ 属于分类 $c$ 的整个框架的混合预测概率。常量权重$\gama _phi$ 是在实验数据集中经过网格搜索得到的 $\gama _1=0.3,\gama _2=0.4,\gama _3=0.3$

四 训练过程

权重 $\theta$ 基于随机梯度下降来学习,即每次迭代中参数更新都是基于mini-batch的训练样本。比赛提供了正负样本,我们根据结节候选位置抽取了 $20\times 20\times 6,30\times 30\times 10,40\times 40\times 26$ 尺寸的立方块。

五 实验(LUNA2016)

5.1 数据集和候选生成

本文是用于处理假阳性剔除任务,即给定一个候选位置集合,预测每个候选是肺结节的概率。

比赛数据从 publicly available Lung Image Database Consortium (LIDC)过滤掉888张CT。体积在水平面以 $515\times 512$ 分辨率,元素空间为 $0.74 \times 0.74 mm^2$ ,同时slices厚度小于2.5mm。 肺结节数据由经验丰富的外科医生标注位置,只保留了 1186个半径大于3mm的候选(4个外科医生中至少有3个标注了的)

5.2 评估指标

比赛评估检测结果,通过灵敏度和每个scan中出现假阳性的数目。

我的博客

观点

源码