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不同卷积层的特征输出
CNN边缘检测--Richer Convolutional Features for Edge Detection_第1张图片

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

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

标准VGG16中的感受野和步长
CNN边缘检测--Richer Convolutional Features for Edge Detection_第4张图片

我们对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 的输出结果
CNN边缘检测--Richer Convolutional Features for Edge Detection_第5张图片

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

每个像素的损失函数定义如下
CNN边缘检测--Richer Convolutional Features for Edge Detection_第6张图片

3.3. Multiscale Hierarchical Edge Detection
对尺度图像输入
CNN边缘检测--Richer Convolutional Features for Edge Detection_第7张图片
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 数据库上对比
CNN边缘检测--Richer Convolutional Features for Edge Detection_第8张图片

NYUD dataset
CNN边缘检测--Richer Convolutional Features for Edge Detection_第9张图片

Multicue dataset
CNN边缘检测--Richer Convolutional Features for Edge Detection_第10张图片

图示结果:

最后有一点很有意思: 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.

你可能感兴趣的:(深度学习应用,CVPR2017)