对于卷积的初理解

xiaoxiao2021-02-28  29

开坑第一篇,我就写一写卷积。

在CNN中最基础的部分就是卷积(当然池化,还有那一堆英文描述的过程也很重要)。然而,老夫刚入坑CNN之时并不太理解卷积层的作用(其实现在也不太理解)。当时只是为了找实习死记硬背了卷积层的特点和优势。经过一段时间的学习我终于明白图像中的卷积是什么意思。在此我结合python代码,说说卷积是怎么回事。

写完上一段我突然发现第一篇的坑就挖大了啊!!!

首先聊一聊一维的卷积。https://www.zhihu.com/question/22298352当然我还是感觉别人讲的透彻易懂。so直接复制他人的成果。在此我要强调一点,文中第一个回答所述的加权叠加,叠加的是信号x[n]自己。换句话说,信号经过卷积后的值与信号在此地左右一定范围的值的加权和。这里用左右并不恰当,但是可以帮助理解图像卷积的过程。 懒病发作,我发现还是教材上说的好,我直接粘贴复制吧。冈萨雷斯,数字图像处理第三版(译本)88-92。

在图像的卷积中,卷积后的值就是该像素周边像素的加权和。比如说图中3*3的卷积核,卷积后的值就是此点本身和周围8个点的加权和。所以如果卷积核由9个1组成,卷积后的图像就是原图像经过模糊后的图像。这也就是对CNN的描述中,将卷积理解成滤波器的原因。

至于代码,我先放个opencv-python的代码,希望下一篇我能贴出纯的python或者c代码,将卷积的计算量做一个描述。

import cv2 import numpy as np kernel = np.ones((5,5),np.float32)/25 st = cv2.filter2D(img,-1,kernel)

转载请注明原文地址: https://www.6miu.com/read-59971.html

最新回复(0)