六、三维卷积

       在经历了二维灰度图的卷积操作之后,如何进行三维卷积(RGB图像)呢?我们一起来看下!

       首先我们还是给出一个6*6的图像,不过因为有RGB三个通道,所以图像变成了6*6*3。同样的,在二维灰度图中3*3的卷积核也要相应的更改为3*3*3的卷积核。我们将表达式写出如下:

       最终给出的结果是4*4*1的图像(注意不是4*4*3的图像)。

       接下来解释一下3个数字的含义,以输入图片6*6*3为例。

       第一个参数6是指图片的高度,第二个参数6是指图片的宽度,第三个参数3是指通道的数量。

       注意:图像中的通道数和卷积核的通道数必须一致。

       为了简化,在论文中或者各种模型搭建中卷积核我们一般用立方体表示。画成如下:

       那么如何计算这个3*3*3卷积核的输出呢?

       类似对于二维灰度图的处理方法,我们将这个3*3*3的卷积核先放到最左上角的位置:

       这个3*3*3的卷积核有27的参数,依次取红绿蓝三色通道中的数字与之对应参数相乘结果求和。得到的结果就是4*4矩阵的第一个数字。如果要计算下一个输出,我们就需要将这个立方体向右滑动一位,然后做同一种计算。不断移动卷积核的位置,得到输出。其本质思想和二维的处理一样,都是卷积的思想,只不过多了三个维度。

       那么这样子有什么作用呢?举个例子,如果你想检测红色边缘的通道,那么你的3*3*3的卷积核可以这么设定:

       这样子叠在一起的卷积核就是一个只对红色通道有用的检测垂直边界的卷积核。

       如果想对三个通道同时检测,那么其对应的卷积核都进行处理,如下:

       当我们设定不同的参数的时候我们就可以得到不同的特征检测器。

       例如当我们想做45°或者70°倾斜的边缘时候我们又该怎么做呢?答案很简单,就是引入多个卷积核,如下图所示。

       对于每一个卷积层我们设定不同的参数去进行我们想要的特征提取。例如第一个可以是一个水平边缘检测器,第二个可以是一个垂直边缘检测器。卷积之后我们得到一个4*4*2的立方体,这里的2来源于我们使用了两个不同的卷积核。

       最后总结一下:

       如果有一个 的输入图像,卷积一个 的卷积核,那么就会得到 

       将其转化为公式的形式:

 

      其中 表示卷积核的个数, 表示通道个数,x表示乘法,*表示卷积。

       当然这个是在步幅为1和padding为0的情况下成立的,上述这么写并不是那么严谨。那么什么是步幅和padding呢?我们将在下一节说一下这些概念。

点击阅读全文
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