U2-Net

作者: Valar_Morghulis | 来源:发表于2021-12-01 17:39 被阅读0次

U^2 Net                    CVPR2020                     github 5k★

https://github.com/NathanUA/U-2-Net

https://arxiv.org/abs/2005.09007v2

在本文中,我们设计了一个简单但功能强大的深度网络架构U2-Net,用于显著目标检测(SOD)。我们的U2网络的架构是两层嵌套的U型结构。该设计具有以下优点:(1)由于在我们提出的残差U块(RSU)中混合了不同大小的感受野,因此能够从不同的尺度捕获更多的上下文信息,(2)由于这些RSU块中使用了池化操作,因此它增加了整个架构的深度,而不会显著增加计算成本。该架构使我们能够从头开始训练深层网络,而无需使用图像分类任务中的主干。我们例举了两种拟议架构模型,U2 Net(176.3 MB,GTX 1080Ti GPU上30 FPS)和U2 Net†(4.7 MB,40 FPS),以便于在不同环境中使用。这两种模型在六个SOD数据集上都取得了有竞争力的性能。

1.引言

显著目标检测(SOD)旨在分割图像中最具视觉吸引力的目标。它在视觉跟踪、图像分割等领域有着广泛的应用。近年来,随着深度卷积神经网络(CNN)的发展,特别是全卷积网络(FCN)[24]在图像分割中的兴起,显著目标检测得到了显著的改进。人们很自然地会问,还缺少什么?让我们后退一步,看看剩下的挑战。

在大多数SOD网络的设计中有一个共同的模式[18,27,41,6],即它们专注于充分利用现有主干提取的深度特征,如Alexnet[17]、VGG[35]、ResNet[12]、ResNeXt[44]、DenseNet[15]等。然而,这些主干最初都是为图像分类而设计的。它们提取代表语义的特征,而不是局部细节和全局对比度信息,这对于显著性检测至关重要。他们需要在ImageNet[5]数据上进行预训练,这是数据效率低下的,尤其是当目标数据遵循与ImageNet不同的分布时。

这就引出了我们的第一个问题:我们能否为SOD设计一个新的网络,允许从头开始训练,并实现与基于现有预训练骨干的网络相当或更好的性能?

关于SOD的网络架构还有一些问题。首先,它们往往过于复杂[58]。这部分是由于特征相加聚合模块,这些模块用于相加到现有主干中,以从这些主干中提取多级显著性信息。其次,现有主干通常通过牺牲特征图的高分辨率,从而使得网络架构可以更深[58]。为了以负担得起的内存和计算成本运行这些深层模型,在早期阶段将特征图缩小到较低的分辨率。例如,在ResNet和DenseNet的早期层[15],使用步长为2的卷积和步长为2的maxpooling将特征映射的大小减少到输入映射的四分之一。然而,在分割中,除了网络深度,特征映射的高分辨率也起着重要作用[21]。

因此,我们的后续问题是:我们是否可以在保持高分辨率特征图的同时,以较低的内存和计算成本使网络变得更深?

我们的主要贡献是一种新颖而简单的网络架构,称为U2-Net,它解决了上述两个问题。首先,U2-Net是一个两层嵌套的U型结构,它是为SOD设计的,不使用任何来自图像分类的预训练主干。它可以从无到有地进行训练,以获得有竞争力的性能。其次,这种新颖的架构允许网络更深入,获得高分辨率,而不会显著增加内存和计算成本。这是通过嵌套U结构实现的:在bottom level,我们设计了一种新的残差U块(ReSidual U-block,RSU),它能够在不降低特征图分辨率的情况下提取阶段内多尺度特征;在top level,有一个U形网状结构,其中每个阶段由一个RSU块填充。两级配置形成嵌套的U型结构(见图5)。我们的U2-Net(176.3MB)在六个公共数据集上实现了与最先进的(SOTA)方法相比的竞争性能,并在1080Ti GPU上实时运行(每秒30帧,输入大小为320×320×3)。为了便于在计算和内存受限的环境中使用我们的设计,我们提供了一个小版本的U2-Net,称为U2-Net†(4.7MB)。U2-Net†以40 FPS的速度与大多数SOTA型号(见图1)相比取得了竞争性的结果。

图1。比较我们的U2-Net与其他最先进的SOD模型的模型大小和性能。maxF_β度量是在数据集ECSSD上计算的[46]。红星表示我们的U2-Net(176.3MB),蓝星表示我们的小型版本U2-Net†(4.7MB)。

2.相关工作

