本文是论文《Linear and Deformable Image Registration with 3D Convolutional Neural Networks》的阅读笔记。
文章提出了一个可以实现线性和可变形(deformable)配准的模型。
可变形配准的目标是计算一个最优的非线性密度变换 G G G来将源(浮动)图像 S S S对齐到参考(目标)图像 R R R,得到配准后的源图像 D D D。基于深度学习的配准通常有以下缺陷:
文章的主要贡献如下:
在下文中,变形(deformation)、网格(grid)和转换(transformation)将是同一个意思,即可互换的。
3D转换层(类似于空间转换网络,STN)是配准网络的一个重要组成部分,它可以根据变形 G G G将输入图像 S S S进行变换得到图像 D D D,即:
D = W ( S , G ) D=\mathcal{W}(S, G) D=W(S,G)
其中 W ( ⋅ , G ) \mathcal{W}(\cdot,G) W(⋅,G)表示在变形 G G G下的采样操作 W \mathcal{W} W, G G G是密度变换。
采样过程可以用下式来表示:
D ( p ) = W ( S , G ) ( p ) = ∑ q S ( q ) ∏ d max ( 0 , 1 − ∣ [ G ( p ) ] d − q d ∣ ) D(\mathbf{p})=\mathcal{W}(S, G)(\mathbf{p})=\sum_{\mathbf{q}} S(\mathbf{q}) \prod_{d} \max \left(0,1-\left|[G(\mathbf{p})]_{d}-\mathbf{q}_{d}\right|\right) D(p)=W(S,G)(p)=q∑S(q)d∏max(0,1−∣[G(p)]d−qd∣)
其中, p , q p,q p,q表示体素位置, d ∈ { x , y , z } d\in\{x,y,z\} d∈{x,y,z}表示一个轴, ∣ G ( p ) ∣ d |G(p)|_d ∣G(p)∣d表示 G ( p ) G(p) G(p)的第 d d d个分量。
线性(仿射)配准需要根据 [ x ^ , y ^ , z ^ ] T = A [ x , y , z , 1 ] T [\hat{x}, \hat{y}, \hat{z}]^{T}=A[x, y, z, 1]^{T} [x^,y^,z^]T=A[x,y,z,1]T预测一个 3 × 4 3\times4 3×4的仿射变换矩阵 A A A,其中 [ x , y , z , 1 ] T [x, y, z, 1]^{T} [x,y,z,1]T表示需要变形的增广点, [ x ^ , y ^ , z ^ ] T [\hat{x}, \hat{y}, \hat{z}]^{T} [x^,y^,z^]T表示在变形后的图像中它们的位置。然后就可以用矩阵 A A A得到一个采样网格 G A G_A GA来进行采样。
可变形配准部分 G N G_N GN是直接生成一个用来采样每个体素的采样坐标。如果没有合适的正则项,那么将会产生不平滑甚至不相关的变形,为了避免这个问题,采取的办法是在每个维度预测变形的空间梯度 ϕ \phi ϕ,而不是直接预测变形本身。接下来在每个维度进行集成操作,即通过在每个维度进行简单的累加来实现。例如,当 Φ p d = 1 \Phi_{\mathbf{p}_{d}}=1 Φpd=1时,在变形后的图像的 d d d轴上的体素 p p p和 p + 1 p+1 p+1之间的距离没有变化;当 Φ p d < 1 \Phi_{\mathbf{p}_{d}}<1 Φpd<1时, d d d轴上连续体素之间的距离将会减少;反之,当 Φ p d > 1 \Phi_{\mathbf{p}_{d}}>1 Φpd>1时,距离将会增加。这种方式可以产生平滑的形变场以避免自交叉。
为了组合这两个部分,先对运动图像应用可变形分量,然后再应用线性分量,即:
W ( S , G ) = W ( W ( S , G N ) , G A ) \mathcal{W}(S, G)=\mathcal{W}\left(\mathcal{W}\left(S, G_{N}\right), G_{A}\right) W(S,G)=W(W(S,GN),GA)
模型的网络结构如上图所示,网络包括编码器和解码器两部分,编码器采用的是空洞卷积,并且进行了多分辨率特征合并;解码器部分采用的是普通卷积和上采样操作。卷积核的大小是 3 × 3 × 3 3\times3\times3 3×3×3,除了最后两层都以Leaky ReLU作为激活函数,在多数激活函数前使用了实例正则化操作。在编码器中一共有5层,每层的输出经过合并后得到编码器的输出,形成接收域为 25 × 25 × 25 25\times25\times25 25×25×25,有290个特征的特征图。解码器有两个分支,一个是就散空间变形的梯度,另一个是计算仿射矩阵。第一个分支加入了squeeze-excitation块,用来加权空间梯度计算中最重要的特征;第二个分支使用了一个全局平均操作来减少空间维度到一维。这两个分支分别采用了sigmoid和线性激活函数。sigmoid激活函数后还需要乘以2,以让输出范围在[0,2]之间。
模型采用的MSE来评价图像的相似性,使用Adam作为优化器,模型的损失为:
Loss = ∥ R − W ( S , G ) ∥ 2 + α ∥ A − A I ∥ 1 + β ∥ Φ − Φ I ∥ 1 \operatorname{Loss}=\|R-\mathcal{W}(S, G)\|^{2}+\alpha\left\|A-A_{I}\right\|_{1}+\beta\left\|\Phi-\Phi_{I}\right\|_{1} Loss=∥R−W(S,G)∥2+α∥A−AI∥1+β∥Φ−ΦI∥1
其中 A I A_I AI表示恒等仿射变换矩阵, ϕ I \phi_I ϕI表示恒等变换的空间梯度, α , β \alpha,\beta α,β是正则化权重。如果没有 A A A上的 L 1 L1 L1正则化,则网络可能陷入局部最小值,此时只能使用仿射变换对齐高维特征;如果没有 ϕ \phi ϕ上的平滑正则项,空间梯度编码器网络会生产不平滑的网格,从而陷入局部最小值。
初始学习率为 1 0 − 3 10^{-3} 10−3,如果在验证集上50个epoch效果没有提升,则学习率变为之前的十分之一,当100个epoch效果没有提升时,则停止训练,一共训练300个epoch。 α = β = 1 0 − 6 \alpha=\beta=10^{-6} α=β=10−6,batch size为2,没100个batch就会评估一次训练的效果。
选用的baseline是ANTs包中的SyN,相似性度量有衡量配准后肺部mask标签的NCC、MI、DWM(discrete wavelet metric)。此外还会使用提供的地标位置来计算配准后的误差。
在第一组实验中,用不同的方法对吸气和呼气时的肺部MRI图像进行配准,并对比其效果,如上表所示;测试了三种不同的相似性度量标准,以及它们组合使用的效果,MI度量产生了最高的Dice值;实验表示,对于本文提出的模型来说,在转换层添加一个线性分量不会明显的改变模型的性能;最后计算了配准后11个地标点在每个轴的误差。
上表展示了不同方法在变形后图像的地标点和ground truth图像的地标点之间的欧几里得距离,其中Inter-observer是两个专家在同一个图片上标记地标点之间的欧几里得距离。 d x , d y , d z d_x,d_y,d_z dx,dy,dz分别是在 x , y , z x,y,z x,y,z轴上的距离, d s d_s ds是所有轴上的平均误差。
第二组实验,使用13个病人的组合来得到Dice值,发现线性分量的作用更重要。
上图展示了模型的配准效果。
为了评估解码后的转换在临床环境中的相关性,我们在获得的残余变形(residual deformation)上训练了一个小分类器来将患者分为健康或不健康。残余变形和一对表示体素位移的图像相关,写为: G σ = G − G I G_\sigma=G-G_I Gσ=G−GI,其中 G G G是两张图像推测的变形, G I G_I GI是恒等变形。具体的使用了一个MLP(多层感知机)来预测一个样例是健康还是不健康。该模型包括批量正则化以避免过拟合,激活函数使用的是Tanh,下采样的卷积核大小为 3 × 3 × 3 3\times3\times3 3×3×3,步长为2,填充为1。隐藏层的单元数为100。使用二值交叉熵损失,学习率为 1 0 − 4 10^{-4} 10−4,每经过50个epoch学习率减半。在测试集上的阈值为0.5。
上图是上述MLP的结构示意图。
上表是在测试集上疾病预测的准确率。