CNN 入门讲解:什么是卷积(Convolution)?

论坛 期权论坛 爱问     
hhu9o   2022-5-26 21:05   8429   20
原创文章,一家之言。
个人公众号:follow_bobo
转载请通知本人。

今天起,我们要开始讲CNN啦,掌声在哪里?
CNN 是美国有线电视新闻网(Cable News Network)
‘咦,那不是NNK吗?’
NNK 是日本电视?
‘咦,日本电视不是Tokyo hot吗?’

你平时日本节目,都看些什么呀?这位同志。
好了,我们今天就来谈谈CNN
CNN 又叫 Convolutional neural network, 中文名有叫卷积神经网络,它怎么来的,它有多牛逼,这就不多说了,大家网上查。
希望大家在看之前有一点点基本的computer vision 和CNN 的基本知识。

我们第一部分先讲 Convolution,到底什么是卷积,别忙,大家都用过某美颜软件吧,

比如我老婆新垣结衣:



美的不要的不要的。。。。。

然后我锐化了一下,变成如下图所示:



我们会发现,锐化后的图像边缘细节的对比度加大了。
然后我强调边缘,变成如下图所示:


强调边缘之后,图像边缘细节变的高亮,非边缘图像变动暗淡或者模糊,边缘被突出。

我说你们,能不能别老盯着别人看!
看细节呀!
看变化啊!!
什么?!
管不住眼?
什么!????
还管不住手?????!

那我再放一张:




现在呢,看出来了吗?


你们每天拍拍拍,有没有想过是如何做到的呢?
对,就是卷积(Convolution)

首先我们先来回顾一下卷积公式:



它的物理意义大概可以理解为:系统某一时刻的输出是由多个输入共同作用(叠加)的结果。

放在图像分析里,f(x) 可以理解为原始像素点(source pixel),所有的原始像素点叠加起来,就是原始图了。
g(x)可以称为作用点,所有作用点合起来我们称为卷积核(Convolution kernel)

卷积核上所有作用点依次作用于原始像素点后(即乘起来),线性叠加的输出结果,即是最终卷积的输出,也是我们想要的结果,我们称为destination pixel.

我们来看看一张图,你就懂了:


最左边呢就是我们原始输入图像了,中间呢是卷积层,-8就是卷积的结果。
你肯定会问,我为啥要用卷积核,destination pixel 的意义何在,别急,我先挖个坑,我们往下走。



我们先来看看锐化。

图像的锐化和边缘检测很像,我们先检测边缘,然后把边缘叠加到原来的边缘上,原本图像边缘的值如同被加强了一般,亮度没有变化,但是更加锐利。
(仔细想想卷积的物理意义,是不是仿佛有点卷积的感觉)



但是,我们一般是什么操作去检测边缘呢?
我们先来看一,二阶微分。
对于一维函数f(x),其一阶微分的基本定义是差值:


我们将二阶微分定义成如下差分:


我们首先我们来看边缘的灰度分布图以及将一二阶微分作用于边缘上:



我们可以看到,在边缘(也就是台阶处),二阶微分值非常大,其他地方值比较小或者接近0 .
那我们就会得到一个结论,微分算子的响应程度与图像在用算子操作的这一点的突变程度成正比,这样,图像微分增强边缘和其他突变(如噪声),而削弱灰度变化缓慢的区域。
也就是说,微分算子(尤其是二阶微分),对边缘图像非常敏感。

很多时候,我们最关注的是一种各向同性的滤波器,这种滤波器的响应与滤波器作用的图像的突变方向无关。也就是说,各向同性滤波器是旋转不变的,即将原图像旋转之后进行滤波处理,与先对图像滤波再旋转的结果应该是相同的

可以证明,最简单的各向同性微分算子是拉普拉斯算子
一个二维图像函数f(x,y)的拉普拉斯算子定义为


那么对于一个二维图像f(x,y),我们用如下方法去找到这个拉普拉斯算子:


这个结果看起来太复杂,我们能不能用别的方式重新表达一下,如果我们以x,y 为坐标轴中心点,来重新表达这个算子,就可以是:



等等,这个是不是有点和上面提到的卷积核(Convolutional kernel)有点像了?
我们再回到拉普拉斯算子,


由于拉普拉斯是一种微分算子,因此其应用强调的是图像中的灰度突变。
将原图像和拉普拉斯图像叠加在一起,从而得到锐化后的结果。

于是模板就变为:


注:如果所使用的模板定义有负的中心系数,那么必须将原图像减去经拉普拉斯变换后的图像,而不是加上他。

上面这个,就是一个锐化卷积核模板了。原始边缘与它卷积,得到的就是强化了的边缘(destination pixel),图像变得更加锐利。

更详细的介绍,请移步:http://blog.csdn.net/zouxy09/article/details/49080029

额外再说明一点:
同样提取某个特征,经过不同卷积核卷积后效果也不一样(这是个重点,为什么说重点,因为CNN里面卷积核的大小就是有讲究的)。
比如说:




可以发现同样是锐化,下图5x5的卷积核要比上图3x3的卷积核效果细腻不少。

