(二十五:2020.12.14)MICCAI 2020 学习(二)《U^2 Net》
作者:互联网
《U^2 Net: Going Deeper with Nested U-Structure for Salient Object Detection》《借助嵌套U型结构深入研究显着物体》
讲在前面
- 一.学习该算法的目的:替换针道的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:
- 图5:
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} Cin,M,Cout)的结构如图2(e)所示,其中 L L L是编码器中的层数, C i n , C o u t C_{in},C_{out} Cin,Cout表示输入和输出通道, M M M表示RSU内部层中的通道数。 因此,我们的RSU主要由三个部分组成: - (i) 输入卷积层,将输入特征映射 x ( H × W × C i n ) x(H×W×C_{in}) x(H×W×Cin)转换为通道为 C o u t C_{out} Cout的中间映射 F 1 ( x ) F_1(x) F1(x)。 这是用于局部特征提取的简单卷积层。
- (ii) 高度为 L L L 的类似U-Net的对称编码器/解码器结构,以中间特征图 F 1 ( x ) F_1(x) F1(x)作为输入,并学习提取和编码多尺度上下文信息 U ( F 1 ( x ) ) U(F_1(x)) U(F1(x))。 U U U表示类似U-Net的结构,如图2(e)。 较大的值导致更深的残留U块(RSU),更多的合并操作,较大的接受域范围以及更丰富的局部和全局特征。配置此参数可以从具有任意空间分辨率的输入特征图中提取多尺度特征。 从渐进下采样的特征图中提取多尺度特征,并通过逐步上采样,级联和卷积将其编码为高分辨率特征图。 该过程减轻了由大规模直接上采样引起的精细细节的损失。
- (iii) 残差连接,通过将总和融合为局部特征和多尺度特征:
F
1
(
x
)
+
U
(
F
1
(
x
)
)
F_1(x)+ U(F_1(x))
F1(x)+U(F1(x))
为了更好的说明我们设计的意图,我们将原始残差结构和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,En2,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 ) , S s i d e ( 2 ) , S s i d e ( 1 ) S^{(6)}_{side},S^{(5)}_{side},S^{(4)}_{side},S^{(3)}_{side},S^{(2)}_{side},S^{(1)}_{side} Sside(6),Sside(5),Sside(4),Sside(3),Sside(2),Sside(1)。 然后,它将side输出显着性图的逻辑回归(在Sigmoid函数之前的卷积输出)上采样到输入图像大小,并将它们与级联运算融合,随后是1×1卷积层和sigmoid函数以生成最终显着性概率图 S f u s e S_{fuse} Sfuse(请参见图5的右下角)。
总而言之,我们的U2-Net的设计允许具有丰富的多尺度功能的深度体系结构以及相对较低的计算和内存成本。 此外,由于我们的U2-Net架构仅建立在我们的RSU上,而未使用任何经过图像分类的预训练主干,因此它灵活且易于适应不同的工作环境,而性能损失不大。 在本文中,我们通过使用不同的卷积核编号配置来提供U2-Net的两种实例:正常版本的U2-Net(176.3 MB)和相对较小的版本的U2-Net†(4.7 MB)。 表1的最后两行显示了详细的配置。
- 表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∑Mwside(m)lside(m)+wfuselfuse
以图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 数据集
- 训练数据:我们在DUTS-TR上训练我们的网络,DUTS-TR是DUTS数据集的一部分。DUTS-TR总共包含10553张图像。 目前,它是最大的,最常用的用于显着目标检测的训练数据集,我们通过水平翻转来扩充该数据集,共获取21106个训练图像。
- 评估数据:六个常用的基准数据集用于评估我们的方法,包括:DUT-OMRON,DUTS-TE,HKU-IS,ECSSD,PASCAL-S,SOD。 DUT-OMRON包含5168个图像,其中大多数包含一个或两个结构复杂的前景对象。 DUTS数据集包括两部分:DUTS-TR和DUTS-TE。 如上所述,我们使用DUTS-TR进行培训。 因此,选择包含5019张图像的DUTS-TE作为我们的评估数据集之一.HKU-IS包含4447张具有多个前地面物体的图像.ECSSD包含1000张结构复杂的图像,其中许多包含大型前景物体.PASCAL-Scontains 850 具有复杂前景对象和杂乱背景的图像。SOD仅包含300个图像。 但这是非常具有挑战性的。 因为它最初是为图像分割而设计的,所以许多图像对比度较低或包含与图像边界重叠的复杂前景对象。
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):
- PR曲线:由很多对的精度-回归值组成的曲线,给定一个预测的显着性概率图,可通过将其阈值化的二进制掩码与gt进行比较来计算其精度和召回分数。 数据集的精度和召回率是通过对这些显着性图的精度和召回率取平均值来计算的。 通过将阈值从0调到1,我们可以获得数据集的一组平均精确-回归率对。
- 最大F度量(
m
a
x
F
β
maxF_β
maxFβ):
F
β
F_β
Fβ用来全面评估精确率和召回率:
F β = ( 1 + β 2 ) × P r e c i s i o n × R e c a l l β 2 × P r e c i s i o n + R e c a l l F_β=\frac{(1+β^2)\times{Precision}\times{Recall}}{β^2\times{Precision}+Recall} Fβ=β2×Precision+Recall(1+β2)×Precision×Recall
类似于之前的工作,我么将 β 2 β^2 β2设置为0.3,从而得到每个数据集的最大值 m a x F β maxF_β maxFβ。 - MAE:MAE是平均绝对误差,它表示预测的显著性图与gt之间的平均每像素差。它是这样定义的:
M A E = 1 H × W ∑ r = 1 H ∑ c = 1 W ∣ P ( r , c ) − G ( r , c ) ∣ MAE=\frac{1}{H\times{W}}\sum_{r=1}^H\sum_{c=1}^W|P(r,c)-G(r,c)| MAE=H×W1r=1∑Hc=1∑W∣P(r,c)−G(r,c)∣
P 、 G P、G P、G是分别是像素预测值和gt, ( H , W ) 、 ( r , c ) (H,W)、(r,c) (H,W)、(r,c)是宽高和像素点的坐标。 - 加权F度量(
F
β
w
F^w_β
Fβw):它被用作
m
a
x
F
β
maxF_β
maxFβ的补充措施,以克服由“内插缺陷,依赖缺陷和等重要性缺陷”引起的可能的不公平比较。 定义为:
F β w = ( 1 + β 2 ) P r e c i s i o n w ⋅ R e c a l l w β 2 ⋅ P r e c i s i o n w + R e c a l l w F^w_β=(1+β^2)\frac{{Precision^w}\cdot{Recall^w}}{β^2\cdot{Precision^w}+Recall^w} Fβw=(1+β2)β2⋅Precisionw+RecallwPrecisionw⋅Recallw - 结构度量(
S
m
S_m
Sm):
S
−
m
e
a
s
u
r
e
(
S
m
)
S-measure(S_m)
S−measure(Sm)用于评估预测的非二进制显著图和gt的结构相似性。
S
m
S_m
Sm被定义为区域感知
S
r
S_r
Sr和对象感知
S
o
S_o
So结构相似度的加权和:
S = ( 1 − α ) S r + α S o S=(1-α)S_r+αS_o S=(1−α)Sr+αSo
α α α通常被设置为0.5。 - 约束的松弛F测度(
r
e
l
a
x
F
β
b
relaxF^b_β
relaxFβb):用于定量评估预测显著性图的边界质量。给定一个显着性概率图
P
∈
[
0
,
1
]
P∈[0,1]
P∈[0,1],通过简单阈值运算(阈值设置为0.5)获得其二进制掩码
P
b
w
P_{bw}
Pbw。 然后,进行
X
O
R
(
P
b
w
,
P
e
r
d
)
XOR(P_{bw},P_{erd})
XOR(Pbw,Perd)操作以获得其一个像素宽的边界,其中
P
e
r
d
P_{erd}
Perd表示
P
b
w
P_{bw}
Pbw的腐蚀二进制掩码。 以相同的方式获得gt的边界。 松弛边界
F
−
m
e
a
s
u
r
e
F-measure
F−measure
r
e
l
a
x
F
β
b
relaxF^b_β
relaxFβb的计算类似于方程式:
F β = ( 1 + β 2 ) × P r e c i s i o n × R e c a l l β 2 × P r e c i s i o n + R e c a l l F_β=\frac{(1+β^2)\times{Precision}\times{Recall}}{β^2\times{Precision}+Recall} Fβ=β2×Precision+Recall(1+β2)×Precision×Recall 区别在于方程中使用的 r e l a x P r e c i s i o n b relaxPrecision^b relaxPrecisionb和 r e l a x R e c a l l b relaxRecall^b relaxRecallb不同于 P r e c i s i o n Precision Precision和 R e c a l l Recall Recall。 松弛边界精度( r e l a x P r e c i s i o n b relaxPrecision^b relaxPrecisionb)的定义是从gt的边界像素中拿出 p p p个,求这些像素的预测的边界分数。 松散边界召回( r e l a x R e c a l l b relaxRecall^b relaxRecallb)定义是从预测的边界像素中拿出 p p p个,求这些像素的gt的边界分数。 公式即为:
F β = ( 1 + β 2 ) × r e l a x P r e c i s i o n b × r e l a x R e c a l l b β 2 × r e l a x P r e c i s i o n b + r e l a x R e c a l l b F_β=\frac{(1+β^2)\times{relaxPrecision^b}\times{relaxRecall^b}}{β^2\times{relaxPrecision^b}+relaxRecall^b} Fβ=β2×relaxPrecisionb+relaxRecallb(1+β2)×relaxPrecisionb×relaxRecallb
在先前的工作中,松弛参数 ρ ρ ρ被设置为3。 在给定数据集的情况下,本文报告了所有预测的显著性图的平均 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。
- 图2:
- 表一:
表2给出了烧蚀研究的定量结果。我们可以看到,基准U-Net的性能最差,而PLN U-Net、RES U-Net、DES U-Net、INCU-Net和PPM U-Net的性能优于基准U-Net。因为它们要么是较深的,要么是具有提取多尺度特征的能力。然而,他们的表现仍然不如我们的全尺寸的U2-Net和小版本的U2-Net†。特别是,在DUT-OMRON和ECSSD数据集上,我们的全尺寸的U2-net提升了 m a x F β maxF_β maxFβ大约有3.3%和1.8%,与第二好的模型(在块消融研究中)相比,降低了 M A E MAE MAE超过12.9%和21.4%。此外,我们的U2-net和U2-Net†在DUT-OMRON数据集相对于基线U-Net,增加了 m a x F β maxF_β maxFβ 9.8%和8.8%,减少了 M A E MAE MAE 34.1%和27.0%,这是显著的改善。在ECSSD数据集上,虽然我们的U2-Net和U2-Net†的 m a x F β maxF_β maxFβ改进(5.5%,4.7%)相对于基线U-Net略低于DUT-OMRON, M A E MAE MAE 的改进更大(50.0%,38.0%)。因此,我们认为我们新设计的RSU在该突出目标检测任务中比其他的块更好。此外,我们的基于残余RSU的U2-Net架构没有显著的时间成本增加。 - 表2:
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:
图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,但它的小尺寸将有助于它在许多计算和内存受限的环境中的应用。
- 表3:
- 表4:
4.5.1 定性比较
为了直观地理解我们的模型的前景表现,我们在图7中说明了我们的模型的样本结果和其他几个最先进的方法。正如我们所看到的,我们的U2-Net和U2-Net†能够处理不同类型的目标,并产生准确的显著的目标检测结果。
- 图7:
图7的第1行和第2行显示了大小对象的结果。正如我们可以观察到的,我们的U2-Net和U2-Net†能够产生大、小物体上的精确结果。其他模型要么容易错过小目标,要么产生精度不高的大目标。第3行显示了目标触摸图像边界的结果。我们的U2-Net正确地划分了所有区域。尽管U2-Net†错误地节的底部右眼,它仍然比其他模型好得多。第4行展示了模型在分割由大的和薄的结构组成的目标时的性能。正如我们所看到的,除了AFNet之外,大多数其他模型都能很好地提取出大的区域,但却缺少明智的薄结构。在第5行中,一棵树的背景是相对干净的蓝天, 它看起来很简单,但它实际上是十分具有挑战性的,因为目标数目的复杂形状。正如我们所看到的,我们的模型可以很好地分割树干和树枝,而其他的模型在分割复杂的树枝区域时失败了。与第五行相比,第六行的长椅更加复杂,这是因为其中空的结构。我们的U2-Net产生了接近完美的结果。虽然在U2-Net†的预测图的右下角是不完善的,但它在这一目标上的总体表现比其他模型要好得多。此外,与PoolNet、CPD、PiCANetR和AFNet等模型相比,我们的模型结果更加均匀,灰色区域更少。第7行显示,我们的模型可以产生比gt更精细的结果。标记这些小孔在第7幅图像费时费力,所以在标注过程中,这些重复的精细结构往往被忽略。从这些不完美的标签推断正确的结果是具有挑战性的。但我们的模型在分割这些精细结构方面显示出了良好的能力,这要归功于精心设计的架构,可以提取和集成高分辨率的局部信息和低分辨率的全局信息。第8行和第9行显示了我们的模型在处理背景杂乱和前景外观复杂的目标时的强大能力。第10行显示了我们的模型能够在捕获检测到的目标细节的同时分割多个目标(参见每个帆船的两个分支的间隙区域)。总之,我们的全尺寸模型和小尺寸模型都能够处理各种各样的sc -narios,并产生高精度的显著目标检测结果。
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