BASNet,一种能关注边缘的显著性检测算法

2019 年 7 月 19 日 极市平台

加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动!

同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流点击文末“阅读原文”立刻申请入群~

知乎专栏:计算机视觉随便记

 来源:https://zhuanlan.zhihu.com/p/71538356

未经作者授权,请勿二次转载


今天要聊的这篇文章是2019年CVPR的一篇显著性检测的文章。《BASNet: Boundary-Aware Salient Object Detection》,看文章标题,顾名思义,就知道文章可以很好的关注到显著性目标的边缘信息。


文章:https://webdocs.cs.ualberta.ca/~xuebin/BASNet.pdf

代码:https://github.com/NathanUA/BASNet


主要贡献


1)将显著性检测网络两个部分,一部分是predict网络,可以得到coarse saliency region,一部分是紧跟在预测网络后后面的fine网络,用来对上一步得到的coarse saliency区域进行进一步的细化,得到更加精确地显著性图。这两个网络的网络结构大致相同,都是经典的Encode-Decode网络,只不过predict网络的结构更加深一些,而fine网络则浅一些。

2)提出了hybrid loss。通过将Binary Cross Entropy (BCE),Structural SIMilarity (SSIM)和Intersection-over-Union (IoU)三种loss进行结合,让模型能够关注到图像的pixel-level,patch-level和map-level三个不同层级的显著性信息。从而获得更加精确的显著性结果。


BASNet网络结构



上面的网络结构即整个BASNet算法的网络结构,同时也是整个算法的pipeline。


整个BASNet的网络结构分为两个部分:


一部分是Predict Module,这部分网络输入一张图像,然后经过encode和decode层,输出初步预测的显著性图。这部分网络就是毕竟经典的Ecode-Decode网络,前面的Encode对图像进行提取特征,使用Pooling方法得到了分辨率逐步变小的高层语义特征,后面的Decode部分则负责将高层语义信息逐步还原放大,从而逐步获得大分辨率的feature map图,最终输出和原图一样大小的显著性图。


在Encode和Decode之间,会有shortcut,将相同分辨率的feature map图相加,从而让最终的输出的feature map能够兼顾low-level和high-level的特征。值得一提的是, 在decode的过程中,共有 6 种不同分辨率的feature map图,再加上encode阶段最后一层的feature map,一共使用了7个feature map进行loss算,这种多层多loss的方法有点类似于中继loss,一方面可以帮助网络更好的收敛,另一方面可以让网络关注到不同尺度的显著性图。


另一部分是Residual Refinement Module,这部分的网络结构其实和前面的Predict Module模块网络结构一样,使用conv、BN、RELU构造encode和decode,只不过与前面的Predict Module相比,这部分的网络结构要简单一些,网络深度低一些。另外,这部分的loss只用最后一层的输出作为loss,中间层的输出则没有。


Loss


总的loss等于每层的loss的加权和: 


而每层的loss又由三部分loss组成: 



三部分loss分别:


  1. pixel-level的Binary Cross Entropy (BCE)loss: 

其中  表示在第r行第c列处的真实值,  则表示的是预测值。从公式形式可以看出,loss与每个像素都有关,因此是pixel-level的loss。


2. patch-level的Structural SIMilarity (SSIM) loss: 

其中  表示从预测的显著性图和groundtruth上抠出的N*N区域。  分别表示  的均值和方差,  则表示他们的协方差。  则都为了防止出现除以0 的情况。分析loss可以发现,每个像素点的产生的loss都与其附近的局部patch有关(这里是N*N的patch),因此在训练的过程中,会对物体边缘部分的loss值加强,对非边缘部分抑制。正式因为这个loss的存在,使得该算法可以关注到更多的目标显著性的边缘细节信息,


3. map-level的IoU loss: 

这里的S、G和BCE loss的含义是一样的。

三种loss中,BCE loss和IOU loss都是比较常见的目标检测、分割的loss。而SSIM loss在分割则不常用。这个loss一般用于衡量两幅图像的结构相似性,其对局部结构变化比较敏感。


实验结果


下图是实验结果对比,可以发现性能还是比较强悍的,在GPU上,256*256的图像也可以达到25fps。虽然网络结构的改进只是对Encode-Decode结构进行叠加,loss的改进创新也只是对三种loss进行组合,但是最终的结果来看还是比较work的,也说明作者的改进点简单有效。



总结:


2大贡献:


1、构造了Coarse-to-Fine的Encode-Decode网络结构


2、借鉴目标检测、目标分割、图像相似度匹配的思想,构造了混合的loss,此loss能够关注图像的pixel-level、patch-level、map-level的显著性,从而获得更加精细的显著性结果。



-完-




*延伸阅读



点击左下角阅读原文”,即可申请加入极市目标跟踪、目标检测、工业检测、人脸方向、视觉竞赛等技术交流群,更有每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流,一起来让思想之光照的更远吧~



觉得有用麻烦给个在看啦~  

登录查看更多
15

相关内容

CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络
专知会员服务
43+阅读 · 2020年4月17日
【经典书】数据结构与算法C++,第二版,738页pdf
专知会员服务
165+阅读 · 2020年3月27日
专知会员服务
53+阅读 · 2020年3月16日
专知会员服务
41+阅读 · 2020年2月20日
近期必读的9篇 CVPR 2019【视觉目标跟踪】相关论文和代码
【干货51页PPT】深度学习理论理解探索
专知会员服务
59+阅读 · 2019年12月24日
【综述】关键词生成,附10页pdf论文下载
专知会员服务
52+阅读 · 2019年11月20日
已删除
将门创投
6+阅读 · 2019年9月3日
基于显著性的图像分割
AI研习社
7+阅读 · 2019年4月21日
CVPR 2019 | CSP行人检测:无锚点框的检测新思路
机器之心
3+阅读 · 2019年4月13日
CVPR2019 | FSAF:来自CMU的Single-Shot目标检测算法
极市平台
41+阅读 · 2019年3月8日
Polarity Loss for Zero-shot Object Detection
Arxiv
3+阅读 · 2018年11月22日
Arxiv
3+阅读 · 2018年3月5日
Arxiv
7+阅读 · 2018年1月24日
Arxiv
4+阅读 · 2016年12月29日
VIP会员
相关VIP内容
相关资讯
已删除
将门创投
6+阅读 · 2019年9月3日
基于显著性的图像分割
AI研习社
7+阅读 · 2019年4月21日
CVPR 2019 | CSP行人检测:无锚点框的检测新思路
机器之心
3+阅读 · 2019年4月13日
CVPR2019 | FSAF:来自CMU的Single-Shot目标检测算法
极市平台
41+阅读 · 2019年3月8日
Top
微信扫码咨询专知VIP会员