1、简介
视觉小白,针对视觉基础进行回顾,记录下个人学习过程,希望帮助刚入圈的小白有一定学习思路的帮助。从基础分类网络入手,针对目标检测常用的骨干网络进行讲解,便于后续轻量化目标检测的搭建。
2、计算机视觉介绍
计算机视觉主要分为目标分类、目标检测、目标分割三部分。
目标分类:对一个目标进行识别。
目标检测:对不同目标进行识别(例如动物园中不同动物进行识别)。
目标分割:对同一目标,不同类别进行识别(例如班级同学分别识别出来)
3、卷积神经网络
基础卷积神经网络主要由全连接层、卷积层、池化层三部分组成。
3.1全连接层:
由许多神经元构成,通过激励、权重、求和、偏置进行输出,如下图所示:
计算公式为:Y = f(X1*W1+X2*W2+X3*W3-1)
典型全连接层:BP神经网络如下所示:
流程为:
1.首先神经元按列进行排序
2.接着每列神经元进行全连接
3.正向输出与期望值比对,得到误差值
4.最后对节点求偏导,得到误差梯度,实现反向应用至损失梯度,实现反向传播。
3.2卷积层
卷积目的:主要是对图像进行特征提取。
具有局部感知机制、权值共享两种特性目的是为了减少参数数量,使得运算变得简洁、高效,实现大规模数据集进行运算。下面通过三维图像卷积过程进行讲解。
输入特征矩阵如下所示:
输入几维图像就会对应有几个分量,卷积核深度=分量个数,如下所示:
输出特征矩阵个数=卷积核个数,如下所示:
卷积核在输入特征矩阵上按步长进行滑动计算,初始计算如下所示:
卷积计算公式:N = (W-F+2P)/S+1
W:输入图片大小
F:滑动框大小
P:像素
S:步长
在卷积过程中,通常会使用激活函数,目的为:增加神经网络模型的非线性。
卷积方式与BP方式进行特征提取参数比较如下所示:
对于一个1280X720的图片,假设神经元个数为1000,参数为:1280X720X1000 = 9211600000。
对于一个1280X720的图片,假设有1000个5X5X卷积核,参数为:5X5X1000 = 25000。
3.3 池化层
池化层又叫下采样层,目的是对特征图进行稀疏处理,减少运算量,具有如下特点:
1.没有训练参数
2.只改变特征矩阵的高、宽,不改变深度
通常有最大池化层、平均池化层两种方式,方式如下图所示:
上文如有错误,恳请各位大佬指正。