(二十三:2020.12.14)CVPR 2020 学习(二)《U^2 Net》

本文介绍了U2-Net,这是一种为显着物体检测设计的两层嵌套U型结构深度网络。网络通过残差U型块(RSU)有效地提取多尺度特征,而无需使用预训练的主干网络,解决了传统方法中数据效率低下的问题。实验结果显示,U2-Net在多个数据集上表现出与最先进的方法相当甚至更好的性能,同时保持较低的计算成本和内存占用。
摘要由CSDN通过智能技术生成

讲在前面

  • 一.学习该算法的目的:替换针道的FLD算法和粒子检测的算子,以及测试其在器官分割上的性能;
  • 二.我设计了几种字体颜色用于更加醒目地表现关键的思想和主题:
    • 红色表示尚未理解透彻的一些概念
    • 蓝色表示对原来的理解做的一些修改或补充
    • 绿色表示此处需要参考的论文其他部分
    • 橙色表示本文的重要关键字
    • 紫色表示后续更新的内容
    • 我会用删除线将自己曾经不到位的理解进行删除
  • 三.这篇论文最近一度登上github热榜,我都以为自己产生了幻觉,很期待它到底能发挥什么功效,其实就全文来看,想法和思路是很好理解的,阅读起来甚至没有什么难度。所以重在如何使用,以及如何用代码实现这样一个网络。所以请关注我之后的应用的文章,我会尽可能地体现代码实现网络的细节。

摘要

        在这篇文章中,我们为突出物体检测(SOD)设计了一种深度网络结构——U2-net。这个网络的结构是两层嵌套的U型结构。这样的设计具备一下优点:

  • 1.借助我们建议的ReSidual U块(RSU)中不同大小的感受野的混合,它能够从不同的尺度捕获更多的上下文信息。
  • 2.由于在这些RSU块中使用了池化操作,因此它在不显着增加计算成本的情况下增加了整个体系结构的深度。这种架构使我们无需使用图像分类任务中的主干就可以从头开始训练深度网络。我们公开了所建议架构的两个模型:U2-Net(GTX 1080Ti GPU上为176.3 MB,30 FPS)和U2-Net†(4.7 MB,40 FPS),以促进在不同环境中的使用。 两种模型在六个SOD数据集上均实现了较好的效果。这里有开源代码

论文内容

1.介绍

        显着物体检测(SOD)旨在分割图像中最具视觉吸引力的物体。 它在视觉跟踪和图像分割等许多领域得到了广泛使用。 近年来,随着深度卷积神经网络(CNN)的发展,尤其是全卷积网络(FCN)在图像分割中的兴起,显着目标检测得到了显着改善。 那么接下来面对的是什么挑战呢?
        大多数SOD网络的设计都有一个共同的模式,也就是说,它们专注于充分利用现有主干网提取的深度特征,例如Alexnet,VGG,ResNet,ResNeXt,DenseNet等。但是,这些主干都是为图像分类而设计的。他们提取代表语义含义的特征,而不是代表局部性和全局对比信息,然而后者对于显着性检测至关重要。前者首先要在ImageNet上进行预训练,然而当目标数据和ImageNet的数据分布不匹配时,就会出现数据效率低下的问题。
        这就引出了我们的第一个问题:我们是否可以设计一个新的SOD网络,该网络可以从头开始进行培训,并且与基于现有预训练骨干的网络相比,具有可比或更好的性能?
        SOD的网络体系结构还有很多问题:

  • 首先,它们通常过于复杂。 部分原因是由于将附加的功能聚合模块添加到现有主干中,以从这些主干中提取多级显着性功能。
  • 其次,现有的骨干网通常通过牺牲高分辨率的特征图来实现更深的架构。 为了使用负担得起的内存和计算成本来运行这些深度模型,功能图将按比例缩小以在早期降低分辨率。例如,在ResNet和DenseNet的早期层,使用了步幅为2的卷积,然后是步幅为2的maxpooling,以将特征图的大小减小到输入图的四分之一。 然而,除了深度架构外,高分辨率在分割中也起着重要作用。我们需要解决分辨率不断降低的问题。

        因此,我们的后续问题是:我们可以以较低的内存和计算成本在保持高分辨率的特征图的同时更深入吗?
        我们的主要贡献是一个新颖且简单的网络体系结构,称为U2 Net,它解决了上述两个问题。

  • 第一,U2 Net是两层嵌套的U型结构,专为SOD设计,而无需使用来自图像分类的任何预训练主干。 可以从头开始对其进行训练,以实现具有竞争力的性能。
  • 第二,新颖的架构允许网络更深入,获得更高的分辨率,而不会显着增加存储和计算成本。 这是通过嵌套的U型结构实现的:在底层,我们设计了一种新颖的ReSidual U块(RSU),它能够提取级内多尺度特征而不会降低特征图的分辨率; 在顶层,有一个类似于U-Net的结构,其中每个阶段都由RSU块填充。 两级配置导致嵌套的U型结构(图5)。 我们的U2-Net(176.3 MB)在六个公共数据集上与最先进的(SOTA)方法相比具有竞争优势,并在以下条件下实时运行(30 FPS,输入大小为320×320×3) 1080TiGPU。 为了便于在计算和内存受限的环境中使用我们的设计,我们提供了U2-Net的一个小版本,称为U2-Net†(4.7 MB)。 U2-Net†以40 FPS的速度获得了与大多数SOTA模型(图1)的竞争结果。
    • 图5
      在这里插入图片描述
    • 图1
      在这里插入图片描述

