『计算机视觉』感觉野和anchor

原文连接:关于感觉野的总结网络

论文连接:Understanding the Effective Receptive Field in Deep Convolutional Neural Networkside

1、感觉野

感觉野被定义为卷积神经网络特征所能看到输入图像的区域,换句话说特征输出受感觉野区域内的像素点的影响。下图展现了一个在输出层达到了7*7感觉野的例子:spa

感觉野计算公式为:设计

如上例第一个隐层,blog

 若是存在空洞卷积,公式变为ip

感觉野计算的问题

上文所述的是理论感觉野,而特征的有效感觉野(实际起做用的感觉野)其实是远小于理论感觉野的,以下图所示。具体数学分析比较复杂,再也不赘述,感兴趣的话能够参考论文:Understanding the Effective Receptive Field in Deep Convolutional Neural Networksci

咱们如下图为例,简要介绍有效感觉野的问题:get

很容易能够发现, x_{1,1} 只影响第一层feature map中的 o_{1,1}^1 ;而 x_{3,3} 会影响第一层feature map中的全部特征,即 o_{1,1}^1,o_{1,2}^1,o_{1,3}^1,o_{2,1}^1,o_{2,2}^1,o_{2,3}^1,o_{3,1}^1,o_{3,2}^1,o_{3,3}^1数学

第一层的输出所有会影响第二层的 o_{1,1}^2it

因而 x_{1,1} 只能经过 o_{1,1}^1 来影响 o_{1,1}^2 ;而 x_{3,3} 能经过 o_{1,1}^1,o_{1,2}^1,o_{1,3}^1,o_{2,1}^1,o_{2,2}^1,o_{2,3}^1,o_{3,1}^1,o_{3,2}^1,o_{3,3}^1 来影响 o_{1,1}^2 。显而易见,虽然 x_{1,1}x_{3,3} 都位于第二层特征感觉野内,可是两者对最后的特征 o_{1,1}^2 的影响却大不相同,输入中越靠感觉野中间的元素对特征的贡献越大。

计算公式

对于普通卷积:F(i, j-1) = (F(i, j) - 1)*stride + kernel_size

其中 F(i,j)表示第i层对第j层的局部感觉野。

对于空洞卷积:F(i, j-1) = (F(i, j) - 1)*stride + dilation*(kernel_size - 1) + 1

经实际演算,以上公式正确。

2、感觉野的应用

分类

Xudong Cao写过一篇叫《A practical theory for designing very deep convolutional neural networks》的technical report,里面讲设计基于深度卷积神经网络的图像分类器时,为了保证获得不错的效果,须要知足两个条件:

Firstly, for each convolutional layer, its capacity of learning more complex patterns should be guaranteed; Secondly, the receptive field of the top most layer should be no larger than the image region.

其中第二个条件就是对卷积神经网络最高层网络特征感觉野大小的限制。

目标检测

如今流行的目标检测网络大部分都是基于anchor的,好比SSD系列,v2之后的yolo,还有faster rcnn系列。

基于anchor的目标检测网络会预设一组大小不一样的anchor,好比32x3二、64x6四、128x12八、256x256,这么多anchor,咱们应该放置在哪几层比较合适呢?这个时候感觉野的大小是一个重要的考虑因素。

放置anchor层的特征感觉野应该跟anchor大小相匹配,感觉野比anchor大太多很差,小太多也很差。若是感觉野比anchor小不少,就比如只给你一只脚,让你说出这是什么鸟同样。若是感觉野比anchor大不少,则比如给你一张世界地图,让你指出故宫在哪儿同样。

《S3FD: Single Shot Scale-invariant Face Detector》这篇人脸检测器论文就是依据感觉野来设计anchor的大小的一个例子,文中的原话是

we design anchor scales based on the effective receptive field

《FaceBoxes: A CPU Real-time Face Detector with High Accuracy》这篇论文在设计多尺度anchor的时候,依据一样是感觉野,文章的一个贡献为

We introduce the Multiple Scale Convolutional Layers
(MSCL) to handle various scales of face via enriching
receptive fields and discretizing anchors over layers
相关文章
相关标签/搜索