上采样
对于低分辨率的特征图,我们常常采用上采样的方式将它还原高分辨率,这里陈述三种方法。
3.1双线性插值上采样
首先线形插值是什么?线形插值就是知道两个点的值,连一条直线,来确定中间的点的值,具体怎么做,我们找(x1,y1)、(x2,y2)连成一条直线,[x1,x2]中的点就可以用线上的点表示。
双线性插值是一个三维的坐标系,我们找到四个点来确定中心点坐标,如下图为网上找的一个例子。
这种方法计算简单,无需训练。
3.2反卷积上采样
3.2.1 怎样上采样
普通的卷积操作,会使得分辨率降低,如下图3*3的卷积核去卷积4*4得到2*2的输出。上采样的过程也是卷积,那么怎么会得到分辨率提高呢?之前我们看卷积时有个保持输出与输入同分辨率的方法就是周围补0,嗯嗯。那么你是否灵机一动,那要是让分辨率提高呢?是不是再多补一些0,对的看看图2。
图1 常规卷积操作
图2 上采样操作(四周补0)
其实呢作者在这又换了个方法,你想一下,只在四周补0会导致最边上的信息不太好,那我们把这个信息平均下,在每个像素与像素之间补0呢,看图3就是这么操作的。
图3 反卷积插零
3.2.2 反卷积补多少零?
然后我们看一下参数的计算,先看一下四周补0的情况。下图给出了发卷积的参数,我们要保持转置卷积的输出核卷积的输入相同也就是i=o’,转置卷积就是反卷积。这里主要算出p为多少就是补多少个0,看我图5给出了计算。
图4 四周补零反卷积
图5 四周补0计算
再看一下反卷积间隙补0的计算如图6所示。其中插零输入是先往里面插入i‘-1个0。再计算p’
图6 间隙补0反卷积
图7 间隙补零反卷积计算
3.3反池化上采样
反池化可以用下图来理解,再池化时需要记录下池化的位置,反池化时把池化的位置直接还原,其他位置填0。
3.4 小结
三种方法各有优缺,双线性插值方法实现简单,无需训练;反卷积上采样需要训练,但能更好的还原特征图;