[论文地址] [代码] [MICCAI 21]
Abstract
在肺癌的早期诊断中,一个重要步骤是对每个肺结节进行恶性/良性分类。对于这种分类,结节的特征(如形状、边缘)历来是主要的焦点。最近,背景特征由于其提供的补充信息而吸引了越来越多的关注。在临床上,这种背景特征指的是结节周围结构的特征,这样(与结节的特征一起)它们可以暴露出恶性/良性的鉴别模式,如血管汇聚和裂隙附着。为了利用这些上下文特征,我们提出了一个上下文注意网络(CA-Net),它可以提取结节和上下文特征,然后在恶性/良性分类中有效地融合它们。为了准确识别包含结节扭曲/附着的结构的上下文特征,我们通过注意机制将结节的特征作为参考。此外,我们提出了一个特征融合模块,可以自适应地调整各结节的特征和背景特征的权重。我们提出的方法的实用性表现在比Kaggle比赛中的数据科学碗2017年数据集的第一名有明显的优势。
Method
本文算是一种比较高级的上下文attention机制,即引入了肺结节的扭曲,附着之类的信息。具体流程如下: 检测肺部疾病本质上其实就是个多阶段实现的二分类问题。首先,要用一个结节检测(Nodule Detection)算法把CT图像汇总的肺结节给检测出来,本文直接用了个TNNLS上的经典算法;接着,要对每个结节进行分类(Nodule Malignancy Classification),判断其为恶性的概率;最后,依据每个结节的状态对肺部CT状态进行综合的诊断(Cancer Prediction)。诊断其实就是一个预测概率汇总:
P
(
Y
∣
I
)
=
1
?
(
1
?
p
l
)
∏
k
=
1
K
(
1
?
P
(
M
∣
I
N
k
)
)
P(Y \mid I)=1-\left(1-p_{l}\right) \prod_{k=1}^{K}\left(1-P\left(M \mid I_{N_{k}}\right)\right)
P(Y∣I)=1?(1?pl?)k=1∏K?(1?P(M∣INk??)) 因此本文的核心工作其实就在肺结节分类上,包含三步:特征提取,上下文注意力以及特征融合。特征提取其实就是使用3D-UNet拿到feature map。
上下文注意力: 这一步做的是如何将从原始特征
X
X
X中分别提取出结节特征
X
N
X_N
XN?以及上下文特征
X
C
X_C
XC?。
X
N
X_N
XN?是很好获得的,只需要进行一个ROI Pooling就可以提取出来。这里的亮点是
X
C
X_C
XC?的获得需要
X
N
X_N
XN?来辅助。
从图中可以看到,
X
C
X_C
XC?是在
X
S
X_S
XS?的基础上做了一个空间注意力得到的,
X
S
=
X
?
X
C
X_S = X - X_C
XS?=X?XC?。至于这个空间注意力,其实就是由
X
N
X_N
XN?做了一个"Nodule Encoding",
X
S
X_S
XS?做了一个"Surrounding Encoding",把得到的结果concat起来作为attention map。至于这两个Encoding block,本文并未指出其结构,不过按照注意力的一般做法使用任意可学习的网络组件(甚至全连接层)应该都是可以的。
特征融合: 至于这个特征融合走的也还是空间注意力的思想,只不过这里甚至更加简单粗暴,即要得到:
X
fuse?
=
Concat
?
(
ω
N
×
X
N
,
ω
C
×
X
C
)
X_{\text {fuse }}=\operatorname{Concat}\left(\omega_{N} \times X_{N}, \omega_{C} \times X_{C}\right)
Xfuse??=Concat(ωN?×XN?,ωC?×XC?) 因此直接各自上了一个小的MLP(可以认为就是几个全连接层)来计算这个系数
ω
\omega
ω。
|