CollaGAN: Collaborative GAN for Missing Image Data Imputation
摘要
在许多需要多种输入来得到一个期望输出的应用中,如果有一种输入数据缺失,通常会引入很大的偏差。尽管许多技术已经被用于插补缺失数据,图像插补仍然非常困难,由于自然图像的复杂属性。为了解决这个问题,在这里我们提出了一个缺失图像数据插补的新框架,称之为“CollaGAN”。CollaGAN将图像插补问题转化为多域的图像到图像翻译问题,以至于一个单一的生成器和判别器网络可以成功地使用剩下的干净数据集估计缺失数据。我们证明了CollaGAN相比于已存在的方法,可以在不同的图像插补任务中生成带有更高视觉质量的图像。
介绍
在许多图像处理和计算机视觉任务中,都需要多种输入图像来生成期望的输出。例如在脑部核磁共振图像中,所有T1、T2、或者FLAIR对照的MR图像都被需要以用于准确的诊断和癌症部位的分割。在从多种视角照相机图像生成3D图像时,大多数算法需要预定义好的视角集。不幸的是,由于花销、时间和数据错误,输入数据的完整集合通常是很难获取的。例如,在使用MAGiC序列合成的MR对照生成中,常常在合成的T2-FLAIR对照图像上出现系统性错误,导致错误的诊断。缺失数据也会造成大量偏差,在数据处理和分析中带来错误和降低统计效率。
在这种出乎意料的情况下获得完整的数据在临床环境中经常是不可行的。通常需要用一些代替值来取代缺失数据。这个过程一般被称为 i m p u t a t i o n imputation imputation(插补)。一旦所有的缺失值都被插补,那么该数据集就可以作为为完整数据集设计的标准方法的输入。
有一些标准的方法基于整个数据集的模型假设来插补缺失的数据,例如平均插补、回归插补、随机插补等。不幸的是,这些标准算法应用于高维数据(比如图像)都有缺陷,因为图像插补需要高维图像数据流形的知识。
相似的技术问题也出现在了图像到图像的翻译上。图像到图像翻译的目标是将给定图像的特定方面进行改变,包括超分辨率、去噪、去模糊、风格迁移、语义分割、深度预测等可以被认为是将来自一个域的图像映射到另一个域的相应图像。然而每个域有不同的特点,例如分辨率、面部表达、光线角度等,并且我们需要知道图像数据集的内在流形结构来进行域之间的转换。最近,这些任务多亏了GAN有了显著地提升。具体来说,CycleGAN或DiscoGAN已经成为了在两域中迁移图像的主力。然而这些方法在生成多域之间的图像迁移时非常低效,因为 N N N个域之间的图像转换需要用到 N − 1 N-1 N−1个生成器。为了一般化多域转换的想法,Choi等人提出了StarGAN,它可以通过一个生成器来学习多种域之间的转换映射。相似的多域转换网络 R a d i a l G A N RadialGAN RadialGAN也已经在最近被提出。
这些基于GAN的图像转换技术和图像数据插补紧密相关,因为图像转换可以被认为是通过建模图像流形结构来估计缺失图像数据的过程。然而,图像插补和图像转换还是有一些本质上的差异。例如,Cycle GAN和StarGAN用于将一张图像转换到另一张而不考虑剩下的域中的数据。如下图的(a)(b)
所示:
使用(a)跨模态模型(b)StarGAN(c)CollaGAN的图像转换任务。跨模态的模型需要大量的生成器来处理多类数据,StarGAN和CollaGAN则分别使用一个带有单一输入和多种输入的生成器来合成目标域图像。
然而,在图像插补任务中,有数据缺失的模态往往数据量很少,并且我们的目标是通过利用其它干净数据集(即无缺失的完整数据集)估计缺失数据。因此,一个图像插补问题可以正确地通过(c)
图来描述,其中一个生成器可以使用剩下的干净数据集来估计缺失的数据。因为缺失数据域没有什么估计先验的困难,插值算法应该被设计成可以通过剩下域的数据来估计任何域的缺失数据。
相比于已有的算法,CollaGAN存在的优势:
- 潜在的数据流形可以通过拥有相同流形结构的多种输入数据集(输入数据集要求有相同的流形结构?)来协同学习,而不是单一输入。因此,使用CollaGAN来估计缺失数据更加准确。
- CollaGAN仍然保持了和StarGAN相似的单生成器结构,相比CycleGAN更加节省内存。
- CollaGAN在多种图像插补任务中取得了SOTA表现。
相关工作
生成对抗网络GAN
GAN的基本知识,这里不详细介绍;
图像到图像的翻译
不同于原始GAN,Conditional GAN可以通过添加一些信息标签作为生成器额外的参数来控制输出。条件GAN的生成器学会生成一个带有特定条件或特征的假样本(例如图像标签或更详细的标签)。条件GAN的一个成功的应用是图像到图像的翻译,例如用于成对图像的pix2pix和不成对图像的CycleGAN。
Cycle GAN和Disco GAN都通过利用循环一致性损失来保留输入和输出图像的关键属性。然而,这些框架一次仅仅只能用于学习两个不同域之间的关系。当处理多域数据时,这些方法就有很大的局限性。
StarGAN和Radial GAN是最近提出的通过单个生成器解决多域问题的框架。例如,在StarGAN中,来自输入图像的逐深度级联和mask vector代表了目标域帮助将输入映射到目标域的重建图像。在这个框架中,判别器应该被设计为在域分类上扮演另一个角色。具体来说,判别器不仅仅决定了样本是真或假,还决定了样板的类别。
理论
提出方法的示意图。D有两个分支,域分类器 D c l s f D_{clsf} Dclsf和来源分类器 D g a n D_{gan} Dgan(real/fake)。首先,域分类器 D c l s f D_{clsf} Dclsf仅仅通过由真实样本计算的损失进行训练。然后 G G G通过输入图像的集合重建目标域图像(如图中间)。对于循环一致性,生成的假图像重新进入到带有输入图像的G,然后G在原始与生成多个重建输出。在这里,域分类器 D c l s f D_{clsf} Dclsf和来源分类器 D g a n D_{gan} Dgan同时训练,域分类器 D c l s f D_{clsf} Dclsf通过真实图像分类损失训练,而来源分类器则通过真假判别损失训练。
使用多种输入
假定有四种域,a,b,c,d。为了用一个生成器就可以处理多个输入,我们训练生成器合成在目标域的输出图像 x ^ a \hat{x}_{a} x^a,通过一种从其他多类图像集的联合映射。以 x ^ a \hat{x}_{a} x^a为合成目标的其他多类图像集可以表示成 { x a } C = { x b , x c , x d } \left\{x_{a}\right\}^{C}=\left\{x_{b}, x_{c}, x_{d}\right\} { xa}C={ xb,x