说了这么多,我只想说明,
(1)原始图像通过与卷积核的数学运算,可以提取出图像的某些指定特征(features)。
(2)不同卷积核,提取的特征也是不一样的。
(3)提取的特征一样,不同的卷积核,效果也不一样。

我为啥子要说这些,是因为,CNN实际上也就是一个不断提取特征,进行特征选择,然后进行分类的过程,卷积在CNN里,就是充当前排步兵,首先对原始图像进行特征提取。所以我们首先要弄懂卷积在干什么,才能弄懂CNN。
下一期将讲卷积在CNN是怎么运作的。
有什么疑问或者建议,请在下方留言哦,我会选择性(我懂的)回答。


延伸问题:
(1)如何使卷积层的输入和输出相同?
分享到 :
0 人收藏

20 个回复

倒序浏览
2#
by_cvq  1级新秀 | 2022-5-26 21:06:21 发帖IP地址来自 北京
这才是真正的CNN基础,赞一个
3#
rvvxn  1级新秀 | 2022-5-26 21:06:46 发帖IP地址来自 中国
一阶微分和二阶微分在检测边缘上各有什么侧重吗
4#
24的星辰  1级新秀 | 2022-5-26 21:07:29 发帖IP地址来自 中国
一阶就是检测一个方向啦,二阶就是检测x,y方向,一般我们图像是2d 的,我们都用2阶,但是不同情况不同用法
5#
bu472  1级新秀 | 2022-5-26 21:07:37 发帖IP地址来自 北京邮电大学
感谢答主的无私分享。有两个问题想请教一下:1. 是否可以理解成:一个M*N的二维矩阵与一个A*B的卷积核做卷积运算,得到的仍然是一个M*N的矩阵,矩阵的值就是提取的特征值?2. 另外,根据卷积核是不是可以反推各向同性微分算子?卷积核的矩阵是否一定时A=B?
6#
josid  1级新秀 | 2022-5-26 21:08:10 发帖IP地址来自 北京
第一问,如果你没有加padding, 仍然得到m*n, 那么实际上就是用了一个1*1滤波器,得到的也可以算作特征值吧,但是意义不大,大家都被作用了,想当于大家都没被作用。
2因为卷积核包含了位置信息和相对作用关系,既每个位置上的数字的是有它的意义的,所以我认为可以倒推出
3不一定的,卷积核上每个位置都可以看成一个单独作用,然后合在一起,每个位置就是一个weight,我记得知乎上有人把卷积核上的weight一个一个加进去看效果。
以上纯属于个人见解,建议看专业论文
7#
s0ryi  1级新秀 | 2022-5-26 21:08:16 发帖IP地址来自 湖南长沙
噢噢,好的,谢谢!对我很有帮助!
8#
2z0iv  1级新秀 | 2022-5-26 21:08:23 发帖IP地址来自 北京
要是能把相应的参考文献贴一下就太好了,不过这也挺麻烦的。感谢分享!
9#
_t7u  1级新秀 | 2022-5-26 21:09:14 发帖IP地址来自 北京
谢谢支持,这些本来就是给初学者的,如果愿意去看参考文献或者相关书籍,就不用看我这个了
10#
8c5h  1级新秀 | 2022-5-26 21:10:14 发帖IP地址来自 北京
新垣结衣是大家的
11#
kice8  1级新秀 | 2022-5-26 21:11:07 发帖IP地址来自 江西九江
喜欢文风哈哈
12#
3i7d3  1级新秀 | 2022-5-26 21:11:52 发帖IP地址来自 北京
好文章,感谢博主辛苦码字。
13#
63tv6  1级新秀 | 2022-5-26 21:12:51 发帖IP地址来自 中国
太强了,,,,
14#
qm3dj  1级新秀 | 2022-5-26 21:13:04 发帖IP地址来自 北京
为什么微分方程用x+1而不是x+dx呢?
15#
iihlz  1级新秀 | 2022-5-26 21:13:19 发帖IP地址来自 北京
图像是离散的吧这里方程都表示的是相隔像素点的关系
16#
3qx02c  1级新秀 | 2022-5-26 21:13:26 发帖IP地址来自 北京
你好 我想问一下这里一开始定义的微分是不是和数学上定义不怎么一样?[思考]
17#
w2x  1级新秀 | 2022-5-26 21:14:20 发帖IP地址来自 北京
您好,我想请教一下,卷积出来的特征如何确定就是我想要的特征呢?比如,上面花的那张图,我如果想卷积花的轮廓,如何设置滤波器才能卷积到?
18#
u_d_m  1级新秀 | 2022-5-26 21:14:35 发帖IP地址来自 北京
这个cnn就是个黑盒子,没办法提出自己想要的特征的
19#
trsu  1级新秀 | 2022-5-26 21:14:54 发帖IP地址来自 中国
如果有明确的目标是可以的
20#
ke4ku  1级新秀 | 2022-5-26 21:15:52 发帖IP地址来自 中国
您好,我想请问一下,为何多个连续的卷积能够起到细化边缘的作用呢?
21#
n76ki0  1级新秀 | 2022-5-26 21:16:36 发帖IP地址来自 北京
本来想点赞的,看了你说新垣结衣是你老婆打消了点赞的念头,看完整篇文章还是不争气地点了赞同。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP