一.简介
这是一篇关于多模态图像配准的文章(前列腺MR核超声图像),用原图image-pair作为网络输入训练得到DDF,然后用label-pairs去计算相似度并进行优化。应用场景是术中使用。
这篇文章要解决的科学问题是:
在多模态医学图像配准中缺乏体素级的空间对应金标准,作者提出的方法从解剖标注(label)的更高级相关信息去推断体素级的变换。
FrameWork
二.方法
2.1 a weakly-supervised image registration framework
数据集:N pairs of moving-fixed images and their labels pairs.
最大化下面的通用函数,该通用函数表示在N training image pairs上的excepted label similarity(标注相似度)
公式的符号意义:
- A 表示浮动图像,B表示移动图像
- N :训练图像对数(pairs of moving-fixed images)
- Mn:一对image pair 的label pair 中有多少个标注结构
- n 是image pairs的索引,m 是第n 个image pair 上的解剖结构标 注个数索引。
- y 表示浮动图像的label pair 经过DDF变形之后得到的label pair.
公式的代数意义:
- 将一个图像对上的所有label 结构的相似度相加,然后再取平均;
- 将N对图像对的平均label 相似度累加,然后再去平均;
- 得到最后的整体图像对相似度,作者使用的Dice系数。
比如一个图像上标注了 水肿 和 钙化沉积 两种,先在label-level上分别对水肿 和 钙化沉积 求相似度,然后相加取平均,得到image-level similarity。对N对图像均如此操作之后,可以得到N个平均相似度,再相加取平均。
2.2 Multiscale dice for measuring label similarity
多尺度Dice其实就是把Label用不同标准差的高斯核进行卷积后,再分别计算Dice系数,然后把每个尺度的Dice值取平均;图像与不同标准差高斯核卷积会有不同的模糊,用来解决多模态Label的稀疏性(这一点在GitHub上作者有说明)
2.3 Network architecture
NetWork
这个网络就是一个U型网络,在深度学习配准方法中使用的最多,只不过作者加了一些sum, additive up-sampling模块。输出是网络侧边不同分辨率的特征图,然后相加作为网络最终的输出。
三.实验
本论文的示例源码在GitHub开源:
YipengHu/label-reg
代码使用Tensorflow框架,如果你想更改代码,但有些细节不知,可参考NiftyNet的公开源码。
NiftyNet-GitHub源码
代码杂谈
网络对输入的图像对和标注对做随机仿射变换,用于数据增强;
在实际操作中,Moving image被volume resize成Fixed image 的形状;
在做随机仿射变换时,生成仿射变换矩阵—
3维就是12个参数(1,12),二维就是6个参数(1,6)
然后生成一个和固定图像大小一样的参考网格,仿射变换矩阵和参考网格各种reshape后相乘再reshape回来。然后将得到的变换后的网格和输入进行变换。
将数据增强后的输入送入网络训练,网络输出DDF,再加上参考网络(reference grid),和Moving Label进行插值操作,得到扭曲图像。
之后和Fixed label 进行多尺度Dice变换。
在训练的时候作者使用了mini-batch SGD
这里简单写一下原理:
Batch Gradient Decent更新一次权重需要选择所有的样本。
Stochastic Gradient Decent每次选取一个样本更新参数
K-mini-batch Gradient Decent 每次选择K个样本进行更新,是上述两者的一个折中(trade-off)
更详细的可以看下面的帖子:
梯度下降之随机梯度下降 -minibatch