其他分享
首页 > 其他分享> > (二十五:2020.12.14)MICCAI 2020 学习(二)《U^2 Net》

(二十五:2020.12.14)MICCAI 2020 学习(二)《U^2 Net》

作者:互联网

《U^2 Net: Going Deeper with Nested U-Structure for Salient Object Detection》《借助嵌套U型结构深入研究显着物体》

讲在前面

摘要

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

论文内容

1.介绍

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

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

2.之前的相关工作

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

2.1 多级的深度特征整合

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

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

2.2 多尺度特征提取

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

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

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

3.我们提出的方法

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

3.1 残差U型块

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

        一般残差块的结构可以概括为 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)相比,其计算开销并不大。

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结构可更加有效地提取阶段内多尺度特征并聚合阶段间多尺度特征。

        总而言之,我们的U2-Net的设计允许具有丰富的多尺度功能的深度体系结构以及相对较低的计算和内存成本。 此外,由于我们的U2-Net架构仅建立在我们的RSU上,而未使用任何经过图像分类的预训练主干,因此它灵活且易于适应不同的工作环境,而性能损失不大。 在本文中,我们通过使用不同的卷积核编号配置来提供U2-Net的两种实例:正常版本的U2-Net(176.3 MB)和相对较小的版本的U2-Net†(4.7 MB)。 表1的最后两行显示了详细的配置。

在这里插入图片描述

3.3 监督策略

        在培训过程中,我们使用类似于HED的深度监督策略。 在HED和DSS中已经证明了其有效性。 我们的训练损失定义为:
L = ∑ m = 1 M w s i d e ( m ) l s i d e ( m ) + w f u s e l f u s e \mathcal L = \sum_{m=1}^Mw_{side}^{(m)}l_{side}^{(m)}+w_{fuse}l_{fuse} L=m=1∑M​wside(m)​lside(m)​+wfuse​lfuse​
        以图5为例, l s i d e ( m ) l_{side}^{(m)} lside(m)​是 S s i d e ( m ) S^{(m)}_{side} Sside(m)​的损失,而 l f u s e l_{fuse} lfuse​是 S f u s e S_{fuse} Sfuse​的损失; w s i d e ( m ) w_{side}^{(m)} wside(m)​和 w f u s e w_{fuse} wfuse​是每个损失项的权重。对于每一个项 l l l,我们使用BCE来计算损失:
l = − ∑ ( r , c ) ( H , W ) [ P G ( r , c ) l o g P S ( r , c ) + ( 1 − P G ( r , c ) l o g ( 1 − P S ( r , c ) ) ) ] l = -\sum_{(r,c)}^{(H,W)}[P_{G(r,c)}logP_{S(r,c)}+(1-P_{G(r,c)}log(1-P_{S(r,c)}))] l=−(r,c)∑(H,W)​[PG(r,c)​logPS(r,c)​+(1−PG(r,c)​log(1−PS(r,c)​))]
        在这里, ( r , c ) (r,c) (r,c)是像素点的坐标, ( H , W ) (H,W) (H,W)是图像的高宽, P G ( r , c ) P_{G(r,c)} PG(r,c)​表示像素的真实值, P S ( r , c ) P_{S(r,c)} PS(r,c)​表示像素的预测值,训练的目的是尽可能的使得总损失 L \mathcal L L最小。在测试过程中,我们选择融合输出 l f u s e l_{fuse} lfuse​作为最终的显着性图。

4.实验结果

4.1 数据集

4.2 评估方法

        深度显著目标检测的方法输出通常是概率图,其与输入图像具有相同的空间分辨率。 预测显著性图的每个像素的值都在0到1(或[0,255])的范围内。gt通常是二进制掩码,其中每个像素为0或1(或0和255),其中0表示 背景像素和1表示前景显着对象像素。
        为了全面评估那些相对于gt的概率图的质量,使用以下六种度量:(1)精度回归(PR)曲线,(2)最大F度量( m a x F β maxF_β maxFβ​),(3) 绝对误差(MAE),(4)加权F度量( F β w F^w_β Fβw​),(5)结构度量( S m S_m Sm​),以及(6)约束的松弛F测度( r e l a x F β b relaxF^b_β relaxFβb​):

