超高分辨率图像内存高效分割的协同全局局部网络论文简读

code: https://paperswithcode.com/paper/190506368

1摘要

超高分辨率图像的分割要求越来越高,但对算法效率带来了重大挑战,特别是考虑到(GPU)内存限制。目前的方法要么对一个超高分辨率的图像进行降采样,要么将其裁剪成小块进行单独处理。无论哪种方式,局部细节或全局上下文信息的丢失都会导致有限的分割精度。我们提出了协作的全局本地网络(GLNet),以一种高内存效率的方式有效地保存全局和本地信息。GLNet由一个全局分支和一个局部分支组成,分别将降采样的整个图像及其裁剪后的局部斑块作为各自的输入。在分割方面,GLNet深度融合了来自两个分支的特征映射,从放大的局部补丁中捕获高分辨率的精细结构,并从降采样的输入中捕获上下文依赖关系。为了进一步解决背景区域和前景区域之间潜在的类不平衡问题,我们提出了GLNet的粗到细变体。内存效率高。在三个真实世界的超高空中和医学图像数据集(分辨率高达3000万像素)上进行了广泛的实验和分析。由于只使用了一个1080TiGPU和不到2GB的内存,我们的GLNet产生了高质量的分割结果,并与最先进的技术相比,实现了更具竞争力的精确内存使用权衡。
在这里插入图片描述

2论文的贡献

本文研究了超高分辨率图像的记忆效率分割问题,并首次对这个新课题进行了专门的分析。性能目标不仅是分割精度,还减少内存使用,并最终,两者之间的权衡。

我们提出的模型,称为协作全局本地网络(GLNet),集成了全局图像和局部补丁,用于训练和推断。GLNet有一个全局分支和一个本地分支,分别处理降采样的全局图像和裁剪的局部补丁。通过深度共享和/或相互规则化的特性映射,它们进一步相互作用和“调制”。这种特殊的设计使我们的GLNet能够很好地平衡其准确性和GPU内存的使用情况(图1中的红点)。为了进一步解决经常发生的类不平衡问题,例如,当一个人主要对分割小的前景区域感兴趣时,我们提供了GLNet的一个从粗到细的变体,其中全局分支提供了一个额外的边界盒定位。GLNet的设计使全局上下文信息和必要的局部细节之间的无缝集成成为可能,并通过学习进行平衡,以确保准确的分割。同时,它大大降低了GPU内存的使用,因为我们只操作降采样的全局图像加上裁剪的本地补丁;原始的超高分辨率图像永远不会加载到GPU内存中。我们总结了我们的主要贡献如下:

  • 针对超高分辨率图像分割的新问题,我们开发了一种内存高效的GLNet。训练只需要一个1080TiGPU,推理需要不到2GB的GPU内存,对于高达30M像素的超高分辨率图像。
  • GLNet可以有效地集成全局上下文和局部高分辨率的精细结构,产生高质量的分割。本地或全球的信息都被证明是不可或缺的。
  • 我们进一步提出了一种从粗到细的GLNet算法来解决超高分辨率图像分割中的类不平衡问题,在降低计算成本的同时进一步提高了性能。

3协作性的全局-局部网络

3.1 Motivation: Why Not Global or Local Alone

对于具有有限GPU内存的超高分辨率图像进行训练和推理,首先可能会提出两个特别的想法:对全局图像进行降采样,或将其裁剪成补丁。然而,它们都经常导致不希望出现的工件和糟糕的性能。图3(1)显示了一幅2448×2448像素的图像,其地面真实分割见图3(2):黄色代表“农业”,蓝色代表“水”,白色代表“贫瘠”。然后我们训练了两个FPN模型:一个是将所有图像降采样到500×500像素,另一个是从原始图像中裁剪出500×500像素的补丁。他们的预测分别如图3(3)和(4)所示。我们可以观察到,由于降采样中缺少细节,前者存在“抖动”伪影和不准确的边界。相比之下,后者有很大的错误分类区域。请注意,“农业”和“贫瘠”地区通常在视觉上很相似(图3(1)中的放大面板(a)和(b))。因此,基于斑块的训练缺乏空间上下文和邻里依赖信息,使得仅使用局部斑块难以区分“农业”和“贫瘠”。最后,我们在图3(5)中提供了GLNet的预测以供参考:它清楚地显示了全局和本地处理的杠杆优势。

