(七:2020.08.24)CVPR 2019 学习(一)《Learning Multi-Class Segmentations From Single-Class Datasets》

讲在前面

  • 一.论文地址在这里
  • 一.首先要非常感谢张同学提供的这么一篇论文以及相当重要的理解,为了进一步的理解和学习这篇论文,我决定对其进行深层的挖掘:
  • 二.我设计了几种字体颜色用于更加醒目地表现关键的思想和主题:
    • 红色表示本文的重要关键信息
    • 绿色表示此处需要参考的论文其他部分
    • 橙色表示尚未理解透彻的一些概念
    • 我会用删除线将自己曾经不到位的理解进行删除
  • 三.一些关键信息总结(对于理解整篇论文都相当有必要,按照文中意思进行的理解):
  • 四.目的:我现在面临模型线性推理的耗时问题,因为一个器官对应一个模型,我想进行多器官分割的时候就会面对时间成本提高的问题,同时我的不同器官的标签暂时还存在于不同的数据源上,且以现在的能力和资源无法解决将多个单器官模型融合为一个多器官模型从而实现多分类的问题。只能从训练的起点来寻找解决问题的方案。
  • 五.意义
    • 1.腹部多器官分割模型性能的提升;
    • 2.解决某器官的数据集标注耗时问题(胰腺);
    • 3.对GAN在医学领域的使用进行一个初步的探索。
  • 六.思考
    • 创建一个与某层输入形状大小完全一致的张量会使得张量形状变得更大,会不会降低推理的速度,这个有点要不得哦,如果真是如此,那么这个算法最大的意义在于能够减少算力,在最短时间内出尽量好的效果,但对于一个本就有着长远打算且又具备较为可靠的研发基础的开发项目来说,似乎并没有太大的意义;
    • 现在只能通过在推理之前传入带有对应值的张量(因为每个器官的标签都置为1),以推理对应的器官,既然模型参数包含了三个信息,如何实现一次全推理;

摘要

        在自然图像与视频领域,多类别分割最近越来越具备重大意义,这样的成就主要依赖于庞大的多分类的公共数据集。但是,类似于医学图像这种比较特殊的领域,想要制作巨大带有标签的医学数据是十分损耗人力的,甚至有时相当难以实现,但是这些领域有很多的但标签数据集可供使用。由于现在的研究都普遍关注单分类的实现,我们提出一个统一的高性能框架,这个框架可以通过把多个单标签的数据集当做一整个大的数据集,从而实现对单分类中各个器官的多分类。我们论证了多种合并条件信息的方式,并进行广泛的评估,最终这个框架在医学图像的分割任务上展现出了相当惊人的表现——比当前最好的解决方案还要高出2.7%。与当前很多单分类分割的解决方案不同的是,单分类分割十分精细的去使用单个标签的数据集,而我们应用的来自于多个数据源。而且经过验证,我们的框架在自然图像上仍然有效,同时我们将进一步评估该框架的其他可能性。

论文内容

