U2net:Going deeper with nested u-structure for salient object detection

u2net是目前stable-diffusion-webui默认的抠图算法,但是在电商图场景实测下来,效果是很一般的。

1.introduction

1.能否设计一个新的网络用语SOD,允许从头训练;2.保持高分辨率特征图的同时网络更深。U2net是一种为SOD设计的两级嵌套U结构,不使用图像分类的预训练骨干网络,在底层设计了一种新颖的Residual U-blocks,能够提取多尺度特征而不降低特征图分辨率,在顶层,有一个类似UNET的结构,每个极端都由RSU填充。U2net 176.3M,U2netp 4.7Mb。

2.Proposed method

2.1 Residual U-blocks

局部和全局特征非常重要,大小为1x1或3x3的小型卷积是常用的特征提取组件,浅层的输出特征图仅包含局部特征,因为1x1或3x3卷积的感受野太小,无法捕获全局信息。为了在浅层的高分辨率特征图中获得更多的全局信息,最直接的想法是扩大感受野。

图2中d用了inception结构,通过扩张卷积来扩大感受野,受unet启发,RSU用于捕捉阶内多尺度特征,RSU和残差连结最大的不同在于,RSU使用了一个类似于UNET的结构来替换单一流的普通卷积,并用一个权重层转换的局部特征来代替原始特征。这种设计变化使得网络可以直接从每个残差块中提取多尺度的特征,由于大部分操作是在下采样的特征图上进行的,因此U结构带来的计算开销是很小的。

2.2 Architecture of u2net

U2net是嵌套的unet,不是级联的,是一个2级嵌套结构,其顶层由11个stage组成的大型unet,每个stage是一个RSU,6个阶段的编码器,5个解码器和一个显著图融合模块。

2.3 Supervision

交叉熵监督sup0-6,

python 复制代码
def muti_bce_loss_fusion(d0, d1, d2, d3, d4, d5, d6, labels_v):
    loss0 = bce_loss(d0, labels_v)
    loss1 = bce_loss(d1, labels_v)
    loss2 = bce_loss(d2, labels_v)
    loss3 = bce_loss(d3, labels_v)
    loss4 = bce_loss(d4, labels_v)
    loss5 = bce_loss(d5, labels_v)
    loss6 = bce_loss(d6, labels_v)

    loss = loss0 + loss1 + loss2 + loss3 + loss4 + loss5 + loss6
    # print("l0: %3f, l1: %3f, l2: %3f, l3: %3f, l4: %3f, l5: %3f, l6: %3f\n"%(loss0.data.item(),loss1.data.item(),loss2.data.item(),loss3.data.item(),loss4.data.item(),loss5.data.item(),loss6.data.item()))

    return loss0, loss

4.Experimental results

4.1 Datasets

DUTS-TR:10533张图

相关推荐
OpenCSG2 分钟前
CSGClaw v0.4.2-v0.4.3 版本更新
人工智能·opencsg
大鱼>4 分钟前
因子挖掘+回测+RL交易:量化金融完整系统
人工智能·深度学习·算法·金融
梦想三三13 分钟前
YOLOv5 口罩目标检测实战(一):项目整体介绍与数据准备
人工智能·yolo·目标检测
梵构广告23 分钟前
平台怎么做品牌营销策划?—品牌营销
大数据·人工智能·平面·品牌策划
土豆125027 分钟前
DeepSeek V4-Flash 正式版深度解读:一行 changelog 里的暗涌与野心
人工智能·llm
Aloudata32 分钟前
Prompt 驱动分析 vs Skill 驱动分析:企业 AI 分析如何从会问走向可复用
大数据·人工智能·数据分析·prompt·skill·语义层
笨鸟先飞,勤能补拙38 分钟前
下一个十年:网络安全正在被重写
网络·人工智能·安全·web安全·网络安全·github
weixin_4296159938 分钟前
快速生成流程图
人工智能·chatgpt·aigc·流程图
骇客野人42 分钟前
PGSQL运维筛选近30天有数据改动数据库表和表名
人工智能