基于循环层级网络的无监督医学图像配准
Recursive Cascaded Networks for Unsupervised Medical Image Registration
简介:这是来自2019 ICCV
配准系列
论文源代码: [微软github](https://github.com/microsoft/
Recursive-Cascaded-Networks.)
针对形变图像配准定义一种循环层级网络; 虽然是循环层级网络,但是整个训练是end-to-end的和无监督的;效果达到不错的,对3d医学图像能减少不少时间;同时网络层级越多,效果越好,但是是不是会出现其他问题文章没有讲。
-
要解决的问题
问题定义: 在医学图像中,存在固定图像A,和存在浮动图像B,如何寻找一个最佳的非线性函数F能使B能够和A在解剖结构上存在一致,即对齐(aligns)。
-
目前有哪些方法
- 传统方法: 迭代式的优化配准问题
- ants中的, SyN
- SimpleElastix
- 深度学习
- 有监督学习,
- 无监督学习, 包括以下方法
- 直接生成变形场(displacement)
- An unsupervised learning model for deformable medical image registration
- Voxelmorph: a learning framework for deformable medical image registration
- A deep learning framework for unsupervised affine and deformable image registration.
- End-to-end unsupervised deformable image registration with a convolutional neural network.
- Unsupervised 3d end-to-end medical image registration with volume tweening network.
- Non-rigid image registration using fully convolutional networks with deep selfsupervision.
- 层级式
- 本文
- DLIR , A deep learning framework for unsupervised affine and deformable image registration.
- VTN, Unsupervised 3d end-to-end medical image registration with volume tweening network.
- 直接生成变形场(displacement)
- 传统方法: 迭代式的优化配准问题
-
这些方法存在什么局限性
- 传统方法,花费大量时间
- 无监督学习
- 直接生成变形场(displacement), 直接生成变形场,难以处理复杂的大形变问题
- 层级式,DLIR和VTN都用了少量的层级,而且没有有效的解决层级训练过程中对准问题
-
文章提出的解决方案

记浮动图像IfI_fIf, 固定图像IfI_fIf,变形场ϕ\phiϕ
循环层级每次生成的变形场为:
ϕk=fk(Im(k−1),If)\phi_k = f_k(I_m^{(k-1)},I_f)ϕk=fk(Im(k−1),If)
文章中fkf_kfk是卷积神经网络,具体过程如上图
总的变形场为:
F(Im,If)=ϕnΘ...Θϕ1F(I_m, I_f)=\phi_n\Theta...\Theta\phi_1F(Im,If)=ϕnΘ...Θϕ1
最终的变形图像为 Imn=F(Im,If)ΘImI_m^n = F(I_m, I_f)\Theta I_mImn=F(Im,If)ΘIm
-
解决层级网络训练问题:
这篇文章主要解决了如何计算总变形场的问题
- 具体过程是,一开始经历一个affine网络,然后经过N个U-Net N次层级,然后生成n个Θ\ThetaΘ, 最后根据总变形场计算损失函数,然后训练所有网络
- 但是实际上,超过5个层级网络,就很难回传梯度;训练阶段文章未使用共享权重(个人估计层级应该不大,毕竟GPU内存不多,梯度回传占用内存很多)
- 测试阶段使用 共享权重的循环层级网络,即每次都只使用同一个层级网络;
-
子网络结构:
类似U-Net
-
损失函数
图像相似度函数
-
结果
- 实现,应该是VTN的代码,U-Net网络,然后刚性变换网络就是普通的VGG结构;
- 评价指标,Dice, 评价配准后两个器官的重合度;landmark点间的距离
- 数据集,MSD, 大概有900例; BFH有92例, SLIVER有20例(6个标注点) LiTs, 131器官分割;
- 训练1000, 测试 150例(LiTS , SLIVER)

1. 不知道为啥MR配准MR效果这么差(LPBA)
2. 好像测试用的迭代共享参数,表现并没有那么好?有时候表现反而下降了?

1. 说明层级网络确实是有效果的
2. 为什么不对比10-cascade VoxelMorph,不过倒是能看出来VoxelMorph基础网络存在问题?应该是难以收敛?
3. 从时间花费上来看,应该VM网络结构太大?

1.这个表格其实就是证明了层级越多效果越好,也说明测试一般情况下迭代次数越多效果越好

1. 这个表格进一步证明VM还是层级的最好
-
讨论
-
文章提到收到GPU限制,未能在分布式平台实验超多层级网络
-
文章提到他没有评价变形场的光滑性,既可能存在交叠区域;既最后出来的结果不是可逆的
-
-
个人总结
- 未能证明层数那么多网络是怎么回传梯度的?可能要详细看源码,回头再写的专门的blog讲源代码
- VoxelMorph为什么没有用10层?没有证明10-VoxelMorph比10-VTN差?个人猜测VTN可能只是更容易回传梯度而已
- 挺好的一个工作,处理较大形变,设计层级网络
- 没有在做多模态实验,所有实验都是同模态上进行
- 个人点评:在巨人基础上,造轮子
如果大家觉的文章有帮助或者有用,麻烦关注下我的个人公众号


该博客介绍了2019年ICCV会议上提出的一种基于循环层级网络的无监督医学图像配准方法。这种方法通过递归级联网络实现端到端训练,减少了传统配准方法的时间消耗,并且随着网络层级增加,配准效果提升。尽管超过5层的网络在训练中可能遇到梯度消失问题,但在测试阶段采用共享权重的循环层级网络,实现了较好的配准性能。文章指出,尽管存在GPU资源限制,但层级网络对于处理复杂形变是有益的,且未评估变形场的平滑性。关键词包括:医学图像配准、循环层级网络、无监督学习、U-Net、VoxelMorph。
5590

被折叠的 条评论
为什么被折叠?



