厦门网站建设cnmxcm,网站页面优化怎么做,做网站维护费是怎么算的,在哪个网站做推广比较好空洞卷积
1. 背景 空洞卷积#xff08;Dilated Convolution#xff09;最初是为解决图像分割的问题而提出的。常见的图像分割算法通常使用池化层来增大感受野#xff0c;同时也缩小了特征图尺寸#xff0c;然后再利用上采样还原图像尺寸。特征图先缩小再放大的过程造成了精…空洞卷积
1. 背景 空洞卷积Dilated Convolution最初是为解决图像分割的问题而提出的。常见的图像分割算法通常使用池化层来增大感受野同时也缩小了特征图尺寸然后再利用上采样还原图像尺寸。特征图先缩小再放大的过程造成了精度上的损失因此需要有一种操作可以在增加感受野的同时保持特征图的尺寸不变从而替代池化与上采样操作在这种需求下空洞卷积就诞生了。 在近几年的物体检测发展中空洞卷积也发挥了重要的作用。因为虽然物体检测不要求逐像素地检测但是保持特征图的尺寸较大对于小物体的检测及物体的定位来说也是至关重要的。
2. 卷积过程 空洞卷积顾名思义就是卷积核中间带有一些洞跳过一些元素进行卷积。在此以3x3卷积为例其中图1 a)是普通的卷积过程在卷积核紧密排列在特征图上滑动计算而图1 b)代表了空洞数为2的空洞卷积可以看到在特征图上每2行或者2列选取元素与卷积核卷积。类似地图1 c)代表了空洞数为3的空洞卷积。 图1 普通卷积与空洞卷积的对比 在代码实现时空洞卷积有一个额外的超参数dilation rate,表示空洞数普通卷积dilation rate默认为1图1 中的b与c的dilation rate分别为2与3。 在图1中同样的一个3X3卷积却可以起到5X5、7X7等卷积的效果。可以看出空洞卷积在不增加参数量的前提下增大了感受野。假设空洞卷积的卷积核大小为kkk,空洞数为ddd,则其等效卷积核大小k′k^{}k′计算如式(1) 所示。
k′k(k−1)×(d−1)(1)k^{}k\left ( k-1 \right )\times \left ( d-1 \right ) \tag{1}k′k(k−1)×(d−1)(1) 在计算感受野时只需要将原来的卷积核大小kkk更换为k′k^{}k′即可。
3. 优点 空洞卷积的优点显而易见在不引入额外参数的前提下可以任意扩大感受野同时保持特征图的分辨率不变。这一点在分割与检测任务中十分有用感受野的扩大可以检测大物体而特征图分辨率不变使得物体定位更加精准。
4. 缺点 当然空洞卷积也有自己的一些缺陷 主要表现在以下3个方面:
网格效应 由于空洞卷积是一种稀疏的采样方式当多个空洞卷积叠加时有些像素根本没有被利用到会损失信息的连续性与相关性进而影响分割、检测等要求较高的任务。
远距离的信息没有相关性 空洞卷积采取了稀疏的采样方式导致远距离卷积得到的结果之间缺乏相关性进而影响分类的结果。
不同尺度物体的关系 大的dilation rate 对于大物体分割与检测有利但是对于小物体则有弊无利如何处理好多尺度问题的检测是空洞卷积设计的重点。
5. 示例 PyTorch对于空洞卷积也提供了方便的实现接口在卷积时传入dilation 参数即可。
from torch import nn
conv1 nn.Conv2d(3, 256, 3, stride1, padding1,dilation1)
print(conv1,conv1)conv2 nn.Conv2d(3, 256, 3, stride1, padding1,dilation2)
print(conv2,conv2)conv1Conv2d(3, 256, kernel_size(3, 3), stride(1, 1), padding(1, 1))
conv2Conv2d(3, 256, kernel_size(3, 3), stride(1, 1), padding(1, 1), dilation(2, 2))