DeepFlash
DeepFLASH: An Efficient Network for Learning-based Medical Image Registration
论文源代码: deepflash
简介:这是来自2020CVPR, 来自University of Virginia的文章,第一作者是个中国人;
摘要
提出了一个新颖的网络结构,是可有效训练和推断的;首先引入的复数值的操作和可提供关系关键控件的神经网络的特征表示;然后建立一个清晰的损失函数,用少量的参数在有限带宽的空间中特征化变形场;结果: 比现在最好的结果效果都要好而且速度也更快.
要解决的问题
在大尺度或者高分辨图像下,得到最好的微分同胚的图像配准结果同时消耗时间可接受?
目前有哪些方法可加速
-
LDDMM,利用高斯牛顿的优化方法
-
梯度优化方法(需要迭代),在低维度优化(频率域) (Frequency diffeomorphisms for efficient image registration. Data-driven model order reduction for diffeomorphic image registration. )
-
深度学习方法__直接生成变形场
1.Quicksilver, Fast predictive image registration–a deep learning approach.
2.Svf-net: Learning deformable image registration using shape matching.
3. Voxelmorph: a learning framework for deformable medical image registration.
4. Semi-coupled dictionary learning for deformation prediction.
5. 2d/3d image registration using regression learning. -
FLASH, Fourier-approximated Lie Algebras for Shooting(这个是本文的baseline)
这些方法存在什么局限性
-
LDDMM和梯度优化方法,都需要迭代,时间较久
-
深度学习方法__直接生成变形场
1.在大形变时, 如何保证微分同胚也很难,时间较快
2.训练时时间时间很慢
本文的主要贡献
-
基于传统方法FLASH,提出新的基于学习的DeepFLASH
-
和FLASH思路一样,然后实现方法不一样,优点就是快,能够节约时间,同时能够保证变形场的光滑性
形变网络的背景 __主要回顾LDDMM算法
记,存在源域 S S S和目标域 T T T;
在torus domain 定义平方积分函数:
Ω = R d / Z d ( S ( x ) , T ( x ) : Ω → R ) \Omega= R^d/Z^d (S(x), T(x): \Omega \rightarrow R) Ω=Rd/Zd(S(x),T(x):Ω→R)
微分同胚图像配准的问题是在微分同胚变换中找到最短的路径(也被称之为测地距离)
微分同胚变换:
ϕ t ∈ D i f f ( Ω ) : Ω → Ω , t ∈ [ 0 , 1 ] \phi_t \in Diff(\Omega):\Omega\rightarrow\Omega, t \in[0,1] ϕt∈Diff(Ω):Ω→Ω,t∈[0,1]
LDDMM能量函数,度量项加上规则化项:
E ( v 0 ) = r / 2 ∗ D i s t ( S ο ψ 1 ) + 0.5 ∗ ( L v 0 , v 0 ) , S . t . , E(v_0) = r/2*Dist(S \omicron \psi_1)+0.5*(Lv_0,v_0), S.t., E(v0)=r/2∗Dist(Sοψ1)+0.5∗(Lv0,v0),S.t.,
d ψ t / d t = − D ψ t ∗ v t . . . ( 1 ) d\psi_t/d_t=-D\psi_t*v_t ...(1) dψt/dt=−Dψt∗vt ...(1)
r是正权重参数,D是雅克比矩阵,Dist是相似度度量函数,
在FLASH那篇文章中已经提出(1)可在低维度有限带宽的空间被优化
简单的回顾下,基本的概念:
- 这个图的意思就是在空间域中需要大量的位置表示变形场,但是在傅里叶域中只要少量的空间位置即可;这就是现代工业也很都用傅里叶加速的原因?