近年来,已经提出了许多深显著目标检测网络[22,33]。与基于前景一致性[49]、高光谱信息[20]、超像素相似性[55]、直方图[26,25]等手工特征的传统方法[2]相比,深显著目标检测网络表现出更具竞争力的性能。

多级深度特征集成(Multi-level deep feature integration):

最近的研究[24,45]表明,来自多个深层的特征能够产生更好的结果[50]。然后,针对SOD,提出了多种集成和聚合多级深度特征的策略和方法。Li等人(MDF)[18]建议将目标像素周围的图像块馈送到网络,然后获得用于描述该像素显著性的特征向量。Zhang等人(Amulet)[53]通过将多层次特征聚合为不同分辨率来预测显著性图。Zhang等人(UCF)[54]建议通过引入一个重新计算的差分和一个混合上采样模块来减少反卷积算子的棋盘伪影。Luo等人[27]设计了一个具有4×5网格结构的显著性检测网络(NLDF+),其中较深的特征逐渐与较浅的特征相结合。Zhang等人(LFR)[52]通过从原始输入图像及其具有同胞结构的反射图像中提取特征来预测显著性图。Hou等人(DSS+)[13]建议通过引入从深层到浅层的短连接来集成多层特征。Chen等人(RAS)[4]通过迭代使用主干网络的侧面输出显著性作为特征注意指导来预测和细化显著性图。Zhang等人(BMPM)[50]提出通过可控双向传球策略整合浅层和深层特征。邓等人(R3Net+)[6]交替结合浅层和深层特征,以细化预测的显著性图。Hu等人(RADF+)[14]提出通过反复聚合多级深度特征来检测显著对象。Wu et al.(MLMS)[42]通过开发一种新的交互学习模块来更好地利用边界和区域的相关性,从而提高显著性检测的准确性。Wu等人[43]建议使用级联部分解码器(CPD)框架快速准确地检测显著目标。这类深度方法利用了主干网络提取的多级深度特征,大大提高了显著目标检测相对于传统方法的门槛(bar)。

多尺度特征提取(Multi-scale feature extraction):

如前所述,显著性检测需要局部和全局信息。3×3滤波器用于提取各层的局部特征。然而,仅仅通过扩大滤波器的大小来提取全局信息是困难的,因为这将大大增加参数的数量和计算成本。许多工作都更加关注全局上下文的提取。Wang等人(SRM)[40]对金字塔池模块[57]进行了调整,以捕获全局上下文,并提出了一种用于显著性图重新细化的多阶段细化机制。Zhang et al.(PAGRN)[56]开发了一个空间和通道注意模块,以获取每一层的全局信息,并提出了一种渐进式注意引导机制来细化显著性图。Wang等人(DGRL)[41]开发了一个inception-like[36]的上下文权重模块,用于全局定位显著对象,然后使用边界细化模块局部细化显著性图。Liu等人(PiCANet)[23]通过将显著性图与UNet架构相结合,反复捕获局部和全局像素相关的上下文注意,并预测显著性图。Zhang等人(CapSal)[51]设计了一个局部和全局感知模块,从主干网络提取的特征中提取局部和全局信息。Zeng等人(MSWS)[48]设计了一个注意力模块,用于预测前景对象在图像区域上的空间分布,同时聚合其特征。Feng等人(AFNet)[9]开发了一个全局感知模块和注意反馈模块,以更好地探索显著对象的结构。Qin et al.(BASNet)[33]提出了一个predict-refine模型,通过顺序堆叠两个不同配置的U形网络和一个用于边界感知显著目标检测的混合损耗。Liu et al.(PoolNet)[22]通过引入用于提取全局定位特征的全局引导模块和适用于融合全局和精细特征的金字塔池模块的多尺度特征聚合模块,开发了用于显著目标检测的编码器架构。在这些方法中,提出了许多启发性的模块来从现有主干提取的多层次深度特征中提取多尺度特征。这些新模块引入了多样化的感受域和丰富的多尺度上下文特征,显著提高了显著目标检测模型的性能。

综上所述,多级深度特征集成方法主要关注于开发更好的多级特征聚合策略。另一方面,多尺度特征提取方法的目标是设计新的模块,从骨干网络获得的特征中提取局部和全局信息。我们可以看到,几乎所有上述方法都试图更好地利用现有图像分类主干生成的特征映射。我们没有开发和添加更复杂的模块和策略来使用这些主干特征,而是提出了一种新颖、简单的架构,该架构可以分阶段直接提取多尺度特征,用于显著目标检测。

3.提出的方法

首先,我们介绍了我们提出的残差U块的设计,然后描述了使用该块构建的嵌套架构的细节。本节末尾描述了网络监督策略和训练损失。

3.1. 残差U形块

局部和全局上下文信息对于显著目标检测和其他分割任务都非常重要。在现代CNN设计中,如VGG、ResNet、DenseNet等,尺寸为1×1或3×3的小型卷积滤波器是最常用的特征提取组件。由于它们需要更少的存储空间,并且计算效率高,因此受到青睐。图2(a)-(c)示出了具有小感受野的典型现有卷积块。由于1×1或3×3滤波器的感受野太小,无法捕获全局信息,浅层的输出特征图仅包含局部特征。为了在浅层的高分辨率特征图上获得更多的全局信息,最直接的想法是扩大感受野。图2(d)显示了一个类似inception的块[50],它试图通过使用扩张卷积[3]扩大感受野来提取局部和非局部特征。然而,在原始分辨率的输入特征映射上进行多次扩张卷积(特别是在早期阶段)需要太多的计算和内存资源。为了降低计算成本,PoolNet[22]采用了金字塔池模块(PPM)[57]的并行配置,该模块在降采样特征映射上使用小核滤波器,而不是原始尺寸特征映射上的扩展卷积。但是,通过直接上采样和级联(或加法)融合不同尺度的特征可能会导致高分辨率特征的退化。

图2。现有卷积块和我们提出的残差U型块RSU的说明:(a)普通卷积块PLN,(b)残差类块RES,(c)inception-like块INC,(d)密集类块DSE和(e)我们的残差U型块RSU。

受U-Net[34]的启发,我们提出了一种新的残差子块RSU,用于在同一个阶段捕获多尺度特征。RSU-L(Cin,M,Cout)的结构如图2(e)所示,其中L是编码器中的层数,Cin,Cout表示输入和输出通道数,M表示RSU中间层中的通道数。因此,我们的RSU主要由三部分组成:

(i) 输入卷积层,将输入特征映射{x} (H×W×C_{in} )转换为具有C_{out} 通道的中间映射F_1 (x )。这是一个用于局部特征提取的普通卷积层。

(ii)高度为L的类U网的对称的编解码结构,以中间特征图F_1 (x )为输入,学习提取和编码多尺度上下文信息U(F_1 ( x))。U表示如图2(e)所示的U形网状结构。L越大,残差U形块(RSU)越深,池化操作越多,感受野的多样性就越多( larger range of receptive fifields),局部和全局特征越丰富。配置此参数可以从具有任意空间分辨率的输入特征图中提取多尺度特征。多尺度特征的提取是通过:对特征图逐步降采样,并通过渐进式上采样、级联和卷积编码为高分辨率特征图。这一过程减轻了直接以大的比例上采样造成的精细细节损失。

(iii)通过求和融合局部特征和多尺度特征的残差连接:F_1 ( x) +U(F_1 (x ))

为了更好地说明我们设计背后的直觉,图3中,我们将残差U形块(RSU)与原始残差块[12]进行比较。残差块中的操作可总结为H( x )=F_2(F_1(x))+x,其中H( x)表示输入特征x的期望映射;F2,F1表示权重层,在此设置中为卷积运算。RSU和残差块之间的主要设计差异在于,RSU用类似U网的结构替换了普通的单流卷积,并用权重层转换的局部特征替换了原始特征:H_{RSU}( x )=U(F_1 (x ))+F_1 ( x)(编者注:这半句是指+F_1(x),而不是+x),其中U表示图2(e)所示的多层U结构。这种设计变化使网络能够从多个尺度直接从每个残差块中提取特征。更值得注意的是,由于U型结构导致的计算开销较小,因为大多数操作是计算在下采样的特征映射上。这如图4所示,其中我们显示了图2(a)-(d)中RSU和其他特征提取模块之间的计算成本比较。密集块(DSE)、inception块(INC)和RSU的FLOPS均随中间层通道数M呈二次增长。但RSU在二次项上的系数小得多,从而提高了效率。它的计算开销与普通卷积(PLN)和残差块(RES)块(两者均相对于M为线性)相比并不显著。

图3。残差块和我们的RSU的比较。 图4。图2所示的不同块的计算成本(GFLOPS 千兆浮点运算):计算成本是基于将尺寸为320×320×3的输入特征映射转换为320×320×64的输出特征映射来计算的。“PLN”、“RES”、“DSE”、“INC”和“RSU”分别表示普通卷积块、残差块、密集块、inception块和我们的残差U块

3.2. U2网络的架构

为不同的任务堆叠多个U形网状结构已经探索了一段时间,eg.堆叠的hourgalss网络[31]、DocUNet[28]、CU网络[38]用于姿势估计等。这些方法通常按顺序叠加U网络状结构以建立级联模型,可总结为“(U×n-Net))”,其中n是重复U网络模块的数量。问题是计算和内存成本被放大了n倍。

