背景
最近在使用CNN的场景中,既有单通道的图片输入需求,也有多通道的图片输入需求,因此又整理回顾了一下单通道或者多通道卷积的差别,这里记录一下探索过程。
结论
直接给出结论,单通道图片和多通道图片在经历了第一个卷积层以后,就没有单通道或者多通道的区别了,剩下的网络可以采取完全一样的结构。这也为我们使用各种各样的网络架构,resnet,Alexnet,vgg提供了方便,因为他们都是为了跑ImageNet而设计的特定输入。
图解
1.成员介绍
在CNN中涉及到的主要就是image kernel bias这三个元素。这里image表示是首层的输入,后边卷积层的impute都是前边的output,与首层操作类似,不再多说。
2.单通道图片卷积过程
可以看到,通过对应位置相乘再相加,结合bias,最终得到feature map中的一个元素,所以卷积核的一次计算只得到一个数。当卷积核刷遍整张图片以后,得到了一个完整的feature map。这个东西将作为下一层的输入,传递下去。
通常来说,我们的卷积层不会只有一个kernel,因为一个kernel只能提取图片的一类特征,我们使用CNN的目的就在于应用多个kernel学习到多个特征,下面给出使用两个kernel的例子。
每一个kernel都会来一遍上图中获得feature map的过程。最终我们会得到2个feature map,与卷积核的数量一致。
2.RGB三通道图片卷积过程