1.介绍

        公共数据的不断庞大催生了自然图像分割的进步,而医学分割图像的数据集来源是十分稀缺的。尤其在临床研究领域,医学图像的分割相当的重要。在传统的临床实践中,诊断阶段的分割经常被忽略。但是人为的分析或者衡量医学图像,却会具有很大的不确定性,这可以取决于很多元素,比如组织的结构、图像的质量和临床医生的经验。同时,在各种各样的医学系统中,包括CAD、外科手术和诊疗计划等,分割又是不可或缺的元素。再者,早期癌症的诊断也经常需要图像分割的帮助。
        MRI和CT的图像分割已经取得了长足的进步,这些图像展现出各种各样的对象,比如一张图像中展现出一整个腹部,里面包含有很多的器官和组织。但是,为这套CT建立一个专业的标签是一个耗时费力的工作,因此多标签的数据标签就会很难生成。现在很多算法针对多类别的分类任务都已经得到了评估,而这些算法依赖于一些公共数据集,但公共的有些数据集因为资金短缺而无法继续使用。其他的就是私人的数据集,但这些多标签数据集往往都有数目限制,而且可能各自来自于不同的组织,这些数据集的产生应用了同样的图像方案或者图像策略,那么运用这些数据集的这些算法,由于是在相同的数据集上进行应用的,就会对这些数据的参数十分敏感。另一方面,制作单标签数据集更快速简单,而且经常很多是竞赛数据,而且这些数据因为来源不同所以会展现出不同的性质,比如癌病种的不同、图像方案的不同、重构算法的不同。
        然而,如果简单的将多个单标签的数据集组合在一起训练的话,网络会因为数据集中的正样本或者负样本进行不统一的学习(比如数据集A的标签中带有背景0和organ1,数据集B的标签中带有背景0和organ2,数据集C中的标签中带有背景0和organ3,那么1\2\3在有些数据中是正样本,但在有些数据中却是负样本)。在传统的算法中,单分类数据集是被高度定制用于进行单目标分割的。我们在这篇论文中设计的是一种可以让这些不同源的数据集不进行重叠地卷积网络。我们的算法允许模型隐秘的保留所有类别的模型参数,这使得模型同时能够学习到这些不同布标之间的空间关系从而提升其泛化能力。
        据我们所知,我们这项工作是第一次通过给卷积网络加上条件约束来实现在多个不同的单标签数据源上,不重叠的进行多分类模型的训练。我们工作的贡献有以下几点:

  • (1)通过给语义分割的卷积网络添加条件约束,来实现目的;
  • (2)这个框架现在可以使得在多个单标签数据源上训练的多个模型成为一个多分类分割的模型,与单标签模型训练相比,大幅地减少了训练的复杂度和需要训练的总参数;
  • (3)在显著减少计算损耗的基础上,提升了肝脏、脾脏、胰腺公共数据集上分割的SOTA指标(2.7%)。
            而且,我们评估了它在自然场景中的有效性,同时我们会在未来验证它的更多可能性。
            图一
    在这里插入图片描述
                                                                                            (图一)

2.相关工作

        收集大批而且精确的标签具有相当大的难度,现在也有很多算法是通过弱标签的方式来实现和我们同样的目的。现在的弱监督学习是基于图像标签、点、边界框的,但是他们的中心思想基本一直,我们的方法却与其有很大的不同。他们仍然认为如果一组预定义的目标类存在于图像中,则每个对象的注释都可用。 对于CT图像,每个切片都需要为切片上存在的每个目标器官(无论是种子,边界框还是标签)设置一组注释。 但是,单类数据集没有附带此类注释,仅提供了一个特定类的详细信息。
        解剖结构分割,尤其是腹部器官的分割被认为是一个难题,因为这些器官在尺寸、位置和形状上都展现了高度的可变性。当前有很多卷积网络都可以进行不错的腹部多器官分割,这些方法很多都是针对特定器官的分割,而且这些算法往往都是通过多阶段实现。通常都是每个单器官模型各自推理完之后,再最终融合在一起得到最后的分割结果。但是,如果你想要都达到SOTA级别的表现,那这每个模型都必须要独立推理,可见对于算力和时间是相当大的消耗。而且,这些模型的训练是无视这些不同器官的空间联系信息的,这就使得单一模型的显示会出现过度的拟合。另外,这些模型往往都要求很多的前后处理,这让整个推理更加复杂而且特定化。
        现在也有一些研究是在研究腹部多器官分割的,其中大多数利用概率图谱和统计形状模型。这些方法要求所有的训练Volume都必须是配准好的。这些方法的前处理会耗费昂贵的算力,而且,因为不同病人的腹部器官的位置、尺寸、形状等都会不同,有些甚至差距很大。最近,一些基于卷积的同时多分类分割方法逐渐出现,但是这些方法都是在不公开的数据集上进行评估和使用的,而且,所使用的多类数据集是由单个机构获取的,表现出相同的图像质量并且没有慢性异常。与此不同的是,我们对这些数据集进行平衡,然后提出一种特别的方法,这种方法给卷积网络施加条件限制(Conditioning),从而生成一种具备高度概括能力的多类别分割模型。
        Conditioning这种方法在图像合成领域已经被广泛使用,在特定的属性(例如类别和标签)限制的下的图像生成已经有很多的研究成果。Ma等人提出了一个基于任意姿势的人体图像生成框架;Zhu等人对图->图翻译的潜在结果的分布进行了建模;Reed等人设计了给定想要的图像内容和图像中的位置从而生成图像的方法。但是,医学领域内条件卷积网络的使用还没有开发,并没有人进行这方面的探索。我们在这里提出这种方法并讨论其可能的应用方向。