在这篇文章中,我们提出了一个不同的公式,U^nNet,用于在显著目标检测中堆叠U结构。我们的指数表示法是指嵌套的U型结构,而不是级联堆叠。理论上,指数n可以设置为任意正整数,以实现单级或多级嵌套U型结构。但是嵌套级别太多的架构将太复杂,无法在实际应用程序中实现和使用。

在这里,我们将n设置为2来构建我们的U2网络。我们的U2网络是一个两层嵌套的U型结构,如图5所示。它的top-level是一个由11个阶段组成的大U型结构(图5中的立方体)。每一阶段都由一个配置良好的残差Ublock(RSU)(bottom level  U结构)填充。因此,嵌套U结构能够更有效地提取阶段内多尺度特征和聚合阶段间多级特征

图5。我们提出的U2-Net架构的说明。主要架构是一个类似于U-Net的编码器-解码器,其中每个阶段由我们新提出的残差U块(RSU)组成。例如,En 1基于图2(e)所示的RSU块。各阶段RSU块的详细配置见表1最后两行。

如图5所示,U2-Net主要由三部分组成:(1)六级编码器,(2)五级解码器和(3)与解码器级和最后一个编码器级相连的显著性映射融合模块:

(i) 在编码器级En 1、En 2、En 3和En 4中,我们分别使用残差U块RSU-7、RSU-6、RSU-5和RSU-4。如前所述,“7”、“6”、“5”和“4”表示RSU块的高度(L)。L通常根据输入特征图的空间分辨率进行配置。对于高和宽较大的特征图(编者注:指分辨率较大),我们使用较大的L来捕获更大尺度的信息。En 5和En 6中特征图的分辨率相对较低,进一步降低这些特征图的采样会导致有用上下文的丢失。因此,在En 5和En 6两个阶段中,都使用RSU-4F,其中“F”表示RSU是一个dilated版本,在该版本中,我们用扩张卷积替换池化和上采样操作(见图5)。这意味着RSU-4F的所有中间特征图与其输入特征图具有相同的分辨率。

(ii)解码器级具有与其关于En 6的对称编码器级类似的结构。在De 5中,我们还使用扩展版残差U块RSU-4F,这与编码器级En 5和En 6中使用的类似。每个解码器级将来自其前一级的上采样特征映射和来自其对称编码器级的上采样特征映射的级联作为输入,参见图5。

(iii)最后一部分是显著图融合模块,用于生成显著概率图。与HED[45]类似,我们的U2-Net首先通过3×3卷积层和sigmoid函数从阶段En 6、De 5、De 4、De 3、De 2和De 1生成六侧输出显著性概率图(six side output saliency probability maps)S_{side}^{(6)}S_{side}^{(5)}S_{side}^{(4)}S_{side}^{(3)}S_{side}^{(2)}S_{side}^{(1)}。然后,它将侧输出(side output)显著性映射的logit(在sigmoid函数之前的卷积输出)向上采样到输入图像大小,并使用一个拼接操作(随后是1×1卷积层和sigmoid函数)将其融合,以生成最终显著性概率映射S_{fuse} (参见图5的右下角)。

总之,我们的U2-Net的设计允许具有丰富的多尺度特性和相对较低的计算和内存成本的深层架构。此外,由于我们的U2-Net架构仅构建在RSU块上,而不使用任何根据图像分类调整的预训练主干,因此它灵活且易于适应不同的工作环境,性能损失不大。在本文中,我们通过使用不同的滤波器数量配置提供了两个U2-Net实例:一个普通版本U2-Net(176.3MB)和一个相对较小的版本U2-Net†(4.7MB)。详细配置见表1的最后两行。

3.3. 监督

在训练过程中,我们使用了与HED类似的深度监督[45]。其有效性已在HED和DSS中得到验证。我们的训练损失定义为:

L=\sum_{m=1}^M w_{side}^{(m)}  l_{side}^{(m)} + w_{fuse}  l_{fuse}     (1)

其中, l_{side}^{(m)} 是侧输出显著性映射S_{side}^{(m)}的损失(M=6,如图5中的Sup1、Sup2、... Sup6所示),l_{fuse} 是最终融合输出显著性映射S_{fuse} 的损失(图5中的Sup7)。w_{side}^{(m)} w_{fuse}  是每个损失的加权权重。对于每一项,我们使用标准二值交叉熵来计算损失:

l=-\sum_{(r,c)}^{(H,W)} [{P_{G(r,c)} }log{P_{S(r,c)} }+(1-{P_{G(r,c)} })log(1-{P_{S(r,c)} })]    (2)