在这里插入图片描述

3.2 GLNet Architecture

在分割过程中,每个分支的所有层的特征映射都与其他分支进行了深度共享(第3.2.2节)。然后聚合两组高级特征图,通过分支聚合层fagg生成最终的分割掩模(第3.2.3节)。为了约束两个分支和稳定训练,还将弱耦合正则化应用于局部分支训练。

为了与本地分支协作,首先将来自全局分支的特征映射裁剪在当前局部补丁的相同空间位置,然后上采样以匹配来自本地分支的特征映射的大小。接下来,它们被作为额外的通道连接到同一层中的本地分支特征映射中。我们还以一种对称的方式收集了来自本地分支的特征图。首先对局部特征图进行降采样,以匹配与从大源图像中裁剪出的斑块相同的相对空间比。然后将它们合并在一起(与裁剪局部斑块时的顺序相同),合并成一个与全局分支特征图具有相同大小的完整特征图。这些局部特征图也被连接到全局分支特征图的通道,然后进入下一层。
在这里插入图片描述

图5显示了深度特征图共享的过程,除了最后一层分支外,其余都是分层应用的。共享方向可以是单向的(例如,共享全局分支的特征映射到本地分支,G→L),也可以是双向的(G⇄L)。在每一层中,都要参考当前的全局上下文特征和局部的精细结构特征,并相互融合。
在这里插入图片描述
Branch Aggregation with Regularization

这两个分支将通过一个聚合层fagg进行聚合,并实现为一个包含3个×-3个滤波器的卷积层。它从本地分支的第L层ˆXLocL获取高级特征映射,并从全局分支ˆXGlbL获取相同的特征映射,并沿着通道将它们连接起来。fagg的输出将是最终的分割输出SˆAgg。除了主要分割损失执行SˆAgg,我们还应用两个辅助损失,执行分割输出从本地分支SˆLoc和全球分支SˆGlb接近相应的分割地图(本地补丁/全球降采样),分别,我们发现有助于稳定训练。

在实践中,我们发现局部分支容易过拟合一些强的局部细节,并“覆盖”全局分支的学习。因此,我们通过在两个分支的最后一层的特征映射之间添加一个弱耦合的正则化,试图避免局部分支比全局分支学习得“快得多”。具体地说,我们添加了欧几里得范数惩罚λkˆXLocL−ˆXGlbLk2,以防止ˆXLocL和ˆXGlbL之间的较大的相对变化,在我们的工作中,λ的经验固定为0.15。这种正则化主要是为了使局部分支训练“减慢”,与全局分支学习更加同步,并且只更新局部分支的参数。

Coarse-to-Fine GLNet

为了分割前景和背景(即二值掩模),在超高分辨率图像中,前景往往占用很少的空间。这种类的不平衡可能会严重损害分割的性能。以ISIC数据集为例,∼99%的图像的背景像素多于前景像素,超过60%的图像的前景像素小于20%(见图8(1)中的蓝条)。许多局部补丁将只包含背景像素,这导致了生病的梯度。
在这里插入图片描述

为了缓解类的不平衡,我们提出了一种新的两阶段从粗到细的GLNet变体(图6)。它首先单独应用全局分支来完成对降采样图像的粗分割。然后为分割后的前景区域1创建一个边界框。然后将原始全分辨率图像中的有界前景作为局部分支的输入,进行精细分割。与允许并行局部-全局分支的GLNet不同,这种粗到细的GLNet允许两个分支的顺序组成,在边界框中,在边界框细化期间首先从全局到本地分支深入共享,然后共享回来。在边界框之外的所有区域都将被预测为背景。粗到精细的GLNet通过选择性的精细处理也降低了计算成本。

4 Experiments

在本节中,我们评估了GLNet在深地球和Inria航空数据集上的性能,并评估了从粗到细的GLNet在ISIC数据集上的精确性能。我们将我们的模型与其他方法进行了彻底的比较。

4.1 Implementation Details

在我们的工作中,我们采用了FPN(特征金字塔网络)[4],以ResNet50[38]作为我们的骨干。深度特征图共享策略应用于自下而上阶段的ResNet50的conv2到conv5块的特征图,也应用于FPN的自上而下阶段和平滑阶段的特征图。对于FPN的最终横向连接阶段,我们采用了特征图正则化,并将该阶段聚合为最终的分割。为简单起见,降采样的全局图像和裁剪的局部补丁共享相同的大小,500×500像素。相邻的补丁有50像素的重叠,以避免所有卷积层的边界消失。我们使用带有γ=6的focal loss[39]作为主要损失和两个辅助损失的优化目标。为主要损失和辅助损失分配同等权重(1.0)。特征图正则化系数λ设置为0.15。

为了测量一个模型的GPU内存使用情况,我们使用命令行工具“gpustat”,小批处理大小为1,并避免计算任何梯度。请注意,我们的训练和推理只用了一个GPU卡。我们使用PyTorch框架[40]进行实验。我们使用Adam优化器[41](β1=0.9,β2=0.999),学习速率为1×10−4来训练全局分支,2×10−5用于本地分支。我们在所有培训中使用6的小批量处理。所有实验都在使用NVIDIA1080TiGPU卡的工作站上进行。

4.2 DeepGlobe

我们首先将我们的框架应用到深地球数据集。该数据集包含803张超高分辨率图像(2448×2448像素)。我们将图像随机分为训练、验证和测试集,分别有455、142和206张图像。密集的注释包含7类景观区域,其中7类中的一类被称为“未知”区域,在挑战中不被考虑。

From shallow to deep feature map sharing

为了评估我们的全球-本地协作策略的性能,我们逐步将我们的模型从浅层升级到深度特征图共享(表2)。使用降采样的全局图像或单独的图像斑块,每个分支只能实现的平均联合交集(mIoU)分别为57.3%和66.4%。通过对两个分支的高级特征图进行聚合和它们之间的正则化,性能可以提高到70.3%。当我们只共享从全局到局部分支的一层特征图(“浅层共享”)时,聚合结果增加了0.2%,当我们升级到“深度共享”,即所有层的特征图都被共享时,mIoU上升到70.9%。最后,两个分支之间的双向深度特征图共享使模型能够产生71.6%的高mIoU。

本消融研究证明,通过深度和多样化的特征图共享/正则化/聚合策略,全局和局部分支可以有效地协同协作。值得注意的是,即使使用双向深度特征图共享方法(表2中的最后一行),推理过程中的内存使用量也仅从1189MB略微增加到1865MB。

图7通过两个放大面板(a)和(b)显示了细节,可视化了所实现的改进。仅在全局结果(图7(3))或局部结果(图7(4))中就存在不期望的网格状伪影和不准确的边界。从聚合、浅层特征图共享,最后到双向深度特征图共享,可以观察到逐步的改进,显著减少了错误分类和不准确的边界。

在这里插入图片描述
Accuracy and memory usage comparison

用全局图像或局部补丁进行训练和推断的模型可能会产生不同的结果。这是因为模型具有不同的接受域、卷积核大小和填充策略,这导致了不同的合适的训练/推理选择。因此,在本消融研究中,我们仔细地比较了使用这两种方法训练的模型。我们对一个模型进行了两次训练和测试(每次都使用全局图像或局部补丁),然后选择它的最佳结果。

在这里插入图片描述

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>