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张图

相关推荐
飞哥数智坊6 小时前
GPT-5-Codex 发布,Codex 正在取代 Claude
人工智能·ai编程
倔强青铜三6 小时前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试
虫无涯7 小时前
Dify Agent + AntV 实战:从 0 到 1 打造数据可视化解决方案
人工智能
Dm_dotnet9 小时前
公益站Agent Router注册送200刀额度竟然是真的
人工智能
算家计算9 小时前
7B参数拿下30个世界第一!Hunyuan-MT-7B本地部署教程:腾讯混元开源业界首个翻译集成模型
人工智能·开源
机器之心9 小时前
LLM开源2.0大洗牌:60个出局,39个上桌,AI Coding疯魔,TensorFlow已死
人工智能·openai
Juchecar11 小时前
交叉熵:深度学习中最常用的损失函数
人工智能
林木森ai11 小时前
爆款AI动物运动会视频,用Coze(扣子)一键搞定全流程(附保姆级拆解)
人工智能·aigc
聚客AI11 小时前
🙋‍♀️Transformer训练与推理全流程:从输入处理到输出生成
人工智能·算法·llm
BeerBear13 小时前
【保姆级教程-从0开始开发MCP服务器】一、MCP学习压根没有你想象得那么难!.md
人工智能·mcp