计算机视觉入门到实战教程
1 机器学习流程
- 数据获取
特征工程
(重难点)- 建立模型
- 评估与应用
常规套路:
- 收集数据并给定标签
- 训练一个分类器
- 测试与评估
2 什么是深度学习?
深度学习是一种
基于无监督特征学习与特征层次结构
的学习模型,用于解决代替人工实现特征工程的一种方法深度学习(神经网络)是
黑盒子
深度学习理论:
- 掌握深度学习模型的正向传播和反向传播,特别是链式求导法则
- 掌握激活函数和目标函数的作用,能够选择合适的激活函数和目标函数
特征工程的作用:
数据特征决定了模型的上限
预处理和特征提取是最核心的
- 算法与参数选择决定了如何逼近这个上限
3 特征如何提取?
深度学习---》一种特征提取的方法
4 图像分类
图像表示:计算机眼中的图像(一张图片被表示成三维数组形式[矩阵],每个像素值从0(暗)-255(亮))
例如:
300x100x3----》 300x100是图像尺寸(长x宽) 3是3个颜色通道(RGB彩色:红绿蓝)
5 K近邻
计算流程:
- 计算已知类别数据集中的点与当前点的距离
- 按照距离依序排序
- 选取与当前点距离最小的K个点
- 确定前K个点所在类别的出现概率
- 返回前K个点出现频率最高的类别作为当前点预测分类
6 神经网络基础
神经网络的基本原理:前馈过程(前向)和误差反向传播(后向)
- 前馈过程(前向):为了计算输出/损失值
- 误差反向传播(后向):为了更新权重参数
6.1 线性函数
6.2 损失函数
6.3 前向传播与反向传播
初始阶段:随机初始化权重参数W
6.4 梯度下降
6.5 激活函数
深度学习最常用的10个激活函数
6.6 参数初始化
6.7 整体架构
7 卷积神经网络
最全面的卷积神经网络入门教程
卷积层:提取特征
池化层:压缩特征(降采样)
输出层:输出类别的概率值
7.1 与传统神经网络区别
HxWxC:HxW为原始图片的大小(H为长度,W为宽度),C为RGB彩色通道的个数(C为维度)
7.2 卷积
卷积
:首先将图像分成多个小区域【目的是对于不同的小区域,得到不一样的特征】,然后选择一种计算方法【对于每个小区域来计算它们各自的特征值—>组成特征图
】一文读懂深度学习中的各种卷积
7.3 卷积特征值计算方法
彩色图像:(RGB)三通道[三维]
(RGB)三通道的权重参数W随机初始化(不同)
(RGB)三通道
先各自单独做内积运算叠加和,再加偏置项得到特征值
权重参数W需要学习来更新自己进而提取合适的特征
【注意】:同一个卷积层中的多个卷积核规格是相同的!!!
7.4 特征图(feature map)
特征图的个数=卷积核的个数
特征图(三维:hxwxc):hxw为特征图的大小,c为特征图的个数
7.5 堆叠的卷积层
多次卷积
7.6 卷积层参数
一般设步长为1,卷积核尺寸为3x3
卷积核个数根据所需特征图个数设定
7.7 特征图尺寸计算
7.8 卷积参数共享
对每个小区域的卷积特征值计算时,不同卷积核的权重参数不变—》
权值共享
每个卷积核都有一个对应的偏置参数
7.9 池化层
作用
:压缩特征(降采样),即在经过卷积层后得到的原始特征图中进行筛选特征,组成新的特征图
只做筛选,不做计算!!!
7.10 感受野
在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征图(feature map)上的像素点在输入图片上映射的区域大小,即特征图上的一个点对应输入图上的区域
- 两层3x3的卷积核卷积操作之后的感受野是5x5,其中卷积核(filter)的步长(stride)为1、padding为0
- 三层3x3的卷积核卷积操作之后的感受野是7x7,其中卷积核的步长为1、padding为0
卷积神经网络中感受野的详细介绍
7.11 整体架构
CONV:卷积层
RELU:激活函数
POOL:池化层
FC:全连接层
网络层数只针对做计算的层而言,如卷积层和全连接层
【注意】:
- 卷积或池化后得到的是特征图,需要把图(三维)转换成向量(一维)才能做分类或回归任务
- CNN是做分类还是回归任务取决于损失函数的定义与全连接层的设计
8 经典CNN
CNN网络结构发展最全整理
8.1 AlexNet
2012年网络结构
训练时间:8小时
AlexNet中的6个关键点
卷积神经网络学习路线(七)| 经典网络回顾之AlexNet
8.2 VGG
2014年网络结构
训练时间:3天
卷积神经网络学习路线(八)| 经典网络回顾之VGGNet
8.3 ResNet
2015年网络结构—残差网络(跳跃连接)
经典论文
:Deep Residual Learning for Image Recognition(译)再看何恺明的高引ResNet论文
卷积神经网络学习路线(十)| 里程碑式创新的ResNet
9 基于CNN构建图像识别模型
9.1 数据增强
9.2 迁移学习
含义:把已训练好的模型(预训练模型)权重参数迁移到新的模型来帮助新模型训练
目标:掌握迁移学习的思路,学会使用预训练权重完成新任务,并掌握冻结部分网络层的方法
方法
:
- 将预训练模型的权重参数作为新模型中权重参数的初始化
- 将预训练模型的权重参数直接作为新模型中权重参数的结果
套路:
- 先通过预训练模型来训练自己分类的那个层,前面都保持不变,训练完后保存最好的模型
- 再用之前保存最好的模型来训练所有层(训练所有的参数,学习率调小一点进行微调)
【图像识别】基于Matlab的迁移学习的图像分类案例
计算机视觉入门到实战教程相关推荐
- js模板字符串自定义类名_【Vue.js 入门到实战教程】07Vue 组件注册 | 基本使用和组件嵌套...
来源 | https://xueyuanjun.com/post/21929除了前面介绍的基本语法之外,Vue.js 还支持通过组件构建复杂的功能模块,组件可以称得上是 Vue.js 的灵魂,是 Vu ...
- vue设置cookie的domain无效_【Vue.js入门到实战教程】16Tailwind 与 Bootstrap 的区别和使用入门...
来源 | https://xueyuanjun.com/post/22065我们知道,从 Laravel 8 开始,自带前端脚手架代码默认兼容 Tailwind CSS 框架,取代了之前的 Boots ...
- 《黑马程序员2023新版黑马程序员大数据入门到实战教程,大数据开发必会的Hadoop、Hive,云平台实战项目》学习笔记总目录
本文是对<黑马程序员新版大数据入门到实战教程>所有知识点的笔记进行总结分类. 学习视频:黑马程序员新版大数据 学习时总结的学习笔记以及思维导图会在后续更新,请敬请期待. 前言:配置三台虚拟 ...
- css3入门到实战教程-孙琪峥-专题视频课程
css3入门到实战教程-1574人已学习 课程介绍 css3入门到实战教程 课程收益 css3最新入门到实战教程 讲师介绍 孙琪峥 更多讲师课程 高效率学习倡导 ...
- NetworkX入门及实战教程
NetworkX入门及实战教程 环境要求和工具包安装 自带图的绘制 连接表和邻接表创建图 通过连接表edge list创建图 可视化 查看全图参数 保存并载入邻接表 用NetworkX创建图 创建空图 ...
- 视频教程-Python框架Djanggo从入门到实战教程(企业级项目实战)-Python
Python框架Djanggo从入门到实战教程(企业级项目实战) 多年web开发经验,精通HTML.CSS.JavaScript.HTML5.CSS3等Web前端开发技术,技术纯熟,项目经验丰富.授课 ...
- 《JavaCV从入门到实战教程合集》介绍和目录
前言 <JavaCV从入门到实战教程合集>是2016年<JavaCV开发实战教程>和2018年<JavaCV入门教程>2022年<JavaCV音视频实战宝典& ...
- Kaggle从入门到实战教程(新手必备)
Kaggle从入门到实战教程(新手必备) 文章目录: 1 kernel的创建 1.1 Notebook的kernel的创建(从零开始创建) 1.1.1 相关的配置说明 1.2 Script的kerne ...
- Java零基础入门:实战教程(二)
博主简介: 博客主页:Java知识分享博主 Java零基础入门专栏:Java零基础入门专栏 Java交流社区:飞鸟社区 欢迎阅读,如果文章对你有帮助点赞,支持一下! 推荐阅读 Java零基础入门:概论 ...
- QT教程,QT从入门到实战教程完整版
Qt是一个跨平台开发框架,可以使用C++和Qml开发,同时它又不仅仅只是开发框架,它也是一种技术策略,可以让你快速.高效地设计.开发.部署和维护软件,同时在所有设备上提供无缝的用户体验.因而,对于C/ ...
最新文章
- 打造线下版元宇宙!机器人VR助力远程做核酸,登上Science子刊
- Blog_mini完整部署文档
- 【NLP】EMNLP'21 | 让压缩语言模型自动搜索最优结构!
- python代码有时候在命令行下和Python Shell中执行的结果不一样?
- mysql锁表查询_Mysql数据库锁情况下开启备份导致数据库无法访问处理分享
- hadoop--日志聚集功能的配置
- python调用rocketmq的api_rocketmq-python
- 蓝桥杯 ADV-109 算法提高 征税程序
- 剑指offer之【把数组排成最小的数】☆
- 怎样设置计算机硬盘的空间,如何调整电脑硬盘的分区容量
- 使用Glide切换图片时闪动
- rsync简介及部署
- 如何快速构建千人规模的数字化研发管理系统
- 弱引用(WeakReference)初识
- c语言:已知斐波那契数列定义:f(0) = 0; f(1) = 1;f(n) = f(n-1) + f(n-2);请计算并输出数列的前n(n<=30)项。
- H5×××等链接被微信拦截(被封锁、被屏蔽、被和谐)后最好的解决方法
- 超市微信小程序怎么做_便利店超市运营微信小程序的三大技巧
- 宝宝聪明就是这么简单
- OSChina 周四乱弹 ——你老婆在我的硬盘里
- 在Mac上如何轻松下载来自浏览器的软件或内容
热门文章
- win7系统定时删除数据的批处理命令_简单的批量清除垃圾bat命令
- matlab中数字分频器的,数字分频器原理及设计.pdf
- python 制作抽奖箱_海安当地横幅制作值得推荐,抽奖箱制作-漫谈
- GB50174《电子信息系统机房设计规范》贯标培训活动
- JAVA经纬度互转、计算工具类
- KNN聚类的原理和实现
- 用c语言设计一个菜单界面_最新,最全的NX二次开发Ribbon界面菜单的设计图文教程...
- 冰点还原无法修改计算机时间,系统还原后无法更改系统时间?这个方法必须会...
- TranslateAnimation类:位置变化动画类 (类似tab切换效果)
- 手把手教你阅读开源代码【附Python开源项目包】