还是老问题,中文网站上没有涉及《SynthMorph: Learning Contrast-Invariant Registration Without Acquired Images》这篇2020年发表的论文的相关资料,正好我打算把研究重心又从医学图像分割上转移到配准上。所以,就此介绍一下这个多年前阅读过的论文。
(资料图片)
问题:为什么多模态图像配准这么难?
所谓的多模态是指,不同成像得到的图像。比方说MRI,CT,X光等。先不考虑复杂的2D-X光图像配准3D的MRI或者CT图像的情况。就单纯考虑3D-MRI配准3D-CT或者是MRI-T1配准MRI-T2等等之类的问题,为什么跨模态图像配准这么难?
以两个图片作为导入点。
如图所示,这仅仅是同个病人在MRI的同相位(inphase)和反相位(outphase)的成像结果。
观察到,二者的像素分布极大不一致。
让我们回到无监督图像配准的损失函数中:
是经典的相似度量约束项,在无监督单模态中可以是MSE或者是NCC。所谓的以相似度量做为配准约束的前提是,二者的体素具有一定的相关性,但如果前提没有达成的话,配准效果当然就不好。
在多模态中普遍使用MI,MI虽然是可以度量不同分布率的损失函数,但效果并不一定好。以我在分割任务的经验表明,尽管MI和Dice都是分割的损失函数,但是使用Dice的效果要比MI好得多。
这是否暗示,在配准任务中引入Dice损失比相似度量(MI,NCC,MSE)要更好?
答案是肯定的,在他们先前的VoxelMorph工作中,引入分割图计算Dice值作为辅助项已经显示了标签的重要性(弱监督学习的方式)。
这时添加辅助项的公式如下所示:
这个图信息量有点大,解释一下,各个缩写表示的含义:
首先他们有30个经过FreeSurfer软件自动化分割得到的分割图。
One Observed:训练期间使用1个大脑解剖结构的分割图作为标签
Half Observed:训练期间使用15个大脑解剖结构的分割图作为标签
All Observed:训练期间使用30个大脑解剖结构的分割图作为标签
Coarse Segmentation:训练期间把30个标签粗略划分为4大类作为标签(白质、灰质、脑脊液和脑干)
Obs:测试期间对那些已知标签计算Dice值(在a图中使用1个;在b图中使用15个;在c图使用30个)
Unobs:测试期间对那些未知标签计算Dice值(在a图使用30-Obs=29个;在b图使用30-Obs=15个;在c图使用0个)
All:测试期间对所有30个标签计算Dice值(在a图使用Obs+Unobs=30个,在b图使用Obs+Unobs=30个;在c图也使用30个,但All和Obs一样了,所以就不必画出)
Substructure:测试期间不按照粗略划分的4大类计算Dice值,而是仍然细分为30个标签计算Dice值
我们只需要看图c的橙色的折线和图d的玫瑰色的折线,当有关分割图的函数项超参数=0时,即,退化为原本的无监督学习,为图中最左边的Dice值。这时,引入的分割图的函数项均能提高性能。
好了,说了那么多的辅助的分割图作为弱监督项,那么,重点是什么?
会不会这个基于区域重叠的Dice损失比基于相似度的MSE或者其他的损失,更能帮助网络关注配准的本质?比如说,衡量器官的纹路、形状之间的差异?
换句话说,多模态配准任务能不能脱离基于相似度量的方式?
接下来进入正题。
SynthMorph的思路是这样的,即Dice损失很重要,那么我用各个医学图像的分割图来作为网络的标签就行了。但是,这有一个问题,标签的是很稀少的。怎么样才能减少对医学标签的依赖?
随机生成的方式可以吗?
可以!
如图所示,是SynthMorph的训练流程。
Label sampling model ,这一步表示随机仿真生成不规则的标签
Image sampling model ,这一步表示把标签变成图像,注意:一个标签可以生成若干个有些许差异的图像
Modality agnostic CNN,无需多言,标准的配准网络
Deformation via integration,生成具有微分同胚性质的变形场
Warped segmentation ,扭曲标签
Regularization term Dice term ,对变形场进行约束,对扭曲标签和固定标签计算Dice值
其余的流程没啥好说的,第一步和第二步重点描述下:
如图所示,根据随机因子,经过perlin函数先生成一个不规则的标签图(取值为大于等于0的整数,颜色是可视化效果,每种颜色表示不同的值);再经过label2img函数,得到类似MRI体素分布的图像及其对应标签。需要注意的是,蓝色虚线框内的标签,可以生成若干个绿色虚线框内的图像及其对应标签。并且,这些图像在形态、结构上具有一定的相似但不完全相同,最大的差异在于体素分布很大不同。换句话说,可以把生成的图像及其标签当成配准网络的固定图像及其分割图用于训练。
如图所示,显示了不同方法在跨模态、跨数据集的配准性能。图中右上标b表示去除颅骨的配准,右上标x表示跨数据集的配准。
synthmorph-brain取得最佳性能,这并不奇怪,因为训练时候输入有脑部图像。令人惊讶的是,synthmorph-shape,即训练时不输入任意有关脑部图像,也具有很好的性能。特别是跨模态T1-T2配准时,比使用MI的voxelmorph好得多。
配准可视化图也反映出这样的。
好了,既然synthmorph效果这么好,但天下没有免费的午餐,代价是什么?
根据本人的实验结果和分析:
一大缺陷是,synthmorph丧失了对大距离变形的配准能力,即使是非常简单的MNIST数据集,配准结果也非常沮丧。
不过synthmorph作者可能也注意到这一点,在今年的新论文《Anatomy-aware and acquisition-agnostic joint registration with SynthMorph》,尝试仿射+可变形配准解决这一问题。