2.之前的相关工作

        近年来,已经提出了许多深层的显着物体检测网络。 与基于手工特征(如前地面一致性,高光谱信息,超像素相似度,直方图等)的传统方法相比,深显着物体检测网络显示出更具竞争力的性能。

2.1 多级的深度特征整合

        最近的工作表明,来自多个深层的特征能够产生更好的结果。 正是因为如此,针对SOD许多用于集成和聚合多层深度特征的策略和方法被开发。

  • Li等人的 MDF 提出将目标像素周围的图像块馈送到网络,然后获得用于描述此像素显着性的特征向量。
  • Zhang等人的 Amulet 通过将多级特征聚合为不同的分辨率来预测显着性图。
  • Zhang等人的 UCF 提出通过引入重新设计的dropout和混合升序插补模块来减少反卷积算子的棋盘伪影。
  • Luo等人设计具有4×5网格结构的显着性检测网络 NLDF + ,其中较深的功能与较浅的功能逐渐集成在一起。
  • Zhang等人的 LFR 通过使用同级架构从原始输入图像及其反射图像中提取特征来预测显着性图。
  • Hou等人的 DSS+ 建议通过引入从深层到浅层的短连接来集成多级功能。
  • Chen等人的 RAS 通过将骨干网的侧面输出显着性作为特征关注指南来迭代和预测显着性图。
  • Zhang等人的 BMPM 提出通过受控的双向传递策略来整合深层和深层的特征。
  • Deng等人的 R3Net+ 交替结合浅层和深层的功能,以完善预测的显着性图。
  • Hu等人的 RADF+ 建议通过循环聚合多层深度特征来检测目标对象。
  • Wu等人的 MLMS 通过开发一种新型的互学习模块来更好地利用边界和区域的相关性,从而提高了显着性检测的准确性。
  • Wu等人提出使用级联局部解码器 CPD 框架进行快速准确的显着目标检测。

        这类深度方法利用了骨干网络提取的多级深度特征,与传统方法相比,大大提高了显着目标检测的水平。

