计算机视觉 与 OpenMMLab 开源算法体系 | 学习笔记
内容概括
计算机视觉是什么
-
概念
- 计算机视觉是一门让计算机学会 "看"的学科,研究如何自动理解图像和视频中的内容
-
应用
- 动漫特效、航拍转地图、虚拟主播、视频理解与自动剪辑等
计算机视觉的发展
概述
| 阶段 | 时期 | 代表 |
|---|---|---|
| 早期萌芽 | 1960~1980 |
|
| 统计机器学习与模式识别 | 1990~2000 |
|
| 视觉特征 |
| |
| ImageNet 大型数据库 | 2006 | ImageNet |
| 初有成效的视觉系统 | ~2010 |
|
| 深度学习的时代 | 2012~ |
|
| 时至今日 |
|
规律
开源成为人工智能领域发展引擎
O p e n M M L a b 深 度 学 习 时 代 最 完 整 的 计 算 机 视 觉 开 源 算 法 体 系
OpenMMLab 总体现状
- 提供统一先进的底层架构
- 覆盖计算机视觉众多方向
- 提供最经典、最前沿的算法支持
- 提供统一的基准和开箱即用的工作
总体架构概览
| 架构 | 概览 |
|---|---|
| 部署框架 | MMDeploy |
| 算法框架 |
|
| 视觉基础库 MMCV |
|
| 训练框架 | PyTorch |
算法训练
部署一体化
OpenMMLab 2.0
整体介绍
- 通用
- 灵活
- 开放统一
- 迭代计划
2.0架构
| 架构 | 概览 |
|---|---|
| 部署框架 | MMDeploy |
| 算法框架 |
|
| 基础库 |
|
| 训练框架 | PyTorch |
机器学习和神经网络简介
机器学习基础
机器学习是什么
- 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)
- 从数据中学习经验,以解决特定问题
机器学习的典型范式
-
监督学习
- 数据之间存在某种映射关系,如何基于有限的数据样本推断出这种关系?
-
无监督学习
- 数据自身是否存在某种“结构”或“规律”?
-
强化学习
- 如何与环境交互,以获得最大收益?
机器学习中的分类问题
-
特征与分类
-
线性分类器
-
如何求解分界面
-
感知器 Perceptron:从数据中学习
-
机器学习的基本流程
- 训练
- 验证
- 应用
神经网络的结构
- 线性分类器与非线性分类器
- 异或问题
- 非线性分类器
- 神经元
- 多层感知器
- 多分类任务
神经网络的训练
-
衡量神经网络的性能
- 损失函数
-
调整 𝑤,降低损失函数的值
- 梯度下降算法
- 梯度的计算
- 反向传播算法
- 梯度下降算法的具体实现
- 梯度下降算法存在的问题与改进:优化器
- 自适应梯度算法
- ……
卷积神经网络
-
卷积神经网络的整体结构
-
卷积层 Convolutional Layer
- 卷积的变形
- 卷积的边缘填充
- 卷积的步长
-
激活层 Activation Layer
- 常用激活函数
-
池化层 Pooling Layer
-
全连接层 Fully Connected Layer
-
概率输出层
-
特征与分类的角度理解CNN
-
Pytorch环境配置与基础使用
-
PyTorch 介绍
- PyTorch 是由 Facebook 开发的开源 深度学习框架。
- PyTorch 提供了完整的工具链用于构 建、训练和部署深度学习模型。
- pytorch.org/
-
PyTorch 环境配置
-
PyTorch 的基本模块
-
数值计算库 torch
- 自动求导 torch.autograd
- 函数库 torch.nn.functional
- 通用模型封装 torch.nn.Modul
- 优化器 torch.optim
- 数据工具 torch.utils.data
- PyTorch 神经网络 demo 演示及讲解
-
……
-
课程链接: