当前位置: 首页 > news >正文

COD论文笔记 BiRefNet

本质还是一个 U 型编码器解码器结构的分割模型。

在这里插入图片描述
我可以考虑将©和(d)结合,即对解码器的输入不进行 patchify,同时在各个阶段引入梯度参考信息

最近的相关工作,中间监督、额外先验(频率,梯度,边缘等)取得不错效果

作者观察到,对原始图像进行导数运算获得梯度特征,可以很好地反映图像对象中的细微和非显著特征。

双边参考是在解码器中的两个辅助信息:
1.层次化的原始图像块
2.梯度监督信息(对于颜色和纹理上与背景高度相似时,梯度信息过于微弱,此时越引入真实GT特征作为侧向监督)

此外作者提出了一些实用的训练策略。

模型整体结构:

在这里插入图片描述

所谓的定位模块就是编码器,重建模块就是解码器。

对于COD任务,不需要 Cls 模块。

最下面的 ASPP 得到语义信息较强的粗略预测图,然后引导解码器进行细化分割。

不同阶段的patch块大小不同,所以是 multi-scale supervision。

定位模块

重建模块

大的感受野会丢失细节信息,小的感受野会难以定位大尺度目标。作者是如何平衡的呢?

作者使用了可变形卷积DCN来作为重建块(RB)取代普通的残差块( 1 × 1 , 3 × 3 , 7 × 7 1\times1,3\times3,7\times7 1×1,3×3,7×7)。我可以考虑使用最新的DCNv4来进行实验。

在这里插入图片描述
如图所示,所谓的内向参考,其中 F i d + F_i^{d+} Fid+是上一个BirefBlock的输出特征和backbone对应层级特征进行(应该是element-wise addition)得到,然后作为当前BirefBlock的输入,然后作者将当前层级的原始图像进行自适应裁剪得到若干图像块,这两个进行拼接之后送入重构模块,重构模块利用不同感受野和平均池化进行进一步特征提取,然后重构模块输出的特征图副本再送到外向参考中利用梯度监督信息得到 A i G A_i^G AiG , A i G A_i^G AiG F i d ′ F_i^{d'} Fid 进行元素级相乘之后得到特征 F i − 1 d F_{i-1}^d Fi1d

双边参考

内部参考和外部参考分别起到补充高分辨率信息和吸引注意力到细节密集区域的作用。

在内部参考中,原始高分辨率的图像 L L L 被裁剪为与相应解码器阶段的输出特征一致大小的补丁 { P k = 1 N } \{P_{k=1}^N\} {Pk=1N}, 这些补丁与原始特征 F i d + F_i^{d+} Fid+ 叠加后输入重建模块,现有类似技术的方法,要么仅仅在最后的解码阶段添加 L L L,要么将 L L L 调整尺寸,使其适用于低分辨率的原始特征。作者的内部参考通过自适应裁剪避免了这两个问题,并且在每个阶段提供必要的高分辨率信息。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实现细节

在这里插入图片描述

消融实验

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Spark MLlib模型训练—聚类算法 PIC(Power Iteration Clustering)
  • Python | Leetcode Python题解之第386题字典序排数
  • 图文解析保姆级教程:Postman专业接口测试工具的安装和基本使用
  • ChatGPT 3.5/4.0使用手册:解锁人工智能的无限潜能
  • nginx配置负载均衡的几种方式
  • 快手的视频素材去哪找?快手视频素材在哪里找啊
  • 【排序算法】六、快速排序补充:三指针+随机数法
  • Bat的退役前
  • 0基础学习爬虫系列:Python环境搭建
  • Java 中的双冒号“::”
  • ubuntu 20.04 部署standalone dolphinscheduler
  • Shell编程基础
  • HTML 转 PDF API 接口
  • IDA的安装和使用
  • 形态学运算合集
  • 【面试系列】之二:关于js原型
  • bootstrap创建登录注册页面
  • Debian下无root权限使用Python访问Oracle
  • JavaScript异步流程控制的前世今生
  • node.js
  • Promise面试题2实现异步串行执行
  • tensorflow学习笔记3——MNIST应用篇
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 协程
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 国内开源镜像站点
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • # Redis 入门到精通(七)-- redis 删除策略
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • $().each和$.each的区别
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (苍穹外卖)day03菜品管理
  • (二)JAVA使用POI操作excel
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (附源码)计算机毕业设计大学生兼职系统
  • (利用IDEA+Maven)定制属于自己的jar包
  • (七)c52学习之旅-中断
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十八)SpringBoot之发送QQ邮件
  • (四) Graphivz 颜色选择
  • (一)Thymeleaf用法——Thymeleaf简介
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • (转载)(官方)UE4--图像编程----着色器开发
  • .NET Core 发展历程和版本迭代
  • .NET Micro Framework初体验
  • .NET8 动态添加定时任务(CRON Expression, Whatever)
  • .net遍历html中全部的中文,ASP.NET中遍历页面的所有button控件
  • .NET牛人应该知道些什么(2):中级.NET开发人员
  • .NET业务框架的构建
  • ?
  • @Data注解的作用