Translating and Segmenting Multi-modal Medical Volumes with Cycle- and Shape-Consistency GAN(简介)

这篇论文提出了医学volume-to-volume的转换,包括对抗性、循环一致性和形状一致性损失,以及双模态分割。

这篇论文主要用到CycleGAN。

一、本论文提出的方法

 上图描述了该结构的两个部分:生成器部分和分割器部分(判别器部分没有特别之处,所以没介绍)

1. 生成器部分:

        两个生成器,采用U-Net结构,使用步长为2、核为3×3×3的卷积进行3次下采样,上采样与下采样对称,且对每个分辨率使用两个连续的 3×3×3 卷积。将反卷积替换为步长为2的nearest upsampling,然后是一个3×3×3的卷积来实现上采样和通道道变化。

        生成器用于学习域A和B之间的交叉域迁移,该学习过程由循环一致性loss、判别loss和形状一致性loss进行监督。

2. 分割器部分:

        两个分割器,采用U-Net结构,但没有任何归一化层,总共3次对称的步长为2的下采样(max-pooling)和上采样(nearest upsampling),对于每个分辨率使用两个连续的 3×3×3 卷积。

        分割器由真实数据和生成器用该真实数据生成的合成数据进行训练。

3. 判别器部分:

         两个判别器,采用PatchGAN,用于判别一个子体素是真还是假,而不是判别一整张图像。

二、非成对volume-to-volume转换存在的问题

       具体来说,循环一致性对于几何变换具有内在的模糊性。例如,假设生成函数G_{A}G_{B}是循环一致的,如,G_{A}(G_{B}(A)) = A。设T是一个带逆变换T^{-1}的一对一的几何变换(如平移、旋转、缩放,甚至是非刚性变换)。

      令G_A^{'} = G_A \circ T , G_B^{'} = G_B \circ T^{-1} ,容易得知它俩也有循环一致性。\circ 表示两种变换的连接操作。这意味着,使用CycleGAN,当一幅图像从一个区域转换到另一个区域时,它可能会被几何扭曲。在不造成数据保真度损失的前提下,将其转换回原始域,可以恢复失真。从判别器的角度来看,由于训练数据的形状是任意的,几何变换不会改变合成图像的真实感。

      这类问题会破坏合成医学volum中的解剖结构,然而,现有的方法还没有解决这一问题。

(意思是:由于CycleGAN不要求像素一一对应,所以在转化过程中会将原图进行几何变换以使两个域的图片匹配,这就导致生成的图片模糊。)

三、该结构用到的Loss

1. volume-to-volume的Cycle-consistency

        为解决用来自两个域(A和B)的非成对的volume学习生成器的任务,对生成器G_{A}G_{B}用cycle-consistency loss,使重构的合成样本G_{A}(G_{B}(x_{A}))G_{B}(G_{A}(x_{B}))与它们的输入x_{A}x_{B}相同:

         L_{cyc}(G_{A},G_{B}) = E_{x_{A}\sim p_d(x_A)}[\left \| G_A(G_B(x_A)) - x_A \right \|]_1+ E_{x_{B}\sim p_d(x_B)}[\left \| G_B(G_A(x_B)) - x_B \right \|]_1

         L_{cyc}是对所有的体素(类比于二维的像素)使用 L1 loss,其视觉效果比 L2 loss 好。

2. volume-to-volume的Shape-consistency

       如前所述,为了解决循环一致性几何变换的固有模糊性,引入了两个辅助映射来约束合成数据的几何不变性,两个辅助映射定义为:S_A:A\rightarrow Y 和 S_B:B\rightarrow Y。它们将转换的数据用各自域的生成器映射到一个共同的形状空间 Y(如,语义标签空间),且计算像素级(每个像素)的语义。这两个映射由两个 CNN 表示,命名为分割器。用于对生成器进行额外的监督来达成形状一致性,优化方式:

      L_{shape}(S_A,S_B,G_A,G_B) = E_{x_B\sim p_d(x_B)}[-\frac{1}{N}\sum_{i}y_B^ilog(S_A(G_A(x_B))_i)]+E_{x_A\sim p_d(x_A)}[-\frac{1}{N}\sum_{i}y_A^ilog(S_B(G_B(x_A))_i)]

                    y_{A},y_{B} ∈ Y:分别是样本 x_A 和 x_{B} 的真实形状表示。

                   y_{A}^{i},y_{B}^{i} ∈ {0,1,……,C}:表示一个体素所属的类别。

                   N:一个volume中的体素总数。

                   L_{shape}:一个标准的多类别交叉熵损失公式。

3. 总loss:

         L(G_A,G_B,D_A,D_B,S_A,S_B) = L_{GAN}(G_A,D_A)

                                          +L_{GAN}(G_B,D_B)+\lambda L_{cyc}(G_A,G_B)+\gamma L_{shape}(S_A,S_B,G_A,G_B)

训练时交替更新:先将D_{A/B}固定,用S_{A/B}优化G_{A/B};然后固定G_{A/B},分别优化S_{A/B}D_{A/B}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值