计算机视觉越来越多的应用,特别是在医学成像和遥感领域,当目标是对超大图像里的微小目标进行分类时,变得具有挑战性。
面临两个关键挑战:1)输入图像的大小通常在兆或千兆像素的数量级,然而,由于内存限制,现有的深度架构不容易在如此大的图像上操作,因此,我们寻求一种内存高效的方法来处理这些图像。2)只有很小一部分输入图像具有感兴趣的标签信息,导致感兴趣区域(ROI)与图像的比例很低。
然而,目前大多数卷积神经网络(cnn)都是为具有相对较大roi和较小图像尺寸(低于百万像素)的图像分类数据集而设计的,现有的方法是孤立地处理这两个挑战。
我们提出了一个端到端的CNN模型,称为Zoom-In网络,它利用分层注意力采样来使用单个GPU对带有微小物体的大图像进行分类。
我们在四个大图像组织病理学、道路场景和卫星成像数据集以及十亿像素病理数据集上评估了我们的方法。实验结果表明,该模型在占用较少内存资源的情况下,取得了比现有方法更高的准确率。
神经网络在许多图像分类任务中取得了最先进的性能[24]。然而,在许多情况下,神经网络仍然可以得到改进。由于缩放模型架构的挑战,在非常高分辨率的图像输入上使用现代深度神经网络是一个非常重要的问题[44]。此外,由于计算和内存可用性的快速增长以及相机传感器技术的进步,这些图像往往会变得更大。特别具有挑战性的是所谓的微小目标图像分类任务,其目标是基于非常小的对象或感兴趣区域(roi)的信息对图像进行分类,而存在更大且丰富(非琐碎)的背景,这些背景与标签不相关或无信息。因此,构成非常低的RoI图像比。最近的研究[37]表明,对于有限大小的数据集,卷积神经网络(cnn)在非常低的ROI-to-image ratio问题上表现不佳。在这些设置中,输入分辨率从典型图像尺寸(例如,224 × 224像素)增加到尺寸范围从45,056×35,840到217,088×111,104像素的千兆像素图像[30],这不仅比给定固定深度架构的典型图像需要更多的计算处理能力,而且在某些情况下,对于当前的gpu内存标准来说,这是令人望而却步的。
使用zoom-in策略处理典型WSI,我们看到,i)大的区域信息很少(主要是背景),ii)小的信息区域有高分辨率的细节
利用WSI的上述特征,我们推导出一种逐渐放大ROI的方法:该方法首先对下采样的WSI进行处理,对目标块进行采样,然后对目标子块进行重复采样。采样的子块包含用于分类的细粒度信息。下面的图片显示,人工标注的ROI被所提出的方法捕获,而不需要像素级标注。
图1显示了一个千兆像素病理图像的例子,从中我们可以看到手工注释的ROI(带有癌症转移),通常不可用于模型训练,只占整个幻灯片图像(WSI)的一小部分。此外,由于如此大的图像缺乏可用的方法,卫星图像[5]和医学图像分析[30]中的许多任务仍然具有挑战性。
最近的其他工作通过提出流神经网络[38]和梯度检查点等方法解决了与超大图像模型相关的计算资源瓶颈。然而,这些方法在微小目标图像分类任务中没有充分利用超大图像的特点,其中只有一小部分图像输入对感兴趣的分类标签有信息。或者,其他方法使用视觉注意模型来利用这些特征,并表明判别信息在不同的图像尺度上可能是稀疏和分散的[12,20,36],这表明在某些情况下,处理整个输入图像是不必要的,特别是在微小的目标图像分类任务中。例如,[20]利用注意力来构建图像分类器,使用从注意力网络生成的注意力权重矩阵中采样的一小组图像块(图像补丁)。不幸的是,尽管正在进行努力,但对于涉及非常大(千兆像素)图像的任务,现有的方法要么是令人望而却步的,要么需要严格的分辨率权衡,最终会影响分类性能。
本文的目的是同时解决这些限制。具体来说,我们提出了一种称为Zoom-In网络的神经网络架构,正如我们将展示的那样,它在各种微小目标图像分类数据集上产生了优异的内存效率和分类精度。我们在[20]的基础上提出了一种两阶段分层注意力采样方法,该方法能够有效地处理千兆像素的图像,同时还利用对比学习作为一种手段来提高用于采样的注意力机制的质量。这是通过在从注意力机制中选择的一小部分高分辨率内容(子图块)上构建聚合表示来实现的,该机制本身利用了原始图像的低分辨率视图。通过这种方式,该模型可以显著减少实际部署中的数据采集和存储需求。这是可能的,因为低分辨率视图可以用来指示图像的哪些区域应该以更高的分辨率获取(处理),以进行分类,而不需要以全分辨率获取整个图像。此外,我们还表明,该方法可以很容易地扩展到包含像素级注释,以获得额外的性能提升。在五个具有挑战性的数据集上的结果证明了Zoom-In网络在准确性和内存效率方面的能力。
下面我们介绍了所提出的Zoom-In网络模型的构建,该模型旨在有效地处理千兆像素图像,以便对具有微小物体的超大图像进行分类。我们首先简要描述了[20]中提出的一阶段注意力抽样方法,我们在公式中使用了该方法。然后,我们介绍了我们的策略,包括将基于注意力的采样分解为两个阶段,如图2所示。当应用于较小的ROI-to-image ratio的超大图像时,这种两阶段分层采样方法可以提高计算效率,而不需要因分辨率损失而牺牲性能,在实验中,我们将展示在几个微小的目标图像分类数据集上,Zoom-In网络相对于现有方法的性能有所改进
在第一阶段,注意力网络a Θ(·)为输入图像生成一个注意图(按s 1的比例缩小),其中N个块被替换采样(见样本图)
在第二阶段,注意力网络b Θ(·)为每个选择的块生成一个注意图,并选择一个子块,因此选择了N个子块(不替换)。然后将所有子块馈送到特征提取器f Θ(·),使用其相应的注意力权重对特征映射进行聚合,并使用分类模块g Θ(·)从聚合的特征中获得预测。
多阶段和分层抽样策略在实践中往往是首选的。例如,如果这些人在地理上或组织上分组,面试或测试的成本就会大大降低,因此抽样是在组(集群)内进行的。这种抽样设计有许多实际应用,如家庭和死亡率调查,以及高分辨率遥感应用。在这个想法的激励下,我们设计了一种两阶段分层采样方法,以减少处理非常大的、千兆像素的图像时对内存的需求,而不需要进行严重的分辨率权衡。
在实践中,我们不需要实例化tile Ts1(x, c),而只需要实例化砖块Ts2(Ts1(x, c),c '),并且可以根据需要(动态地)获得(4)中的第二级注意力矩阵。然而,如果在(6)中选择来自同一位置c的多个样本进行二级采样,这可能会导致计算效率低下。低效率的发生是因为这样的过程需要在单个模型更新(迭代)上多次实例化视图V(x, s2,c)以获得βc,然后在获得fΘ(Ts2(Ts1(x, c),c‘)时对子块进行多次采样。
我们可以通过在Q中排序样本以防止重新计算βc来减轻效率低下,并且我们可以根据需要重用给定c和c ‘的特征fΘ(Ts2(Ts1(x, c),c’)。
或者,我们可以通过采样位置c ’ in(6)而不进行替换来避免重复使用子块
然而,这样的采样策略不会是iid(独立和相同分布)的,因此,它会在(6)中的蒙特卡罗近似中造成偏差。幸运的是,使用类似于[20]的公式,我们仍然可以通过利用Gumbel-Top-k技巧[23](从加权储存采样的Gumbel-Max技巧[11]扩展而来),从非iid样本中获得(6)中平均值(期望)的无偏估计量。从(5)可以写出
我们可以看到,右边的和是左边期望的无偏基估计,或者可以写为:
βic/(1 / βc - c)为重新加权排除子块c’的第i个子块的注意权值,相当于已经对其进行了采样。
然后,我们可以像在(6)中那样近似(5),但使用采样而不替换
在实践中,注意力采样模型的记忆需求由模型参数、特征图、梯度图和工作空间变量决定[41]。对于基于神经网络的图像模型,内存分配主要取决于输入图像的大小,即H和W。具体而言,对于N个样本的推理,单阶段[20]和提出的两阶段分层模型,其峰值内存使用量分别为O(s2HW + Nh2w2)和O(s1 2 HW + n’ s1 2 s2 2 HW + Nh2w2)。在这里,我们使用N '来表示Q和s中唯一的块的数量,以表示单阶段方法的视图的规模。事实上,通过选择s1
Efficient Contrastive Learning with Attention Sampling
在[22]的激励下,我们为提出的Zoom-In网络引入了一个对比学习目标,包括鼓励模型对病例(y =1)做出预测,例如,癌症转移的图像(详见实验),但在倒置图像标签(y =1→0)时使用低注意力权重的子图块。方便的是,我们可以生成这些(负)对比样本,而不需要额外的模块或模型参数。
具体来说,我们利用(1)和(4)中现有的注意力函数。为了生成图像x的对比特征向量,使y =1,我们首先通过1 - aΘ(V(x, s1))对与(1)相似的瓷砖位置进行采样(替换)。然后,我们通过1 -bΘ(V(x, s2,c))无需类似于(4)的替换。
采样的对比子块通过特征网络,然后由分类器处理,使用(9)进行预测ΨΘ(x|y =1),其中使用条件y =1来强调我们使用y =1类的图像x作为对比示例。一般来说,对比样例的数量(每个训练批次)等于y =1的样本数量。对于这些对比样本,我们优化了以下目标,Lcon(ΨΘ(x|y =1)) = Σn -log(1 - ΨΘ(xn | yn = 1))。请注意,Lcon(ΨΘ(x|y =1))鼓励将标签y =1的图像x的对比样本预测为y =0。在多类场景中,这种对比学习方法可以很容易地扩展,让其中一个类作为参考,或者一般来说,通过使用一个完整的、基于交叉熵的对比损失,其中为两个类生成对比样本,即y ={0,1},而不是像我们的情况那样只生成一个类(交叉熵损失的一半)。
最近的工作研究了不同噪声场景下的cnn,要么进行人工引入标签噪声的实验[1,52],要么直接使用带噪声的标签和注释[14,32]。虽然有研究表明,大量的标签噪声会阻碍cnn的泛化能力[1,52],但有研究进一步证明,cnn可以通过增加用于训练的数据的大小[32]、调整优化过程的参数[19]或重新加权输入训练样本[14]来消除这种破坏标签的噪声。然而,所有这些工作都集中在标签损坏上,而没有考虑无噪声标签或低噪声标签分配的情况,在这种情况下,与标签相关的兴趣区域(ROI)相对于图像的大小是很小或很小的。[37]有意地分析了cnn在这种情况下的能力,即微小目标图像分类任务的能力。他们的结果表明,由于使用有限的训练数据集,cnn不能很好地泛化,因为输入的roi -图像比降低了。通常,与标签相关联的对象占据图像的主要部分。然而,在一些现实世界的应用中,如医学成像、遥感或交通标志识别,只有非常小的图像部分关联他们的标签,导致低ROI-to-image比率。
该技术在神经网络文献中有着悠久的历史[17]。在深度学习的现代时代,它已经非常成功地应用于各种问题[9,12,49,53]。两类主要的注意机制包括:软注意,它为整个输入的每个位置估计一个(连续的)权重[16],硬注意,它选择一小部分数据,例如图像中的ROI,进行处理[36],这是一个更难的问题,类似于物体检测,但没有真实的物体边界。注意,[3,16,20]中的注意力被定义为图像中特征包的权重。我们的公式也可以用同样的方式来解释,因为α是对块特征袋的关注,而βc是对子块特征袋的关注。
有多种方法可以控制深度神经网络的计算成本。我们将它们分为四组:i)压缩方法,旨在从已经训练好的模型中去除冗余[51];Ii)轻量级设计策略,用于用计算量更轻的对应部件取代网络组件[18];Iii)部分计算方法选择性地利用网络单元,从而产生具有不同计算代价的前向传播路径[26];iv)可用于选择性处理输入子集的强化学习和注意机制,基于它们对感兴趣的任务的重要性[7,20,28,40,47]。后者是我们在提出的Zoom-In架构中考虑的策略。
传统的深度神经网络对非分布数据或自然发生的损坏(如图像噪声、模糊、压缩和标签损坏)缺乏鲁棒性。对比学习[22]已经证明了在嘈杂的场景中学习的巨大成功,例如,损坏的ImageNet[21]。在这里,我们的目标是利用对比学习来减轻低ROI-to-image ratio的图像造成的性能损失。因此,内置的注意机制有助于样本内对比学习,因为使用相同的注意机制可以获得对比样本,而不需要额外的模型组件或参数。
最近的研究表明,深度学习算法在数字病理学应用中具有预测患者级别属性的能力,例如,从整个幻灯片图像(wsi)中预测癌症分期[27]。由于这些图像非常大,并且不知道图像的哪些子集(块)与标签相关联,因此这种任务被称为弱监督学习[4,31]。具体来说,模型必须估计图像中的哪些区域与标签相关,因此可以仅使用来自这些区域的信息进行预测;而不是整个图像。重要的是,在当前的硬件架构下,WSI太大而无法适应GPU内存,因此一种常用的技术是建立模型从图像中选择补丁子集[35,54]。
另一种方法是使用整个WSI,但以压缩的、小得多的表示形式,代价是失去可能很重要的细粒度细节[45]。构建从选定图像区域(块或补丁)中聚合特征的表示也是一种替代方法[4,8]。我们在实验中考虑了这些方法相对于所提出的Zoom-In网络的性能。
我们提出了Zoom-In,可以有效地对超大图像里的微小目标进行分类。通过利用两阶段分层采样策略和对比学习目标,我们在现有的基于cnn的基线的准确性和GPU内存峰值使用方面进行了改进。我们还考虑了在训练期间可以使用像素级注释(分割图)的场景。
在实验中,我们证明了该模型在五个具有挑战性的分类任务上的优势。我们注意到Camelyon16数据集中的图像都是十亿像素大小,我们很可能是第一个为它们训练端到端深度学习模型的人。
当像素级注释不可用时,我们的模型达到了最佳精度,同时只使用少量GPU内存,这允许使用单个GPU对全分辨率千兆像素图像进行训练和推理。所提出的模型的一个限制是需要指定子块样本的数量N,这可以从数据中估计出来。
此外,探索Zoom-In层次结构中其他步骤的影响也很有趣,但这是未来的工作