4.3 实现细节

        在训练的过程中,每张图片会被resize成 320 × 320 320\times320 320×320,同时随机旋转然后再裁剪成 288 × 288 288\times288 288×288。我们不再使用任何的骨干网络,因此,我们从头开始训练我们的网络,所有的卷积层都由Xavier初始化。损失的权重 w s i d e ( m ) w^{(m)}_{side} wside(m)​和 w f u s e w_{fuse} wfuse​都设置为1。使用Adam优化器,其超参数lr=1e-3,betas=(0.9, 0.999),eps=1e-8,weight_decay=0。我们在不使用验证集的情况下训练网络直到损失收敛。大约在60万的iteration(batchsize为12)后,损失收敛,总共用时120个小时。在测试时,输入图片被resize为 320 × 320 320\times320 320×320然后输入网络从而获得显著性图,预测后的显著性图为 320 × 320 320\times320 320×320然后会重新resize成原始大小。两次resize都用的线性插值。网络使用的是pytorch0.4.0,训练和测试都在8核、16线程的PC上(AMD Ryzen 1800x3.5 GHz CPU (32GB RAM) 和 GTX 1080ti GPU (11GBmemory)。我们已经将代码开源。

4.4 Ablation Study(消融研究)

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

4.4.1 基本块上的消融研究

        在块消融时,目标是验证我们新设计的RSU的有效性。具体来说,我们固定了我们的U2-Net的外部编解码器结构,并用RSU块之外的其他常用块(包括普通卷积块(PLN)、类剩余块(RSE)、类密集块(DSE)、类切波块(INC)和金字塔池模块(PPM))替换了它,如图2 (a)-(d)所示。详细的配置见表1

4.4.2 结构上的消融研究

        正如我们上面提到的,以前的方法通常使用cascaded的方式来堆叠多个类似的结构,以构建更具表达性的模型。该思想的一个直观的特点是,多个相似结构能够在减少过拟合的同时逐步改进结果。StackedHourglassNet和CU-Net是这类模型中的两个代表性模型。因此,我们采用了StackedHourglassNet和CU-Net来比较级联架构和嵌套架构之间的性能。如表2所示,我们的全尺寸模型U2-Net和小尺寸模型U2-Net†均优于这两种级联模型。值得注意的是,StackedHourglassNet和CU-Net都采用了改进的类u网模块作为它们的堆叠子模型。为了进一步证明我们的嵌套架构的有效性,我们还举例说明了一个基于朴素u块(NIV)的U2-Net的表现,而不是我们新提出的RSU。我们可以看到,NIV U2-Net仍然取得了比这两个级联模型更好的性能。此外,嵌套架构比级联架构更快。综上所述,我们的内嵌架构在精度和速度方面都比传统的内嵌架构取得了更好的性能。

4.4.3 骨干网络上的消融研究

        不同于以往突出的目标检测模块(如vgg、ResNet等)使用骨干作为编码器,我们新提出的U2-Net架构是无骨干的。为了验证自由骨干网的设计,我们进行了研究,用不同的骨干网:VGG16和ResNet50替换我们的全sizeU2-Net的编码器部分。实际上,我们对主干(VGG-16和ResNet-50)进行了调整,在它们的最后一个convolutionalstage之后增加了一个额外的stage,以实现与我们最初的U2-Net架构设计相同的接受域。如表2所示,使用骨干和RSU作为解码器的模型取得了比以前的实验更好的性能,并且与我们的小型U2-Net相比具有更好的性能。然而,他们仍然低于我们的全尺寸的U2-Net。因此,我们认为在SOD任务中,我们的无骨架设计比基于骨架的设计更有竞争力。

4.5 与SOTA进行对比

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

4.5.1 定量比较

        图6展示了我们的模型(U2-Net, 176.3 MB和U2-Net†,4.7 MB)的PR曲线以及对这六个数据集的典型的最新方法。这些曲线与表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。值得注意的是,在边界质量评价指标 r e l a x F β b relaxF^b_β relaxFβb​方法方面,U2-net达到了第二好的性能。在SOD上,PoolNet的性能最好,而在总体性能方面,我们的U2-Net是第二好的。
        我们的U2-Net†只有4.7 MB,这是目前在突出目标检测领域最小的模型。与其他模型相比,少得多的参数,它仍然取得惊人的竞争性能。虽然它的性能不如我们的全尺寸的U2-Net,但它的小尺寸将有助于它在许多计算和内存受限的环境中的应用。

4.5.1 定性比较

        为了直观地理解我们的模型的前景表现,我们在图7中说明了我们的模型的样本结果和其他几个最先进的方法。正如我们所看到的,我们的U2-Net和U2-Net†能够处理不同类型的目标,并产生准确的显著的目标检测结果。

5.总结

        在本文中,我们提出了一种新的深度网络:U2-Net,用于显著目标检测。我们的U2-Net的主要架构是一个两层嵌套的u结构。嵌套的u型结构与我们新设计的RSU块,使网络从浅层和深层捕获更丰富的局部和全局信息。与那些建立在现有骨干上的SOD模型相比,我们的U2-Net完全建立在所提议的RSU上,这使得它可以根据目标环境的约束从开始训练并配置成不同的模型大小。在本文中,我们提供了一个全尺寸的U2-Net (176.3 MB, 30 FPS)和一个较小尺寸的U2-Net†(4.7 MB, 40 FPS)。在6个公共突出目标检测数据集的实验结果表明,相对于其他20个最先进的方法在定性和定量措施,两种模型取得了非常有竞争力的性能。
虽然我们的模型取得了与其他最先进的方法竞争的结果,但更快和更小的模型需要计算和内存有限的设备,如移动电话,机器人等。在不久的将来,我们将研究不同的技术和架构来进一步提高速度和减小模型的尺寸。此外,需要更大的多样化显著目标数据集来训练更精确和鲁棒的模型。

标签:14,特征,模型,U2,MICCAI,RSU,2020.12,Net,我们
来源: https://blog.csdn.net/weixin_42061636/article/details/111150698