一、背景
边缘检测/轮廓检测是从图片的背景中分离出目标的轮廓和边缘。
现有的基于CNN的方法:HED/CEDN/COB等,基本都是使用较深的网络结构,并利用其从imagenet预训练得来的高层分类信息
问题:虽然现有的方法使用了预训练的分类网络作为backbone,但这些backbone肯定有一些没有被开发出来的能力,因为它们携带了很多高层抽象特征。
二、动机
三、方法
1、语义信息层面
对于边缘检测,传统的边缘检测方法可以检测出图像中的很多边缘,所以难点会在于如何区分出对任务有用的边缘和无用的边缘,此时就需要上下文语义信息了(semantic context)。
本文采用了PASCAL VOC 的20类目标的边界来作为语义上下文信息
出发点:如果上下文信息明确且细节信息也可得到,那么最重要的事情就是高层信息的抽象能力,就可以从上下文信息中抽出边缘。
落脚点:基于上述出发点,本文致力于使用现有分类网络自身的能力来提升对轮廓检测的效果
实现方法:对网络结构、backbone、训练方式、数据集都做了探究
2、refine 结构
① 首先从最深的特征图出发,将其与上一层的特征图融合,直到到达最浅层(multi-resolution fusion)
② 训练过程实现两个目标,这两个目标都可以通过数据增强来加强实现:
- 有效利用pretrained 网络的特征抽象能力
- 将该抽象能力和pixel-wise的检测有效结合
3、边缘检测和图像分割的不同
边缘检测和图像分割网络最大的不同在于目标函数,边缘检测是一个二分类问题,本文使用逻辑回归作为 loss function:
- h ∈ [ 0 , 1 ] h\in[0,1] h∈[0,1],是预测结果
- y ∈ { 0 , 1 } y\in\{0,1\} y∈{0,1},是二值label
- β = 10 \beta=10 β=10,平衡因子,平衡边缘和非边缘特征
4、网络结构
- RCU:residual convolutional unit,有残差卷积层,可以丰富网络参数,同时可以调节/修正 MRF 的输入。
- MRF:multi-resolution fusion,使用卷积和上采样调节特征图通道和大小,以便不同分辨率的特征图融合
- CRP:chained residual pooling,使用链式的卷积和pooling,相比只使用 max-pooling 来说,可以更好的聚合更多的context信息。
- 在最后一个 refinement,作者使用原始图作为输入,经过了3个RCU,提升了部分效果。
四、效果