本文是论文 Adversarial Similarity Network for Evaluating Image Alignment in Deep Learning based Registration(基于深度学习的配准中用相似性对抗网络来评估图像的对齐)的阅读笔记。

一、简介

一般的无监督配准模型是需要指定相似性指标,然后通过神经网络来最大化两幅图像之间的相似性,从而达到配准的目的。常用的相似性指标有平方差(SSD)和互相关(CC)等。但是这些相似性指标不是对所有数据集都适用的。

本文提出了一种基于生成对抗网络(GAN)的无监督配准模型,在训练时不需要 ground-truth,也不需要指定图像之间的相似性度量指标。

【论文笔记】基于生成对抗网络(GAN)的无监督医学图像配准模型

上图是该模型与其他模型的配准结果对比示意图,对比 黄色方框中的区域可以看出,本文提出的模型输出结果更接近于 template image。

二、记号

本文中 fixed image 被称为 template image,记作 TT;moving image 被称为 subject image,记作 SS;形变场 ϕphi 就是使得 SSTT 最相似的形变场,可表示为:
ϕ=argϕminM(Sϕ,T)+Reg(ϕ)phi=arg_phimin M(Scircphi,T)+Reg(phi)
其中 SϕScircphi 表示形变场作用在 SS 上生成扭曲后的图像,M(Sϕ,T)M(Scircphi,T) 表示两幅图像的差异性,Reg(ϕ)Reg(phi) 是正则项,表示形变场 ϕphi 的平滑性。

在该模型中,生成器是一个配准网络 RR,它用来预测一个形变场 ϕphi;判别器是一个判别网络 DD,它用来判断两幅图像之间的相似性概率 ppp[0,1]pin[0,1]

三、网络结构

该网络模型由三部分组成——配准网络、变形转换层和判别网络。

1. 配准网络

采用的是类似于 U-Net 的网络结构,使用三维的 patch 作为输入,图像对 (S,T)(S,T) 通过配准网络可以得到一个位移向量场(形变场)ϕphi

2. 变形转换层

根据配准网络预测出的形变场 ϕphi,对图像 SS 做变换,得到扭曲后的图像 SϕScircphi

3. 判别网络

判别网络用来判别输入的两个图像块是否相似,并输出一个相似性概率 pp

【论文笔记】基于生成对抗网络(GAN)的无监督医学图像配准模型

上图是判别网络的结构示意图,每个卷积层后面跟着一个 ReLU **函数,并且卷积采用 0 填充的方式。


【论文笔记】基于生成对抗网络(GAN)的无监督医学图像配准模型

上图是整个网络的结构示意图。如上图所示,一个变形转换层起到了连接配准网络和判别网络的作用,它可以把配准网络产生的形变场 ϕphi 和图像 SS 作为输入,得到根据形变场扭曲后的图像 SϕScircphi ,再将扭曲后的图像和图像 TT 输入到配准网络。输入时,不是输入整幅图像,而是输入大小为 64×64×6464times64times64 的图像块(patch),并得到一个大小为 24×24×2424times24times24 的形变场。

四、训练

1. 判别网络的训练

判别网络的输入有两种,一种是正例(positive case)P+P^+,一种是负例(negative case)PP^-。正例是预先定义好的已对齐的图像对(即两个相同的图像 TT 的图像块),此时判别网络输出的预期值是1,表示这对图像是相似的。负例是从配准网络中产生的尚未配准好的图像对(即一个是图像 TT 的图像块,另一个是相同大小的,经过配准后的图像 SS 的图像块),此时判别网络输出的预期值为0,表示这对图像是不相似的。正例时判别网络的损失函数为:LD(p)=log(1p)L_D(p)=log(1-p),负例时判别网络的损失函数为 LD(p)=log(p)L_D(p)=log(p)pp 是判别网络输出的图像对的相似度概率。

理想中的正例中的图像对是完全相似的,但这在现实中是不可能的,因此作者在正例的图像对中加入了扰动,即图像 SSaS+(1a)Tacdot S+(1-a)cdot T 代替,其中 0<a<10<a<1,在开始训练时,设置 a=0.2a=0.2,在后期的训练中设置 a=0.1a=0.1。换句话说,在正例当中,输入一个是图像 SS 的一个 patch,另一个是 aS+(1a)Tacdot S+(1-a)cdot T 的一个 patch。

2. 配准网络的训练

因为配准网络产生的图像对属于负例,所以配准相似性损失为:
LR(p)=log(1p),pPL_R(p)=log(1-p),quad pin P^-
正则化损失为:
Lreg(ϕ)=vR3ϕ(v)2L_{reg}(phi)=sum_{vin mathbb{R}^3}||nablaphi(v)||^2
其中,vv 表示体素的位置。

配准网络总损失为配准相似性损失加正则损失,可表示为:
L=LR(p)+λLreg(ϕ)L=L_R(p)+lambda L_{reg}(phi)
其中 λlambda 是正则项的权重,在实验中设置为 1。

五、其他设置

优化器是 Adam,学习率初始值设为 0.001,没迭代 50K 次,以 0.5 的权重衰减,当判别网络无法分辨出是正例还是负例时,整个网络的训练就收敛了。

在论文中我有两个地方没搞明白,一个是判别网络的正例和负例,另一个是在判别网络训练时的对正例图像添加的扰动,这两部分等我阅读了相关代码之后再做补充修正。