U2-Net论文解读

原文《U 2 -Net: Going Deeper with Nested U-Structure for Salient Object Detection》

目录

一、综述

二、EnCode编码器

三、DeCode解码器

四、特征图融合与目标函数

五、补充-空洞卷积


一、综述

U2-Net:基于堆叠U型结构的来加深网络,用于SOD(显著目标检测)。作者设计了一个简单而强大的深层网络架构,U2-Net,用于显著目标检测(SOD)。作者的U2-Net的体系结构是一个两层嵌套的U型结构。作者对所提出的架构U2- Net (176.3 MB, 30 FPS在GTX 1080Ti GPU上)和U2- Net+ (4.7 MB, 40 FPS)两个模型进行了实例化。这两种模型在6个SOD数据集上都具有竞争性能。显著性检测:前景、背景分割。

有以下两点创新点:

  1. 提出RSU模块(就是ResBlock模块中常规卷积替换为U-Block,可ResU-Block),能够从上下文提取不同感受野信息
  2. 网络不需要类似于ResNet、VGG那样复杂得BackBone,仅采用RSU采集特征,所以速度快。(本身输入就只有288*288,然后中间还有很多降采样,最小特征图9*9,你说快不快!)

 图1 RES-L的相关模块

从左到右,是一个网络改进过程:

  • PLN:常规网络提取特征,三连:卷积+归一化+激活,CBR
  • RES:增加残差连接
  • DSE:特征图融合
  • INC:特征图融合
  • RES-L:本文改进,U-Net + ResNet

        如上图1-(e),RES-L大体上还是U型结构,下图4 U2-Net网络结构图中,编码、解码中很多模块出现过,可以和上图1-(e)对比下。

RSU-L结构图原理:

图2 残差模块与RSU模块

  更值得注意的是,得益于 U 形结构,RSU 的计算开销相对较少,因为U-Block大多数运算在下采样特征图中应用。下图  展示了 RSU 与其他特征提取模块的计算成本曲线图:

图3 性能对比

  如下图,大体还是U型结构,左边6个编码器,右边5个解码器。为什么称为为U方-Net,那是因为,例如在小模块例如En_1中,还有一个U型结构,如下图。论文中:原图是3*320*320,截取之后为3*288*288,注:例如:En/De_1、2、3、4等模块就是本文创新模块RSU。


图4

二、EnCode编码器

  如下图是图4中的Stage1:

图5 编码块 

  如上图,U型结构,绿色、蓝色、白色、紫色块功能请参考图4 虚线框模块功能注释。U型结构左边是:绿色到白色是一个卷积等常规操作降采样。查虚线框,咱们看到一个白色块中有一个“dilation = 2 4 8”,这个和空洞卷积有关(在不改变特征图大小的时候,增大感受野,详情见第四小结)。U型结构右边是:从白色到紫色,可以看到有“+”符号,表示concat而已。接着看,绿色到中间第一个紫色块是一个特征图插值上采样,接着就是堆叠特征图stage1中输入大小是3*288*288,输出是64*288*288。

  Stage2-6:如图4,为了加速,在stage1和stage2之间有个pooling下采样操作,3和4,4和5…编码器之间都有。如图4,注意到从stage1到stage6,之前前面1-4有蓝色下采样模块,5、6没有,那是因为到了stage5,特征图大小为18*18,已经非常小了,所以不需要下采样,并且空洞卷积“dalition= 4 8”能够提升感受野。

三、DeCode解码器

  如下图,当U型结构左边编码部分走完,就到了右边解码结构。如下图Stage6输出512*9*9和stage5输出特征图叠加,得到512*18*18特征图,经过解码器De_5,输出特征图大小还是512*18*18,此时需要和左边stage4特征图进行concat,但是二者大小不一致,原文中是将512*18*18进行上采样,得到512*36*36,之后进行concat的,右边再往上操作是类似的。最终,如图4,网络输出特征图大小为64*288*288。

 图5 解码快

四、特征图融合与目标函数

