计算机视觉图像分类基础
本文主要介绍了计算机视觉的基础知识及其在目标检测中的应用。首先,教程针对视觉小白,回顾了视觉基础,帮助新手建立学习思路,重点介绍了目标分类、目标检测和目标分割三者的区别与应用场景。接着,文章详细讲解了卷积神经网络(CNN)的基础组成,包括全连接层、卷积层和池化层。全连接层通过权重和激活函数进行信息传递,卷积层利用局部感知和权值共享特性进行特征提取,计算公式为N = (W-F+2P)/S+1,而池化层则通过下采样减少运算量,没有训练参数且保持深度不变。文章还对比了不同卷积核数量对参数的影响,强调了CNN在目标检测中的高效性。
1、简介
视觉新手,对视觉基础进行梳理,记录个人学习过程,旨在帮助刚入圈的视觉小白建立学习思路。从基础分类网络入手,讲解目标检测中常用的骨干网络,为后续构建轻量化目标检测模型提供帮助。
2、计算机视觉介绍
计算机视觉主要分为目标分类、目标检测、目标分割三部分。
目标分类:对一个目标进行识别。
目标检测:对不同目标进行识别(例如动物园中不同动物进行识别)。
目标分割:对同一目标,不同类别进行识别(例如班级同学分别识别出来)
3、卷积神经网络
基础卷积神经网络主要由全连接层、卷积层、池化层三部分组成。
3.1全连接层:
由许多神经元构成,通过激励、权重、求和、偏置进行输出,如下图所示:

计算公式为:Y = f(X1W1+X2W2+X3*W3-1)
典型全连接层:BP神经网络如下所示:

流程为:
-
首先神经元按列进行排序
-
接着每列神经元进行全连接
-
正向输出与期望值比对,得到误差值
计算各节点的偏导数,获得误差梯度值,将误差梯度反向传播至损失梯度,完成反向传播过程。
3.2卷积层
卷积目的:主要是对图像进行特征提取。
该模型旨在通过结合局部感知机制和权值共享两种特性,降低参数数量,使运算过程更加简洁高效,实现对大规模数据集的运算处理。下面,我们以三维图像卷积过程为例进行详细说明。
输入特征矩阵如下所示:

输入几维图像就会对应有几个分量,卷积核深度=分量个数,如下所示:

输出特征矩阵个数=卷积核个数,如下所示:

卷积核在输入特征矩阵上按步长进行滑动计算,初始计算如下所示:

卷积计算公式:N = (W-F+2P)/S+1
W:输入图片大小
F:滑动框大小
P:像素
S:步长
在卷积操作中,常见做法是采用激活函数...,其主要作用是提升神经网络模型的非线性特性。
卷积方式与BP方式进行特征提取参数比较如下所示:
对于一个1280X720的图片,假设神经元个数为1000,参数为:1280X720X1000 = 9211600000。
对于一个1280X720的图片,假设有1000个5X5X卷积核,参数为:5X5X1000 = 25000。
3.3 池化层
池化层也被称为下采样层,其主要作用是对特征图进行稀疏化处理,以降低计算复杂度,具体包括以下几点。
-
没有训练参数
-
只改变特征矩阵的高、宽,不改变深度
通常有最大池化层、平均池化层两种方式,方式如下图所示:

上文如有错误,恳请各位大佬指正。
