显著性目标检测论文U2Net阅读笔记

U2Net论文笔记

这篇论文是一篇效果非常好的显著性目标检测的论文,效果非常好,这里先放上实验效果图,体验一下它的效果。

U2Net_1.png

1. 论文摘要

在这篇论文中,我们设计了一个简单但是非常有用的深度学习显著性目标检测网络U2Net。 U2Net是一个两级的嵌套U型结构,这种设计和方式有一下几个优点:

  1. 利用来自残差U型模块(RSU)的不同尺度不同感受野的混合,能够捕捉来自更多的不同尺度的上下文信息(全局信息)
  2. 采用RSU中的池化操作,U2Net在不增加计算复杂度的基础上,可以提升整个模型架构的深度。
  3. 使用这种结构可以从头训练网络而不依赖于图像分类的算法网络

针对U2Net论文中提出了两种架构,第一个是U2Net(网络大小为176.3MB, 在GTX 1080Ti上推理速度为30FPS),第二个模型为U2Net^,网络大小为4.7MB,推理速度为40FPS。利用这两种模型来解决不同环境的使用,在6个显著性目标检测数据集上两种模型均实现了竞争性的结果。代码的开源地址为://github.com/NathanUA/U-2-Net

U2Net算法模型的总体架构:

u2net_2.png

2. 论文主要思想

文章的出发点主要针对以下几个问题:

  1. 传统的深度学习的基础网络采用VGG, ResNet, Inception,DensNet,这种结构经过一系列的下采样提取了原始图像的全局语义信息,然而对于局部的细节以及全局对比信息的关注度不够(由于这些网络结构主要针对图像分类任务设计) , 而且使用这种模型一般需要采用ImagNet上的预训练模型,如果目标数据的分布与ImageNet的数据集分布差距较大的话,效果相对较差。怎样设计一种能够从头训练的新显著性目标检测的网络架构,并且算法效果与已经存在的效果相比更好,就是一个需要考虑的问题。
  2. 传统的网络架构采用一系列的下采样(最大池化或者stride大于1的卷积)来减小feature map的分辨率,从而降低算大的计算复杂度。然而针对分割任务而言,高分辨率的feature map也是一个重要的因素,因此设计一个在较低的计算复杂度的情况下,随着网络的加深能够维持较高的分辨率就是一个重要的问题。

一个非常简单的架构U2Net很好的解决了上边的问题,**U2Net是一个两级的嵌入U型网络结构,这是一种新型的网络结构不需要进行预训练,从头训练可以得到很好的结果。**而且,这种网络结构实现了在网络层数加深的 同时能够保持较高的分辨率

3. 算法介绍

为了实现上边的功能,算法引入了以下的几个主要解决方案(创新点)。

两级的U型嵌套结构:

  1. 底层是利用RSU在网络层数加深的情况下依然维持较高的分辨率
  2. 高层,利用类似UNet的网络结构

3.1 残差U型单元(RSU)

几种基本的卷积神经网络的模块结构图对比

u2net_4.png

从左到有依次是,基本的卷积模块,残差模块, Inception模块,Dense模块,残差U型模块。

看(e)的RSU模块, 利用U型单元模块,实现了低层高分辨率的局部信息与高层低分辨率全局信息的融合。

下边是残差模块与残差u型模块的对比:

u2net_3.png

3.2 U2Net的架构

u2net_2.png

算法的整体是一个U型的网络结构,其中每个模块都采用的残差U型模块堆叠而成。

算法实验结果

u2net_5.png