D i f f ^ \hat{Diff} Diff^是微分同胚域的Fourier表示, V ^ \hat V V^是速度场的表示;
如果 v ^ t ∈ V ^ \hat v_t \in \hat V v^t∈V^ ,那么变形场 ψ ^ t ∈ D i f f ^ ( Ω ) \hat \psi_t \in \hat{Diff}(\Omega) ψ^t∈Diff^(Ω)
微分同胚在有限的傅里叶域计算为:
ψ ^ t = e ^ + u ^ t , d u ^ t / d t = − ( v ^ t + D ^ u ^ t ∗ v ^ t ) \hat \psi_t = \hat e+ \hat u_t, d\hat u_t/d_t = -(\hat v_t +\hat D\hat u_t*\hat v _t) ψ^t=e^+u^t,du^t/dt=−(v^t+D^u^t∗v^t)
e ^ \hat e e^是频率域的identity, D ^ u ^ t \hat D\hat u_t D^u^t是一个tensor乘积,*是圆的卷积
本文的方法

- DeepFLASH
假设存在最优的速度场 v ^ o p t \hat v^{opt} v^opt,文章目标利用基于学习方法预测出初始向量场 v ^ p r e \hat v^{pre} v^pre;
由于傅里叶变化是复数域,作者给出了一种复数域的卷积操作,如下:
H ∗ X ^ = H ∗ R ( X ^ ) + i H ∗ F ( X ^ ) H*\hat X = H*R(\hat X)+iH*F(\hat X) H∗X^=H∗R(X^)+iH∗F(X^)
R表示是复数的真值部分,F表示复数的虚数部分;
同时也给出一种复数域的激活函数, 如下:
C R e L U ( Y ^ ) = R e L U ( R ( Y ^ ) ) + i R e L U ( F ( Y ^ ) ) CReLU(\hat Y) = ReLU(R(\hat Y))+iReLU(F(\hat Y)) CReLU(Y^)=ReLU(R(Y^))+iReLU(F(Y^))
-
损失函数:
KaTeX parse error: \tag works only in display equations
KaTeX parse error: \tag works only in display equations
很简单就是算均方差和规则项之和.
-
网络结构:
分成两个独立的网络,实数部分,和虚数部分,如上图
结果
所有的金标来自于FLASH算法生成的结果
- 保证微分同胚展示,Jacobian不存在小于零

-
下图是在OASIS数据上的表现,但是文章没有说明是在那个数据集上训练的?然后确实FLASH和DeepFLASH没有小于零的形变,但是为啥Quicksilver和Voxelmorph也没有?
-
好奇这篇文章是怎么过评审的

-
从dice一个评价标准上来看,DeepFLASH确实方法更好,但是是因为FLASH本身效果就好的,为啥不做个用VoxelMorph或者ANTs的形变场结果做为金标对比下呢?

- 时间就是快,毕竟相比较VM没有decoder

个人总结
-
文章在背景中有讲到用圆卷积操作,但是在网络中是否使用没有讲到?由于用到两个网络结果实部部分,虚部部分,个人感觉应该没有必要用到圆卷积,但是是否有比卷积更好的操作来处理复数域?;
-
实数部分,和虚数部分网络结构居然没有共享参数,那么方法部分提出复数域的卷积操作是什么意思?迷惑;
-
效果存在上限,由于使用FLASH的结果作为金标,实际上训练后的结果永远会比FLASH结果差;
-
速度确实快, 但是文章并没有给出评价微分同胚性质的定量指标,只是在合成的数据集上定性的说明了不存在不满足微分同胚的性质.
如果大家觉的文章有帮助或者有用,麻烦关注下我的个人公众号


这篇2020 CVPR论文介绍了DeepFLASH,一种基于学习的新型网络结构,用于医学图像配准。它通过复数操作和神经网络特征表示,提出有效训练和快速推断的解决方案。相比现有方法,DeepFLASH在保持高精度的同时显著加速了处理大分辨率或高尺度图像的速度。研究还探讨了LDDMM、梯度优化和深度学习方法的局限,并强调了DeepFLASH在保证变形场平滑性方面的优势。
1870





