1. Background
在医学图像领域我们常见的图像类型有MRI(磁共振图像)、CT图像、ultrasound(超声图像),现有的基于CNN的深度学习算法已经在某一个特定的图像类型的某一个特定的dataset上取得了很好的结果,但是如果使得一个CNN网络能够从某一个特定的dataset上transfer到另一个dataset的时候,同时产生良好的分析结果(也就是我们说的model generalization)已经成为了很火的topic。这种transfer可以是在不同的同种图像类型的不同数据集上的transfer (同领域adaption),比如从MRI cardiac dataset A 到MRI cardiac datasetB 或者从CT lung datasetA 到CT lung datasetB; 也可是cross-modality的transfer,比如从MRI cardiac datasetA 到 CT cardiac datasetA。
为什么transfer会存在这种问题:
对于MRI,因为不同的medical center可能会用不同的Scanner,scanner的一些参数(slice thickness, gap等),image的protocol或者病人的年龄、population等参数信息都会影响到图像distribution,而CNN都是从相同概率分布的样本进行train、validate、test或者inference,所以就会导致用一个trainded 很好的model在另外一个MRI数据集上进行test的时候,结果不会很理想。
(MICCAI 2020举办了 Multi-Centre, Multi-Vendor & Multi-Disease Cardiac Image Segmentation Challenge)
但CT对不同参数的senstive没有很大,因为CT raw dicom图像中HU value是与不同的组织的密度是有一定的联系的,但CT与MRI之间还是存在着很大的差别,两者的成像模式完全不同。
那 我在scan病人的时候,可不可以在sequence reconstruction的时候就产生统一标准的image,从而在post process 的时候避免transfer的问题出现,答案是不可以。
如果我做一些careful pre-processing改变数据集distribution,这种因为site或者scanner的不同引起的差异还会存在么?
答案是 会的,在19年的NeurIPS workshop中 Ben et al. 证明即便是做了足够多的carefule pre-processing 这种差异性仍然是不可以避免的(附上论文https://arxiv.org/abs/1910.04597)。
2. Methods
method1: MS-Net: Multi-Site Network for Improving Prostate Segmentation with Heterogeneous MRI Data
把所有的dataset混合在一起,然后经过preprocess,再用supervised方法train我的model,Liu et al. 混了三个public datasets上对prostate做了segmentation,当我们使用datasetA 做training的时候,model在数据集A上能够达到90+的准确率,但是在datasetB and datasetC上的分割准确率之后76和56; 我们joint三个数据集一起training的时候,model在三个数据集上的overall准确率达到了87,但是仍比separate的90.5要低。


Liu et al. 的模型idea很简单,不同dataset的difference是来自dataset的distribution的差异,既然在dataset level上修改distribution的difference效果没有很好,那是否可以在feature map level修改呢?作者使用多个BN层来纠正distribution,每个dataset都使用自己的BN层,而BN层中只有两个参数,不同数据集使用的kernel也是同一个kernel,所以引入BN层之后并不会引起网络参数过载的问题,在output层每个dataset都有自己的output branch并和universal decoder的output做了一个align。
method2. Unpaired Multi-modal Segmentation via Knowledge Distillation

encoder和decoder是共享的,在softmax activation前面的feature maps里面把每一个class对应的feature map取出来,然后对每个feature做一个类似于取average的操作,就会得到一个vector,这个vector就generally表示了某一个dataset的某一个class在network里面的representation,每个class都可以得到一个vector,并使用了一个Temperature scaling使得不同class的vector之间能够更加的soften,减小他们之间的巨大差异,最后使用vector去构建不同的confusion map,并使得confusion map之间的divergence尽可能的小。
这篇文章的intution可以这样理解:比如说我的MRI中有左肾和右肾,左肾和右肾在MRI图像上很像,那整两个class在confusion map上的值就应该很大;同样的道理,左肾和右肾在CT图像上也应该很像,那他俩在CT 的confusion map也应该很像,所以就可以让网络在high level上align两个confusion map,从而能够filter out the distribution difference
3. Others
第一次看domain adaptation的project 是在19年 UCL的summer school看到了窦琪老师的oral,然后就一直follow她的论文,觉得很有意思。 这两篇论文窦琪老师组的采用supervised method解决domain adaptation的论文,下次我们介绍一下unsupervised methods 解决source domain with annatation transfer 到 target domain without annotation的一些论文。
最后附上ECCV 2020 domain adaptation 的spotlight论文链接https://zhuanlan.zhihu.com/p/158616716
4. Reference
Dou, Qi, et al. "Unpaired multi-modal segmentation via knowledge distillation." arXiv preprint arXiv:2001.03111 (2020).
网友评论