其中(r,c)是像素坐标,(H,W)是图像高宽,{P_{G(r,c)} }{P_{S(r,c)} }分别表示真值和预测显著性概率图的像素值。训练过程试图最小化等式(1)的总损失L。在测试过程中,我们选择融合输出的l_{fuse}作为最终的显著性图。

4.    实验结果

4.1. 数据集

训练数据集:    我们在DUTS-TR上训练我们的网络,它是DUTS数据集的一部分[39]。DUTS-TR总共包含10553个图像。目前,它是用于显著目标检测的最大和最常用的训练数据集。我们通过水平翻转来扩充这个数据集,从而离线获得21106个训练图像。

评估数据集:    六个常用的基准数据集用于评估我们的方法,包括:DUTOMRON[47]、DUTS-TE[39]、HKU-IS[18]、ECSSD[46]、PASCAL-S[19]、SOD[30]。DUT-OMRON包括5168幅图像,其中大部分包含一个或两个结构复杂的前景对象。DUTS数据集由两部分组成:DUTS-TR和DUTS-TE。如上所述,我们使用DUTS-TR进行训练。因此,包含5019幅图像的DUTS-TE被选为我们的评估数据集之一。HKU-IS包含4447幅具有多个前景对象的图像。ECSSD包含1000个结构复杂的图像,其中许多包含大型前景对象。PASCAL-S包含850幅图像,前景对象复杂,背景杂乱。SOD仅包含300个图像。但这是非常具有挑战性的。因为它最初是为图像分割而设计的,并且许多图像对比度低或包含与图像边界重叠的复杂前景对象。

4.2. 评价指标

深度显著目标方法的输出通常是与输入图像具有相同空间分辨率的概率图。预测显著性图的每个像素的值都在0和1(或[0-255])的范围内。真值通常是二值掩码,其中每个像素为0或1(或0和255),其中0表示背景像素,1表示前景突出对象像素。

为了综合评估这些概率图相对于真值的质量,有六种度量,包括(1)精度召回(Precision-Recall,PR)曲线,(2)最大F度量(maxF_β)[1],(3)平均绝对误差(MAE)[23,33,22],(4)加权F度量(F_β^w)[29],(5)结构度量(S_m)[8]和(6)边界的松弛F度量(relaxed F-measure of boundary)(relaxF_β^b)[33]:

(1)PR曲线    是基于一组精度召回对(precision-recall pairs)而绘制的。给定一个预测的显著性概率图,其精度和召回分数是通过将其阈值二元掩码与真值掩码进行比较来计算的。数据集的精度和召回分数是通过平均这些显著性映射的精度和召回分数来计算的。通过将阈值从0增加到1,我们可以得到数据集的一组平均精度召回对。

(2) F-measure    F_β用于综合评估精度和召回率,如下所示:

F_β=\frac{(1+β^2)\times Precision\times Recall}{β^2\times Precision+Recall}     (3)

我们将β^2设置为0.3,并报告每个数据集的最大F_βmaxF_β),类似于之前的工作[1,23,50]。

(3) MAE    是平均绝对误差,表示预测的显著性图与其真值遮罩之间的平均每像素差异。其定义为:

MAE= \frac{1}{H\times W} \sum\nolimits_{r=1 }^H \sum\nolimits_{c=1 }^W |P(r,c)-G(r,c)|    (4)

其中PG分别是显著目标检测的概率图和相应的真值,(H,W)(r,c)分别是图像高宽和像素坐标。

(4) weighted F-measure(F_β^w)[29]    是对maxF_β的补充度量,用于克服“插值缺陷、依赖性缺陷和同等重要性缺陷”可能导致的不公平比较[23],定义为:

F_β^w=(1+β^2)\frac{Precision^w\cdot  Recall^w}{β^2\cdot Precision^w+Recall^w}     (5)

