论文地址:http://openaccess.thecvf.com/content_ICCV_2019/papers/Zhao_EGNet_Edge_Guidance_Network_for_Salient_Object_Detection_ICCV_2019_paper.pdf

当前方法的问题

  全卷积网络解决了像素标记问题,出现了几种用于显着物体检测的端到端深度架构。 输出显着性图的基本单位从图像区域开始变成每个像素。 一方面,由于每个像素都有其显着性值,结果突出显示了细节。 但是,它忽略了对SOD重要的结构信息。随着网络感受野的增加,显著性物体的位置越来越准确,但是空间连贯性仍然被忽略了。显著边缘信息和显著物体信息的互补性也没有被注意到。

怎么解决这个问题

  利用显著边缘特征帮助显著物体特征更准确的定位物体(尤其是边界)。

  动机:良好的显着边缘检测结果可以在分割和定位方面帮助显着对象检测任务,反之亦然

网络结构

 

  使用VGG16的去全连接层的部分,由于第一个卷积块离输入近且感受野小,扔掉不用,在第五个卷积块后增加第六个卷积块。

1.渐进显著性物体特征提取:

  PSFEM模块。为了获取鲁棒性更好的显著物体特征,在每条支路后面增加三个卷积层,每个卷积层后有一个RELU层,再通过一个卷积层将将特征图转换成单通道的预测图。具体参数见表1。

  

2.非局部显著边缘特征提取

  通过conv2-2提取局部边缘信息。自顶向下将顶层的位置信息传播到第二层。融合的第二层特征如下

  

  表示为了改变特征通道数的卷积层,表示ReLU激活函数,是将输入上采样到C(2)大小的双线性插值操作。为了简便,用来表示表示第六层经过增强之后的特征,第六层的增强操作可以表示为,第三、四、五层的增强特征可以这样计算,

  

  表示卷积中的参数,表示一系列的卷积操作。在得到后,同样进行一系列卷积处理得到最终显著边缘特征,可以这样表示记做

3.一对一引导模块

  利用显著边缘特征引导显著物体特征在分割和定位上表现的更好。直接融合显著边缘特征和多分辨率显著物体特征时,边缘特征会被淡化,于是采用一对一引导。在每一层将显著边缘特征融合到增强的显著物体特征中去,使高层特征的定位更加准确,对每层的增强后的显著物体特征上采样后与显著边缘特征相融合,得到显著边缘引导特征s-feature,具体操作如下。

   

  与PSFEM类似,对每一层的融合特征进行一系列的卷积操作,然后转换成单通道预测图,通过公式3,得到增强后的s-feature

损失函数

  显著边缘特征部分的损失函数,分别表示显著边缘像素集合和背景像素集合,看源码发现应该是对每个GT都提取了边缘,用来监督边缘图的生成。是手动计算一个权值之后,计算交叉熵损失(F.binary_cross_entropy_with_logits),后面计算损失也全是调用这个函数。

  

  显著物体检测的损失函数,分别表示显著区域像素集合和非显著区域像素集合,

  

  特征提取部分的总损失函数:

  

  对每层得到的输出预测图计算损失,

  

  然后融合多尺度的预测图得到一张融合图,这一步的损失为:

  

  其中表示预测图和GT的交叉熵损失,与公式5结构一样。最后一对一引导模块的损失和该方法的总损失函数如下。

  

实验

  评价指标:F-measure:

  

  MAE:

  

  S-measure:

  

  对比结果:

  

