Robust Content-Adaptive Global Registration for Multimodal Retinal Images Using Weakly Supervised Deep-Learning Framework, TIP2021
本文提出了一种使用多个弱监督结构的全局多模态视网膜图像配准模型,取得了好的效果,并具有更高的可靠性(robustness)。
关键词:弱监督,全局配准,多模态,内容自适应
针对的问题:多模态视网膜数据配准
在眼科医疗过程中,综合使用视网膜成像各个模态的信息往往可以取得更好更全面的诊疗结果,通过将这些数据进行配准可以为诊断提供最好的影像数据,但是由于成像过程和成像质量的差异,多模态图像的配准往往非常具有挑战性。
传统的配准方式主要采用粗粒度-细粒度的配准模式,前者通过各种变换对成像区域整体进行配准,后者则用来纠正前一步中出现的局部变形,其中粗粒度配准的结果对于成功至关重要。然而,传统方法的适应能力不足,对于低质量图片的处理能力也不够,本文提供的模型主要针对全局的粗粒度配准,包括了血管分割(vessel segmentation)、特征识别(feature detection)和异常值排除(outlier rejection)。
模型结构
基于风格转换弱监督自适应血管分割
在不同模态的图像间进行配准,选择血信息是很多模型通用的第一步。血管分割结果可以增强边缘,并且在不同模态之间获得一个中介的结果方便进行配准。
为了避免全监督模型需要的庞大数据和标注,本模型使用一个基于风格转换的模型,只需要一张任意数据集的分割图作为风格图就可以训练分割模型,在模型结构上采用了经典的类U-Net结构,同时为了提高模型应对不同图像内容的自适应能力,采用了pixel-adaptive convolution( PAC)替代传统的卷积,该方式利用特征(本文采用相位图作为引导特征,求法详见论文)来引导不同卷积核的权重,从而使得网络更加灵活。
整体的损失函数由三部分构成,分别是风格转换的损失函数、两个模态各自的自监督损失函数,以及配准损失函数:
其中,自监督损失函数为旋转180°后分割结果(再转回来)的对比:
配准损失函数是分割结果经过配准后的一致性的比较,也只有这一项是需要标签(
M
G
T
\mathbf{M}_{\mathbf{GT}}
MGT)的,该标签再之后也会用到:
而风格损失基于Gram矩阵,为其他论文中的方法,详见论文原文。
基于SuperPoint模型的特征提取和描述网络
该部分的模型主要是为了提取模型对应的关键点,用于后续的配准。这部分本文使用SuperPoint模型,整个模型又可以分为三个部分,Encoder,生成兴趣点热力图的Decoder和生成描述的Decoder。如下图所示,输入为之前提取的血管分割结果:
其中,前两者直接采用SupoerPoint模型的预训练权重,而对Descriptor Decoder进行微调。在训练过程中,依然借助了自监督的方式。首先通过自定义的变换再源域图像(已经经过
M
G
T
\mathbf{M}_{\mathbf{GT}}
MGT和目标域图像对齐了)上,经过了随机生成(对方形框的四个角的坐标做变换)的变换
H
\mathbf{H}
H(注意这里不是宽度,而是一个变换。另外还有一个
H
p
\mathbf{H_p}
Hp我没看懂是什么意思,似乎是等价的)后,通过匹配图像块来设计损失函数:
其中
i
i
i、
j
j
j和
i
′
i'
i′、
j
′
j'
j′都是Descriptor Decoder的输出(
W
8
×
N
8
×
256
\frac{W}{8}\times \frac{N}{8}\times 256
8W×8N×256)对应将图像划分的8*8个grid的中心坐标点。
s
s
s计算的是两个patch的Descriptor是否匹配,这里的标准是五个像素的距离,从而决定是正样本还是负样本(有点对比学习的意思了):
整体流程如下(还是不太确定
H
\mathbf{H}
H和
H
p
\mathbf{H_p}
Hp的区别):
之后,通过插值将Descriptor扩大到256*256,每个像素点都有自己的Descriptor,通过这样可以对heatmap中的关键点按照Descriptor进行匹配。
Outlier Rejection网络
为了从之前的点对中确定出变换,需要对各个点对的置信度进行度量,作者采用了12个Residual Block,每一层都是(层内)共享权重的512个感知机(权重共享是因为输入的顺序不应该影响结果),输入为
x
∈
R
N
×
4
\mathbf{x}\in \mathbb{R}^{N\times 4}
x∈RN×4,即N个之前点配对网络选取的坐标对
x
i
,
y
i
,
x
i
′
,
y
i
′
x_i,y_i,x'_i,y'_i
xi,yi,xi′,yi′,输出结果为每一个配对的置信度
w
∈
R
N
×
1
\mathbf{w}\in \mathbb{R}^{\mathbf{N}\times1}
w∈RN×1。之后通过一个公式就可以解出最优的变换矩阵
M
\mathbf{M}
M,这部分的原理不是很理解,过程如下。
首先根据输入坐标构造矩阵
A
\mathbf{A}
A:
和对角矩阵
W
=
d
i
a
g
(
[
w
1
,
w
1
,
.
.
.
,
w
N
,
w
N
]
)
∈
R
2
N
×
2
N
\mathbf{W}=diag([w_1,w_1,...,w_N,w_N])\in \mathbb{R}^{2N\times 2N}
W=diag([w1,w1,...,wN,wN])∈R2N×2N。通过最小化
∥
W
A
V
e
c
(
M
)
∥
\Vert \mathbf{WA} Vec(\mathbf{M})\Vert
∥WAVec(M)∥来求出
M
\mathbf{M}
M,Vec(·)为向量化的意思,该式有解析解
A
T
W
2
A
\mathbf{A}^T\mathbf{W}^2\mathbf{A}
ATW2A。
之后是针对求出的
M
\mathbf{M}
M的损失函数,
x
\mathbf{x}
x是输入的坐标对:
第一项是关键点置信度是否正确的分类损失:
其中
H
\mathbf{H}
H为二元交叉熵(BCE),(吐槽一下为什么这么多
H
\mathbf{H}
H符号),标签来自于关键点是否超过了5个像素点,和之前类似:
第二项是针对变换矩阵
M
\mathbf{M}
M和GT的变换的损失:
最后是配准结果的Dice损失:
实验结果
评估标准
采用6个关键点的最大偏移(MAE)是否超过10个像素点来评估好坏,少于或等于10个点则视为配准成功,最后比较的是配准的成功率:
六个关键点如下图:
实验结果与可视化
数据结果在不同质量下的表现都比较好,且稳定优于别的方法:
可视化展示,灰色为target图,分割结果中绿色为gt,红色为输出结果,黄色为重合部分: