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

文章目录

  • 1摘要
  • 2论文的贡献
  • 3协作性的全局-局部网络
    • 3.1 Motivation: Why Not Global or Local Alone
    • 3.2 GLNet Architecture
  • 4 Experiments
    • 4.1 Implementation Details
    • 4.2 DeepGlobe

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

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

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

  1. 高质量的超高分辨率图像分割(论文简读)

    code: https://github.com/dvlab-research/Entity 文章目录 1 abstract 2 Introduction 3 Proposed Method 3.1 ...

  2. 数字图像处理11:阈值分割(基本全局阈值处理,Otsu 的最佳全局阈值,图像平滑改善全局阈值处理,图像分块的可变阈值)

    阈值分割 从背景中提取物体的一种明显方法是,选择一个将这些模式分开的阈值 T.然后, f ( x , y ) > T f(x,y)>T f(x,y)>T的任何点 (x, y) 称为个 ...

  3. 基于超大尺寸图像的语义分割论文和代码汇总

    文章目录 2019 Collaborative Global-Local Networks for Memory-Efficient Segmentation of Ultra-High Resolu ...

  4. MRI图像右心室分割

    人的心脏是一个惊人的机器,能不间断地运作长达一个世纪.测量心脏功能的重要方法之一是计算其射血分数:心脏在舒张期充满血液后,在收缩期射出血液的百分比.获得这一指标的第一步,便依赖于心脏图像的心室分割(描 ...

  5. 【论文速读】RandLA-Net大规模点云的高效语义分割

    点云PCL免费知识星球,点云论文速读. 文章:RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Clouds 作者:Qi ...

  6. 论文阅读:超高分辨率图像中快速、准确的条码检测

    摘要 由于目标对象的尺度不同,超高分辨率 (UHR) 图像中的对象检测长期以来一直是计算机视觉中的一个具有挑战性的问题.在条码检测方面,将 UHR 输入图像调整为更小的尺寸通常会导致相关信息的丢失,而 ...

  7. 论文解读:《自适应非局部随机游动用于图像超像素分割》

    论文解读:<Adaptive Nonlocal Random Walks for Image Superpixel Segmentation> 1.文章概述 2.背景 2.1 现有的超像素 ...

  8. 判断图像局部过暗_CVPR 2020丨基于记忆增强的全局局部整合网络:更准确的视频物体检测方法...

    编者按:在视频物体检测任务中,由于相机失焦.物体遮挡等问题,仅基于图像的目标检测器很可能达不到令人满意的效果.针对此类问题,微软亚洲研究院提出了基于记忆增强的全局-局部整合网络(Memory Enha ...

  9. ECCV 2020 论文大盘点-图像与视频分割篇

    分割是ECCV 2020 中的热门关键词,前文已经总结了: ECCV 2020 论文大盘点-语义分割篇 ECCV 2020 论文大盘点-实例分割篇 但"分割"本身的内涵很丰富,还包 ...

最新文章

  1. 异步IO(协程,消息循环队列)
  2. oracle12之 多租户容器数据库架构
  3. lisp 焊缝_超声波焊接工具性能参数求解与参数图绘制
  4. 基于免费人脸识别的闸机开发及源码分享
  5. 企业选择做网站托管服务的几大因素
  6. volatile关键字的作用
  7. python中info的用法_Python pandas.DataFrame.info函数方法的使用
  8. list 和 iterate
  9. 美国转基因食品的生产现状
  10. 转载的关于pthread_cond_wait的文章,写的比较详细
  11. 用php搭建自己的私人云盘(KODBOX可道云)
  12. 第十一届 蓝桥杯 省 模拟赛 试题+题解 C/C++描述
  13. Google浏览器无法上网问题解决
  14. 爬去网络数据的一般思路
  15. 使用融资的心得和教训
  16. Collections中Counter函数,namedtuple函数,defaultdict函数的使用
  17. Oracle DBA 转行,作为一名oracle dba需要学习的知识
  18. Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中
  19. MySQL8 免安装版安装
  20. 劲霸男装四十年:“真男人”成“老男人”还能如何劲霸?

热门文章

  1. .net Core .net6 Cookie加Jwt认证 同时生效
  2. 精通Python——GUI编程学习
  3. 【代码附】Python实现简单的7款小程序。
  4. 如何向localStorage上的数组push数据
  5. html img文字垂直居中,怎样实现图片和文字垂直居中
  6. Unity技术手册 - Shader实现灵魂状态
  7. 出现dracut-initqueue引导丢失进入dracut界面
  8. nginx服务器资源路径配置文件,查看nginx配置文件路径和资源文件路径的方法
  9. QPM 性能监控组件总篇
  10. Spring Cloud Alibaba 微服务1,系统架构演变 + Nginx反向代理与负载均衡