OpenMMLab AI实战营笔记(一)
机器视觉与OpenMMLab开源算法体系
0x01 机器视觉是什么
计算机视觉是一门让计算机学会 "看"的学科,研究如何自动理解图像和视频中的内容
- 图像识别:识别图像中的物体是什么
- 人脸检测: 识别出照片中的脸并定位
- 图像生成、风格迁移:从一张图片生成一张内容类似但风格不同的图像
0x02 计算机视觉的发展
- 早起萌芽(1960-1980)---->
- 统计机器学习与模式识别(1990-2000)---->
- ImageNet大型数据库(2006)---->
- 初有成效(2006-2010)---->
- 深度学习时代(2012至今)---->
0x03 OpenMMLab总体现状
- MMDetection ---------->目标检测
- MMDetection3D---------->3D目标检测
- MMClassification---------->目标分类
- MMSegmentation---------->图像分割
- MMPose&MMHuman3D---------->姿态检测
- MMTracking---------->目标跟踪
- MMAction---------->动作检测
- MMOCR---------->字符识别
- MMEditing---------->图像编辑
OpenMMLab算法开放 生态开放 产学研一体得到了上游芯片适配支持和受到了下游头部企业用户青睐
0x04 OpenMMLab2.0整体介绍
- 4-1 通用
- 强大的训练器
- 4-2 开放统一
- 统一模块抽象
- 统一执行入口
- 统一训练流程
- 统一数据接口
- 4-3 灵活
- 可拔插模块
- 训练流程控制
- 日志与可视化
- 4-4 迭代计划
0x05 机器学习和神经网络介绍
-
5-1 机器学习
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E." ——Tom M. Mitchell (1997 )
- 监督学习: 数据之间存在某种映射关系
- 无监督学习:数据自身是否存在某种结构或规律
- 强化学习:如何和环境交互,以获得最大收益
- 特征工程
-
5-2 常用模型
- 线性分类器与非线性分类
- 感知器
-
5-3 机器学习的基本流程
- 训练 分类or回归?
- 验证 数据集划分
- 应用 泛化
-
5-4 神经网络
- 线性分类器与非线性分类器
- 神经元 权重weight 偏执量bias
- 激活函数
- 多层感知器
- 多分类任务 输出层激活函数softmax
-
5-5 神经网络的训练
- 损失函数
- 梯度下降算法
- 反向传播算法
- 优化器 SGD Adagrad Adam
- 欠拟合 拟合 过拟合
- 早停Early Stopping
-
5-6 卷积神经网络CNN
-
局部连接:像素局部相关 共享权重:位移不变性 大量节约参数可以有效提取图像特征
-
卷积核
-
卷积层运算
-
卷积的变形
- 边缘填充 Padding
- 步长 stride
- 空洞 dilation
-
激活层常用函数
- sigmoid
- Leaky ReLU
- tanh
- PReLU
- ReLU
- ELU
-
池化层 Pooling Layer 降低特征图分辨率、节省计算量、提高特征空间的鲁棒性
- 最大池化
- 平均池化
-
输出层
-
全连接层
-
概率输出层 二分类:sigmoid 多分类:softmax
-
-
0x06 PyTorch环境配置与基本使用
-
6-1 PyTorch介绍
-
6-2 PyTorch环境配置
-
6-3 PyTorch基本模块
-
数值计算库 scalar vector matrix tensor
-
自动求导 torch.autograd
-
函数库 torch.nn.functional
-
通用模型封装 torch.nn.Module
-
优化器 torch.optim
-
数据工具 torch.utils.data
-