本文是论文《Fast Symmetric Diffeomorphic Image Registration with Convolutional Neural Networks》的阅读笔记。文章中有很多关于数学的描述,包括微分同胚、雅克比矩阵没有看懂,所以这部分内容有所残缺,建议读者直接阅读原文。
一、摘要
由于之前的方法忽略了形变场的拓扑保持(topology preservation),并且形变场的平滑性只由全局平滑能量函数来约束,文章提出了一个名为SYMNet的无监督对称图像配准模型,该模型同时估计正向和反向的变换。
基于深度学习的配准方法中实质微分同胚性(substantial diffeomorphic properties)没有得到保证,即忽略了变换的拓扑保持和可逆性。模型的输出是一对微分同胚映射,用来将输入图像从两条测地线(geodesic path)映射到两幅图像的中间地带(middle ground)。微分同胚是可微的映射,并且存在可微的逆。
文章的主要贡献有:
- 提出了一个快速对称微分同胚图像配准方法来保证变换的拓扑保持和可逆性;
- 提出了新的方向一致性正则化,用负的Jacobian行列式来惩罚局部区域;
- 文章提出的范式和目标函数很容易在其他地方应用。
二、 可变形图像配准
可变形图像(deformable image)配准的目标是建立起图像对之间的一个非线性关系,并且估计一个对齐两张图像的非线性转换。
可变形图像配准指的是将浮动图像变形以对齐到固定图像的过程,在该过程中两幅图像之间的相似性得到最大化。可变形图像配准是一个非线性配准过程用来建立浮动图像和固定图像之间的密集的体素级的非线性空间关系(dense voxel-wise non-linear spatial correspondence)。
用F和M分别表示固定图像和浮动图像,ϕ来表示形变场,可变形图像配准过程可以表示为:
ϕ∗=ϕargminLsim(F,M(ϕ))+Lreg(ϕ)
其中ϕ∗表示最优的形变场,Lsim(⋅,⋅)表示不相似性函数,Lseg(⋅)表示平滑正则函数,M(ϕ)表示变形后的浮动图像。
三、相关工作
1. 微分同胚配准
当前的配准方法通常是将位移场u参数化,形变场和位移场的关系为:ϕ(x)=x+u(x),其中x是恒定变换。这种方式虽然简单,但是对于大的变形来说可能对应的位移场并不存在,所以文章使用的是带有静态速度场的微分同胚变形模型。微分同胚是可微和可逆的,这就保证了平滑的一对一的映射,同时也保留了拓扑性。微分同胚形变场ϕt可以由速度场来生成:
dtdϕt=vt(ϕt)=vt∘ϕt
其中∘是复合运算符(composition operator),vt表示时间t时刻的速度场,ϕ0=Id是恒等变换。
形变场可以表示为李代数的一员,并将其指数化以产生时间为1的变形ϕ(1),即李群ϕ(1)=exp(v)的一员。这表示指数化的流场使得映射是微分同胚和可逆的。给定初始形变场ϕ(1/2T)=x+v(x)/2T,其中T表示总的时间,那么,ϕ(1/2)可以通过重现(recurrence)得到:ϕ(1/2t−1)=ϕ(1/2t)∘ϕ(1/2t)。
2. 基于学习的配准
大多数有监督的配准方法采用ground truth形变场或分割图来指导学习过程。文献11(DIRNet)证明了在无监督配准中采用互相关作为相似度评价指标的有效性,文献5(VoxelMorph)通过L2正则损失使得形变场平滑,文献9提出了一个概率微分同胚配准模型。
四、方法
大多数基于学习的配准方法都是只从浮动图像映射到固定图像,而忽略了其逆映射(从固定图像映射到浮动图像)。让X,Y表示两个3D图像,可变形配准问题可以参数化为一个方程:fθ(X,Y)=(ϕXY(1),ϕYX(1)),其中θ表示CNN的参数,ϕXY(1)=ϕXY(x,1)和ϕYX(1)=ϕYX(y,1)分别表示时间为1的从位置x∈X变形到y∈Y和从位置y∈Y变形到x∈X的微分同胚形变场。
文章提出分别学习两个时间为0.5的将X和Y变形到它们的平均大小M的形变场,模型收敛之后,时间为1的将X变形到Y和将Y变形到X的形变场就可以通过结合两个估计的时间为0.5的形变场而得到了。从X到Y的变形可以结构为:ϕXY(1)=ϕYX(−0.5)(ϕXY(0.5)(x)),从Y到X的变形可以结构为:ϕXY(1)=ϕXY(−0.5)(ϕYX(0.5)(y))。因此方程fθ可以重写为:fθ(X,Y)=(ϕYX(−0.5)(ϕXY(0.5)(x)),ϕXY(−0.5)(ϕYX(0.5)(y)))。
1. 对称微分同胚神经网络
将方程fθ参数化为一个全卷积网络(FCN)、缩放层、squaring层和可微的空间变换器(STN),ϕXY(0.5)和ϕYX(0.5)使用缩放和squaring方法通过估计的速度场vXY和vYX来计算。FCN网络的结构类似于UNet,是一个5层的编码器-解码器结构,并且有跳跃连接。FCN以拼接的2通道的图像作为输入,以2个密集的(dense)、非线性的速度场vXY和vYX作为输出。在编码器的每一层,都有两个卷积核大小为3×3×3,步长分别为1和2的卷积层。在解码器的每一层采用步长为1的卷积核大小分别为3×3×3的卷积层和步长为1,卷积核为2×2×2的反卷积层。在解码器的最后两层是卷积核大小为5×5×5,步长为1的卷积层,并且跟着一个softsign**函数(softsign(x)=1+∣x∣x),然后乘以常数c,用来产生两个速度场。乘以常数c是为了让速度场的范围在[−c,c]之间。实际操作时c=100。除了最后一个卷积层,FCN的每一个卷积层后面都跟着一个ReLU**函数。
此外,使用空间变换器(STN)实现缩放层和squaring层,并用它对预测的速度场进行积分。
特别的给定时间步长T,初始化ϕXY(1/2T)=x+vXY(x)/2T和ϕYX(1/2T)=x+vYX(x)/2T,通过重现ϕ(1/2t−1)=ϕ(1/t)∘ϕ(1/t)计算时间为0.5的形变场,直到t=1。
上图是模型的结构示意图,使用FCN来学习从X,Y到他们平均大小M的对称的时间为0.5的形变场,绿色的路径表示从X到Y的变换,黄色的路径表示从Y到X的变换,为了简介没有在图中画出Lmag损失。
上图是FCN网络的结构示意图。
2. 对称相似性
Lmean是对称平均形状相似性损失,Lsim是图像的相似性损失,有很多相似性度量,比如正则化的互相关NCC、均方误差MSE、距离的平方和SSD和互相关MI,这里选用的是NCC。让I和J表示两个输入图像,Iˉ(x)和Jˉ(x)分别是I和J在位置x的局部均值,局部均值通过以x为中心,大小为w3,w=7的窗口来计算。NCC的定义如下:
NCC(I,J)=∑x∈Ω∑xi(I(xi)−Iˉ(x))2∑xi(J(xi)−Jˉ(x))2∑xi(I(xi)−Iˉ(x))(J(xi)−Jˉ(x))
其中xi表示以x为中心的窗口内的位置。
Lsim的表示如下:
Lsim=Lmean+Lpair
Lmean=−NCC(X(ϕXY(0.5)),Y(ϕYX(0.5)))
Lpair=−NCC(X(ϕXY(1)),Y)−NCC(Y(ϕYX(1)),X)
其中,Lmean用来衡量X和Y之间的不相似性,它们朝向平均大小M,Lpair衡量变形后的X和Y以及变形后的Y和X之间的不相似性。
3. 局部方向一致性
全局正则化会使配准的精度降低,实际上全局正则化不能保证变换的拓扑保持,为了解决这个问题,提出了可选性雅可比行列式正则,以促进预测形变场的局部的方向一致性。可选性雅克比行列式正则损失为:
LJdet=N1p∈Ω∑σ(−∣Jϕ(p)∣)
其中N表示∣Jϕ∣中元素的总数量;σ(⋅)表示**函数,这里用的是σ(⋅)=max(0,⋅),作用等同于ReLU;∣Jϕ(⋅)∣表示在位置p处形变场ϕ的雅克比行列式,其公式如下:
Jϕ(p)=⎝⎜⎛∂x∂ϕx(p)∂x∂ϕy(p)∂x∂ϕz(p)∂y∂ϕx(p)∂y∂ϕy(p)∂y∂ϕz(p)∂z∂ϕx(p)∂z∂ϕy(p)∂z∂ϕz(p)⎠⎟⎞
但是并不是用可选性雅克比行列式正则损失代替原来的全局正则化,而是同时使用两者,以产生平滑且拓扑保持的变换。
接着,使用Lreg=∑p∈Ω(∥∇vXY(p)∥22+∥∇vYX(p)∥22)来加强速度场的平滑,还通过幅值约束(magnitude constraint)Lmag=N1(∥vXY∥22−∥vYX∥22)来避免在路径上的偏移。所以总的损失函数为:
L(X,Y)=Lsim+λ1LJdet+λ2Lreg+λ3Lmag
五、实验
在T1权重的脑部MRI数据集OASIS上做了基于图谱的配准实验,先将所有图像重采样到256×256×256大小,然后使用FreeSurfer做标准的预处理,包括运动校正、去除头骨、仿射空间归一化和皮质下结构分割。然后将图像裁剪为144×192×160大小。并将数据集划分为255、20、150分别作为训练集、验证集和测试集。随机从测试集选择5个MR图像作为图谱。
使用Dice相似系数(DSC)和雅克比行列式∣Jϕ∣作为衡量标准。DSC的取值范围是[0,1],配准的越好对应的DSC值越大。雅克比行列式可以捕捉形变场的局部行为。选用ANTs包中的SyN、VoxelMorph(VM)和DIF-VM作为baseline。使用SGD优化器,学习率为1e−4,动量为0.9,λ1=1000,λ2=3,λ4=0.1。
上图是SYMNet与baseline模型的配准结果对比。
上图是平均DSC值(越高越好)和非正雅克比行列式的平均体素数(越低越好),可以发现SYMNet在DSC上取得最好的效果,在∣Jϕ∣上效果次优。
上表展示了局部方向一致性损失的影响。
上表对比了各种模型运行所需要的时间,可以发现SYMNet所需时间最短。