1、介绍

语义分割通常有两个问题:类内不一致性(同一物体分成两类)和类间不确定性(不同物体分成同一类)。本文从宏观角度,认为语义分割不是标记像素而是标记一个整体,提出了两个结构解决这两个问题,平滑网络和边界网络(Smooth Network and Border Network)。平滑网络用的是通道注意力块(Channel Attention Block),来解决类内不一致性。边界网络集成了语义边界损失。

2、相关工作

Encoder-Decoder:主要考虑如何恢复由于池化造成的空间信息损失,如 SegNet,U-net,Global Convolutional Network,LRR,Refinenet。这些方法只是把相邻步骤的特征总和起来,没有考虑多样表现性

Global Context(全局上下文信息):全局平均池化有很大的效果,如 ParseNet,PSPNet,Deeplabv3

Attention Module(注意力模块):注意力关注不同尺度信息,如 SENet

Semantic Boundary Detection(语义边界检测):许多方法直接连接不同层的特征提取边界,我们用了自下而上的结构来优化每一步的特征

3、网络结构

平滑网络:用了 global pool 以及通道注意力模块和精细化残差块

边界网络:用传统的 canny 边缘检测算法获得边界,损失函数用的 focal loss,为了平衡正负样本,同时减少简单样本的损失,使网络更易于训练

整体网络:用 deep supervision 对每一层的结果进行上采样计算损失,除了全局池化层,平滑网络用 softmax,边界网络用 focal loss,最后两个加起来用一个平衡参数 L=L(s)+a*L(b)

4、训练

优化器:SGD

batch size:32

动量:0.9

权重衰减:0.0001

学习率:4e-3

学习率衰减:(1-iter/maxiter)^0.9

损失函数比例a:0.1(验证集上效果最好)

数据扩增:减去均值,随机水平翻转,随机缩放

5、看完其实并不太懂具体的实现,只能是知道一个大概的结构,具体的实现结构可以参考github:https://github.com/YuhuiMa/DFN-tensorflow

Border Network主要用于计算 loss 更新权重,

Learning a Discriminative Feature Network for Semantic Segmentation(语义分割DFN,区别特征网络)的更多相关文章

  1. 《Learning a Discriminative Feature Network for Semantic Segmentation》解读

    旷世18年的CVPR,论文链接:https://arxiv.org/abs/1804.09337 Motivation:针对分割中的“类内不一致”和“类间一致性”的两大问题,设计了结合Smooth n ...

  2. 论文阅读笔记十六:DeconvNet:Learning Deconvolution Network for Semantic Segmentation(ICCV2015)

    论文源址:https://arxiv.org/abs/1505.04366 tensorflow代码:https://github.com/fabianbormann/Tensorflow-Decon ...

  3. Semantic Segmentation on Remotely Sensed Images Using an Enhanced Global Convolutional Network with Channel Attention and Domain Specific Transfer Learning

    创新点: 1.在GCN(global convolutional network)基础上,把他的backbone替换成更多层的,使其适应中分辨率影像,resnet50,101,152 2.利用 cha ...

  4. 语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet,语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类;目标检测只有两类,目标和非目标,就是在一张图片中找到并用box标注出所有的目标.

    from:https://blog.csdn.net/u012931582/article/details/70314859 2017年04月21日 14:54:10 阅读数:4369 前言 在这里, ...

  5. Remote Sensing Images Semantic Segmentation with General Remote Sensing Vision Model via a Self-Supervised Contrastive Learning Method

    论文阅读: Remote Sensing Images Semantic Segmentation with General Remote Sensing Vision Model via a Sel ...

  6. Learning Deconvolution Network for Semantic Segme小结

    题目:Learning Deconvolution Network for Semantic Segmentation 作者:Hyeonwoo Noh, Seunghoon Hong, Bohyung ...

  7. 论文阅读笔记十八:ENet: A Deep Neural Network Architecture for Real-Time Semantic Segmentation(CVPR2016)

    论文源址:https://arxiv.org/abs/1606.02147 tensorflow github: https://github.com/kwotsin/TensorFlow-ENet ...

  8. 【Semantic Segmentation】DeepLab V3(转)

    原文地址:DeepLabv3 代码: TensorFlow Abstract DeepLabv3进一步探讨空洞卷积,这是一个在语义分割任务中:可以调整滤波器视野.控制卷积神经网络计算的特征响应分辨率的 ...

  9. 论文笔记:A Review on Deep Learning Techniques Applied to Semantic Segmentation

    A Review on Deep Learning Techniques Applied to Semantic Segmentation 2018-02-22  10:38:12   1. Intr ...

随机推荐

  1. ADO.NET 二(Connection)

    C# 语言中 Connection 类是 ADO.NET 组件连接数据库时第一个要使用的类,也是通过编程访问数据库的第一步. 接下来了解一下 Connection 类中的常用属性和方法,以及如何连接 ...

  2. 并发编程之Disruptor并发框架

    一.什么是Disruptor Martin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易.这个系统是建立在JV ...

  3. 如何恢复SVN被删除文件、文件夹

    转自:https://blog.csdn.net/chuangxin/article/details/81226657 一.摘要本文讲述在客户端(如:Tortoise SVN,开发工具IDE SVN插 ...

  4. Android笔记(六十六) android中的动画——XML文件定义属性动画

    除了直接在java代码中定义动画之外,还可以使用xml文件定义动画,以便重用. 如果想要使用XML来编写动画,首先要在res目录下面新建一个animator文件夹,所有属性动画的XML文件都应该存放在 ...

  5. mysql遇到时区问题的坑(Java解决方案)

    最近项目遇到一个坑,就是server和db之间存在时区问题,本人的db是utc时间, 可以使用代码设置时区来解决,本人这里使用joda三方包,joda蛮好用的,具体用法这里不做详细描述. 先引入pom ...

  6. HAProxy-1.8.x版本源码编译

    源码编译HAProxy:  官网下载HAProxy包,并解压包,切换到haproxy包目录下 [root@centos17haproxy-1.8.20]#tar xvf haproxy-1.8.20. ...

  7. /sys 和 /dev 区别

    参考:What's the “/sys” directory for? Directory - /sys in linux 前言 各种Linux发行版下面似乎都有/sys目录,tree查看下面内容,会 ...

  8. npm start a http server( 在windows的任意目录上开启一个http server 用来测试html 页面和js代码,不用放到nginx的webroot目录下!!)

    原文:https://stackabuse.com/how-to-start-a-node-server-examples-with-the-most-popular-frameworks/#:~:t ...

  9. 0023SpringMVC自定义类型转换器

    页面录入的字符串:2019/12/05可以映射到实体的日期属性上,但是如果是录入2019-12-05就会报错400 bad request,想要以2019-12-05日期格式的方式映射到实体的日期属性 ...

  10. 关于Bigdecimal的问题

    Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算.双精度浮点型变量double可以处理16位有效数.在实际应用中,需要对更大或者更小的数进行 ...