首页 > 应用开发 > > TensorFlow 多通道图像卷积过程及计算方式
一般来说,通过对图片进行卷积操作,可以对图片进行某种效果的增强或者是减弱。比如说图片的模糊、锐化、浮雕效果等等。
当然,也可以发现图片中某些特征,如查找物体的边缘信息。而深度学习做的最重要的工作之一就是发现数据的特征,这也是卷积神经网络诞生的原因。
1、单通道-多卷积核
卷积公式本质就是一个累乘然后累加的过程,它的结果是一个数值。如下图所示。
单通道-单卷积核的计算形如上图。
假设有n=10,10个卷积核(Convolution kernel),其实可以理解为10个并行的单通道-单卷积核,由于有10个输出,所以最后输出结果可以理解为10通道。
2、多通道-多卷积核
看看下面这张卷积网络结构图(只截取了部分)。
为什么颜色通道为 3 的图像,经过卷积后,它的通道数量可以变成 16 或者其它呢?
实际上,在卷积过程中,输入层(Input)有多少个通道,卷积核(滤波器Filter)就要有多少个通道,但是卷积核的数量是任意的,卷积核的数量决定了卷积后 feature map 的通道数。
(1)首先看看单个卷积核的处理过程
如果把输入当做一个立方体的话,那么 filter 也是一个立方体,它们卷积的结果也是一个立方体,并且上面中 input、filter、Result 的通道都是一致的。
但卷积过程的最后一步要包括生成 feature,将 Result 各个通道对应坐标的值相加,再取激活函数值,就生成了 feature,相当于将多维的 Result 压缩成了 2 维的 feature。
(2)再看看多个卷积核的处理过程
卷积过程,怎么改变输入层的通道数?正是多卷积核产生的。
假设要提取100种不同的特征,就需要将卷积核的数量增加到100种,每种卷积核的参数不一样,这样每种卷积核对图像进行卷积操作时,就可以得到对图像的不同特征的反应。通过卷积核过滤的结果我们称为特征图(feature map), 100种卷积核就有100个特征图。这100个特征图就组成了一组神经元。
我们假定用 16 表示卷积核(filter)的数量,那么每一个卷积核会生成一个 2 维的 feature,16 个滤波器就生成 16 个 feature,16 个 feature 组成了卷积后的 feature map,而 16 就是 feature map 的通道数。
这样就回答了前面的问题:为什么颜色通道为 3 的图像,经过卷积后,它的通道数量可以变成 16 或者其它呢?
在深度学习中,一个卷积神经网络通常有成百上千个 filters,它们通过反复学习,最终形成了可靠的特征表达能力。
3. 卷积过程-3D效果图
下图是一个3D的RGB效果图,每个kernel(filter)可以扫描出一张feature,多个filter可以叠加出很厚的feature map,前一层filter做卷积可以形成后一层的一个像素点。
在深度学习中,除了卷积核的尺寸是设计的,卷积核里面的数值是深度学习自己训练出来的,开发人员在事先是不能确定它的值的,这是它的魅力与神奇之处。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/755/viewspace-3143895/ ,如需转载,请注明出处,否则将追究法律责任。