(5) S-measure (S_m    用于评估预测的非二值显著性图和真值的结构相似性。S-测度定义为区域感知S_r和对象感知S_o结构相似性的加权和(Sm is used to evaluate the structure similarity of the predicted non-binary saliency map and the ground truth.The S-measure is defined as the weighted sum of region-aware Sr and object-aware So structural similarity):

S=(1-\alpha S_r)+\alpha S_o    (6)

其中α通常设置为0.5。

(6) relax boundary F-measure relaxF_β^b[7]    用于定量评估预测显著性图[33]的边界质量。给定一个预测的显著性概率图P∈ [0,1],通过简单的阈值操作(阈值设置为0.5)获得其二值掩模P_{bw}。然后,执行XOR(P_{bw},P_{erd})操作以获得其一像素宽的边界(its one pixel wide boundary),其中P_{erd}表示P_{bw}腐蚀的二值掩膜[11]。以相同的方式获得真值掩模的边界。松弛边界F-度量relaxF_β^b的计算类似于公式(3)。不同之处在于,要将公式(3)中的PrecisionRecall分别换成relaxPrecision^brelaxRecall^b。松弛边界精度(relaxPrecision^b)的定义是距离真值边界像素ρ像素范围内的预测边界像素分数。松弛边界召回(relaxRecall^b)定义为位于预测边界像素ρ像素范围内的真值边界像素分数。松弛参数ρ设置为3,与之前的工作一样[33]。对于某个数据集,本文报告所有预测显著性图的平均relaxF_β^b

4.3    实施细节

在训练过程中,首先将每个图像的大小调整为320×320,然后随机垂直翻转并裁剪为288×288。我们没有在网络中使用任何现有的主干网。因此,我们从头开始训练网络,所有卷积层都由Xavier[10]初始化。损失函数的加权权重w_{side}^{(m)} w_{fuse}  都设为1。Adam optimizer[16]用于训练我们的网络,其超参数设置为默认值(初始学习率lr=1e-3,betas=(0.9,0.999),eps=1e-8,权重衰减=0)。我们训练网络直到损失收敛,而不使用验证集,遵循之前的方法[22,23,50]。经过600k次迭代(批量大小为12),训练损失收敛,整个训练过程大约需要120小时。在测试过程中,将输入图像(H×W)调整为320×320,并输入网络以获得显著性图。将大小为320×320的预测显著性图调整回输入图像的原始大小(H×W)。双线性插值用于两种调整大小过程。我们的网络是基于Pytorch 0.4.0[32]实现的。训练和测试都是在一台8核16线程PC上进行的,该PC配有AMD Ryzen 1800x 3.5 GHz CPU(32GB RAM)和GTX 1080ti GPU(11GB内存)。我们稍后将发布代码。

4.4    消融研究

为了验证我们的U2-Net的有效性,我们在以下三个方面进行了消融研究:i)基本块,ii)架构和iii)主干。所有消融研究遵循相同的实施设置。

4.4.1    块上的消融

在块消融中,目标是验证我们新设计的残余U型区块(RSU)的有效性。具体来说,我们使U2-Net的外部编码器-解码器架构固定不变,并用其他流行的块替换其阶段,包括普通卷积块(PLN)、残差类块(RSE)、密集类块(DSE)、inception-like块(INC)和金字塔池模块(PPM),如图2(a)-(d)所示。详细配置见表1。

表1。消融研究中使用的不同结构的详细配置。“PLN”、“RES”、“DSE”、“INC”、“PPM”和“RSU”分别表示普通卷积块、残差块、密集块、inception块、金字塔池化模块和我们的残差U块。“NIV U2-Net”表示U-Net,其每个阶段都由一个简单的U-Net块替换。“I”、“M”和“O”表示每个块的输入通道(Cin)、中间通道和输出通道(Cout)的数量。“En i”和“De j”分别表示编码器和解码器级。“NIV-L”和“RSU-L”中的数字“L”表示原始U型块和残差U型块的高度。

表2显示了消融研究的定量结果。正如我们所见,基线U-Net的性能最差,而PLN U-Net、RES U-Net、DES U-Net、INC U-Net和PPM U-Net的性能优于基线U-Net。因为它们要么更深,要么具有提取多尺度特征的能力。然而,它们的性能仍然低于我们的全尺寸U2-Net和小型版本U2-Net†。特别是,在DUT-OMRON和ECSSD数据集上,我们的全尺寸U2-Net分别将maxF_β提高了约3.3%和1.8%,并将MAE降低了超过12.9%和21.4%(在块消融研究中)。此外,在DUT-OMRON数据集上,我们的U2-Net和U2-Net†使maxF_β分别增加了9.8%和8.8%,MAE分别降低了34.1%和27.0%,这是相对于基线U-Net的显著改进。在ECSSD数据集上,虽然我们的U2-Net和U2-Net†相对于基线U-Net的maxF_β改善(5.5%,4.7%)略低于DUT-OMRON,但MAE的改善更大(50.0%,38.0%)。因此,我们相信,我们新设计的残差U块RSU在这项显著目标检测任务中优于其他RSU。此外,基于残差U块(RSU)的U2-Net架构的时间成本没有显著增加。

