更新时间:2024-05-10 11:58:15
封面
版权信息
作者简介
前言
第1章 卷积神经网络的理论基础
1.1 神经网络回顾
1.1.1 神经网络模型
1.1.2 神经网络的训练——反向传播算法
1.1.3 神经网络的拟合能力和泛化能力
1.2 什么是卷积神经网络
1.2.1 什么是卷积运算
1.2.2 通道(Channel)和三维卷积
1.2.3 为什么需要深度网络
1.2.4 什么是批次(Batch)
1.3 卷积神经网络的组成细节
1.3.1 卷积神经网络的输入层
1.3.2 神经网络的输出层
1.3.3 卷积层和转置卷积层
1.3.4 激活层
1.3.5 归一化层
1.3.6 上采样层和下采样层
1.3.7 池化层
1.3.8 跳跃、空间注意力等特殊的连接方式
1.3.9 构建一个复杂的卷积神经网络
1.4 卷积神经网络的训练
1.4.1 常用损失函数
1.4.2 常用的正则化方法
1.4.3 常用的优化器
1.4.4 常用的训练学习率调整方法
第2章 深度学习开发环境及常用工具库
2.1 硬件和操作系统
2.1.1 显卡
2.1.2 操作系统
2.2 Python开发环境管理
2.2.1 Anaconda虚拟环境的管理
2.2.2 Python的包管理器pip
2.3 常用的Python包
2.3.1 NumPy——Python科学计算库
2.3.2 OpenCV——Python图像处理库
2.4 GPU加速的深度学习和科学计算库PyTorch
2.4.1 GPU加速的科学计算功能
2.4.2 PyTorch的自动求导功能
2.4.3 PyTorch的优化器
2.4.4 PyTorch的数据加载
2.4.5 用PyTorch搭建神经网络
2.4.6 常用的辅助工具
2.4.7 搭建一个神经网络并进行训练
第3章 神经网络的特征编码器——主干网络
3.1 什么是神经网络的主干网络
3.1.1 神经网络的元结构
3.1.2 神经网络的主干网络及有监督预训练
3.1.3 主干网络的自监督预训练
3.2 流行的主干网络
3.2.1 简单直白的主干网络——类VGG网络
3.2.2 最流行的主干网络——ResNet系列网络
3.2.3 速度更快的轻量级主干网络——MobileNet系列
3.2.4 自由缩放的主干网络——RegNet系列
3.3 使用TorchVision模型库提供的主干网络
3.3.1 构建和加载模型
3.3.2 修改主干网络获取多尺度特征图
3.3.3 不同主干网络和预训练模型的训练对比
第4章 目标检测网络——识别车辆
4.1 目标检测基本概念
4.1.1 Anchor
4.1.2 NMS
4.1.3 目标检测网络的类别
4.2 以Faster RCNN为代表的两阶段检测方法
4.2.1 RPN网络
4.2.2 ROI网络
4.2.3 使用TorchVision模型库中的Faster RCNN
4.3 以Yolo为代表的一阶段检测方法
4.3.1 YoloV3的整体结构
4.3.2 Yolo的训练
4.3.3 类Yolo的一阶段检测网络
4.4 以CenterNet为代表的Anchor-Free方法
4.4.1 CenterNet的整体结构
4.4.2 用高斯模糊和Focal Loss训练CenterNet
4.4.3 YoloX网络
4.5 Yolo的PyTorch实现
4.5.1 样本选择算法的实现
4.5.2 Yolo层的实现
4.5.3 构造损失函数
4.5.4 NMS的实现
第5章 语义分割与实例分割——逐像素分类
5.1 语义分割
5.1.1 语义分割的网络构架和损失函数
5.1.2 评价语义分割质量的指标
5.1.3 使用OHEM和类别权重解决样本不均衡问题
5.1.4 语义分割的关键——信息融合
5.2 使用PyTorch训练一个语义分割模型
5.2.1 语义分割的数据加载
5.2.2 加载Lite R-ASPP语义分割模型进行训练
5.2.3 计算混淆矩阵
5.2.4 计算mIoU
5.3 实例分割——分辨行人和车辆
5.3.1 以Mask-RCNN为代表的两阶段实例分割方法
5.3.2 以SOLO为代表的单阶段实例分割方法
5.3.3 基于CondInst的半监督实例分割方法BoxInst
5.4 安装及使用OpenMMLab——以MMDetection为例
5.4.1 安装和配置MMDetection