一、SOD任务
SOD即Salient Object Detection,显著性目标检测,其目的是将图像中最显著的目标区域分割出来,是一种包含前景和背景的二分类语义分割任务。
1. 问题和动机
大多数已有的SOD网络模型都有一个共同的模式,即他们侧重于充分利用现有的骨干网络提取深度特征信息,如Alexnet、VGG、ResNet等。然而,这些骨干网络最初都是为图像分类任务而设计的,它们提取的是代表语义的特征,而不是对显著性检测至关重要的局部细节和整体之间的对比信息。
First Question: 是否能为SOD任务设计一个新的网络,这个新网络允许我们从头开始训练,并且使得其性能达到或者超越现有基于预训练模型的网络?
2. 关于网络框架
用于SOD的网络框架,有几个问题。首先,很多网络框架往往过于复杂,部分原因是它们在现有的骨干网络中加入了额外的特征聚合模块,以提取多层次的显著性特征。其次,现有网络一般通过牺牲特征图的高分辨率来实现更深的网络架构。为了以可承受的内存和计算成本运行这些网络,特征图往往被缩小到较低的分辨率。例如,ResNet和DenseNet中,利用步长为2的卷积和最大池化,将特征图缩小到原来的1/4。但是,除了网络的深度外,高分辨率在分割中也发挥着重要的作用。
因此,我们要考虑的是:能否在保持高分辨率特征图的同时,以较低的内存和计算成本进行深入研究?
二、前言
U2Net是一种新颖的、简单的网络架构,它具有双层嵌套的U型结构,主要设计用于SOD任务,能够从头开始训练,而不需要来自于图像分类的预训练骨干网络,并且性能也很有竞争力。此外,这种新型架构使得网络变得更深,同时保持高分辨率,而无需显著增加内存和计算量。
1. ReSidual U-block
ReSidual U-block (RSU) 是用于底层的新颖的结构,它能够在不降低特征图分辨率的前提下提取多尺度的特征。在顶层,有一个类似于UNet的结构,其中每一个阶段都由一个RSU块构成。这种双层嵌套的模式就构成了U2Net,同时,我们还提供了一个轻量级的版本,即U2Net+。
2. 多层次深度特征聚合
3. 多尺度特征提取
正如前面所提到的,SOD任务要求同时获得局部和全局信息。而一个3×3的滤波器更擅长于获取局部特征。仅仅通过简单地增大卷积核的大小来提取全局信息是很困难的,因为这会显著增加参数量和计算量。
4. U2Net
多层次深度特征聚合方法主要考虑开发更好的多级特征聚合策略,而多尺度特征提取方法是设计新的模块,从骨干网络获取的特征中提取局部和全局信息。然而,这些方法都是试图利用已有的图像分类网络作为骨干网络来提取特征图。我们从另一种角度出发,没有开发和增加更复杂的模块和策略,用于提取全局特征,而是提出了一种新颖而简单的架构,直接逐级提取多尺度特征。
三、RSU
对SOD任务而言,局部和全局上下文信息都非常重要。1×1和3×3的卷积核是分类网络中最常用的组件,使用他们提取特征,计算复杂度和空间复杂度都较小。感受野也较小。浅层特征图仅仅包含局部特征,因为1×1和3×3的卷积核太小而不足以获取全局特征信息。在浅层中,为了从高分辨率特征图中获取全局信息,最直接的想法就是增大感受野。
图(d)展示的是使用膨胀卷积扩大感受野来提取局部和全局特征。然而,在原始分辨率下对输入特征图进行多次膨胀卷积需要特别大的计算和内存资源。
通过直接上采样和通道拼接或者相加来融合不同尺度的特征,可能导致高分辨率特征的退化。
1. Inspired by UNet
受到UNet的启发,我们提出了一种新颖的ReSidual U-block(RSU),用于获取阶段内的多尺度特征。图(e)展示了RSU-L的结构,其中L是编码器的层数,Cin和Cout是输入和输出通道数,M是RSU内部层的通道数,因此,RSU包含三个组成成分:
(1)一个输入卷积层——用于局部特征提取的普通卷积层,它将输入特征图X转化为通道数为Cout的中间特征图F1。
(2)一个高度为L的对称编码解码结构的UNet,用U表示。其输入为中间特征图F1,提取和编码多尺度的上下信息,即U(F1(X))。L越大,意味着更深的RSU网络,更多的池化操作,更大范围的感受野和更丰富的局部及全局特征。配置该参数,可以从具有任意空间分辨率的输入特征图中提取多尺度特征。多尺度特征从逐渐下采样的特征图中提取,并通过渐进式上采样、拼接和卷积编码到高分辨率的特征图。这个过程减轻了直接上采样所造成的细节上的损失。
(3)残差连接:F1+U(F1)融合了局部特征和多尺度特征。
2. ReSidual U-block&original residual block
Residual block中的操作可以总结为
H
(
x
)
=
F
2
(
F
1
(
x
)
)
+
x
\ H(x)=F_2(F_1(x))+x \,
H(x)=F2(F1(x))+x,其中,H表示输入特征x的期望映射,F2和F1是权重层,表示卷积操作。RSU和原始的残差连接之间最大的区别在于RSU将普通的单流卷积替换为一个类似于UNet的结构,将原始特征图替换为一个由权重层转换的局部特征,即,这里U是图(e)所示的多层U型结构。这种设计上的变化使得网络能够直接从每个残差块中提取多尺度的特征,下图可以说明这一点。此外, U型结构的计算开销很小,因为大多数操作都应用于下采样的特征图。DSE、INC和RSU的计算量都随着内部通道数M的增加而呈现二次增长,但是RSU在二次项上的系数要小得多,从而导致效率相对提高,与普通卷积(PLN)和剩余块(RES)相比较,计算开销并不明显,这两个块均和M成线性关系。
图2所示的不同块的计算成本(GFLOPS千兆浮点运算):计算成本是基于将尺寸为320×320×3的输入特征图转移到320×320×64的输出特征图上计算的。“PLN”、“RES”、“DSE”、"INC "和 "RSU "分别表示普通卷积块、残余块、密集块、初始块和残余U块。
三、U2Net
U2Net是一个两层嵌套的U型结构,顶层是由11个阶段组成的大U型结构,同时,底层是一个小U型结构,它由一个配置良好的Residual U型块(RSU)构成。因此嵌套的U型结构能够更有效地提取阶段内的多尺度特征和聚集阶段间的多层次特征。
U2Net主要由三个部分组成:(1)一个六阶段的编码器;(2)一个五阶段的解码器;(3)一个与解码器阶段和最后一个编码器阶段相连的显著特征图的融合模块。
1. Encoder stages
在编码器阶段,En1、En2、En3和En4分别使用RSU-7、RSU-6、RSU-5和RSU-4。L通常根据特征图的分辨率来确定。当特征图有较大的宽和高时,我们使用更大的L来提取更大范围的特征信息。En5和En6的输入特征图的分辨率相对较低,对这些特征图进一步的下采样会导致有用的上下文信息丢失,因此,在En5和En6中,使用RSU-4F,其中F表示RSU是膨胀的版本,使用膨胀卷积替代池化和上采样操作。从而使得RSU-4F处理的中间特征图拥有与输入特征图相同的分辨率。
2. Decoder stages
对于En6,解码阶段拥有与对称编码阶段相似的结构。在De5中,我们仍然使用了带有膨胀卷积的RSU-4F,这与编码阶段的En5和En6相似。解码阶段还会执行一个通道拼接操作,即将来自前一层上采样的特征图与对称解码阶段的特征图拼接。
3. Saliency map fusion
特征图融合模块,用于生成显著性概率图。通过一个3×3的卷积层,一个sigmoid函数,U2Net生成6个显著性概率图
他们来自于En6、De5、De4、De3、De2和De1。然后,通过上采样,将这些特征图的大小调整为输入图像的大小,同时将它们拼接,最后,经过一个1×1卷积和一个sigmoid函数生成最终的输出概率图
总而言之,U2Net拥有很深的网络架构,能够捕获多尺度的特征,同时,具有低计算量和低内存的特点。此外,由于U2Net只是建立在RSU模块上,我们没有使用任何预先训练好的图像分类骨干网络,而且它灵活性强,能适应不同的工作环境,性能损失不大。本文给出了两种版本:普通版的和轻量版的U2Net。
四、损失函数
我们的损失函数定义为:
其中M=6,Ls是侧面输出的显著特征图Ss的损失,Lf是最后融合输出的特征图的损失,Ws和Wf是对应损失项的权重;对于每一个损失项L,使用二分类交叉熵计算损失,即
这里(r,c)是像素坐标,(H,W)是图像大小,Pg和Ps分别是标签的像素值和预测显著特征图的像素值,训练过程就是使得方程1所示的总体损失最小,在测试阶段,我们选择融合输出Lf作为最终的显著特征图。
五、实验
1. 训练集
DUTS-TR数据集:包含10553张图像,这是目前最大的、最常用的显著性目标检测任务数据集。通过水平翻转,增强数据集,得到21106张图像。
2. 验证集
DUTS-TE数据集:包含5019张图像;
HKU-IS数据集:包含4447张图像;
ECSSD数据集:包含1000张结构复杂的图像,并且大多数图像包含大的前景目标;
PASCAL-S数据集:包含850张图像,包含复杂的前景物体和杂乱的背景;
SOD数据集:只包含300张图像,但它最初是为图像分割任务设计的,很多图像都只有较低的对比度,或者包含与图像边界重叠的复杂前景图像。
3. Evaluation Metrics
为了全面地、综合地评估这些特征图的效果,使用6种评价指标:Precision-Recall (PR) curves; maximal F-measure (maxF); Mean Absolute Error (MAE); weighted F-measure (Fw); structure measure(Sm);relaxed F-measure of boundary.
-
PR curves: 依据precision-recall对来绘制的曲线,给定一个预测的显著性概率图,精确度和召回率分数是通过比较其阈值的二进制掩码和真值标签掩码来计算的。一个数据集的精度和召回率是通过对这些显著性特征图的精度和召回率分数计算平均得到的。通过改变0到1的阈值,我们可以得到一组数据集的平均精度-召回率对。
-
F-measure: 用于综合评价精度和召回率的指标,计算公式为
设定beta方为2,计算每个数据集的最大F。 -
MAE: 即Mean Absolute Error,平均绝对误差。表示显著性特征图与真值标签之间每个像素差异的平均值。计算公式如下
其中,P和G表示显著性目标检测的概率图和对应的真值标签,(H,W)是高和宽,(r,c)是像素的坐标。 -
weighted F-measure: 加权F是作为maxF的补充措施,用于克服“差值缺陷、依赖缺陷和同等重要性缺陷”等因素引起的可能的不公平对比,定义为
-
S-measure: 用于评价预测的非二元显著性特征图与真值标签之间的结构相似性。其被定义为区域感知的Sr和目标感知的So结构相似性的加权和,即
其中,alpha取0.5。 -
relax boundary F-measure: 用于定量地评价预测显著性特征图的边界效果。
4. 实施细节
训练阶段: 首先将图像resize为320×320大小,然后随机垂直翻转,并剪切为288×288大小。
我们是从头开始训练,而没有使用过任何图像分类的骨干网络作为预训练网络。
损失权重Ws和Wf均设为1,使用Adam优化器,超参数为默认值,初始学习率为1e-3,betas = (0.9,0.999),eps=1e-8,weight_decay=0。我们在不适用验证集的情况下训练网络,直到损失收敛,这与之前的方法是一样的。
测试阶段: 输入图像(H×W)被resize为320×320大小,预测得到显著性特征图也是320×320大小,然后使用双线性插值将该显著性特征图调整为原图像大小H×W。
六、消融实验
主要是验证RSU的效果。将U2Net的外层框架——编码器-解码器结构固定下来,然后使用其他流行的模块来替换内层的阶段,主要包括普通的卷积块(PLN)、残差类块(RSE)、密集类块(DSE)、初始类块(INC)和金字塔模块(PPM)。如图2所示。
1. Table2
基础的UNet表现最差,PLN U-Net, RES U-Net, DES U-Net, INC U-Net and PPM U-Net 比 U-Net的效果更好。因为这些网络要么更深,要么拥有提取多尺度特征的能力。但是,它们的性能仍然逊于我们提出的标准版U2Net和轻量版U2Net。特别地,在DUT-OMRON和ECSSD数据集上,标准版U2Net将maxF提升大约3.3%和1.8%,降低MAE超过12.9%和21.4%,相比于第二好的模型。
2. 网络框架上的消融实验
正如我们上面提到的,以前的方法通常使用级联的方式来堆叠多个类似的结构,以建立更具表现力的模型。这种想法背后的一个直觉是,多个类似的结构能够逐步完善结果,同时减少过度拟合。堆叠HourglassNet和CUNet是两种最具代表性的模型,因此,我们对比了这两种网络和我们提出来的方法之间的性能。
3. 骨干网络的消融实验
不同于以前使用了VGG、ResNet作为骨干网络的显著性目标检测模型,我们所提出的U2Net没有这些骨干网络。为了验证我们的设计,我们将U2Net的编码器部分替换为不同的骨干网络,包括VGG-16和ResNet-50。我们在骨干网络的最后一个卷积后增加了一个额外的阶段,以实现与U2Net相同的感受野。
4. 定量比较
5. 定性比较
七、结论
本文提出了一个新颖的深度网络:U2Net,用于显著性目标检测。