Richer Convolutional Features for Edge Detection论文笔记

总结

使用CNN进行边缘检测,主要在数据库BSD500实验。主要贡献如下:

  1. 网络开始阶段,细节边缘丰富。网络后续阶段,细节(内部)边缘减少,轮廓信息更明显。所以利用FPN思想结合高层和底层的Feature Map进行边缘检测。
  2. 优化LOSS FUNCTION,使其更具有一般性。

在BSDS500 benchmark,得到 ODS F-measure 0.811 (8FPS)

简化版本ODS F-measure 0.806 (30FPS)

得到2017年最好边缘检测的效果。

网络结构

网络主干为VGG16, 每个ConvGroup即一个stage后接pooling下采样。

每个stage的各个conv层后接1x1conv降维,再将group中所有降维后的feature maps相加(eltwise)得到融合特征。再接一个deconv恢复尺寸记为Stage feature map,用其计算loss。

最后阶段concat每个stage得到的Stage feature map,然后接一个1x1conv降维,计算loss。

网络具体结构及感受野如下表格所示

优化LOSS FUNCTION

Edge Detection任务中,每个图像有多个Anotation,因为每个标注者对边缘的标注可能不统一。

扫描二维码关注公众号,回复: 2341077 查看本文章

所以本文整合多个标注信息:

将所有人标注为0的区域设定为背景,将标注均值大于\eta的pixel定义为edge。平均标注介于二者之间的pixels定义为模糊点,不计算loss。

公式如下

其他细节

1. 实验中使用了dilated conv以及一些超参数具体设置如下

2. 评价指标ODS、OIS

通过预测结果生成最终edge map的时候,置信度是一个超参数,记为p,p的选取可以通过ODS和OIS两种方法,当然这两种方法得到的F score也不一样。

ODS是选取一个固定的p应用于所有图片,使得整个数据集上的F score最大。

OIS是在每一张图片上均选取不同的使得该图片F score最大的p。

通常使用ODS作为测评指标。

吐槽

Edge detection任务上另一个有代表性的工作为HED,Holistically-Nested Edge Detection。发表于ICCV2015。

RCF与HED的区别其实很小,无非就是将每个conv层后的结果利用起来。HED是用group conv后的结果。

另外一点就是LOSS FUNCTION的计算改进。

不管黑猫白猫能抓耗子就是好猫,RCF也将HED效果提升了不少。

猜你喜欢

转载自blog.csdn.net/xiong_sun/article/details/81165088
今日推荐