(转载)论文阅读:U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection

(转载)U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection
当前方法的问题

使用VGG、ResNet等为图像分类任务设计的网络提取深层特征,但是,这些骨干网络最初是为图像分类任务设计的,它们提取的特征是代表语义意义的,而不是对显著性检测是必不可少的局部细节和全局对比度信息。并且这些网络都需要在ImageNet数据集上预训练,而这些数据都是低效的,尤其是当目标数据的分布和ImageNet分布不同的时候。

除此之外,这些方法都是在现有的骨干网络上增加额外的特征聚合模块,这样会导致网络过于复杂。

并且现有的骨干网络通常通过牺牲高分辨率的特征图来实现更深层次的架构,为了以可承受的内存和计算成本运行这些深度模型,在早期阶段会将特征图缩小到较低的分辨率,但是除了深层结构之外,高分辨率在分割中也起着重要的作用。
动机

能否设计一个新的用于显著物体检测的网络,能允许从头开始训练,并取得与现有的基于预训练的骨干网络的模型相当或更好的性能。

能否在低内存和低计算成本的情况下,在保持高分辨率特征图的同时,实现更加深的网络架构
怎么解决这个问题

U2Net是一个两层嵌套的Unet结构,是为显著性检测任务设计的, 没有使用任何来自图像分类的预训练的骨干网络。可以从零开始训练,达到有竞争力的表现。
网络结构
(转载)论文阅读:U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection

在介绍RSU残差U形块之前,先介绍一下不同的卷积块的设计。局部和全局上下文信息对于显著对象检测和其他分割任务都非常重要。在VGG、ResNet这些网络的设计中,1×1或者3×3大小的卷积是最常用的,因为它们需要更少的存储空间,并且计算效率高。a-c展示的就是几种典型的小感受野的卷积块,这样的设计的网络浅层的输出特征只包含局部特征,因为1×1或3×3的卷积感受野太小,捕捉不到全局信息。为了从浅层获得更多的高分辨率特征图的全局信息,最直接的想法是扩大感受野,图d展示的就是利用膨胀卷积来提取局部和全局特征的结构,但是在高分辨率的图像上进行多个膨胀卷积需要太多的计算和存储资源。为了减少计算损失,有的方法选择对下采样后的特征使用金字塔池化模块PPM提取全局特征。但是直接上采样再concat或者相加不同尺度的特征可能会导致高分辨率特征的退化受Unet结构的启发,作者设计了图e这种残差U形块,其中Cin和Cout表示输入和输出通道,M表示RSU内层的通道数。RSU分成三个部分,首先是一个输入卷积层,卷积核大小是3×3,作用是将输入特征图的通道数转换成Cout大小。然后经过一个高度为L的类似Unet的对称编解码结构。更大的L会有更深的RSU块,更多的池化操作,更大范围的感受野和更丰富的局部和全局特征。使用不同L的RSU可以从具有任意空间分辨率的输入特征图中提取多尺度特征。多尺度特征从逐渐下采样的特征图中提取,并通过逐渐上采样、拼接和卷积编码成高分辨率特征图。该过程减轻了由大规模直接上采样引起的精细细节的损失。第三步残差连接,也就是计算局部特征和多尺度特征的和。

(转载)论文阅读:U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection

为了说明这种结构的好处,将RSU和原始的残差块进行对比,可以发现主要区别在于RSU用一个类似Unet的结果代替了普通的单流卷积,原始残差块的输出是输入的原始特征加上局部特征,而残差U型块用权重变换的多尺度特征代替了原始特征,这种设计使网络能直接的从每个残差块提取多尺度特征

(转载)论文阅读:U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection

更值得注意的是,由于U型结构导致的计算开销很小,这是因为大多数操作是对下采样的特征进行。这张图展示的是之前那张图中的其他4种不同的特征提取模块结构和本文提出的RSU结构的计算成本比较,通过这张图可以看出,DSE也就是密集连接的结构,和INC也就是利用膨胀卷积扩大感受野的类似GoogleNet inception的结构和RSU的浮点操作都随着内部通道数的增加而二次增长,是二次函数U关系。但RSU在二次项上的系数要小得多。它的计算开销与普通卷积块(PLN)和残差块(RES)(这两种线性增长的计算开销)相比并不显著。

(转载)论文阅读:U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection

前4个stage的特征的分辨率是比较高的,分辨率搞的特征图使用更大的L来捕捉大尺度的信息,前四个编码器的高度分别是7/6/5/4,第5/6个stage中由于分辨率已经很低了,进一步下采样会导致信息的丢失,所以采用膨胀卷积代替池化和上采样操作,回去看图。解码器和编码器的结构是类似的,不过解码器的输入是其前一级的特征上采样和对称的编码器特征级联得到的。最后一步通过3×3卷积的得到6个解码器的侧边输出显著性图,并融合得到融合的显著性图。

损失函数采用的标准的二元交叉熵损失。
实验
(转载)论文阅读:U2-Net: Going Deeper with Nested U-Structure for Salient Object Detection

上一篇:MacOS上如何批量更改视频帧速率


下一篇:性能测试JMeter应用篇---同线程组、跨线程组实现token共用