卷积运算与图像处理

在介绍卷积神经网络之前,我们需要先了解以下卷积运算和互相关运算。很多时候,我们都说卷积神经网络在图像处理方面具有很大的优势,主要原因就在于卷积运算,所以接下来就主要从图像处理和卷积的联系入手进行分析。

卷积运算在概率统计中关于随机变量的和的计算中也有出现,从数学上的定义来看,当我们有两个随机变量分别服从密度函数f和g,如果需要求它们的和t的概率密度,那么就有:
$$s(t) = f*g = \int _{-\infty} ^{\infty} f(x) g(-x+t)dx$$
这是一维的情况,对于二维,我们可以进一步推广:
$$s(u,v) = f*g = \int _{-\infty} ^{\infty} \int _{-\infty} ^{\infty} f(x,y) g(-x+u, -y+v)dxdy$$
与卷积运算非常相似的还有互相关运算:
$$r (t) = f \bigodot g = \int _{-\infty} ^{\infty} f_u (x) f_v (x+t)dx $$
二维形式:
$$r (u,v) = f \bigodot g = \int _{-\infty} ^{\infty} \int _{-\infty} ^{\infty} f_u (x,y) f_v (x+u, y+v)dxdy $$
对比卷积运算和互相关运算公式,就可以发现它们形式上是多么相似,唯一的区别只是正负号,这个区别导致卷积运算涉及到函数翻转而互相关运算不涉及的原因,但这里不细说,而是把重点放在分析为什么这种形式的运算会和图像处理产生联系。在运用卷积神经网络进行图像处理时,原则上既可以使用卷积运算也可以使用互相关运算,两者的效果可以做到完全等同只是算法的细节处理上有所不同,而实际上出于简便性的考虑一般会采用互相关运算,所以接下来的分析主要从互相关运算入手,而后文提到的卷积实际上也是指互相关运算。

首先关于图像处理,我们来看这样一个例子,现在我们有一副黑白图像,用矩阵表示,黑色像素点为1,白色像素点为0:
$$ \begin{matrix} 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ \end{matrix} $$
如果我们现在想要检测这幅图像有没有一条垂直的直线,应该怎么做,这里有一个方法,那就是构建一个反映特征的矩阵,或者说一个具有明显特征的图像矩阵:
$$ \begin{matrix} 0 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 1 & 0 \\ \end{matrix} $$
然后,我们就可以把原图划分成一个个小块,对比是否具有类似我们分析的特征的区域,这个构成,也像我们人类观察的过程,比如我们找一幅图里面有没有眼镜,我们也需要一处处仔细观察,而不能一下子就看完整张图片。那么从数学的角度,这个过程就是原图的矩阵分成和特征矩阵同等大小的一个个小矩阵,比如从左上角开始划分,得到第一个小矩阵:
$$ \begin{matrix} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 1 & 0 \\ \end{matrix} $$
用它和特征矩阵按对应元素相乘得到:
$$ \begin{matrix} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 1 & 0 \\ \end{matrix} $$
$$r(1,1) = 2$$
按照这样遍历整副图像,最后把每次计算的结果写成矩阵形式,得到:
$$ \begin{matrix} 2 & 0 \\ 3 & 0 \\ 2 & 0 \\ \end{matrix} $$
根据这个矩阵,我们可以确定阈值为3,达到阈值就认为原图像存在特征,然后就可以判断在原图像中间偏左的位置存在一条垂直直线。

以上的这个过程,其实就是卷积神经网络的核心思想,也是反映了卷积运算和图像处理的关系,其中,反映特征的矩阵称为卷积核,图像就是我们的输入,两者相乘得到的结果称为特征映射图。

还记得一开始说过,互相关运算反映了函数的平移,这种平移就体现在上面提到的卷积核对输入图像遍历过程中的移动,而互相关运算中的两个函数相乘就反映了输入图像和卷积核相乘,最后积分的步骤就反映了卷积核对输入图像的遍历,所以一次遍历得到一个输出结果,作为特征映射图的一个点的值。

最后再来讨论一下,为什么卷积神经网络实际上用的是互相关运算而不是卷积运算,还是回到公式的层面:
$$s(t) = f*g = \int _{-\infty} ^{\infty} f(x) g(-x+t)dx$$
$$r (t) = f \bigodot g = \int _{-\infty} ^{\infty} f_u (x) f_v (x+t)dx $$
两者唯一的区别就是x的正负号,