AIoT(人工智能+物联网)知识总结+实战项目
Posted 辰chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AIoT(人工智能+物联网)知识总结+实战项目相关的知识,希望对你有一定的参考价值。
文章目录
- 前言
- 一、什么是AIoT
- 二、学习路线 && 学习目标 && AIoT职业方向
- 三、AIoT知识内容
- 四、AIoT项目实战
- 五、AIoT具体学习内容一览
- 1.Python 基础与科学计算
- 2.算法数学基础
- 3.线性回归算法
- 4.线性分类算法
- 5.无监督学习算法
- 6.决策树系列算法
- 7.Kaggle 实战
- 8.概率图模型算法
- 9.深度学习课程大纲
- 10.图像识别综合案例
- 11.Linux 基础
- 12.C 语言高级编程
- 13.数据结构及算法
- 14.Linux 高级程序设计
- 15.Linux 网络编程
- 16.Linux 数据库编程
- 17.C++应用软件开发
- 18.嵌入式传感器编程
- 19.音视频编程
- 20.5G 物联网应用开发
- 21.嵌入式 Linux 系统移植及驱动开发
- 22.物联网综合项目实施方案
- 23.AIoT 企业级项目开发
前言
本文算是本人AIoT(人工智能+物联网) 学习的过程总结,相关笔记均会在此博客给出相关链接;
适合学习人群:0基础小白,以及有一定编程基础的同学~
💡在这里我把AIoT(人工智能+物联网) 的学习主要分为两个大阶段:
🚩1.知识内容的学习
🚩2.项目实战
😋😋😋强烈建议收藏哦~😋😋😋
大家有任何疑问都可在评论区提出,本人会尽己所能为大家答疑解惑,如有错误还希望大家海涵并指正!!!
这是一个长时间的鏖战学习历程,将会持续更新 约2022.01开始正式更新,预计于2023.04结束更新 ,本文为本人在马士兵中学到的知识总结,博主的目的为做出2 ~ 3
个项目作为研究生复试中的项目经历,本文中所涉及的项目实战也可以作为各位找工作时面试时的项目经历
📖本篇涉及知识的讲解会尽量的详细,写这个系列的博客也是对我本人的知识强化,送一句话与君共勉
最困难的时候,就是距离成功不远了
希望你我均能沉下心去认真学习AIoT的相关内容,共同进步!❤️❤️❤️
一、什么是AIoT
下文来自 百度百科:
AIoT(人工智能物联网)=AI(人工智能)+IoT(物联网)。AIoT融合AI技术和IoT技术,通过物联网产生、收集来自不同维度的、海量的数据存储于云端、边缘端,再通过大数据分析,以及更高形式的人工智能,实现万物数据化、万物智联化。物联网技术与人工智能相融合,最终追求的是形成一个智能化生态体系,在该体系内,实现了不同智能终端设备之间、不同系统平台之间、不同应用场景之间的互融互通,万物互融。除了在技术上需要不断革新外,与AIoT相关的技术标准、测试标准的研发、相关技术的落地与典型案例的推广和规模应用也是现阶段物联网与人工智能领域亟待突破的重要问题。
二、学习路线 && 学习目标 && AIoT职业方向
1.学习路线图
由于图片较大,可能会模糊,看不清的同学可以评论出来,我会私发给大家
2.目标
🚩 熟练掌握 C/C++编程语言,掌握面向对象程序设计方法。
🚩 熟练掌握常用数据结构和算法。
🚩 熟练掌握 mysql、sqlite3 基础语法及 C/C++编程接口。
🚩 熟练掌握 Linux 应用软件编程方法,熟练使用多线程、多进程编程、socket 编程 等进行应用软件开发。
🚩 熟练掌握嵌入式 Linux 高级编程技术,如传感器编程、串口编程、V4L2 编程、音 视频处理、opencv、科大讯飞语音识别等。
🚩 熟练掌握 QT 编程方法。
🚩 熟练掌握 ARM 体系结构。
🚩 掌握 STM32 开发工具及设计流程。
🚩 掌握 STM32 的外围接口使用,如:GPIO、中断、定时器、ADC、UART、看门狗等。
🚩 掌握现场总线设计与应用,如:I2C 总线、SPI 总线、CAN 总线、RS485 总线等。
🚩 掌握 ZigBee 应用软件开发。
🚩 掌握蓝牙 Mesh 组网及应用软件开发。
🚩 掌握 NB-IoT 应用软件开发方法,掌握 CoAP、MQTT 协议。
🚩 熟悉嵌入式 Linux 内核移植、uboot 移植及 rootfs 制作。
🚩 深刻理解嵌入式 Linux 设备驱动开发。
🚩 对嵌入式 Linux 系统在视频监控、网络通信、多媒体处理及智能控制领域有深入 理解。
🚩 熟悉嵌入式人工智能项目的部署与移植开发应用
3.AIoT职业方向
🉑 C/C++软件开发工程师
🉑 Qt 开发工程师
🉑 桌面应用软件开发工程师
🉑 Linux 后台开发工程师
🉑 网游后端开发工程师
🉑 嵌入式 Linux 应用开发工程师
🉑 音视频开发工程师
🉑 物联网应用开发工程师
🉑 嵌入式 Linux 驱动开发工程师
🉑 嵌入式 Linux 系统移植与裁剪工程师
🉑 嵌入式 Linux 多媒体研发工程师
🉑 ARM 开发工程师
🉑 STM32 应用软件开发工程师
🉑 嵌入式 FreeRTOS 开发工程师
🉑 嵌入式 ucOS 开发工程师
🉑 现场总线控制、现场总线通信应用开发工程师
🉑 Python 开发工程师
🉑 人工智能开发工程师
三、AIoT知识内容
未超链接部分为未学习(总结)部分,后续会慢慢补上🎯
💘由于内容较多,建议大家收藏本博客,以后可通过此博客访问以下任何知识点💘
阶段 | 名称 | 主题 |
---|---|---|
阶段一 | Python 基础与科学计算 | 掌握 Python 基础语法, 具备基础的编程能力;完成 小游戏开发;数据科学常用库开发:NumPy、 Pandas、Matplotlib 常用 Python 数据分析库的使用 |
阶段二 | 算法数学基础 | 掌握高等数学,概率,离散数学;以及常见面试题解析 |
阶段三 | 线性回归算法 | 掌握线性回归,各种优化等算法,Ridge、Lasso 回归,掌握正则化算法。 |
阶段四 | 线性回归分类算法 | 掌握逻辑回归、Softmax、SVM 支持向量机算法, 掌握 SMO 优化算法。 |
阶段五 | 无监督学习算法 | 掌握聚类算法、掌握 PCA 降维原理与推到,掌握 EM 算法,掌握 GMM 算法应用与原理。 |
阶段六 | 决策树系列算法 | 掌握决策树算法原理,掌握随机森林、Adaboost 提升算法、GBDT 提升树算法,XGBoost 算法。 |
阶段七 | Kaggle 实战 | 通过实战,提升对基础算法的理解和应用。 |
阶段八 | 概率图模型算法 | 掌握贝叶斯算法、HMM 算法、最大熵模型、CRF 算法 |
阶段九 | 深度学习课程大纲 | OpenCV 机器视觉开发; TensorFlow 深度学习框架; PyTorch 深度学习框架; 目标检测经典模型算法; 目标检测 YOLO 算法 |
阶段十 | C 语言高级编程 | 数据类型、运算符和表达式、输入和输出、流程控制、数组、函数、预处理、指针、结构体、C 语言编程高阶 |
阶段十一 | 数据结构和算法 | 链表、栈和队列、二叉树、图、排序算法、查找算法 |
阶段十二 | Linux 高级程序设计 | shell 编程、Linux 文件 IO、Linux 并发编程 |
阶段十三 | Linux 网络编程 | 网络编程预备知识、TCP 编程、UDP 编程、多播 |
阶段十四 | Linux 数据库编程 | Mysql、Sqlite、Mysql C 语言编程接口、Sqlite3 C 语言编程接口 |
阶段十五 | C++应用软件开发 | 类和对象、封装、继承、多态、泛型编程、STL、算法、QT 应用软件开发 |
阶段十六 | 嵌入式传感器编程 | RS232、RS485、Linux 串口编程、GPIO 编程、烟雾传感器、温湿度传感器、继电器等 |
阶段十七 | 音视频编程 | 音视频编程原理、H264、FMpeg、音视频网络传输、 RTMP 直播、科大讯飞语音识别 |
阶段十八 | 5G 物联网应用开发 | ARM 体系结构、STM32 应用开发、UCOS、 FreeRTOS、蓝牙、zigbee、NB-IoT |
阶段十九 | 嵌入式 Linux 系 统移植及驱动开发 | Uboot、Linux 内核、Linux 文件系统、MMU、内存管理、字符设备驱动、块设备驱动、平台驱动 |
四、AIoT项目实战
未超链接部分为未学习(总结)部分,后续会慢慢补上🎯
阶段 | 名称 | 涉及知识点 |
---|---|---|
项目一 | 从OCR到STR 文本检测与识别 | 掌握文本识别项目的特点和整体流程, 模型部署,传统CV的文本检测 算法, 端到端的文本检测识别模型介绍 |
项目二 | 智能聊天机器人 | 掌握智能聊天机器人概述和业界进展, 文本类匹配,句子相似度匹配, 异质文本相似度匹配,多轮对话技术进展 |
项目三 | 计算机视觉医疗系统 | 掌握数字图像处理,图像认知、表示 ,计算机视觉经典任务,深度学习框架分析,经典网络设计,图像分割技术应用等 |
项目四 | 计算机视觉与电商 | 掌握图像预处理,图像特征,神经网络与深度学习,图像分类,目标检测 |
项目五 | 智能交通地理信息系统 | 掌握城市街道车辆多目标追踪项目实战,大规模地标图像检索,特征模型, 搜索与排序方法,城市街道车辆多目标追踪项目实战 |
项目六 | 乳腺癌医学影像检测 | 掌握迁移学习,图像几何学基础知识, Densnet201在医学检测上的应用 |
项目七 | 交通标志识别 | 掌握,YOLO网络框架,掌握卷积神经网络 |
项目八 | 车道线检测 | 掌握,OpenCV机器视觉框架,了解图片处理方法 |
项目九 | 汽车车牌识别 | 掌握,YOLO目标检测项目,掌握 TensoFlow文字识别原理。 |
项目十 | 手势识别 | 掌握OpenCV图片采集技术,掌握 TesorFlow图片识别卷积神经网络 |
项目十一 | 驾驶员表情识别 | 掌握,OpenCV机器视觉框架,了解图片处理方法。TesorFlow图片识别卷积神经网络 |
项目十二 | 智能停车场管理系统 | 掌握面向对象程序设计、opencv图像处理、传感器编程、TCP编程、udp编程、 STL容器、MySQL数据库、Sqlite3数据库、文件IO |
项目十三 | 基于STM32的智能小车 | 掌握STM32编程、FreeRTOS、红外传感器编程、超声波测距编程、直流电机编程、蓝牙编程、红外遥控、LC1602A显示编程 |
项目十四 | 智能温室大棚控制系统 | 掌握STM32编程、FreeRTOS操作系统 、ZigBee编程、传感器编程、RFID编程、 NB-IoT |
项目十五 | 基于ZigBee的智能物流仓储系统 | 掌握STM32、FreeRTOS、ZigBee组网技术、RFID、传感器编程、NB-IoT |
项目十六 | 人工智能工业分拣系统 | 掌握嵌入式LinuxPython编程、Qt编程、 STM32开发、机械臂开发、TensorFlow 开发、AI语音识别技术、AR开发 |
项目十七 | 智能家居控制系统 | 掌握嵌入式Linux开发、QT编程、传感器开发、数据库开发、音视频开发、语音识别、蓝牙Mesh组网 |
项目十八 | 智慧教室终端 | 掌握嵌入式Linux开发、并发编程、 socket编程、QT开发、传感器编程、 Sqlite3数据库、语音识别、人脸识别 |
项目十九 | 智能无人小车 | 掌握嵌入式Linux、Python编程、PyQt 编程、ROS操作系统、Opencv、Slam、 TensorFlow开发、AI语音识别技术 |
项目二十 | 基于NB-IoT的共享单车 | 掌握STM32开发、传感器编程、NB-IoT模块编程、NB-IoT通信 |
五、AIoT具体学习内容一览
1.Python 基础与科学计算
1.1 Python 基础语法
- 循环控制
- 切片操作
- 数据类型
- 集合操作
- 常用内建函数
- 函数式编程
- 类与对象
- 继承
- 装饰器
- 生成器
1.2 科学计算模块 Numpy
- Numpy ndarray 对象
- Numpy 数据类型
- Numpy 数组属性
- Numpy 创建数组
- Numpy 切片和索引
- Numpy 高级索引
- Numpy 广播
- Numpy 数组操作
- Numpy 数学和统计函数
- Numpy 排序、条件过滤函数
- Numpy 线性代数
1.3 数据处理分析模块 Pandas
- Pandas IO 文件操作
- Pandas 索引和数据选择器
- Pandas 合并、连接
- Pandas 缺失值数据处理
- Pandas 数据离散化
- Pandas 统计计算
1.4 数据可视化模块
- Matplotlib 散点图、线图、核密度图
- Matplotlib 饼图、直方图、盒图
- Matplotlib 等高线图
- Matplotlib 可视化剖析逻辑回归损失函数
- Seaborn 单变量、多变量的图形绘制
- Seaborn Style 和 Color
- Seaborn facetgrid
2.算法数学基础
2.1 微积分基础
- 导数的定义
- 左导数、右导数、可导函数
- 导数几何意义、物理意义
- 基本函数求导公式
- 四则运算法则
- 复合函数求导法则
- 神经网络激活函数的导函数求解
- 高阶导数
- 导数与函数单调性
- 极值定理
- 导数与函数凹凸性
- 一元函数泰勒展开
2.2 线性代数基础
- 向量与其运算
- 行向量和列向量
- 向量加减、数乘、内积、转置
- 向量范数
- 特殊向量
- 矩阵与其运算
- 方阵、对称阵、单位阵、对角阵
- 矩阵加减、数乘、矩阵乘法、转置
- 逆矩阵
- 行列式
2.3 多元函数微分学
- 偏导数
- 高阶偏导数
- 梯度
- 雅可比矩阵
- Hessian 矩阵
- 极值判别法则
2.4 线性代数高级
- 二次型
- 特征值和特征向量
- 特征值分解
- 多元函数的泰勒展开
- 矩阵和向量的求导公式
- 奇异值分解
- 奇异值分解计算方式
- 奇异值分解性质
- SVD 用于数据压缩
- SVD 用于 PCA 降维
- SVD 用于协同过滤
- SVD 用于矩阵求逆
2.5 概率论
- 随机事件和随机事件概率
- 条件概率和贝叶斯公式
- 随机事件的独立性
- 随机变量
- 数学期望和方差
- 常用随机变量服从的分布
- 随机向量
- 随机变量独立性
- 协方差与协方差矩阵
- 随机向量的常见分布
- 最大似然估计
2.6 最优化
- 局部最小和全局最小
- 迭代法求解
- 梯度下降法推导
- 牛顿法推导
- 坐标下降法
- 数值优化算法的问题
- 凸集
- 凸函数
- 凸优化问题
- 拉格朗日乘数法
- 拉格朗日对偶
- KKT 条件
3.线性回归算法
3.1 多元线性回归
- 简单线性回归
- 最优解与最小二乘法
- 多元线性回归判别式
- 多元线性回归的数学假设
- 利用 MLE 推导出目标函数
- 对数似然推导出 MSE 损失函数
- MSE 求偏导得到参数解析解
- 多元线性回归的 python 代码实现
- 多元线性回归的 sklearn 代码实战
3.2 梯度下降法
- 梯度下降法原理与公式
- 学习率设置的学问
- GD 应用于多元线性回归的流程
- 全量梯度下降的原理与代码实现
- 随机梯度下降的原理与代码实现
- Mini-Batch 梯度下降的原理与代码实现
- 代码实现增加 MBGD 数据的随机性
- 代码实现动态调整学习率
3.3 归一化
- 归一化目的与量纲
- 归一化提高模型精度
- 最大值最小值归一化与缺点
- 方差归一化与好处
- 均值归一化与好处
- 标准归一化的代码实战与技巧
3.4 正则化
- 提高泛化能力与防止过拟合
- 正则化用于损失函数
- L1 与 L2 正则项与范数的关系
- 结合 GD 讲解 L1L2 的几何意义
- 透过导函数讲解 L1 的稀疏性
- 透过导函数讲解 L2 的平滑性
3.5 Lasso 回归、Ridge 回归、多项式回归
- Lasso 回归原理与代码实战
- Ridge 回归原理与代码实战
- ElasticNet 回归原理与代码实战
- 升维的意义
- 多项式回归进行升维原理
- 多项式升维代码实战
4.线性分类算法
4.1 逻辑回归
- Sigmoid 函数特点
- 广义线性回归与逻辑回归的数学假设
- 证明伯努利二项分布属于指数族分布
- 推导出逻辑回归判别式
- 推导出逻辑回归损失函数 log loss
- 推导出损失函数导函数用于最优化
- 逻辑回归解决多分类问题 OVR
- 逻辑回归代码实战–鸢尾花数据集分类
4.2 Softmax 回归
- Softmax 函数特点
- 广义线性回归与 Softmax 回归的数学假设
- 证明多项式分布属于指数族分布
- 推导出 Softmax 回归判别式
- 推导出 Softmax 回归损失函数 cross-entropy
- 证明逻辑回归是 Softmax 的特例
- 剖析逻辑回归多分类和 Softmax 多分类的本质区别
- Softmax 回归代码实战–音乐曲风分类
4.3 SVM 支持向量机
- SVM 与感知机关系
- 几何距离和函数距离
- SVM 支持向量机算法原理
- SVM 的损失函数
- 硬间隔 SVM 的优化步骤
- 软间隔 SVM
- 非线性 SVM 与核函数
- SVM 在 sklearn 模块中参数详解
- SVM 人脸识别案例
- SVM 的概率化输出
- SVM 的 OVO 多分类
- SVM 的 hinge loss
4.4 SMO 优化算法
- SMO 优化算法的子二次规划问题思路
- SMO 把目标函数从二元函数变一元函数
- SMO 推导出新的α和旧的α关系
- SMO 对α进行剪裁
- SMO 优化 SVM 算法代码实现
5.无监督学习算法
5.1 聚类系列算法
- 相似度测量方法
- K-means 算法原理
- K-means 图像应用案例
- K-medoids 算法
- K-means++算法
- Mini-batch K-means 算法
- Canopy 聚类算法
- Agnes 层次聚类算法
- Diana 层次聚类算法
- DBSCAN 密度聚类算法
- Spectral 谱聚类
- 微博用户聚类分析案例
5.2 PCA 降维算法
- 特征选择与特征映射
- 最大投影方差原理与推导
- 最小投影距离原理与推导
- PCA 过程的中心化
- Kernelized PCA
- SVD 奇异值分解用于 PCA
5.3 EM 算法
- Jensen 不等式
- EM 算法的 E-step
- EM 算法的 M-step
- EM 在 GMM 公式推导中应用
5.4 GMM 算法
- 单一高斯分布的参数估计
- 混合高斯分布的似然函数
- GMM 的计算流程
- GMM 之图片前景背景分离代码实战
- GMM 之根据声音判别性别代码实战
- GMM 之根据声音判别用户代码实战
6.决策树系列算法
6.1 决策树算法
- 决策树的算法原理与数学表达
- 分裂指标 Gini 系数、信息增益、信息增益率
- 前剪枝与后剪枝
- 决策树 ID3、C4.5 和 CART
- 决策树算法优略比较
- 决策树之鸢尾花数据集分类案例
- 通过 graphvis 绘制决策树模型
6.2 随机森林算法
- 集成学习算法思想 Bagging、Boosting、Stacking
- 用户画像集成学习方法案例
- OOB 数据集验证随机森林算法
- 随机森林副产品之特征选择
6.3 Adaboost 算法
- Adaboost 算法原理
- 数据的权重与权重错误率
- 权重错误率调整到 0.5 训练下一个弱分类器
- 计算每个样本的权重 Un
- 应用 Adaboost 算法做人脸识别
6.4 GBDT 算法
- 函数空间的梯度下降与负梯度
- 推导 GBDT 回归是拟合残差
- Shrinkage 衰减系数的作用
- 推导 GBDT 分类亦是拟合残差
- GBDT 二分类模型训练和使用
- GBDT 多分类模型训练和使用
- GBDT 副产品之特征组合用于降维
- 实现 GBDT+LR 架构代码实战
6.5 XGBoost 算法
- XGBoost 算法与决策树集成学习关系
- XGBoost 目标函数与正则项
- XGBoost 目标函数用二阶泰勒展开
- 推导简化 XGBoost 目标函数引入 g h
- XGBoost 目标函数加入树的复杂度
- 推导出 XGBoost 目标函数最终形式和叶子节 点表达式
- 详解 XGBoost 算法参数与交叉验证
- XGBoost 算法调用 GPU 显卡资源加速
7.Kaggle 实战
7.1 CTR 广告预估项目
7.2 药店销量预测案例
7.3 活动推荐预测案例
7.4 银行贷款风控案例
8.概率图模型算法
8.1 贝叶斯分类
- 朴素贝叶斯分类器
- 拉普拉斯估计
- 代码实战垃圾邮件分类
8.2 HMM 算法
- 马尔可夫过程
- 初始概率、转移概率、发射概率
- 隐含马尔可夫模型原理
- 维特比算法
8.3 最大熵模型
- 熵、条件熵、相对熵、互信息
- 最大熵模型算法原理
- 有约束条件的函数最优化问题
- 最大熵和最大似然估计关系
- IIS 算法
8.4 CRF 算法
- 条件随机场的性质
- 条件随机场的判别函数
- 条件随机场的学习
- 条件随机场的推断
- CRF 与 HMM 关系
9.深度学习课程大纲
9.1 机器视觉
9.1.1 基本操作
- 图像读写
- 像素操作
- 图像缩放
- 图像旋转
- 图像融合
- 图像灰度化
- 图像颜色翻转
- 图像仿射变换
- RGB 与 HSV 空间变换
9.1.2 人脸检测
- 图像阈值
- 人脸检测
- 人脸马赛克
- 人脸毛玻璃效果
- 图像的浮雕
- 直方图均衡化
- 亮度增强
- 视频处理
- 读取摄像头
- 人脸追踪
9.1.3 高级应用
- 图像滤波与卷积
- 霍夫圆
- 边缘轮廓
- 腐蚀膨胀
- 开闭操作
- 背景消除
- 识别雪糕筒
- 物体追踪
- 车道线检测
- 车牌识别
9.2 TensorFlow 深度学习框架
9.2.1 TensorFlow 简介与环境搭建
- TensorFlow 简介
- TensorFlow 版本变迁与 TensorFlow1.0 框架
- TensorFlow2.0 框架
- TensorFlow 与 PyTorch 比较
- TensorFlow 环境配置
- CPU-TensorFlow 版安装
- GPU-TensorFlow 版安装
9.2.2 TensorFlow 入门
- tf 基础 API 引入
- tf.constant 常量使用方式
- tf.strings 与 ragged tensor
- 稀松 tensor 与变量 tf.Variable
- 自定损失函数
- DenseLayer 层
- 张量
- 随机数
- 科学计算
- 统计方法
- 自动求导机制
- tf.function 函数转换
- 函数签名与图结构
- tf.GradientTape 基本使用方法
- 案例:数据加载
- 案例:梯度下贱算法的实现
9.2.3 TensorFlow dataset 与 estimator 使用
- data_API 导入
- tf.data 基础 API 使用
- 生成 csv 文件
- tf.io.decode_csv 使用
- tf.data 读取 csv 文件并
- tf.data 与 tf.keras 结合使用
- tfrecord 基础 API 使用
- 生成 tfrecords 文件
- tf.data 读取 tfrecord 文件
- 泰坦尼克数据介绍
- feature_column 使用
- keras_to_estimator
- 预定义 estimator 使用
- 交叉特征实战
9.2.4 全连接神经网络
- 从生物神经元到人工神经元
- 全连接神经网络介绍
- 输入层
- 隐含层
- 输出层
- 激活函数
- 搭建网络模型
- 模型训练和测试
- 模型存储和加载
- 准确度 acc 和损失 loss 的可视化
- 案例:MNIST 手写数字识别
9.2.5 模型优化
- 模型优化概述
- 改变模型复杂度
- 优化损失函数和学习率
a) Optimizer 优化器
b) SGD 和 SGDM 优化器
c) AdaGrad 优化器
d) RMSProp 优化器 - Adam 优化器
- 优化 MNIST 手写数字识别
- 图片数据发生器
- 图片数据增强功能实现
- Dropout 解决过拟合问题
- 正则化实现模型优化
- 梯度消失与梯度爆炸介绍
- Relu 激活函数优化
- Xavier Glorot 初始化
- Data Augmentation 数据增强
- Batch Normalization 归一化
9.2.6 CNN 卷积神经网络
- CNN 概述
- 卷积操作
- 感受野
- 权值共享
- 填充(Padding)
- 步长(Stride)
- 池化(Pooling)
- 卷积和池化输出尺寸计算
- CNN 总结
- LeNet5 卷积神经网络
- 案例:LeNet5 实现 MNIST 手写数字类
- Alex 卷积神经网络
- VGGNet 卷积神经网络
- InceptionNet 卷积神经网络
- ResNet 卷积神经网络
- DenseNet 神经网络
- MobileNet 神经网络
- 案例:不同网络实现 Cifar-10 图像分类
9.2.7 RNN 循环神经网络
- RNN 循环神经网络原理
- RNN 实现股票预测
a) 数据集处理
b) RNN 模型定义
c) 预测和绘图
d) RNN 评价指标 - LSTM 长短期记忆神经网络概述
- LSTM 门结构
- LSTM 实现股票预测
- GRU 门控制循环单元
- GRU 实现股票预测
9.2.8 TensorFlow 分布式
- 分布式介绍与 GPU 设置
- GPU 默认设置
- 内存增长和虚拟设备实战
- GPU 手动设置
- 分布式策略
- Keras 分布式实现
- Estimator 分布式实现
- 自定义流程实现
- 分布式自定义流程实现
9.2.9 TensorFlow 模型保存与部署
- tflite 介绍
- 保存模型结构加参数与保存参数实战
- Keras 模型转化为 SavedModel
- 签名函数转化为 SavedModel
- 签名函数,SavedModel 和 Keras 模型 到 具体函数转换
- tflite 保存与解释与量化
- tensorflowjs 转换模型
- tensorflowjs 搭建服务器载入模型实战
- android 部署模型实战
- 模型保存与部署总结
9.2.10 BP 反向传播算法
- BP 反向传播目的
- 链式求导法则
- 反向传播推导
- 反向传播-权值更新
- 反向传播-阈值更新
- 隐层到隐层参数更新
- 不同激活函数在反向传播应用
- 不同损失函数在反向传播应用
- Python 实现反向传播神经网络案例
9.3 PyTorch 深度学习框架
9.3.1 PyTorch 简介与环境搭建
- 选择 PyTorch 理由
- PyTorch 简介
a) 发展历史
b) 框架优点
c) 框架企业应用 - PyTorch-CPU 环境搭建
- PyTorch-GPU 搭建
9.3.2 PyTorch 框架基本使用
- Tensor 基本定义
- Tensor 与机器学习关系
- Tensor 创建编程实例
- Tensor 属性
- 稀松张量
- Tensor 算术运算
- Tensor 算术运算编程实例
- in-place 的概念和广播机制
- 取模-取整运算
- 比较运算、排序、数据合法性比较
- 三角函数
- 其他数学运算
- PyTorch 统计方法应用
- PyTorch 的分布函数
- PyTorch 随机抽样
- PyTorch 线性代数运算
- PyTorch 矩阵分解-PCA
- PyTorch 矩阵分解-SVD-LDA
- PyTorch 张量裁剪应用
- PyTorch 张量索引与数据筛选
- PyTorch 张量数据合并
- PyTorch 张量切片
- PyTorch 张量变形
- PyTorch 张量填充与傅里叶变换
- PyTorch 编程技巧实战
- PyTorch 自动求导 autograd-导数-方向导数-偏导数-梯度
- PyTorch 自动求导 autograd-梯度下降与机器学习最优解
- PyTorch 自动求导 autograd-Variable 与 tensor 应用
- PyTorch 自动求导 autograd-梯度计算
- PyTorch 自动求导 autograd 重要概念 variable-grad-grad_fn
- PyTorch 神经网络库 nn
- PyTorch 与 visdom
- PyTorch 与 tensorboardX
- PyTorch 与 torchvision
9.3.3 PyTorch 搭建神经网络
- 机器学习基本概念
- 神经网络的基本概念
- 神经网络回归问题
- 神经网络梯度下降
- 神经网络损失函数最小二乘法
- PyTorch 优化算法
- PyTorch 实现线性回归实战
- 神经网络分类问题
- 神经网络损失函数交叉熵介绍
- PyTorch 实现数字分类实战
9.3.4 PyTorch 计算机视觉与卷积神经网络
- 计算机视觉基本概念
- 图像处理常见概念
- 特征工程
- 卷积神经网络
- 填充(Padding)
- 步长(Stride)
- 池化(Pooling)
- 卷积和池化输出尺寸计算
- 卷积构造
- 激活层-BN 层-FC 层-损失层
- 经典卷积神经网络结构
- 轻量型网络结构
- 多分支网络结构
- Attention 网络结构
- 学习率
- 优化器
- 卷积神经网络正则化
9.3.5 PyTorch 实战计算机视觉任务-Cifar-10 图像分类
- 图像分类网络模型框架介绍
- Cifar10 数据读取与处理
- PyTorch 自定义数据加载-加载 Cifar10 数据
- PyTorch 搭建 VGG 模型实现图像分类
- PyTorch 搭建 Cifar10 图像训练脚本配合 tensorboard 记录日志
- PyTorch 搭建 Cifar10 训练脚本-ResNet 模型
- PyTorch 搭建 Cifar10 训练脚本-Mobilenet 模型
- PyTorch 搭建 Cifar10 训练脚本-Inception 结构
- PyTorch 搭建 cifar10 训练脚本搭建-调用 Pytorch 标准网络 ResNet18 等
- PyTorch 搭建 cifar10 推理测试脚本搭建
- 分类问题优化思路
- 分类问题最新研究进展和方向
9.3.6 Pytorch 实战计算机视觉任务-Pascal VOC 目标
- 目标检测概念介绍
- Passcal VOC 数据集介绍
- MMdetection 框架介绍-安装说明
- MMdetection 框架使用说明
- MMdetection 框架原理剖析
- MMdetection 训练 Passcal VOC 目标检测任务
- MMdetection 模型脚本测试
- MMdetection LOG 日志分析
- MMdetection 调优
9.3.7 PyTorch 实战计算机视觉任务-COCO 目标分割问题
- 图像分割基本概念
- 图像分割方法介绍
- 图像分割评价指标以及面临的挑战
- COCO 数据集介绍
- detectron 框架介绍和使用说明
- COCO 数据集标注文件解析
- detectron 框架源码解析
- detectron 模型训练
- detectron 测试脚本
9.3.8 PyTorch 搭建 GAN 网络实战图像风格迁移
- GAN 的基础概念
- GAN 典型模型介绍
- 图像风格转换数据下载
- 自定义 dataset 数据集
- CycleGAN 模型搭建
- CycleGAN 模型训练
- CycleGAN 模型测试
9.4 深度学习-目标检测经典模型实战
9.4.1 目标检测 RCNN 模型
- RCNN 模型介绍
- 模型网络结构 AlexNet 介绍
- 模型训练步骤
- 准备 region proposal
- 准备正负样本
- 预训练
- 目标分类
- 回归训练器
- RCNN 优缺点
9.4.2 目标检测 Fast R-CNN 模型
- Fast R-CNN 模型介绍
- 模型网络结构 VGG16 介绍
- ROI 池化
- 特征提取方式
- 联合候选框回归与目标分类的全连接层
- Fast R-CNN 创新点
- Fast R-CNN 训练
- Fast R-CNN 目标检测测试
9.4.3 目标检测 Faster R-CNN 模型
- Faster R-CNN 模型介绍
- 网络模型介绍
- RPN 生成建议窗口
- 产生建议窗口的 CNN 和目标检测的 CNN 共享
- Softmax-loss
- Faster R-CNN 创新点
- Faster R-CNN 训练
- Faster R-CNN 目标检测测试
9.4.4 目标检测 mask R-CNN 模型
- mask R-CNN 模型介绍
- 网络模型介绍
- RoIAlign
- Mask R-CNN 与 Faster R-CNN 对比
- 损失函数
- mask R-CNN 创新点
- mask R-CNN 训练
- mask R-CNN 目标检测测试
9.4.5 目标检测 RFCN 模型
- RFCN 模型介绍
- 特征提取模型介绍
- RFCN 目标检测计算流程
- RFCN 创新点
- RFCN 训练
- RFCN 目标检测测试
9.4.6 目标检测 Cascade R-CNN 模型
- Cascade R-CNN 模型介绍
- 特征提取模型介绍
- IOU 阈值设置
- 级联结构
- Cascade 结构介绍
- 损失函数
- Cascade R-CNN 创新点
- Cascade R-CNN 训练
- Cascade R-CNN 目标检测测试
9.5 深度学习-目标检测 YOLO 实战
9.5.1 深度学习经典检测方法概述
- 目标检测简介
- 目标检测原理
- 图像金字塔
- 古典目标检测架构
- ROI、IOU、FPS、NMS、mAP
- IOU 代码实现
- NMS 代码实现
- 特征金字塔
- SPP net 10) ROI 池化
9.5.2 YOLO-V1 整体思想与网络架构
- YOLO 算法整体思路解读
- 检测算法对应结果
- 整体网络架构解读
- 位置损失计算
- 置信度误差与优缺点剖析
9.5.3 YOLO-V2 进化详解
- 版本升级概述
- 网络结构特点
- 网络结构细节解读
- 基于聚类来选择先验框尺寸
- 偏移量计算方法
- 坐标映射与还原
- 感受野作用
- 特征融合改进
9.5.4 YOLO-V3 网络模型介绍
- 版本升级概述
- 多 scale 方法改进与特征融合
- 经典变换方法对比分析
- 残差连接方法解读
- 整体网络模型结构分析
- 先验框设计优化
- Softmax 层优化
9.5.5 项目实战-基于 YOLO-V3 并进行源码解读
- 数据与环境配置
- 训练参数设置
- 数据读取与处理
- Debug 模式介绍
- 构建网络模型
- 路由层与 shortcut 层说明
- YOLO 层定义剖析
- 预测结果计算
- 网络偏移计算
- 模型损失函数概述
- 标签样式设计
- 坐标相对位置计算
- 损失函数整合
- 模型训练与总结
- 目标检测效果展示
9.5.6 基于 YOLO-V3 的自定义目标检测
- 标注工具 Labelme 工具介绍与安装
- 数据标注
- 完成标签制作
- 生成模型所需配置文件
- 数据格式转换
- 数据输入数据预处理
- 训练代码与参数校验
- 训练模型并预测效果
9.5.7 YOLO-V4 网络模型介绍
- 版本升级概述
- 数据增强策略分析
- DropBlock 与标签平滑处理
- 损失函数局限性
- CIOU 损失函数定义
- NMS 细节优化
- SPP 与 CSP 网络结构
- SAM 注意力机制模块
- PAN 模块解读
- 激活函数与整体框架
9.5.8 YOLO-V5 网络模型介绍
- 版本升级概述
- 数据源 Debug 流程解读
- 图像数据源配置
- 加载标签数据
- 数据增强方法:Mosaic
- 数据合并
- Getltem 构建 batch
- 网络框架图可视化介绍
- YOLO5 配置文件解读
- Focus 模块流程讲解
- 配置文件解析
- 前向传播计算
- BottleneckCSP 层计算
- Head 层流程解析
- SPP 层计算解析
- 上采样与拼接
- 结果输出解析
- 超参数解析
- 命令行参数解析
- 训练流程总结
- 训练策略概述
- 模型迭代过程介绍
9.5.9 Resnet 网络框架结合迁移学习
- 迁移学习目标
- 迁移学习策略
- Resnet 原理
- Resnet 网络介绍
- Resnet 处理操作
- shortcut 模块
- 加载训练好的权重
- 模型训练
- 迁移学习结果对比
9.5.10 目标检测算法 SSD
- SSD 概述
- SSD 骨干网络
- default box 生成与规则
- 损失函数定义
- 网络细节介绍
- 与 YOLO 对比
9.5.11 目标检测算法 RetinaNet
- RetinaNet 概述
- 类不均衡问题
- 平衡交叉熵
- Focal Loss 定义
- 特征金字塔主干网络
- Anchors
- 分类自网络
- 边框回归自网络
- 模型训练
- 模型优化过程
- 模型对比与总结
10.图像识别综合案例
10.1 交通标志识别
- OpenCV 图片加载
- OpenCV 图片预处理
- 交通标志数据集处理
- TensorFlow
- 卷积神经网络构建
- TensorFlow 模型优化
- Keras 应用
- YOLO 使用
- 模型保存与加载
- Darknet 介绍与安装
10.2 车道线检测
- OpenCV 图片读写操作
- OpenCV 视频读写操作
- OpenCV 图片融合
- OpenCV 像素操作
- 图片灰度化处理
- 边缘轮廓
- 腐蚀膨胀
- 开闭操作
- 背景消除
- 物体追踪
10.3 汽车车牌识别
- 批量数据处理
- TensorFlow
- YOLO
- 卷积神经网络
- 图片裁剪
- TensorFlow 模型优化
- Keras 应用
- 模型保存与加载
- 数据增强
10.4 手势识别系统
- OpenCV 批量数据采集
- 图像灰度化
- 图像缩放
- 图像亮度改变
- 图像旋转
- 图像裁剪
- TensorFlow 构建 CNN 网络
- CNN 网络调优训练
- 模型保存
- 模型加载
10.5 驾驶员表情识别
- OpenCV 摄像头视频操作
- 图像灰度化
- 图像缩放
- 图像亮度改变
- 图像旋转
- 图像裁剪
- YOLO 框架加载
- YOLO 框架调参
- YOLO 框架训练
- TensorFlow 构建 CNN 网络用于识别表情
- CNN 网络调优训练
- 模型保存
- 模型加载
11.Linux 基础
- Linux 的介绍,Linux 的安装
a) VMware Workstation 虚拟软件安装过程、Ubuntu 虚拟机安装过程 - Linux 系统启动过程介绍
a) 内核引导
b) init 进程
c) 系统初始化
d) 建立终端
e) 用户登录系统 - Linux 系统目录结构
a) Linux 文件系统的层次结构
b) Linux 文件系统的作用
c) Linux 绝对路径和相对路径
d) Linux 文件/目录的命名规则
e) Linux 命令如何识别文件类型 - Linux 常用 shell 命令
a) 文件管理命令
b) 文档编辑命令
c) 文件传输命令
d) 磁盘管理命令
e) 网络通讯命令
f) 系统管理命令
g) 系统设置命令
h) 备份压缩命令
i) 设备管理命令 - Linux 系统密码管理
a) Linux 系统密码配置文件
b) Linux 系统修改密码方式 - Vim 文本编辑器
- Linux 远程登录
a) telnet 登录
b) ssh 登录
c) xshell 软件的使用 - Linux 用户和组管理
a) Linux 系统用户账号的管理
b) Linux 系统用户组的管理
c) 用户账号相关的配置文件 - Linux 权限管理
a) Linux 权限管理的重要性
b) Linux 权限位
c) Linux umask 详解 - Linux 文件系统管理
a) 磁盘结构
b) Linux 常用文件系统介绍
c) 硬盘设备和磁盘分区的识别
d) df 命令
e) du 命令
f) mount 命令
g) fdisk 命令
h) mkfs 命令
i) mke2fs 命令
j) Linux 交换分区的作用 - Linux 常用服务搭建
a) ftp 服务搭建
b) samba 服务搭建
c) ssh 搭建
d) telnet 搭建
e) nginx 服务搭建 - Linux 系统服务管理
a) Linux 系统服务及其分类
b) Linux 端口及查询方法详解
c) Linux 基于 xinetd 服务的管理方法详解
d) 影响 Linux 系统性能因素分析
e) 系统性能分析:sar 命令
f) cpu 运行状态查看
g) 内存使用状态查看 - Linux 系统日志管理
a) Linux rsyslogd 服务及启动方法(详解版)
b) Linux 日志文件(常见)及其功能
c) Linux 日志文件格式分析
d) rsyslogd 配置文件格式及其内容详解
e) Linux 日志服务器设置过程
f) Linux 日志轮替(日志转储)及 logrotate 配置文件分析
g) Linux logrotate 命令用法详解:进行日志转储(轮替)
h) Linux 日志分析工具(logwatch)安装及使用 - Linux 软件包管理
- Linux 备份与恢复
a) Linux 备份的重要性
b) Linux 中的哪些数据需要备份?
c) Linux 数据备份介质的选择
d) Linux 备份策略(完全备份、增量备份和差异备份)详解
e) Linux tar 命令备份数据
f) Linux dump 命令用法详解:备份分区、文件或目录
g) Linux restore 命令:还原 dump 操作备份下的文件、目录或分区
h) Linux dd 命令详解:数据备份,并在备份过程中进行格式转换
i) Linux rsync 命令用法详解 - SELinux 管理
a) SELinux 是什么
b) SELinux 的主要作用
c) SELinux 的工作模式(Disabled、Permissive 和 Enforcing)
d) SELinux 配置文件(/etc/selinux/config)
e) SELinux 工作模式设置(getenforce、setenforce 和 sestatus 命令)
f) SELinux 安全上下文查看方法(超详细)
g) SELinux 安全上下文的修改和设置(chcon 和 restorecon 命令)
h) SELinux 默认安全上下文的查询和修改(semanage 命令)
i) SELinux auditd 日志系统的安装与启动
j) SELinux auditd 日志使用方法详解
k) SELinux Targeted、MLS 和 Minimum 策略
l) SELinux 策略规则查看方法(seinfo 和 sesearch)详解
m) SELinux 策略规则的开启和关闭(详解版)
12.C 语言高级编程
12.1 C 语言开篇
- C 语言发展历史及特点
- C 语言应用及就业场景
- 手把手教你搭建 C 语言开发环境
- 第一个 C 语言程序
- 程序的编译及运行
- 单行注释和多行注释
- 文档注释
12.2 数据类型
- 标识符
- 关键字
- 变量的定义、声明、赋值和使用
- 整型及整型数据的表示(进制问题)
- 浮点型
- 字符型常量
- 数据在内存中的存储
- 由 printf(“%d\\n”,10/3);所引发的思考
- 那些年我们遇到的变态笔试题
- 局部变量和全局变量
- 揭开 sizeof 的神秘面纱
- ASCII 表
12.3 C 语言输入输出
- printf 的高级用法
- scanf 读取冲键盘输入的数据
- 走进缓冲区的世界(理解且掌握)
- 输入输出疑难杂症
12.4 运算符和表达式
- 赋值运算符
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 你会用位运算控制灯光的开和关吗
- 常见笔试题分析
- 逗号运算符
- 条件运算符
- 其他运算符
- 预算符的优先级关系
12.5 流程控制
- 分支结构
a) if 分支
b) if 分支的嵌套
c) switch 分支
d) if 分支和 switch 分支综合应用
e) 作业:员工奖金计算 - 循环结构
a) while 循环
b) do~while 循环
c) for 循环
12.6 数组
- 数组的基本概念
- 一维数组
a) 一维数组的使用
b) 一维数组的内存空间布局
c) 一维数组元素的逆置
d) 如何删除数组中重复的元素 - 二维数组
a) 二维数组的使用
b) 二维数组以上是关于AIoT(人工智能+物联网)知识总结+实战项目的主要内容,如果未能解决你的问题,请参考以下文章