Learning to segment images with classification labels

Learning to segment images with classification labels

用分类标签来分割图像

发表于:04 2021;

发表期刊/会议:Medical Image Analysis (2021 IF:8.545)

关键字:弱监督 数字病理学 图像分割

论文:https://doi.org/10.1016/j.media.2020.101912

代码:https://github.com/ozanciga/learning-to-segment


0 摘要

【困难】医学影像中最常见的两项任务是分类和分割,这两项任务都需要标注,稀少又代价昂贵;

【现状】在乳腺癌病理学任务中,现实的临床应用都需要WSI,而大多公开数据集都是带标签的patch;

【本文方法】本文提出一种架构,通过图像级标签(也就是分类标签)来减轻分割任务对分割标签的要求 (就是用分类的标签来帮助学习一些对分割有用的特征)。实验在数据集上证明有效。


1 背景

标签的重要性;

图像分割的注释比图像分类的标签更难获得;

  • 更加耗时;
  • 更难达成一致,比如像素级别错误(导致算法学习到冲突的信息,泛化能力降低)。

弱监督学习:试图通过未标注的数据来学习,以此来减轻注释的负担;


1.1 相关工作

无监督学习:用没有标签的数据训练;

自监督学习:在无标注数据上训练,借助辅助任务,从大规模的无监督数据中挖掘自身的监督信息;

弱监督学习:用包含噪声的有标签数据训练;


1.2 本文贡献

提出一种弱监督学习框架,通过组合从两个不同的过程中获得的数据来减轻注释的负担,两种注释指:

  • patch上的分类标签;
  • WSI或patch的分割掩码;

训练数据包含不同级别的信息:patch级别和pixel级别;

  • 贡献1:对现有的Resnet框架进行简单的修改,让模型可以同时执行分割和分类任务(多输出任务,同一个网络,两个独立任务),同时利用patch分类标签和少量的分割掩码来提高分割性能;
  • 贡献2:两种数据预处理技术
    • 贡献2.1:HSV空间分割法;
    • 贡献2.2:一种更有效的提取ground truth的方法;


2 方法

2.1 数据预处理(详情见附录)

1)HSV通道过滤 去除背景(对应贡献2.1)

步骤:

  • 在WSI的HSV颜色空间上通过阈值(低于最大饱和度10%的像素一般被认为是背景)进行过滤,生成"foreground mask"(就是组织掩码);
  • 填充"foreground mask"中的空洞;
  • 移除噪声区域(open操作);

2)提取ground truth(对应贡献2.2)

为了防止组织区域(foreground)和背景区域(background)的类别不平衡 (就是防止一个patch里组织区域占少数,背景占多数),本文提出了基于中心的ground truth提取方法 (就是怎么切patch可以防止背景占多数);

之前的切图方法:给定固定的步长,以恒定的步长向前滑动窗口来切patch;

本文切图方法:以组织区域为中心点进行切图;

如下图所示,左图为以组织为中心切图的结果,右图为滑动窗口切图的结果,可以看出来,左图组织区域占多数,背景占少数。

如果组织区域(ROI)本身就比要切图的patch大,首先使用K-Means算法将ROI分割成等大的区域,然后在每个簇的中心使用上述提到的方法切图;

如下图所示,ROI比较大的时候,先用K-Means算法分割成4个簇,然后以簇的中心为中心点进行切图;

2.2 网络架构

2.2.1 网络

图1:网络架构

对Resnet-18进行了微调;
蓝色箭头:残差连接;
红色方格:最大池化;
蓝色方格:空间上采样;

输出的Decoder:

图像分割的分支(表A.2):

  • Input图像:3 × 128 × 128;
  • 一通操作到256 × 8 × 8(图1绿色箭头所指);
  • Conv2d 3 × 3, stride 1, padding 1, 256 > 64, no bias,到64 × 8 × 8,对应图1 Seg.;
  • 2d Batch-normalization;
  • ReLU activation layer(维度不变);
  • 2d upsampling (×2),上采样,变为64 × 16 × 16;
  • Conv2d 1 × 1, stride 1, padding 0, 64 > C, with bias,变成C × 16 × 16(图1红色箭头所指);
  • Spatial (nearest) interpolation 16 > 128,空间插值,变为C × 128 × 128,对应图1 Seg.output;

图像分类分支(表A.3):

  • Input:3 × 128 × 128;
  • 一通操作到C × 16 × 16(图1红色箭头所指),就是分割没有插值前的结果;
  • Adaptive 2d average pooling (C × 16 × 16) 变成 (C × 1 × 1);
  • Conv2d 1 × 1, stride 1, padding 0, C > 8, no bias,变成8 × 1 × 1;
  • 2d Batch-normalization;
  • ReLU activation layer(维度不变);
  • Conv2d 1 × 1, stride 1, padding 0, 8 > C, no bias,变成C × 1 × 1;
  • Output vector ∈ R C R^C RC,对应图1 Cls.output;

2.2.2 训练每batch详情

如图2所示,对于每batch的训练,使用batch中的像素级图像(带有分割掩码)和图像级标签(只有分类标签的图像)交替执行两个步骤:

  • step1. 输入patch和分割掩码(ground truth),在分割网络(编码器+解码器)上使用标准反向传播算法训练输入图像和分割掩码的网络,不经过分类层;
图2-1:step 1

B e n i g n Benign Benign:良性;
D C I S DCIS DCIS:Ductal Carcinoma In Situ,导管原位癌;

  • step2:
    • 输入patch和图像级标签(就是分类标签),经过分割网络,得到一个分割掩码(就是C × 16 × 16,图1红色箭头所指位置);
    • 然后由分类网络进行变换得到分类输出向量∈ R C R^C RC,其中C为类数;
    • 把这个分类向量用于反向传播,交叉熵损失作为错误信号来更新分割网络权值,以校正给定图像的分割掩码 (相当于这个向量是预测值,与真实标签计算损失,把损失信号通过反向传播给网络来更新训练分割网络)
图2-2:step 2

上图显示了分类网络错误的将DCIS分类成Benign的情况,该错误会通过反向传播纠正;


2.3 实现细节

  • Adam优化器, β 1 = 0.1 , β 2 = 0.999 β_1=0.1,β_2=0.999 β1=0.1,β2=0.999
  • learning rate:0.0001;
  • batch size:20;
  • 分类网络:weighted cross entropy loss function;
  • 分割网络:Cross entropy loss;
  • 图像预处理:stain normalization;
  • patch size:128×128;

3 实验

3.1 数据

三个独立公共数据集;

3.2 评价指标

  • precision;
  • recall;
  • F1 score;
    • macro-F1:多分类问题,容易受到识别性高(高recall、高precision)的类别影响,所以用macro-F1;
    • micro-F1:多分类不平衡,若数据极度不平衡会影响结果,所以用micro-F1;

3.3 实验设置

训练集和测试集的划分;
挑选patch的规则;

4 结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值