表2。不同块体、结构和主干的消融研究结果。“PLN”、“RES”、“DSE”、“INC”、“PPM”和“RSU”分别表示普通卷积块、残差块、密集块、inception块、金字塔化模块和我们的残差U块。“NIV U2-Net”表示U-Net,其每个阶段由一个简单的UNet块代替。“ Time (ms)” (ms: milliseconds) 消耗通过平均ECSSD数据集中图像的推断时间成本来计算。带有粗体字体的值表示性能最佳的两个。

4.4.2    架构上的消融

如前所述,以前的方法通常使用级联方式来堆叠多个类似的结构,以构建更具表现力的模型。这个想法背后的一个直觉是,多个相似的结构能够逐渐细化结果,同时减少过度拟合。堆叠HourglassNet[31]和CU-Net[37]是这一类别中的两个代表性模型。因此,我们采用了堆叠的HourglassNet和CU-Net来比较级联架构和嵌套架构之间的性能。如表2所示,我们的全尺寸U2-Net和小尺寸U2-Net†都优于这两种级联模型。值得注意的是,堆叠的HourglassNet和CU-Net都使用改进的U-Net类模块作为其堆叠子模型。为了进一步证明我们的嵌套架构的有效性,我们还演示了基于原始U块(NIV)的U2网络的性能,而不是我们新提出的残差U块。我们可以看到,NIV U2-Net仍然比这两个级联模型实现更好的性能。此外,嵌套架构比级联架构更快。总之,我们的嵌套架构在准确性和速度方面都比级联架构能够实现更好的性能。

4.4.3    主干消融

与以前使用主干(例如VGG、ResNet等)作为编码器的显著目标检测模型不同,我们新提出的U2-Net架构是无主干的。为了验证无主干设计,我们进行了消融研究,用不同的主干(VGG16和ResNet50)替换我们全尺寸U2网络的编码器部分。实践中,我们在主干(VGG-16和ResNet-50)的最后一个卷积阶段后面再接一个额外的阶段,以实现与我们最初的U2-Net架构设计相同的感受野。如表2所示,使用主干网和我们的RSU作为解码器的模型比以前的消融实现了更好的性能,并且与我们的小尺寸U2-Net相比性能相当。然而,他们仍然不如我们的全尺寸U2-Net。因此,我们相信,在这个显著性目标检测任务中,我们的无主干设计比基于主干的设计更具竞争力。

4.5. 与最新技术的比较

我们将我们的模型(全尺寸U2-Net,176.3 MB和小尺寸U2-Net†,4.7 MB)与20种最先进的方法进行比较,包括一种基于AlexNet的模型:MDF;10种基于VGG的模型:UCF、Amulet、NLDF、DSS、RAS、PAGRN、BMPM、PiCANet、MLMS、AFNet;一个基于DenseNet的模型MSWS;一个基于ResNeXt的模型:R3Net;以及七个基于ResNet的模型:CapSal、SRM、DGRL、PiCANetR、CPD、PoolNet、BASNet。为了公平比较,我们主要使用作者提供的显著目标检测结果。对于某些方法的某些数据集上缺少的结果,我们在建议的环境设置下运行它们发布的代码和经过训练的模型。

4.5.1    定量比较

图6显示了我们的模型(U2-Net,176.3 MB和U2-Net†,4.7 MB)的精确-召回曲线以及六个数据集上最先进的典型方法。曲线与表3和表4一致,表3和表4展示了我们的U2-Net在DUT-OMRON、HKU-IS和ECSSD上的最先进性能,以及在其他数据集上的竞争性能。表3和表4比较了五个(六个包括模型大小)评估指标以及我们提出的方法与其他方法的模型大小。正如我们所看到的,我们的U2-Net在数据集DUT-OMRON、HKU-IS和ECSSD上几乎在五个评估指标中都达到了最佳性能。在DUTS-TE数据集上,我们的U2-Net的总体性能排名第二,略低于PoolNet。在PASCAL-S上,我们的U2-Net的性能略低于AFNet、CPD和PoolNet。值得注意的是,就边界质量评估指标relaxFβb而言,U2-Net的性能排名第二。在SOD数据集上,PoolNet表现最好,而我们的U2-Net在整体性能方面排名第二。

图6。在六个SOD数据集上,我们的模型和其他典型最先进模型的精确-召回曲线。 表3。比较我们的方法与20种SOTA方法在DUT-OMRON、DUTS-TE、HKU-IS上的模型尺寸、maxFβ(↑), MAE(↓), 加权Fβw(↑), 结构度量Sm(↑) 和松弛边界F-测度relaxFβb(↑). 红色、绿色和蓝色表示最佳、第二最佳和第三最佳性能。 表4.比较我们的方法与20种SOTA方法在ECSSD、PASCAL-S、SOD的模型大小、maxFβ(↑), MAE(↓), 加权Fβw(↑), 结构度量Sm(↑) 和松弛边界F-测度relaxFβb(↑). 红色、绿色和蓝色表示最佳、第二最佳和第三最佳性能。