论文阅读:EGNet: Edge Guidance Network for Salient Object Detection的更多相关文章

  1. 论文阅读笔记三十五:R-FCN:Object Detection via Region-based Fully Convolutional Networks(CVPR2016)

    论文源址:https://arxiv.org/abs/1605.06409 开源代码:https://github.com/PureDiors/pytorch_RFCN 摘要 提出了基于区域的全卷积网 ...

  2. 论文阅读 | FPN:Feature Pyramid Networks for Object Detection

    论文地址:https://arxiv.org/pdf/1612.03144v2.pdf 代码地址:https://github.com/unsky/FPN 概述 FPN是FAIR发表在CVPR 201 ...

  3. [论文阅读笔记] Structural Deep Network Embedding

    [论文阅读笔记] Structural Deep Network Embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 现有的表示学习方法大多采用浅层模型,这可能不能 ...

  4. [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion

    [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...

  5. Minimum Barrier Salient Object Detection at 80 FPS 论文阅读笔记

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  6. (不断更新)关于显著性检测的调研-Salient Object Detection: A Survey

    <Salient Object Detection: A Survey>作者:Ali Borji.Ming-Ming Cheng.Huaizu Jiang and Jia Li 基本按照文 ...

  7. 论文笔记:Rich feature hierarchies for accurate object detection and semantic segmentation

    在上计算机视觉这门课的时候,老师曾经留过一个作业:识别一张 A4 纸上的手写数字.按照传统的做法,这种手写体或者验证码识别的项目,都是按照定位+分割+识别的套路.但凡上网搜一下,就能找到一堆识别的教程 ...

  8. 论文阅读:An End-to-End Network for Generating Social Relationship Graphs

    论文链接:https://arxiv.org/abs/1903.09784v1 Abstract 社交关系智能代理在人工智能领域中越来越引人关注.为此,我们需要一个可以在不同社会关系上下文中理解社交关 ...

  9. 【论文阅读】Second-order Attention Network for Single Image Super-Resolution

    概要 近年来,深度卷积神经网络(CNNs)在单一图像超分辨率(SISR)中进行了广泛的探索,并获得了卓越的性能.但是,大多数现有的基于CNN的SISR方法主要聚焦于更宽或更深的体系结构设计上,而忽略了 ...

随机推荐

  1. 大数据学习笔记——Java篇之网络编程基础

    Java网络编程学习笔记 1. 网络编程基础知识 1.1 网络分层图 网络分层分为两种模型:OSI模型以及TCP/IP网络模型,前者模型分为7层,是一个理论的,参考的模型:后者为实际应用的模型,具体对 ...

  2. 2016/09/29 SQL中的join

    1.建表 首先建tb_a并插入数据. )); insertinto tb_a(symbol, sname) values ('A','B'); insertinto tb_a(symbol, snam ...

  3. 《Java基础知识》Java静态内部类、匿名内部类、成员式内部类和局部内部类

    内部类可以是静态(static)的,可以使用 public.protected 和 private 访问控制符,而外部类只能使用 public,或者默认. 成员式内部类 在外部类内部直接定义(不在方法 ...

  4. pip install pyspider失败的解决办法

    td{ width:10000px } 报错 下载pycurl库 地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pycurl 选择对应的python版本 ...

  5. Python爬虫实战:批量下载网站图片

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: GitPython PS:如有需要Python学习资料的小伙伴可以 ...

  6. NPOI 获取单元格的值

    1.日期格式的坑 var cell = row.GetCell(i);//获取某一个单元格 var value = ""; if (cell != null) { if (cell ...

  7. day03运算符、表达式、自增自减、三目运算符、程序结构、用户输入

    复习 1.java的输出语句 1)System.out.println(); 2)System.out.print(); 2.注释 1)单行注释 // 2)多行注释 /* .... */ 3.变量 1 ...

  8. C#开发微信小程序(三)

    导航:C#开发微信小程序系列 关于小程序项目结构,框架介绍,组件说明等,请查看微信小程序官方文档,关于以下贴出来的代码部分我只是截取了一些片段,方便说明问题,如果需要查看完整源代码,可以在我的项目库中 ...

  9. SpringMVC 自定义参数解析器.

    一.简述 有没有想过像 @RequestParam.@RequestBody 这些注解的工作原理呢?为什么 form 表单.application/json 的参数能够直接封装进 Bean 对象中呢? ...

  10. ReactNative: 使用AppReistry注册类

    一.简介 每一个应用程序的运行都有一个入口文件或者入口函数,例如iOS中的使用UIApplicationMain类完成入口函数的实现,在React-Native中,AppRegistry类就肩负着这个 ...