赞
踩
该算法介绍了如何解决幻灯片图像(whole slide image,WSI)分类问题。由于WSI具有非常高的分辨率且缺乏注释,因此WSI分类问题具有一定的挑战性。
当只有幻灯片级别的标签可用时,WSI分类问题才可以作为多示例学习问题。本文提出一种基于MIL的WSI分类和肿瘤检测算法,算法由三个主要组成部分:
首先,引入一个新的MIL聚合器(aggregator),该聚合器能通过可训练的距离度量方法对双流架构(dual-stream architecture)中实例的关系进行建模;
其次,由于WSI会产生一些阻碍MIL模型训练的大型或不平衡的包,我们使用自监督对比学习(self-supervised contrastive learning)来提取MIL的良好表示并缓解大型包的内存成本问题;
最后,对多尺度WSI特征采用金字塔式融合机制,进一步提高分类和定位的精度。
通过扫描将玻璃载玻片上的组织转化为数字全载玻片图像(WSIs),WSIs中的自动化疾病检测一直是计算机辅助诊断系统的一个长期挑战。WSIs具有极高的分辨率,因此WSIs分类最广泛方法是基于块的处理——一个WSI被分成数千个小块,并由分类器做进一步检查。但在高分辨率下,让专家对每一小块进行打标签是十分耗时的,且难以规模化。
为了应对这一挑战,许多研究证明了弱监督WSI分类(weakly supervised WSI classification)的前景,这一种分类中仅使用了滑动级标签来训练基于块的分类器。每一个WSI被视为是由许多块(patch)实例组成的包,例如一个WSI(包)中的任何块(patch)是阳性(带有病毒),那么该WSI则标记为疾病阳性,反之标为阴性。最近基于MIL的算法极大地受益于使用深度神经网络进行特征提取和特征聚合。
开发用于弱监督WSI分类的深度MIL模型存在两个主要挑战。首先,当正图像(包)中的块(实例)不平衡时,即:只有一小部分块是正的。当使用简单的聚合操作,模型很可能对这些正实例进行错误分类(例如使用了最大池化,可能导致决策边界的转移,也就是下图中左边的决策边界)。此外,由于监督信号较弱,模型很容易出现过拟合,无法学习丰富的特征表示(也就是一个模型智能预测一系列的WSI,换成其他的效果就差了); 其次,目前的模型使用CNN或高分patch来更新特征提取器,但这样一个简化的学习方案可能会导致用于WSI分类的次优特征。
为了应对这些挑战,本文提出了一种新的深度MIL模型,称为双流多示例学习网络(DSMIL)。该模型使用双流架构联合学习一个patch(实例)和一个image(包)分类器。如图,左边第一个流部署一个标准的最大池化来识别得分最高的实例(称为关键实例),右边第二个流通过测量实例与关键实例的距离来计算每个实例的注意力分数 。DSMIL进一步使用注意力分数对实例进行软选择(soft selection),从而得到一个决策边界,可以更好地描述正包中的实例。
让
B
=
{
(
x
1
,
y
1
)
,
.
.
.
,
(
x
n
,
y
n
)
}
B=\left \{ (x_{1},y_{1}),...,(x_{n},y_{n})\right \}
B={(x1,y1),...,(xn,yn)}表示一个包,其中,
x
i
∈
X
x_{i}∈\mathcal{X}
xi∈X表示实例,
y
i
∈
{
0
,
1
}
y_{i}∈\left \{ 0,1 \right \}
yi∈{0,1}表示实例的标签。包
B
B
B的标签计算公式为:
c
(
B
)
=
{
0
,
i
f
∑
y
i
=
0
1
,
o
t
h
e
r
w
i
s
e
(1)
c(B)=
MIL还使用
f
f
f与
g
g
g来预测包
B
B
B的标签:
c
(
B
)
=
g
(
f
(
x
0
)
,
.
.
.
,
f
(
x
n
)
)
(2)
c(B)=g(f(x_{0}),...,f(x_{n}))\tag{2}
c(B)=g(f(x0),...,f(xn))(2)
根据
f
f
f和
g
g
g的选择,多示例学习可以使用两种方式建模:
1)基于实例的方法:
f
f
f为实例分类器,对每个实例进行评分。
g
g
g为池化操作符,聚合实例分数以产生一个包分数;
2)基于嵌入的方法:
f
f
f为实例级特征提取器,将每个实例映射到新的特征空间。
g
g
g为聚合算子,从实例嵌入中产生一个包嵌入,并根据包嵌入输出一个包得分。
基于嵌入的方法能够嵌入产生一个包得分,通常比基于实例的方法产生更好的准确性。但很难确定触发分类器的关键实例(就是很难找到关键实例的意思,需要好的关键实例才能形成好的嵌入)。
每个幻灯片图像被视为一个包,图像中的每个局部图像块被视为一个实例。本文的模型为联合模型,联合实例级分类器与嵌入聚合器,并解释选用这种方法的原因与优势。本文的关键创新点在于设计了一个新的聚合函数 g g g并学习了特征提取函数 f f f。
DSMIL由一个masked non-local block和max-pooling block来进行特征聚合,以及由自监督对比学习(self-supervised contrastive learning)来进行实例嵌入。同时,DSMIL使用金字塔策略( pyramidal strategy)进行多尺度嵌入,从而保证WSI中块的注意力局部约束(local constraints of the attentions)。
DSMIL使用了实例分类器、包分类器以及双流架构中的包嵌入。
让
B
=
{
x
1
,
.
.
.
,
x
n
}
B=\left \{ x_{1},...,x_{n}\right \}
B={x1,...,xn}表示一包的块,即WSI。给定特征提取函数
f
f
f,每个实例
x
i
x_{i}
xi都能够映射为一个嵌入特征
h
i
=
f
(
x
i
)
∈
R
L
×
1
\mathbf{h}_{i}=f(x_{i})∈\mathbb{R}^{L\times1}
hi=f(xi)∈RL×1。第一流使用实例分类器对每个嵌入实例特征进行分类,然后通过最大池化(max-pooling)来计算得分:
c
m
(
B
)
=
g
m
(
f
(
x
i
)
,
.
.
.
,
f
(
x
n
)
)
=
max
{
W
0
h
0
,
.
.
.
,
W
0
h
N
−
1
}
(3)
c_{m}(B)=g_{m}(f(x_{i}),...,f(x_{n})) \\ =\max\left \{ \mathbf{W} _{0}\mathbf{h}_{0},...,\mathbf{W}_{0}\mathbf{h}_{N-1} \right \} \tag{3}
cm(B)=gm(f(xi),...,f(xn))=max{W0h0,...,W0hN−1}(3)
其中,
h
0
h_0
h0、
h
1
h_1
h1这些都是实例的嵌入特征,通过
h
i
=
f
(
x
i
)
\mathbf{h}_{i}=f(x_{i})
hi=f(xi)实现;
W
0
\mathbf{W}_{0}
W0为权值向量,也就是第一层神经网络的权值,只要是输入实例的嵌入特征都要与其相乘,得到一个分数。最大池化来选出具有最高分数的那个实例作为关键实例。最大池化是置换不变运算。
第二流将上述嵌入实例特征聚合成一个包嵌入,并由包分类器来计算包嵌入的得分。我们得到关键实例的实例嵌入特征
h
m
\mathbf{h}_{m}
hm,并将每个实例映嵌入特征
h
i
\mathbf{h}_{i}
hi都转换query
q
i
∈
R
L
×
1
\mathbf{q}_{i}∈\mathbb{R}^{L\times1}
qi∈RL×1和information
v
i
∈
R
L
×
1
\mathbf{v}_{i}∈\mathbb{R}^{L\times1}
vi∈RL×1:
q
i
=
W
q
h
i
,
v
i
=
W
v
h
i
(4)
\mathbf{q}_{i}=\mathbf{W}_{q}\mathbf{h}_{i},\mathbf{v}_{i}=\mathbf{W}_{v}\mathbf{h}_{i}\tag{4}
qi=Wqhi,vi=Wvhi(4)
其中,
W
q
\mathbf{W}_{q}
Wq与
W
v
\mathbf{W}_{v}
Wv分别为query与information的权值矩阵。
得到每个实例的转换后的
q
i
\mathbf{q}_i
qi后,我们就能够计算任意实例与关键实例之间的距离,从而来进行分类。距离度量函数
U
U
U定义为:
U
(
h
i
,
h
m
)
=
exp
(
⟨
q
i
,
q
m
⟩
)
∑
k
=
0
N
−
1
exp
(
⟨
q
k
,
q
m
⟩
)
(5)
U(\mathbf{h}_{i},\mathbf{h}_{m})=\frac{\exp(\left \langle\mathbf{q}_{i},\mathbf{q}_{m} \right \rangle )}{ {\textstyle \sum_{k=0}^{N-1}}\exp (\left \langle\mathbf{q}_{k},\mathbf{q}_{m} \right \rangle ) }\tag{5}
U(hi,hm)=∑k=0N−1exp(⟨qk,qm⟩)exp(⟨qi,qm⟩)(5)
其中,“<·,·>”代表两个向量的内积。
测量了距离后,我们就能够将它与information
v
i
∈
R
L
×
1
\mathbf{v}_{i}∈\mathbb{R}^{L\times1}
vi∈RL×1相乘,距离作为权值,得到包嵌入
b
b
b:
b
=
∑
i
N
−
1
U
(
h
i
,
h
m
)
v
i
(6)
b=\sum_{i}^{N-1}U(\mathbf{h}_{i},\mathbf{h}_{m})\mathbf{v}_{i}\tag{6}
b=i∑N−1U(hi,hm)vi(6)
包嵌入其实就是将包中的实例与包中关键实例进行距离计算,并与实例的information矩阵中的 v i \mathbf{v}_{i} vi进行相乘,再将包中每个实例计算得到的结果累加得到最终的包嵌入向量。
包得分
c
b
c_{b}
cb计算公式:
c
b
(
B
)
=
g
b
(
f
(
x
i
)
,
.
.
.
,
f
(
x
n
)
)
=
W
b
∑
i
N
−
1
U
(
h
i
,
h
m
)
v
i
=
W
b
b
(7)
c_{b}(B)=g_{b}(f(x_{i}),...,f(x_{n})) \\ =\mathbf{W}_{b}\sum_{i}^{N-1}U(\mathbf{h}_{i},\mathbf{h}_{m})\mathbf{v}_{i}=\mathbf{W}_{b}b\tag{7}
cb(B)=gb(f(xi),...,f(xn))=Wbi∑N−1U(hi,hm)vi=Wbb(7)
其中,
W
b
\mathbf{W}_{b}
Wb是用于二分类的权值向量。其实就是将权值向量与嵌入向量相乘得到一个分数。
相乘测量了两个query之间的相似性,从而为更相似的实例生成更大的值(越相似的值就越大)。因此,与关键实例更相似的实例将具有更大的注意力权重。信息向量 v i v_i vi的附加层允许在每个实例中提取贡献信息。方程5中的softmax运算确保了注意力权重总和为1,而与袋子大小无关。
由于关键实例不依赖于实例顺序,且距离测量函数 U U U是对称的,因此第二个流也是置换不变的且满足(2)式。
最终的包得分为两个流的包得分平均值:
c
(
B
)
=
1
2
(
g
m
(
f
(
x
i
)
,
.
.
.
,
f
(
x
n
)
)
+
g
b
(
f
(
x
i
,
.
.
.
,
f
(
x
n
)
)
)
=
1
2
(
W
0
h
m
+
W
b
∑
i
N
−
1
U
(
h
i
,
h
m
)
v
i
)
(8)
c(B)=\frac{1}{2}(g_{m}(f(x_{i}),...,f(x_{n}))+g_{b}(f(x_{i},...,f(x_{n}))) \\ =\frac{1}{2}(\mathbf{W}_{0}\mathbf{h}_{m}+\mathbf{W}_{b}\sum_{i}^{N-1}U(\mathbf{h}_{i},\mathbf{h}_{m})\mathbf{v}_{i})\tag{8}
c(B)=21(gm(f(xi),...,f(xn))+gb(f(xi,...,f(xn)))=21(W0hm+Wbi∑N−1U(hi,hm)vi)(8)
本文建议使用自监督对比学习来学习特征提取函数 f f f,考虑使用SimCL,因为这是一种最先进的自监督学习框架。SimCLR部署了一种对比学习策略,该策略训练CNN以便将来自于同一批图像中的子图像关联起来,在一批图像中随机选择子图像,并将其反馈到两个随机图像增强分支中。
最后使用金字塔级联测量来整合来自不同放大倍数的WSI的特征。首先,对于每个低放大率的面片,我们获得该面片的特征向量以及该面片内较高放大率下的子图像的特征向量。例如,一个在10倍放大率下大小为224×224的补丁将包含4个子图像,在20倍放大率上大小为224 x 224。对于每个10×补丁,我们将10×特征向量与20×特征中的每一个连接起来,获得4个特征向量。图4说明了三种放大倍数(20×-10×-5×)的情况。我们在实验中使用了两种放大倍数(20倍和5倍)的特征来证明这种方法的有效性,但这种想法是通用的,可以扩展到更多的放大倍数。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。