最近看了空洞卷积核形变卷积,这里大致记录一下。
Convolution Filter
普通卷积中,卷积核是方形的,例如 3X3,在图片上扫描得到特征图。个人认为大小卷积核,3*3,9X9区别在于:
感受野变化
- 9*9 感受野明显是非常大的,对应的提取到的特征更加的整体性;
- 3*3 卷积是可以堆叠形成9X9的感受野,但是更多的卷积层堆叠,提取到的特征也就会更加的细腻
对于姿态估计任务来说,看到的更多,人更整体似乎会更好
计算量的变化
3*3卷积核参数为9,9X9参数为81,参数翻了9倍,计算量大,需要更多的显存
Dilated Convolutions
初步认识
空洞卷积,也称扩张卷积、膨胀卷积,可以在不增加参数量的情况下起到大卷积核的效果。最早是用于语义分割的,
顾名思义,在卷积核中注入空洞,扩大了感受野,
几个要点
dilated设置为2时,3*3卷积核感受野为7X7, 设置为4,感受野为9X9
Note:
红点表示感受野中心
外围图像表示感受野
扩张卷积不会影响图像尺寸,卷积之后图像尺寸计算依然是:
Pytorch 中空洞卷积实现
python
1 | import torch.nn as nn |
Deform Convolution
形变卷积顾名思义,卷积核不再一定是方形了,在原来方形的基础上增加了一个offest
偏移量,于是可以发生形变,如下图:
卷积核可以任意的变形。
偏移量是通过一个普通的卷积层计算得到。
看以看出随着训练,形变卷积核采样位置的变化,在形成一个个形状,而不在是方形了。
多尺度
借鉴于别人—-在深度学习很多计算机视觉任务中,都用到了多尺度,这是在模仿人眼观察物体,
- 近大远小
- 远景完整,但是模糊
- 近景细节丰富,但是不完整