计算机视觉发展
- 早期萌芽:图像的边缘提取
- 统计机器学习、模式识别
- ImageNet
- 深度学习时代:AlexNet
- 文字生成图像、视觉大模型、cityNeRF
OpenMMlab算法体系
统一的先进底层架构、提供各个方向的经典算法复现、开箱即用
MMDetection3D、MMSegmentation
机器学习与神经网络简介
机器学习
自然语言处理、语音识别、机器视觉
监督学习、无监督学习、自监督学习、强化学习
机器学习中的分类问题
原始数据-> 提取特征向量->分类
–>> 训练、验证、应用
线性分类器
非线性分类器:神经网络
神经网络
一类拟合能力非常强的函数
神经元
激活函数:Sigmoid、ReLU函数等
多层感知器
多分类任务
输出层的激活函数使用softmax函数
神经网络的训练
损失函数
衡量神经网络的性能
**例:**交叉熵损失(Cross-Entropy Loss):
L(P, y) = -logPy – 损失随目标类别概率增大而减小
梯度下降算法
调整W,减低损失函数的值
反向传播算法
随机梯度下降算法:每次迭代随机选取部分样本,成为mini batch
基于梯度下降训练神经网络的整体流程:
欠拟合、拟合、过拟合
防止过拟合的方法:早停,当验证集精度达到最值时停止训练防止过度拟合
卷积神经网络 cnn
DNN问题:解决参数量巨大、未考虑图像本身的二维结构
使用CNN:
- 可实现局部连接:像素局部相关
- 共享权重:位移不变性
整体结构
卷积层
卷积的变形
可以增加填充(padding)、步长(Stride)和空洞(dilation)
卷积的边缘填充
在输入的横图特征图边界处填补p个像素宽度的0值,扩大输入输出特征图的空间尺寸
H’ = H - K +1+ 2p
卷积的步长
降低卷积计算的空间频率实现空间降采样
激活层
基于一个非线性函数,对输入的特征图进行逐元素的变换,通常不包含可学习参数
常用的激活函数:
池化层:
特征图局部区域计算最大值或平均值,降低分辨率,节省计算量提高鲁棒性
- 最大池化
- 平均池化
特征与分类的角度理解CNN
PyTorch的基本使用
【【子豪兄Pytorch】二十分钟搭建神经网络分类Fashion-MNIST数据集时尚物品】 https://www.bilibili.com/video/BV1w4411u7ay/?share_source=copy_web&vd_source=9cc5de3af84558f489af9ed3a85da485