我们的U2-Net†只有4.7 MB,这是当前显著目标检测领域中最小的模型。与其他模型相比,它的参数数量要少得多,但仍能获得令人惊讶的竞争性能。虽然它的性能不如我们的全尺寸U2-Net,但它的轻量将促进它在许多计算和内存受限环境中的应用。

4.5.2    定性比较

为了直观地了解我们模型的良好性能,我们在图7中展示了我们模型的示例结果和其他几种最先进的方法。正如我们所见,我们的U2-Net和U2-Net†能够处理不同类型的目标,并产生准确的显著目标检测结果。图7的第一行和第二行显示了小物体和大物体

的结果。正如我们所观察到的,我们的U2-Net和U2-Net†能够在小物体和大物体上产生准确的结果。其他模型要么容易错过小目标,要么产生精度较差的大对象。第三行显示目标接触图像边界的结果。我们的U2网络正确地划分了所有区域。虽然U2-Net†错误地分割了右下角的孔,但它仍然比其他型号好得多。第四行演示了模型在分割既包含大结构又包含窄细结构的物体的性能。正如我们所看到的,除了AFNet(第j列)之外,大多数其他模型虽然能很好地提取大结构,但是都会错失窄细的缆状结构。第五行是一棵背景相对干净的树,背景是蓝天。这看起来很简单,但实际上对大多数模型来说都是一个挑战,因为目标的形状很复杂。正如我们所看到的,我们的模型可以很好地分割树干和树枝,而其他模型在分割复杂的树枝区域时失败。与第5排相比,第6排所示的工作台由于采用中空结构而更加复杂。我们的U2-Net产生了近乎完美的效果。虽然U2-Net†预测图的右下角不完美,但其在这一目标上的总体性能比其他模型要好得多。此外,与PoolNet(第f列)、CPD(第g列)、picanatr(第h列)和AFNet(第j列)等模型相比,我们的模型的结果更具有一致性,灰度区域更少。第七行显示,我们的模型可以产生比真值更精细的结果。在第7张图片中标记这些小孔既麻烦又耗时。因此,这些重复的精细结构通常在注释过程中被忽略。从这些不完善的标签推断正确的结果是一项挑战。但是我们的模型在分割这些精细结构方面表现出了很好的能力,这要归功于设计良好的架构,用于提取和集成高分辨率局部和低分辨率全局信息。第8行和第9行显示了我们的模型在检测背景杂乱和前景复杂的目标方面的强大能力。第10行显示,我们的模型能够分割多个目标,同时捕获检测到的目标的细节(参见每艘帆船两片帆的间隙区域)。总之,我们的全尺寸和小尺寸模型都能够处理各种场景,并产生高精度的显著目标检测结果。

图7.提出方法与其他七种SOTA方法的定性比较:(a)图像,(b)GT,(c)Ours,(d)Ours†,(e)BASNet,(f)PoolNet,(g)CPD,(h)Picanert,(i)R3Net+,(j)AFNet,(k)DSS+,其中“+”表示CRF后处理。

5    结论

在本文中,我们提出了一种新的深度网络:U2-Net,用于显著目标检测。我们的U2-Net的主要架构是一个two-level 嵌套的U型结构。我们新设计的RSU块嵌套的U结构使网络能够从浅层和深层捕获更丰富的局部和全局信息,而不管分辨率如何。

与那些建立在现有主干上的SOD模型相比,我们的U2-Net完全建立在建议的RSU块上,这使得可以从头开始训练,并根据目标环境约束配置不同的模型大小。在本文中,我们提供了一个全尺寸的U2-Net(176.3 MB,30 FPS)和一个较小尺寸的版本U2-Net†(4.7 MB,40 FPS)。在6个公共显著目标检测数据集上的实验结果表明,这两种模型在定性和定量测量方面与其他20种最先进的方法相比具有非常强的竞争力。

尽管我们的模型与其他最先进的方法相比具有竞争力,但对于计算和内存有限的设备(如手机、机器人等),我们需要更快、更小的模型。在不久的将来,我们将探索不同的技术和架构,以进一步提高速度并减小模型尺寸。此外,需要更大的多样化显著对象数据集来训练更精确和更健壮的模型。

相关文章

  • U2-Net

    CVPR2020github 5k★ https://github.com/NathanUA/...

网友评论

      本文标题:U2-Net

      本文链接:https://www.haomeiwen.com/subject/mygsxrtx.html