**思想:**从函数(或者说映射、变换)的角度理解:卷积过程是在图像每个位置进行线性变换映射成新值的过程,将卷积核看成权重,从这个角度看,多层卷积是在进行逐层映射,整体构成一个复杂函数,训练过程是在学习每个局部映射所需的权重,训练过程可以看成是函数拟合的过程
从模版匹配的角度理解:卷积与相关在计算上可以等价,相关运算常用模板匹配,即认为卷积核定义了某种模式,卷积(相关)运算是在计算每个位置与该模式的相似程度,或者说每个位置具有该模式的分量有多少,当前位置与该模式越像,响应越强。卷积神经网络中的隐藏层即可以看成是在特征层面进行模板匹配。
使用原因: 如果把整副图像作为特征来训练神经网络(1)冗余信息多(2)信息量超级大
作用:提取特征
普通卷积
主要问题:
网格效应:多次叠加多个具有相同空洞率的卷积核会造成格网中有一些像素自始至终都没有参与运算,不起任何作用,这对于像素级别的预测是不友好的。
我们从 dilated convolution 的设计背景来看就能推测出这样的设计是用来获取 long-ranged information。然而光采用大 dilation rate 的信息或许只对一些大物体分割有效果,而对小物体来说可能则有弊无利了。如何同时处理不同大小的物体的关系,则是设计好 dilated convolution 网络的关键。
反卷积
反卷积:
反卷积只能恢复尺寸,不能恢复数值。
分两步:
(1)先根据步数stride对输入的内部进行填充,这里stride可以理解成输入放大的倍数,即在 input 的每个元素之间填充 0,0的个数 n 与stride 的关系为:
N=stride-1
(2)进行正常的卷积
https://www.zhihu.com/question/48279880
反卷积存在棋盘效应,因为反卷积会在中间填0,就已经变成一格一格的,然后卷积出来,就有棋盘的样子。
如果kernel能被stride整除,这样每次在kernel里面的没有加零前的数据数目是一样的,就可以减缓棋盘效应。
为了避免棋盘效应,可以使用上采样+卷积,但是占用空间大,除非网络占用空间实在太大,考虑用反卷积减少一点占用
双线性插值:
核心思想是在两个方向上各进行一次线性插值,
其中红色点Q11,Q12,Q21,Q22为已知的4个像素点.
第一步:X方向的线性插值,在Q12,Q22中插入蓝色点R2,Q11,Q21中插入蓝色点R1;
第二步 :Y方向的线性插值 ,通过第一步计算出的R1与R2在y方向上插值计算出P点。
先在哪个方向上插值没有顺序关系。
简化公式:
原图和插值后图像左上角对齐:最右边和最下边的图像没有利用到
源图像mn,目标图像:ab,目标图像的第(i,j)个像素点(i行j列)可以通过边长比对应回源图像。其对应坐标为 ( i ∗ m / a , j ∗ n / b ) (i*m/a,j*n/b)