这两天在听吴恩达讲解卷积神经网络的视频,对利用卷积层检测边缘特征也就是提取图像的特征有了一定的理解,并且通过查阅资料,用python实现了提取图像特征的过程,然后趁热打铁总结一下,话不多说,直接步入正题。
一、卷积层的原理以及概述
在卷积神经网络中,卷积运算是对两个矩阵进行的。CNN主要是通过卷积运算来完成特征提取的。图像卷积运算,主要是通过设定各种特征提取滤波器矩阵(卷积核,通常设定大小为3x3,或者5x5的矩阵),然后使用该卷积核在原图像矩阵(图像实际是像素值构成的矩阵)‘滑动’,实现卷积运算。下图是对卷积运算过程的直观展示。
该图出自: Convolutional Neural Networks - Basics
上图中左侧为输入矩阵M,中间为过滤器F(也叫卷积核),F以一定步长在M上进行移动,进行点积运算,得到右侧的输出矩阵O。这个就是卷积神经网络中卷积层最基础的运算。上述的过程也可以称为对图像的边缘检测(分为垂直检测和水平检测),也可以称为对图像特征的提取。
注意:中间的过滤器中的参数值并不是固定的,但是很多的学术者