Richer Convolutional Feature for Edge Detection

Richer Convolutional Feature for Edge Detection

文章链接为Richer Convolutional Feature for Edge Detection

这篇文章通过结合所有有意义的卷积的feature,更好地利用multi-scale和multilevel信息。

网络结构

文章中网络设计的出发点为不同层feature包含的信息不同。越深层的feature包含的信息越coarse,而浅层的feature包含了很多有用的细节。因此,利用好现有网络的所有有用的feature应该能对网络性能有一定提升。

Richer Convolutional Feature for Edge Detection_第1张图片

网络主体部分是一个VGG16网络。VGG网络中的每一个conv层后都连接了一个1x1的conv层,输出channel数为21。每个stage中的输出相加后再连接一个1x1网络,输出channel数为1.对于每个stage的最终输出,都经过上采样变为原图大小,然后计算cross-entropy loss。将每个stage上采样后的图片concat,再经过1x1conv层后,计算loss。将每个stage的loss和concat后的loss相加,得到最终的loss。

Loss

因为edge-detection的数据的ground-truth是由多个人同时标注的,多个人标注的结果取平均得到一个probability map。对于图片中的某些pixel,不用的人给出了不同的结果,而这些pixel无论是当做positive还是negative,都会迷惑网络,因此如果一个pixel的值小于某个值,那么就忽略这个点,即不计算这个点的loss。

Multiscale

Richer Convolutional Feature for Edge Detection_第2张图片

为了提高最终结果,文章中将一张图片变为不同大小,通过同一个网络得到不同大小的图片。这些图片通过线性插值的方式,重新变为原来大小,然后取多张图的平均值作为最终结果。文章使用了0.5,1和1.5作为图片放大的倍数。

你可能感兴趣的:(计算机视觉)