CNN原理解析

2019-07-17  本文已影响0人  Elijah_cs

CNN

然后通过CNN的可视化可知,CNN识别物体是通过从局部到整体到实现的,CNN识别了局部的特征之后,以及局部特征的相对应的位置,就可以拼凑起来,对整体进行识别。
CNN是由卷积层,采样层和全连接层构成的,大致过程是这样的:

  1. 卷积层
    卷积实际上再传统的图像处理中用得也蛮多的,例如提取边缘的算子,卷积的作用如下:

对于一个输入的图片,只考虑一个通道的话,为一个二维矩阵,以下图为例,一个5*5的图像,经过一个3*3的filter,得到了一个3*3的结果,运算的过程是这样的:蓝色框中的3*3的矩阵和filter进行运算,得到了结果矩阵中的那个蓝色的4,运算的方式就是每个相同位置的值相乘,然后把九个数加起来即可。然后卷积核右移一个单位,与红框中的九个数进行运算,得到结果中的红色的3,依次这么右移和下移计算即可得到最终的结果,


CNN.PNG

下面是一个动图,可以更直观反映:


CNN.gif

实际上,输入的图片一般为RGB格式,即三通道,那么一次需要三个卷积核,


CNN.PNG

卷积的计算公式:输入一个图片后,结果卷积,输出的结果与原图片和卷积核的大小存在一定的联系,先介绍几个概念:

padding.PNG

下面给出公式:
      Q = (n + 2p - f)/s + 1
其中:

  1. 采样层
    经过卷积得到了一个feature map,接下来就是特征选择的采样pooling操作,一般现在都是做maxpooling,也会有特殊的平均池化。maxpooling的操作很简单,在给定的范围选出最大值即可,如下图:
maxpool.PNG

实际上,仅仅是这样的一个简单的操作,可以让我们的效率大大提高,其优点如下:

  1. 全连接层
    最后得到的高度提纯的特征输入到全连接层,进行分类或者回归。

参考:
卷积神经网络(CNN)入门讲解
卷积神经网络(Convolutional Neural Networks,CNN)

上一篇下一篇

猜你喜欢

热点阅读