2.2 多尺度特征提取

        如前所述,显着性检测需要本地和全局信息。 3×3的卷积核非常适合在每个图层上提取局部特征。 但是,仅通过增大滤波器的大小就难以提取全局信息,因为这将急剧增加参数的数量和计算成本。
        有许多工作关注着如何获取全局信息:

  • Wang等人的 SRM 利用金字塔池模块适应以捕获全局上下文,并提出了一种用于显着图重新细化的多阶段细化机制。
  • Zhang等人的 PAGRN 开发了一个空间和逐通道注意模块来获取每一层的全局信息,并提出了一种渐进式注意引导机制来完善显着图。
  • Wang等人的 DGRL 开发了一个类似Inception的连续加权模块来全局定位显着对象,然后使用边界优化模块来局部优化显着性图。
  • Liu等人的 PiCANet 反复捕获局部和全局像素方面的上下文关注,并通过将其与U-Net体系结构合并来预测显着性图。
  • Zhang等人的 CapSal 设计了一个本地和全局感知模块,以从骨干网络提取的特征中提取本地和全局信息。
  • Zeng等人的 MSWS 设计一个注意模块,以预测前景对象在图像区域上的空间分布,同时汇总其特征。
  • Feng等人的 AFNet 开发了一个全局感知模块和专心的反馈模块,以更好地探索突出对象的结构。
  • Qin等人的 BASNet 提出了一种预测细化模型,该模型通过依次堆叠两个不同配置的U-Nets和混合损失来进行边界感知的显着物体检测。
  • Liu等人的 PoolNet 通过引入用于提取全局定位特征的全局指导模块和从金字塔池模块改编而来的用于融合全局和精细级特征的多尺度特征聚合模块,开发了用于显着目标检测的编码器-解码器体系结构。

        在这些方法中,提出了许多启发性模块,以从现有骨架中提取的多层次深度特征中提取多尺度特征。 这些新颖的模块引入了多样化的接受领域和更丰富的多尺度上下文特征,从而显着提高了显着物体检测模型的性能。

        综上所述,一方面,多层深度特征集成主要集中在开发更好的多层特征聚合策略上。 另一方面,多尺度特征提取类别中的方法针对设计新模块以从骨干网络获得的特征中提取局部和全局信息。 如我们所见,几乎所有上述方法都试图更好地利用现有图像分类主干生成的特征图。 我们没有开发和添加更复杂的模块和策略来使用这些主干的功能,而是提出了一种新颖而简单的体系结构,该体系结构会逐步逐步提取多尺度特征,用于显着目标检测。

3.我们提出的方法

        首先我们介绍残差U型块的设计,然后描述利用这个U型块进行设计的嵌套结构,网络监督策略和训练损失将会在这部分的最后进行解释。

3.1 残差U型块

        对于显著物体检测来说,局部和全局信息都是非常重要的。在当前许多的CNN设计中,所有的卷积核都是1x1或者3x3,用来提取特征信息,这是非常受欢迎的因为这样所需要消耗的内存小而且效率高。图2(a)-(c)展示了典型的现有的具有小接收场的卷积块。浅层的输出特征图仅包含局部特征,因为1×1或3×3卷积核的接受场太小,无法捕获全局信息。为了在浅层高分辨率特征图中获得更多的全局信息,最直接的想法是扩大接收范围。图2(d)显示了一个类似块的起始块,它试图通过使用扩大的卷积来扩大接收场来提取局部和非局部特征。 但是,以原始分辨率在输入特征图上(尤其是在早期阶段)进行多次卷积需要太多的计算和内存资源。为了降低计算成本,PoolNet 调整了金字塔池模块(PPM)的并行配置,金字塔模块在降采样特征图上使用了较小的卷积核,而不是在原始尺寸特征图上使用了卷积。 但是通过直接上采样和级联(或相加)来融合不同比例尺的特征可能会导致高分辨率特征的退化。

  • 图2:这张图下面的举例写反了,读者要注意一下
    在这里插入图片描述
            受U-Net的启发[34],我们提出了一种新颖的ReSidualU块RSU,以捕获阶段内多尺度特征。 RSU-L( C i n , M , C o u t C_{in},M,C_{out} CinMCout)的结构如图2(e)所示,其中 L L L是编码器中的层数, C i n , C o u t C_{in},C_{out} CinCout表示输入和输出通道, M M M表示RSU内部层中的通道数。 因此,我们的RSU主要由三个部分组成:
  • (i) 输入卷积层,将输入特征映射 x ( H × W × C i n ) x(H×W×C_{in}) xH×W×Cin转换为通道为 C o u t C_{out} Cout的中间映射 F 1 ( x ) F_1(x) F1x。 这是用于局部特征提取的简单卷积层。
  • (ii) 高度为 L L L 的类似U-Net的对称编码器/解码器结构,以中间特征图 F 1 ( x ) F_1(x) F1x作为输入,并学习提取和编码多尺度上下文信息 U ( F 1 ( x ) ) U(F_1(x)) UF1x U U U表示类似U-Net的结构,如图2(e)。 较大的值导致更深的残留U块(RSU),更多的合并操作,较大的接受域范围以及更丰富的局部和全局特征。配置此参数可以从具有任意空间分辨率的输入特征图中提取多尺度特征。 从渐进下采样的特征图中提取多尺度特征,并通过逐步上采样,级联和卷积将其编码为高分辨率特征图。 该过程减轻了由大规模直接上采样引起的精细细节的损失。
  • (iii) 残差连接,通过将总和融合为局部特征和多尺度特征: F 1 ( x ) + U ( F 1 ( x ) ) F_1(x)+ U(F_1(x)) F1x+UF1x
            为了更好的说明我们设计的意图,我们将原始残差结构和RSU进行了对比,如图3
  • 图3
    在这里插入图片描述

        一般残差块的结构可以概括为 H ( x ) = F 2 ( F 1 ( x ) ) + x H(x) =F_2(F_1(x))+x H(x)=F2(F1(x))+x,其中 H ( x ) H(x) H(x)表示我们期望得到的特征 x x x的映射、 F 1 , F 2 F_1, F_2 F1,F2代表的是权重层,在这里是卷积操作。RSU与一般残差块的不同点在于:RSU用U形替代了单方向形,同时用权重层( H R S U ( x ) = U ( F 1 ( x ) ) + F 1 ( x ) H_{RSU}(x) =U(F_1(x))+F_1(x) HRSU(x)=U(F1(x))+F1(x))转换的局部特征替换原始特征。这种设计更改使网络能够直接从每个残差块中提取多种尺度的特征。 更值得注意的是,由于大多数操作都在降采样特征图上进行,因此由于U型结构而导致的计算开销很小。 这在图4中进行了说明,其中我们在图4中显示了RSU与其他特征提取模块之间的计算成本比较。 密集块(DSE),起始块(INC)和RSU的FLOP随内部通道M的数量呈二次方增长。 但是RSU在二次项上的系数要小得多,从而提高了效率。 与普通卷积(PLN)和残差块(RES)块(均为线性w.r.t.M)相比,其计算开销并不大。

  • 图4
    在这里插入图片描述