3.方法

        接下来进行方法的阐述,下面的假设拓宽了初始化的条件,同时使得问题的描述更加通用和具有挑战性:

假设条件:

  • 1.现在我们有D1、D2、D3、D4四个来源不同的数据集,代表四个器官,每个里面含有多个训练对(一个case及一个对应的label是一对);
  • 2.四个数据集两两互斥(任意两个数据集中没有同一个一模一样的训练对);
  • 3.不同数据集中所包含的类别标签可以是多个也可以是单个。

目标:

        输入一个case,实现多个标签的预测分割。

原理图:

1
                                                                                        (图二)
        上图是一个训练过程中的 Conditioning 原理图:

  • 总共的数据集有 k k k 个不同的源,即有 k k k 种数据集,Conditioning 可以单独在编码器上进行,或者单独在解码器上进行,或者编解码上同时进行。

3.1 基础模型

        基础网络模型是一个添加了skip-connection的3DUNet网络,同时使用了dense块来提升网络的信息收集能力,具体来说,我们加入了一个与dense有关的复合函数 F l F_l Fl
x l = F l ( [ x 0 , x 1 , x 2 , . . . , x l − 1 ] ) x_l = F_l([x_0, x_1, x_2, ... , x_{l-1}]) xl=Fl([x0,x1,x2,...,xl1])

  • (1) x l x_l xl是第 l l l层的输出,表示第 l l l层的输出是由前面几层的输出决定的;
  • (2) [ ] [] []是对前面几层进行的concate操作;
  • (3)该实验中的 F l F_l Fl被定义为 α = 0.3 α = 0.3 α=0.3的LRelu,且卷积核大小为 3 × 3 × 3 3 × 3 × 3 3×3×3

        该模型的编码器部分包括一个卷积层,然后是六个dense块,依次通过 2 × 2 × 2 2×2×2 2×2×2 的maxpooling层连接。每个dense块中特征通道的数量与其深度成正比。而上采样则用了转置卷积,与下采样结构对称,最后的输出层为sigmoid。附录上有具体的细节。

3.2 Conditioning(条件限制)

        不像传统的图像分割算法进行单个器官的分割,我们的方法可以学习不同数据集标签之间的联系,并且只利用一个模型来实现 c m c_m cm个类别分割。为了给模型注入这种能力,我们利用一个需要分割的标签类别 c m c_m cm来Conditioning卷积网络。这种方式已经在GAN中得到广泛的使用,就我们所知,至今为止还没有人在医学分割领域进行这项工作。
        我们的目标是保持网络结构最基本的简单有效的样子,从而避免一些不必要的开销和负面影响。为了实现这个目标,我们决定将这个条件信息作为一个一个网络块,添加到卷积块之后和非线性层(激活层)之前。因为有些Conditioned GAN建议让网络自己学习这个条件信息,所以我们为这个分割任务设计了一个可计算且有效的方法。我们尤其建议使用下面这个函数:
φ ( c

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值