专栏首页机器学习、深度学习CNN边缘检测--Richer Convolutional Features for Edge Detection

CNN边缘检测--Richer Convolutional Features for Edge Detection

Richer Convolutional Features for Edge Detection CVPR2017 Caffe:https://github.com/yun-liu/rcf

本文针对边缘检测问题,基于 VGG16 网络设计了一个 richer convolutional features (RCF) 用于边缘检测,效果目前是很好的。

首先来看看 VGG16不同卷积层的特征输出

3 Richer Convolutional Features (RCF) 3.1. Network Architecture 网络结构思路很简单啊

我们将卷积分为5个stage,相邻两个stage 通过池化层来降采样,得到不同尺度特征,rich hierarchical information 对边缘检测很有帮助。 随着 receptive field 尺寸的增加,每个卷积层学习到的有用信息将变得 coarser

标准VGG16中的感受野和步长

我们对VGG16的改动如下: 1)去除所有的全连接层和第五池化层。去除全连接层主要是为了得到全卷积网络,第五池化层对降采样特征图,不利于边缘定位。 2)对VGG16中的每个卷积层使用一个 kernel size 1 × 1 and channel depth 21 卷积层, 每个stage中所有的1 × 1 × 21卷积输出进行元素相加操作( eltwise layer),得到一个复合特征 3)每个 eltwise layer 后面加一个deconv layer 用于放大特征图尺寸的(up-sampling layer) 4)在每个 up-sampling layer 后面使用一个 cross-entropy loss / sigmoid layer 5)所有的 up-sampling layers 输出进行concatenated,随后使用一个 1×1 conv layer 进行特征图融合,最后使用 一个 cross-entropy loss / sigmoid layer 得到输出

下面看看每个 stage 的输出结果

3.2. Annotator-robust Loss Function 在设计损失函数时,我们对于有争议的边缘点不计入损失函数的计算中,例如有10个人标记,只有1-3个人同时标记某个像素为边缘点。那么该像素点就属于有争议的边缘点。

每个像素的损失函数定义如下

3.3. Multiscale Hierarchical Edge Detection 对尺度图像输入

we use three scales 0.5, 1.0, and 1.5 in this paper 对于 BSDS500 数据库, 精度提升: ODS F-measure from 0.806 to 0.811,速度从 30 FPS 降到 8 FPS

3.4. Comparison With HED 和 HED 的比较 下面开始 马三点: 关于这个问题我要说三点 1)HED 只考虑 VGG16 每个 stage 中的最后一个卷积层, 这样很多有用的信息就丢失了。 而 RCF 使用了所有的卷积层信息 2) 我们设计了新的损失函数,不考虑有争议的边缘点计算 3) 多尺度提升性能 multiscale hierarchy to enhance edges 2.3% improvement in ODS F-measure over HED

BSDS500 数据库上对比

NYUD dataset

Multicue dataset

图示结果:

最后有一点很有意思: non-linearity 没有帮助,甚至导致网络不收敛 In order to investigate whether including additional non-linearity helps, we connecting ReLU layer after 1 × 1 − 21 or 1 × 1 − 1 conv layers in each stage. However, the network performs worse. Especially, when we attempt to add nonlinear layers to 1 × 1 − 1 conv layers, the network can not converge properly.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一文弄懂神经网络中的反向传播法——BackPropagation

    https://www.cnblogs.com/charlotte77/p/5629865.html

    用户1148525
  • 视频目标检测跟踪--Detect to Track and Track to Detect

    Detect to Track and Track to Detect ICCV2017 https://github.com/feichtenhofe...

    用户1148525
  • 人体姿态估计--Stacked Hourglass Networks for Human Pose Estimation

    Stacked Hourglass Networks for Human Pose Estimation ECCV2016 http://www-per...

    用户1148525
  • iOS动画系列之四:基础动画之平移篇2. 创建不同速度控制的动画3. Swift版本的部分差异

    stanbai
  • Radware:针对CDN的五大安全威胁

    当前,许多企业都意识到ddos防御对维护非凡客户体验而言至关重要。这是为什么呢?因为网络攻击对加载时间或最终用户体验的影响远超过其他因素,网络攻击是应用性能的无...

    宇众小添
  • 学习廖雪峰Python3教程之面向对象小

    面向对象编程(OOP)是程序设计的思想,OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。在Python中,所有数据类型都可以视为对象,当然...

    py3study
  • Machinae v1.4.8:一款实用的信息收集自动化工具

    Machinae这款开源工具可以帮助广大研究人员从各个开放网站/feed收集跟网络安全有关的数据,例如IP地址、域名、URL、电子邮件地址、文件哈希和SSL指纹...

    FB客服
  • Machinae:一款信息收集自动化工具

    Machinae这款开源工具可以帮助广大研究人员从各个开放网站/feed收集跟网络安全有关的数据,例如IP地址、域名、URL、电子邮件地址、文件哈希和SSL指纹...

    FB客服
  • 使用socket实现即时通讯聊天室

    websocket早在几年前就已经很流行了,主要就是用于即时通讯这一方面应用,可以是聊天,也可使是直播流传输等等。

    踏浪
  • REST微服务的分布式事务实现-使用Spring Cloud的fallback模式

    Fallback是Spring Cloud Netflix框架套件中的Hystrix使用的,用于在出错时候进行的应急措施,我们可以用它来实现在出错的时候来进行回...

    IT技术小咖

扫码关注云+社区

领取腾讯云代金券