如下图6,最终U型结构右边解码器等输出6组特征图(我只截取部分,详细请看图4),经过处理(我猜应该是1×1卷积),输出6个Mask二值图,分辨率为:

  • 1×288×288
  • 1×144×144
  • 1×72×72
  • 1×36×36
  • 1×18×18
  • 1×9×9

  接着,分别进行上采样,采样倍率为1、2、4、8、16、32,得到6个1×288×288特征图,将他们concat一起得到6*288*288特征图,最后采用卷积转为1×288×288卷积。

 图6 输出mask层

  目标函数:在这个过程咱们1×288×288特征图出现了6+1次(其6指的是通过上采样插值得到的1*288*288特征图,1就是最终融合特征图),本文采用多监督算法构建目标函数,意思就是说,网络输出不仅仅包含最终特征图,还包含前面6个不同尺度的特征图(每次迭代,输出7个loss);不仅要监督网络输出,还要监督中间融合特征图。 

  损失函数如下:

   上式中,M = 1、2...6,表示Sup1、Sup2...Sup6,不懂就去看图4,L_side表示那6张图的loss,L_fuse表示最终特征图的loss,两个w表示两项loss的权重参数。loss计算方法采用的是:standard binary cross-entropy,(如下式,即:二值交叉熵,参考:https://www.pianshen.com/article/79681020010/  ):

   式中,(r,c)表示像素坐标值,(H,W)表示图像高、宽,PG(r,c)表示标签图像素灰度值,PS(r,c)表示预测...。

五、补充-空洞卷积

  尽量不损失数据的前提下,增加感受野。

传统卷积:例如采用3*3卷积处理5*5特征图,输出特征大小为3*3,那么输出特征图一个元素对应原图3*3区域,即:感受野为3*3。

空洞卷积:当dilation = 1时,好比将3*3卷积膨胀一下,变为5*5新卷积核,中间用0填充,接着卷积就行了,注意卷积核元素是跳着和原图元素相乘(跳多远取决于dilation取值)!下图空洞卷积核没有画成5*5,还是3*3,也是对的,你看它适合原图对应元素位置!

 图7 传统卷积与空洞卷积

空洞卷积有个参数,就是dalited(膨胀)取多大,如下图,

  • dilated = 1时,感受野由3*3增大到7*7
  • dilated = 3时,感受野由3*3增大到15*15

  标检测中,对于大目标都需要大感受野,空洞卷积优势:在不增加计算亮的前提下增加了感受野!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/168909.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

秋季期中考复现xj

flow analysis 1 What is the backdoor file name that comes with the server?( Including file suffix) 服务器自带的后门文件是什么?(含文件后缀) 题目还要求最后把那个文件名MD5一下,再去提交 开始的前三题是流量分析的&…

2.6.C++项目:网络版五子棋对战之数据管理模块-游戏房间管理模块的设计

文章目录 一、意义二、功能三、作用四、游戏房间类基本框架五、游戏房间管理类基本框架七、游戏房间类代码八、游戏房间管理类代码 一、意义 对匹配成功的玩家创建房间,建立起一个小范围的玩家之间的关联关系! 房间里一个玩家产生的动作将会广播给房间里…

Dynamics 365 使用ILMerge 合并CRM开发后的DLL

很久以前写过一篇博文,关于用ILMerge 命令合并DLL,当时时纯敲命令行的,现在有了更简单的方式,只需要在NuGet下载如下两个包 另外插件引用第三方dll的新方案Preview来了,不久的将来就不需要使用ILMerge了

外汇天眼:过度交易是大忌,交易不是越多越好!

过度交易是交易中的大忌,因为交易并不是越多越好。为什么我们倾向于将交易失败归因于心态呢?这可能是因为我们认为一笔交易成功和失败的概率都是50%,从而让人们误以为他们具备盈利的能力。然而,如果我们具备盈利的能力&#xff0c…

提升APP的用户体验的方法

提高APP的用户体验(User Experience,简称UX)对于吸引用户、提高用户满意度和应用的成功至关重要。以下是一些方法,可以帮助改善APP的用户体验,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包…

【vue3】踩坑日记,vite与node版本对应(mac环境)

创建vue3vitets项目时,报错The requested module ‘vue’ does not provide an export named ‘computed’; node版本问题, Vite 需要 Node.js 版本 14.18,16; 升级node版本步骤: 先查看node的版本&#…

Elasticsearch集群搭建与相关知识点整理

前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章参考网上的课程,介绍Elasticsearch集群的搭建,以及Elasticsearch集群相关知识点整理。 如果文章有什么需要改进的地方还请大佬不吝赐教&am…

自动驾驶的商业应用和市场前景

自动驾驶技术已经成为了交通运输领域的一项重要创新。它不仅在改善交通安全性和效率方面具有巨大潜力,还为各种商业应用提供了新的机会。本文将探讨自动驾驶在交通运输中的潜力,自动驾驶汽车的制造商和技术公司,以及自动驾驶的商业模式和市场…

云栖大会?全部免费!!抢先一步看!

2023云栖大会定档10月31日! 点击链接免费预约云栖门票: 2023云栖大会-领票页面 2023 云栖大会将于 10.31-11.2 在杭州云栖小镇举办,深度拥抱大数据AI 核心技术,见证阿里云大数据AI产品年度重磅发布及创新。开放融合的科技展示平…

Mysql数据库指定某数据库或某表赋予增删改查操作权限各类划分权限的方法总结实战

一、mysql创建用户只赋予指定数据库的增删改查操作权限 在日常生产运维工作中,我们经常需要给其他厂商或者合作伙伴提供数据库的账号,并且需要指定某个用户只能查询指定的数据库,并且赋予增删改查的指定权限。 (1)创…

执行 SQL 响应比较慢,你有哪些排查思路?

排查思路 如果执行 SQL 响应比较慢,我觉得可能有以下 4 个原因: 第 1 个原因:没有索引或者导致索引失效。 第 2 个原因:单表数据量数据过多,导致查询瓶颈第 3 个原因:网络原因或者机器负载过高。 第 4 个原…

Spring Cloud 之 GateWay简介及简单DEMO的搭建

(1)Filter(过滤器): 和Zuul的过滤器在概念上类似,可以使用它拦截和修改请求,并且对上游的响应,进行二次处理。过滤器为org.springframework.cloud.gateway.filter.GatewayFilter类的…

【Java小知识点】类加载器的区别

🎄欢迎来到边境矢梦的csdn博文🎄 🎄本文主要梳理Java类加载器的区别🎄 🌈我是边境矢梦,一个正在为秋招和算法竞赛做准备的学生🌈 🎆喜欢的朋友可以关注一下🫰&#x1faf…

【Docker】Dockerfile使用技巧

开启Buildkit BuildKit是Docker官方社区推出的下一代镜像构建神器,可以更加快速,有效,安全地构建docker镜像。 尽管目前BuildKit不是Docker的默认构建工具,但是完全可以考虑将其作为Docker(v18.09)的首选…

黔院长 | 邀您一同共筑养生健康项目!

黔院长,作为一家有百年技术传承并致力于打造大健康产业的企业,为更好的践行“为健康而生,助天下无疾”的初心和使命,更好的让健康事业造福百姓,让更多的人能够从这份事业当中获益,现面向全国火热招商&#…

【Chrome】使用k8s、docker部署无头浏览器Headless,Java调用示例

什么是无头浏览器? 无头浏览器是一种没有图形用户界面的浏览器。无头浏览器不通过其图形用户界面(GUI)控制浏览器的操作,而是使用命令行。 为什么要用Chrome无头? Chrome Headless用于抓取(谷歌)、测试(开发者)和黑客(黑客)。搜索引擎&…

短视频矩阵系统源码/技术应用搭建

短视频矩阵系统开发围绕的开发核心维度: 1. 多账号原理开发维度 适用于多平台多账号管理,支持不同类型账号矩阵通过工具实现统一便捷式管理。(企业号,员工号,个人号) 2. 账号矩阵内容开发维护 利用账号矩…

香港科技大学广州|可持续能源与环境学域博士招生宣讲会—广州大学城专场!!!(暨全额奖学金政策)

香港科技大学广州|可持续能源与环境学域博士招生宣讲会—广州大学城专场!!!(暨全额奖学金政策) “面向未来改变游戏规则的——可持续能源与环境学域” ���专注于能源环…

代码随想录算法训练营第三十一天丨 贪心算法part02

122.买卖股票的最佳时机 II 思路 本题首先要理清楚两点: 只有一只股票!当前只有买股票或者卖股票的操作 想获得利润至少要两天为一个交易单元。 #贪心算法 这道题目可能我们只会想,选一个低的买入,再选个高的卖,…

如何把Elasticsearch中的数据导出为CSV格式的文件

前言| 本文结合用户实际需求用按照数据量从小到大的提供三种方式从ES中将数据导出成CSV形式。本文将重点介Kibana/Elasticsearch高效导出的插件、工具集,通过本文你可以了解如下信息: 1,从kibana导出数据到csv文件 2,logstash导…