3.2 U2-Net的结构

        一段时间以来,已经探索了为不同任务堆叠多个类似U-Net的结构。 ,例如 堆叠的hourgalssnetwork,DocUNet,CU-Net进行姿势估计等。这些方法通常按顺序堆叠类似U-Net的结构以构建级联模型,可以概括为“(U× n-Net)”,其中重复的U-Net模块数。 问题在于计算和主题成本会以n倍放大。
        在本文中,我们提出了一种不同的Un-Net堆叠U结构用于显着目标检测的表示方法。我们的结构是嵌套的U结构而不是级联堆叠。 从理论上讲,可以将指数设置为任意正整数,以实现单层或多层嵌套U型结构。 但是嵌套层次太多的体系结构太复杂而无法在实际应用中实现和使用。
        在这里,我们设置n=2来构建U2-Net。 我们的U2-Net是一个两层嵌套的U型结构,如图5所示。它的最外边是一个大的U型结构,由11个阶段组成。 每个阶段都由配置良好的残余U块(RSU)(底部U型结构)填充。 因此,嵌套U结构可更加有效地提取阶段内多尺度特征并聚合阶段间多尺度特征。

  • 图五
    在这里插入图片描述
            正如图5所示,U2-Net主要包括三个部分:(1) 六个编码器;(2)五个解码器;(3)连接编码器信息和解码器信息的一个混合模块:
  • (i) 在编码器En1,E​​n2,En3和En4中,我们分别使用了RSU-7,RSU-6,RSU-5和RSU-4。 如前所述,“ 7”,“ 6”,“ 5”和“ 4”表示RSU块的高度( L L L)。 L L L通常根据输入要素图的空间分辨率进行配置。 对于高度和宽度较大的要素地图,我们使用更大的 L L L 捕获更多大规模信息。 En5和​​En6中特征图的分辨率相对较低,这些特征图的进一步下采样导致有用上下文的丢失。因此,在En5和En6中,我们使用的是RSU-4F,其中“ F”表示RSU的扩版本,其中我们用扩张卷积代替了合并和上采样运算(图5)。这意味着RSU-4F的所有中间特征图都具有与其输入特征图相同的分辨率。
  • (ii) 在解码器阶段,在En6时编解码结构相同。在De5,我们使用类似于En5的RSU-4F的扩张卷积版本。每一级解码器都将来自其上一级的上采样特征映射和来自其对称编码器级的特征映射的串联作为输入,参见图5
  • (iii) 最后一部分是显著性图融合模块,用于生成显著性概率图。
    与HED类似,我们的U2-Net首先从En6,De5,De4,De3,De2和De1通过3x3卷积核和sigmoid函数生成六个side输出显着性概率图: S s i d e ( 6 ) , S s i d e ( 5 ) , S s i d e ( 4 ) , S s i d e ( 3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值