计算机视觉读书系列(1)——基本知识与深度学习基础

研三即将毕业,后续的工作可能会偏AI方向的计算机视觉方面,因此准备了两条线来巩固计算机视觉基础。

一个是本系列,阅读经典《Deep Learning for Vision System》,做一些总结跑一些例子,也对应本系列文章

二是OpenCV实践系列,根据官方自学OpenCV使用方法,对应"OpenCV-Python自学系列"。

后续准备在实际项目中引入一些目前的大模型的东西,视觉语言模型在传统CV任务上的理解和实践等。


本期主要包括基础知识和深度学习介绍。本篇主要以概念为主

一、计算机视觉通识

1.1 计算机器视觉

视觉系统:传感设备 + 解释设备

1.2 计算机视觉的应用

略

1.3 计算集视觉处理流程

计算机视觉处理流程:输入数据------预处理------特征提取------机器学习模型。

以图像分类算法为例,其流程为:从视觉设备输入一张图像、对图像进行预处理(标准化、重采样、模糊、旋转、颜色变换等等)、特性提取(输出为特征向量)、将特征喂到分类模型中、输出概率(该概率代表输入相片是该类别的概率)

1.4 图像输入

图像坐标系:原点为最左上角,横着为x,向右为正;竖着为y,向下为正。(注意,在代码张对图像数据,也即矩阵,进行索引时,仍然按照直观上的行列进行索引)。

图像映射:图像时多层矩阵的组合,每个矩阵中的元素值可看作该点坐标的映射,也即z=f(x,y),z表示坐标为(x,y)的像素值。

通道:通常情况下,灰度图像为单通道,取值范围0-255,0为黑色,255为白色。彩色图像由三通道组成,R(红色)G(绿色) B(蓝色)。

1.5 图像预处理

**预处理一:**将图像由彩色转化为灰度降低计算复杂性。对于那些颜色不是很重要的特征而言,可使用该方法。

**预处理二:**重采样固定模型输入尺寸。

**预处理三:**数据增强。

等等。。。

理论:没有一个方法或一个策略能适合于所有的任务。

1.6 特征提取

特征定义:

++在机器学习过程中,我们希望将原始数据转换为特征向量(一维向量,能简单表示整个类别),再将特征向量展示于我们的学习算法++。

如何选择一个好的特征(如何提取出好的特征)?

传统特征提取和DL的区别:

二、深度学习基础

2.1 理解感知机

感知机的构成主要包括以下几个方面:输入向量、权重向量、神经函数、输出。如图

感知机如何进行学习:感知机通过测试和误差从他的错误中进行学习。

2.2 多层感知机

单层的感知机能力有限(线性问题),无法解决复杂情况的问题。因此使用多层神经元的感知机,也即多层感知机。关于多层感知机的概念需要清楚的是:

隐含层的数量:输入层于输出层之间的网络被称为隐含层,隐含层越多其模型拟合能力越强,但容易过拟合。

激活函数:在某个神经元进行加权求和后进行映射操作,是神经网络具备非线性拟合能力的关键。

误差函数:用于衡量模型的预测结果和真实结果之间差距的函数。

优化器:基于模型现有误差对模型进行调整的优化算法。

Batch-Size:采用MiniBatch方式进行训练的情况下,每个批次的包含样本的多少。

训练轮数:整个训练进行的轮次数。

学习率:(优化过程中)学习速度的控制。

2.3 激活函数

激活函数的目的:往神经网络中引入非线性。

线性激活函数:

步型函数:

Sigmoid函数:将无限连续的变量转移到简单的0-1之间的概率。广泛用于分类中。

softmax函数:对Sigmoid函数的泛化,Sigmoid只能处理单类问题,而sigmoid能处理多类型分类中的概率计算问题。

tanh函数: ++这个函数在隐含层中表现往往比sigmoid函数更好,因为使用tanh会使得数据的均值更接近于0而不是sigmoid的0.5,使得后续的训练更加简单。++

ReLU函数:ReLU函数被认为是目前最优秀的(state-of-the-art)的激活函数。

**Leaky ReLU函数:**虽然用得不多,但通常略优于ReLU,主要是在小于0是提供了小幅度的导数。

2.4 前馈过程

神经网络的前馈过程,加权求和(矩阵乘法)------激活函数------加权求和------激活函数...

其计算过程可表示为:

表示矩阵乘法可为:

2.5 误差函数

常用的误差函数主要由两大类,MSE(Mean Square Error)和Cross Entropy Error。

MSE主要用于回归问题,用于衡量两个向量在空间中的欧式距离的大小。

交叉熵函数(Cross Entropy Error):量化预测概率和目标概率之间的差距。

参数描述如下:

2.6 优化算法

Batch Gradient Descent:逐步的根据梯度信息对误差进行优化。

++梯度:其方向代表了误差下降最快的方向,梯度仅仅提供误差下降的方向信息。++

学习率:决定了迭代速度。

Batch GD :**将所有数据放在一个Batch中,进行训练,**每一个参数更新都是计算了所有训练数据集后的结果。

Stochastic Gradient Descent(SGD):在每次参数更新时只随机选择一组样本数据计算误差。

在实际应用中SGD表现要由于Batch GD。

Mini-Batch Gradient Descent(MBGD):将数据集按一定的尺寸分割为不同批次,每计算一个批次就进行一次参数更新。

其余优化算法:Adam、Adagrad、RMSprop等...

2.7 反向传播

根据链式求导法制对每个参数求偏导,获得梯度,进而计算其参数的改正值。

对网络中某个参数的求解可如下:


相当较为基础,笔记较为简略,欢迎批评交流。

下一期:卷积

共勉。

相关推荐
xianghongtao01162 分钟前
AI重塑财务的真正难题_德勤未来财务报告深度解读_CSDN
人工智能
AC赳赳老秦15 分钟前
OpenClaw 数据引用规范自动生成:为公开数据构建可信来源标注与标准引用体系
大数据·开发语言·汇编·数据库·人工智能·deepseek·openclaw
xx_xxxxx_16 分钟前
论文阅读-RoTTA
论文阅读·人工智能·深度学习·机器学习
孙启超21 分钟前
【FDE开发指南】第 1 课:认识 FDE —— 从一次生产事故说起
人工智能·ai·职场技能
乐迪信息30 分钟前
AI防爆摄像机,监测港口船舶航行偏航隐患
大数据·人工智能·深度学习·算法·计算机视觉
悟天特斯31 分钟前
安防一体化:从“孤岛式监控“到“全域联动“的楼宇安全体系
人工智能·安全
知几蜗牛32 分钟前
Python接入Gemini 3.8 Flash实现票据视觉抽取与规则校验
人工智能
云卷云舒___________33 分钟前
Qwen 4首测泄露!DeepSeek V4 mini展示名为flash?蚂蚁Ling-3.1-flash同步炸场 | 10月1日 AI日报
人工智能·开源模型·deepseek·ai日报·qwen4·ling31flash·蚂蚁百灵
Vex2une35 分钟前
Windows 12 新功能展望:AI 深度融合、全新界面与下一代生产力体验
人工智能·windows·copilot·winui·新功能·ai pc
知几蜗牛41 分钟前
Python Responses API函数调用实战:工具白名单、参数校验与预算
人工智能