4.1 基于卷积的计算机视觉

1 边缘检测

1.1 卷积

边缘检测算子可以检测垂直和水平的边缘,我们以灰度图像垂直边缘检测算子为例,输出矩阵左上角元素计算方法是:
在这里插入图片描述
左边第二个红色方框计算方法如下:
在这里插入图片描述
以此类推:
在这里插入图片描述
通过代码实现:

conv_forward() #Python
tf.nn.conv2d() #tensorflow
Conv2D() # Keras

1.2 为什么卷积核可以边缘检测

在这里插入图片描述

1.3 其他边缘检测算子

使用不同的filters可以帮助我们找出垂直和水平边缘

在这里插入图片描述
在这里插入图片描述
当然,我么在对复杂图片进行边缘检测时可以不完全按照已有的filter进行卷积操作,我们可以吧filter中的9个数字当做9个参数,通过学习的方法来确定:
在这里插入图片描述

1.4 padding

上一节中的卷积方法存在两个问题:

  1. 每次卷积过后图像会缩小
  2. 图像边缘的大部分信息都丢失了
    输入图像n×n,卷积核f×f,则输出图像为(n-f+1)×(n-f+1)。其中f基本都是奇数。

解决方法就是卷积之前填充(pad)图像,我们可以选择填充p个像素,则输出图像为(n+2p-f+1)×(n+2p-f+1),若p=(f-1)/2,则每次卷积过后图像大小保持不变(此时又叫"same"卷积)。

1.5 卷积步长(stride)

输入图像n×n,卷积核f×f,步长s×s则输出图像为:
在这里插入图片描述
实际上的卷积操作是由一步将卷积核翻转的操作的:
在这里插入图片描述
我们在计算机视觉中将不带翻转的操作也称为“卷积”,其实数学上更合适的是叫做“互相关”。

1.6 三维卷积

在这里插入图片描述
如果我们想检测红色垂直边缘,我们可以这样设计filter:
在这里插入图片描述
如果我们想检测任意颜色的垂直边缘,我们可以这样设计filter:
在这里插入图片描述
如果我们想检测水平和垂直的边缘
在这里插入图片描述

2 卷积神经网络

2.1 单层卷积网络

3×3×3矩阵类似于之前讲的的神经网络中的w[1],其对输入也是一个对应项相乘的线性变换,4×4矩阵类似于之前将的神经网络中的w[1]a[0],b1是一个常数,通过python广播加到4×4矩阵的每一个元素上,最后叠起来输出的4×4×2就是a[1]
注意,这里一个3×3×3矩阵相当于之前讲的的神经网络中的一个权重。
在这里插入图片描述
2个filter代表2个特征,如果设计10个filter就说明我们选取了10个特征映射。
在这里插入图片描述
不管我们的输入图像有多大,参数数量值取决于我们选取的filter数量。这样即使图片很大,我们的参数不会太多,可以避免过拟合发生,这也是卷积神经网络的特征之一。
在这里插入图片描述
上图中的m表示向量化的表示中样本个数(有m张输入图片,就是m个activations的集合)。

2.2 多层纯卷积网络

在这里插入图片描述
我们可以将7×7×40的输出层中的1960个特征,做平滑处理后展开成一维向量并输入到logistics或者Softmax回归中:
在这里插入图片描述
我们在设计卷积网络时超参数比较难确定:f,s,p以及每一层filter的数量。
随着网络加深,图像大小会变小,但是channel会增加,一个卷积网络一般有以下三种层:
在这里插入图片描述

2.3 池化层

在这里插入图片描述
最大池化操作的功能时只要在任何一个象限内提取到某个特征,都会保留在最大池化的输出里。这个方法在实际应用中很好用。
池化层的另一个特点就是其虽然有超参数,但是没有需要学习的超参数。我们进行池化操作时一般不padding,所以池化操作的超参数一般只有f和s
除了最大池化,还有最小池化操作:
在这里插入图片描述

2.4 卷积神经网络实例

本小节中的网络结果与LeNet-5类似。
先使用6个filter进行卷积,再进行最大池化。(学术中计算层数时我们一般只计算含有权重的层数,即池化层不计入在内,卷积层+池化层记为一层。),再使用16个filter进行卷积,并最大池化。然后将5×5×16的矩阵转为400维的列向量,再一次输入到两个全连接层中(与普通神经网络的全连接层一样)。假设我们做0~9的手写数字识别,那么最后的Softmax输出层有10个输出单元:
在这里插入图片描述
我们可以发现卷积层的参数更少,随着网络的加深,激活值的数量会逐渐变少。( Ps:个人认为CONV1层的参数数量为(5
5*3+1)*6+1+1=458 )
在这里插入图片描述

3 为什么要使用卷积

使用卷积层相比于仅使用全连接层的优点有:

  1. 参数共享(parameter sharing)
  2. 稀疏连接(sparsity of connections)
    在这里插入图片描述
    卷积层通过以上两种机制来减少所需要的参数,以便我们用更小的训练集来训练它,即可以避免过拟合。
    在这里插入图片描述
    w和b还是随机生成的。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值