书籍详情
基于深度学习的目标检测原理与应用
作者:翟中华
出版社:电子工业出版社
出版时间:2023-08-01
ISBN:9787121460319
定价:¥108.00
购买这本书可以去
内容简介
本书遵循循序渐进、深入浅出的理念,引领读者夯实相关基础知识,掌握传统目标检测方法,再逐步过渡到深度学习的基本概念及分类用法,进而深入讲解目标检测的两阶段深度学习方法、一阶段学习方法,即从以R-CNN为代表的两阶段深度学习方法、以YOLO系列为代表的一阶段学习方法等,层层揭开深度学习用于目标检测的“神秘面纱”,探究其中的奥秘。本书适合目标检测领域的工程师、研究员阅读,也可作为深度学习相关专业本科生、研究生的重要参考书,还可作为互联网行业IT技术人员转型学习人工智能的参考用书。
作者简介
翟中华,清华大学硕士,曾就职于中国银行总行信息科技部等,2018开始创立AI火箭营,担任北京洪策元创智能科技有限公司CEO,获软件设计师国家级证书,在计算机视觉、深度学习、机器学习等方向已有多本著作出版。
目录
第1章 计算机视觉及目标检测 1
1.1 计算机视觉原理 1
1.1.1 人类视觉与计算机视觉比较 1
1.1.2 计算机视觉应用展现 2
1.2 目标检测概述 9
1.2.1 计算机视觉三大主要任务 9
1.2.2 目标检测的应用 11
1.2.3 目标检测面临的挑战 12
1.2.4 目标检测方法 13
第2章 计算机视觉数学、编程基础 15
2.1 向量、矩阵和卷积 15
2.1.1 向量 15
2.1.2 矩阵 16
2.1.3 卷积 16
2.2 函数极值理论与非极大值抑制 18
2.2.1 函数极值理论 19
2.2.2 非极大值抑制 21
2.3 跨平台计算机视觉和机器学习软件库OpenCV 基础 24
2.3.1 OpenCV的历史起源 24
2.3.2 安装OpenCV 24
2.3.3 OpenCV图像和视频的读/写 24
2.3.4 OpenCV基本操作 28
2.3.5 OpenCV颜色空间转换 29
2.3.6 OpenCV几何变换 31
2.3.7 OpenCV图像简单阈值处理 34
2.3.8 OpenCV形态学转换 40
2.3.9 OpenCV图像梯度 43
2.4 PyTorch基础 46
2.4.1 PyTorch简介 46
2.4.2 PyTorch安装 47
2.4.3 张量 47
2.4.4 基本代码操作 49
2.4.5 PIL图像格式转换 51
2.4.6 PyTorch自动求导机制 52
2.4.7 PyTorch的神经网络nn包 55
第3章 OpenCV目标检测实战 60
3.1 Haar特征与积分图像构建算法 60
3.1.1 Haar特征 60
3.1.2 积分图像构建算法 65
3.2 AdaBoost应用于Haar人脸特征分类 66
3.3 AdaBoost级联应用于Haar特征人脸检测 70
3.4 利用OpenCV进行基于Haar特征的人脸检测实战 73
第4章 深度学习引入及图像分类实战 75
4.1 卷积神经网络的重要概念 75
4.2 卷积神经网络训练技巧及经典架构 79
4.3 设计卷积神经网络进行图像分类 82
4.4 选择卷积神经网络损失函数及优化器 85
4.5 改进卷积神经网络以提高图像分类准确率 88
第5章 目标检测的两阶段深度学习方法 90
5.1 R-CNN目标检测思想 90
5.1.1 目标检测数据集 91
5.1.2 从滑动窗口到选择搜索 91
5.1.3 R-CNN网络架构及训练过程 93
5.2 目标检测指标——二分类器 97
5.3 R-CNN目标检测模型评估结果 100
5.3.1 R-CNN用于细粒度类别检测 108
5.3.2 R-CNN用于目标检测与分割 109
5.4 R-CNN的缺陷和Fast R-CNN的改进 110
5.4.1 R-CNN的缺陷 110
5.4.2 感兴趣区域池化 111
5.4.3 Fast R-CNN创新损失函数设计 113
5.5 Fast R-CNN网络架构和模型评估 115
5.5.1 Fast R-CNN模型工作流程 115
5.5.2 Fast R-CNN网络架构 116
5.5.3 RoI池化反向传播方法 116
5.5.4 Fast R-CNN结果评估 117
5.6 Fast R-CNN的创新 118
5.6.1 Faster R-CNN的创新思想 118
5.6.2 替代选择搜索的锚框 119
5.6.3 区域建议网络 120
5.7 深入剖析Faster R-CNN中边界框回归 123
5.7.1 为什么使用边界框回归 124
5.7.2 边界框回归的数学支撑 125
5.8 Faster R-CNN的全景架构和损失函数 127
5.9 Faster R-CNN的训练步骤及测试步骤 129
5.9.1 Faster R-CNN的训练步骤 129
5.9.2 Faster R-CNN的测试步骤 131
5.10 详细讲解Faster R-CNN关键部分RoI代码 132
第6章 目标检测的一阶段学习方法 134
6.1 YOLO目标检测思想 135
6.1.1 改进思想 136
6.1.2 网格单元 137
6.1.3 YOLO创新细节 138
6.2 YOLO的网络结构、网络与损失函数 140
6.2.1 YOLO的网络结构 140
6.2.2 YOLO的网络训练与损失函数 142
6.3 YOLO模型评估、优劣势分析 144
6.3.1 YOLO数据集 145
6.3.2 YOLO模型评估 145
6.3.3 YOLO模型优缺点 146
6.4 YOLOv2实现更好、更快、更强 149
6.5 YOLOv2改进YOLOv1——更好 149
6.5.1 批归一化 150
6.5.2 高分辨率分类器 150
6.5.3 预设锚框并采用全卷积 150
6.5.4 框聚类 151
6.5.5 约束边框位置 153
6.5.6 细粒度特征 154
6.5.7 多尺度训练 154
6.5.8 实验对比 156
6.6 YOLOv2 使用Darknet-19——更快 158
6.6.1 Darknet-19 158
6.6.2 三阶段训练 159
6.6.3 YOLOv2的损失函数 161
6.7 使用WordTree的YOLO9000——更强 164
6.7.1 组合两种数据集的必要性 164
6.7.2 构建WordTree进行分层分类 165
6.7.3 在组合数据集上训练YOLO9000 167
第7章 YOLOv3创新思想及整体架构 170
7.1 YOLOv3的创新改进 170
7.2 YOLOv3的关键创新点 171
7.2.1 106层的Darknet-53主干网络架构 171
7.2.2 三级检测 176
7.2.3 更擅长检测较小的物体 177
7.2.4 更多的锚框 177
7.2.5 损失函数 178
7.3 YOLOv3的三级检测输出过程 179
7.4 YOLOv3的非极大值抑制 183
7.5 YOLOv3的检测效果 184
7.6 SSD多尺度特征图目标检测思想 185
7.7 SSD网络架构 191
7.7.1 SSD网络基础架构 191
7.7.2 扩张卷积 192
7.7.3 SSD与YOLOv3 193
7.7.4 SSD网络检测物体方法 193
7.8 SSD网络损失函数 194
7.8.1 默认框匹配策略 194
7.8.2 损失函数 195
7.9 SSD较YOLOv3的劣势 196
第8章 构建Darknet-53网络实践 198
8.1 Darknet-53网络工程结构和配置 198
8.2 实践代码 200
8.3 构建Darknet-53网络前向传递过程 203
8.3.1 构建Darknet-53的模块 203
8.3.2 Darknet-53的模块详解 205
8.4 YOLOv3 实现检测层特征图到边界的预测值转变 209
8.4.1 参数讲解 209
8.4.2 实现步骤和代码 210
8.5 YOLOv3 演示边框生成过程 212
8.6 YOLOv3 处理低阈值边框 214
8.6.1 思路讲解 215
8.6.2 代码实践 215
8.7 YOLOv3 非极大值抑制过程 218
8.7.1 延续上一节代码讲解NMS过程 219
8.7.2 NMS后的整理 220
8.8 YOLOv3演示NMS过程找到最优框 220
8.8.1 运行检测代码演示 220
8.8.2 运行结果分析 221
8.9 YOLOv3实现工业工具检测 224
8.9.1 YOLOv3工业实践需求分析及目标分析 225
8.9.2 数据采集标注与数据预处理部分 226
8.9.3 模型训练部分 230
8.9.4 模型优化部分 239
第9章 YOLOv4目标检测方法 240
9.1 YOLOv4目标检测创新路径及技巧体系 240
9.1.1 速度与精度双提升 240
9.1.2 YOLOv4技巧汇总 240
9.2 YOLOv4大型网络架构及其主要创新改进 246
9.2.1 空间金字塔结构 246
9.2.2 路径增强网络 247
9.2.3 使用YOLOv4的网络详情 248
9.2.4 CSPDarknet-53网络 254
9.2.5 YOLOv4网络全景关系 255
9.3 YOLOv4中的激活函数 256
9.3.1 各激活函数的比较 256
9.3.2 keras实现三种激活函数性能比较 260
9.4 YOLOv4中的损失函数C-IoU 263
9.4.1 L1和L2损失的缺陷 264
9.4.2 IoU和IoU损失 264
9.4.3 G-IoU、D-IoU和C-IoU 265
9.5 YOLOv4中的新型批标准化 268
9.5.1 各种批标准化 268
9.5.2 跨迭代标准化 270
第10章 EfficientDet目标检测方法 272
10.1 复合缩放 272
10.2 双向特征金字塔网络 274
10.3 EfficientDet体系结构 276
10.3.1 输入图像分辨率缩放 276
10.3.2 BiFPN缩放 277
10.3.3 框/类预测网络缩放 277
10.3.4 主干网 277
10.4 EfficientDet推理效果和不足之处 279
10.4.1 EfficientDet推理效果 279
10.4.2 EfficientDet不足之处 282
参考文献 284
1.1 计算机视觉原理 1
1.1.1 人类视觉与计算机视觉比较 1
1.1.2 计算机视觉应用展现 2
1.2 目标检测概述 9
1.2.1 计算机视觉三大主要任务 9
1.2.2 目标检测的应用 11
1.2.3 目标检测面临的挑战 12
1.2.4 目标检测方法 13
第2章 计算机视觉数学、编程基础 15
2.1 向量、矩阵和卷积 15
2.1.1 向量 15
2.1.2 矩阵 16
2.1.3 卷积 16
2.2 函数极值理论与非极大值抑制 18
2.2.1 函数极值理论 19
2.2.2 非极大值抑制 21
2.3 跨平台计算机视觉和机器学习软件库OpenCV 基础 24
2.3.1 OpenCV的历史起源 24
2.3.2 安装OpenCV 24
2.3.3 OpenCV图像和视频的读/写 24
2.3.4 OpenCV基本操作 28
2.3.5 OpenCV颜色空间转换 29
2.3.6 OpenCV几何变换 31
2.3.7 OpenCV图像简单阈值处理 34
2.3.8 OpenCV形态学转换 40
2.3.9 OpenCV图像梯度 43
2.4 PyTorch基础 46
2.4.1 PyTorch简介 46
2.4.2 PyTorch安装 47
2.4.3 张量 47
2.4.4 基本代码操作 49
2.4.5 PIL图像格式转换 51
2.4.6 PyTorch自动求导机制 52
2.4.7 PyTorch的神经网络nn包 55
第3章 OpenCV目标检测实战 60
3.1 Haar特征与积分图像构建算法 60
3.1.1 Haar特征 60
3.1.2 积分图像构建算法 65
3.2 AdaBoost应用于Haar人脸特征分类 66
3.3 AdaBoost级联应用于Haar特征人脸检测 70
3.4 利用OpenCV进行基于Haar特征的人脸检测实战 73
第4章 深度学习引入及图像分类实战 75
4.1 卷积神经网络的重要概念 75
4.2 卷积神经网络训练技巧及经典架构 79
4.3 设计卷积神经网络进行图像分类 82
4.4 选择卷积神经网络损失函数及优化器 85
4.5 改进卷积神经网络以提高图像分类准确率 88
第5章 目标检测的两阶段深度学习方法 90
5.1 R-CNN目标检测思想 90
5.1.1 目标检测数据集 91
5.1.2 从滑动窗口到选择搜索 91
5.1.3 R-CNN网络架构及训练过程 93
5.2 目标检测指标——二分类器 97
5.3 R-CNN目标检测模型评估结果 100
5.3.1 R-CNN用于细粒度类别检测 108
5.3.2 R-CNN用于目标检测与分割 109
5.4 R-CNN的缺陷和Fast R-CNN的改进 110
5.4.1 R-CNN的缺陷 110
5.4.2 感兴趣区域池化 111
5.4.3 Fast R-CNN创新损失函数设计 113
5.5 Fast R-CNN网络架构和模型评估 115
5.5.1 Fast R-CNN模型工作流程 115
5.5.2 Fast R-CNN网络架构 116
5.5.3 RoI池化反向传播方法 116
5.5.4 Fast R-CNN结果评估 117
5.6 Fast R-CNN的创新 118
5.6.1 Faster R-CNN的创新思想 118
5.6.2 替代选择搜索的锚框 119
5.6.3 区域建议网络 120
5.7 深入剖析Faster R-CNN中边界框回归 123
5.7.1 为什么使用边界框回归 124
5.7.2 边界框回归的数学支撑 125
5.8 Faster R-CNN的全景架构和损失函数 127
5.9 Faster R-CNN的训练步骤及测试步骤 129
5.9.1 Faster R-CNN的训练步骤 129
5.9.2 Faster R-CNN的测试步骤 131
5.10 详细讲解Faster R-CNN关键部分RoI代码 132
第6章 目标检测的一阶段学习方法 134
6.1 YOLO目标检测思想 135
6.1.1 改进思想 136
6.1.2 网格单元 137
6.1.3 YOLO创新细节 138
6.2 YOLO的网络结构、网络与损失函数 140
6.2.1 YOLO的网络结构 140
6.2.2 YOLO的网络训练与损失函数 142
6.3 YOLO模型评估、优劣势分析 144
6.3.1 YOLO数据集 145
6.3.2 YOLO模型评估 145
6.3.3 YOLO模型优缺点 146
6.4 YOLOv2实现更好、更快、更强 149
6.5 YOLOv2改进YOLOv1——更好 149
6.5.1 批归一化 150
6.5.2 高分辨率分类器 150
6.5.3 预设锚框并采用全卷积 150
6.5.4 框聚类 151
6.5.5 约束边框位置 153
6.5.6 细粒度特征 154
6.5.7 多尺度训练 154
6.5.8 实验对比 156
6.6 YOLOv2 使用Darknet-19——更快 158
6.6.1 Darknet-19 158
6.6.2 三阶段训练 159
6.6.3 YOLOv2的损失函数 161
6.7 使用WordTree的YOLO9000——更强 164
6.7.1 组合两种数据集的必要性 164
6.7.2 构建WordTree进行分层分类 165
6.7.3 在组合数据集上训练YOLO9000 167
第7章 YOLOv3创新思想及整体架构 170
7.1 YOLOv3的创新改进 170
7.2 YOLOv3的关键创新点 171
7.2.1 106层的Darknet-53主干网络架构 171
7.2.2 三级检测 176
7.2.3 更擅长检测较小的物体 177
7.2.4 更多的锚框 177
7.2.5 损失函数 178
7.3 YOLOv3的三级检测输出过程 179
7.4 YOLOv3的非极大值抑制 183
7.5 YOLOv3的检测效果 184
7.6 SSD多尺度特征图目标检测思想 185
7.7 SSD网络架构 191
7.7.1 SSD网络基础架构 191
7.7.2 扩张卷积 192
7.7.3 SSD与YOLOv3 193
7.7.4 SSD网络检测物体方法 193
7.8 SSD网络损失函数 194
7.8.1 默认框匹配策略 194
7.8.2 损失函数 195
7.9 SSD较YOLOv3的劣势 196
第8章 构建Darknet-53网络实践 198
8.1 Darknet-53网络工程结构和配置 198
8.2 实践代码 200
8.3 构建Darknet-53网络前向传递过程 203
8.3.1 构建Darknet-53的模块 203
8.3.2 Darknet-53的模块详解 205
8.4 YOLOv3 实现检测层特征图到边界的预测值转变 209
8.4.1 参数讲解 209
8.4.2 实现步骤和代码 210
8.5 YOLOv3 演示边框生成过程 212
8.6 YOLOv3 处理低阈值边框 214
8.6.1 思路讲解 215
8.6.2 代码实践 215
8.7 YOLOv3 非极大值抑制过程 218
8.7.1 延续上一节代码讲解NMS过程 219
8.7.2 NMS后的整理 220
8.8 YOLOv3演示NMS过程找到最优框 220
8.8.1 运行检测代码演示 220
8.8.2 运行结果分析 221
8.9 YOLOv3实现工业工具检测 224
8.9.1 YOLOv3工业实践需求分析及目标分析 225
8.9.2 数据采集标注与数据预处理部分 226
8.9.3 模型训练部分 230
8.9.4 模型优化部分 239
第9章 YOLOv4目标检测方法 240
9.1 YOLOv4目标检测创新路径及技巧体系 240
9.1.1 速度与精度双提升 240
9.1.2 YOLOv4技巧汇总 240
9.2 YOLOv4大型网络架构及其主要创新改进 246
9.2.1 空间金字塔结构 246
9.2.2 路径增强网络 247
9.2.3 使用YOLOv4的网络详情 248
9.2.4 CSPDarknet-53网络 254
9.2.5 YOLOv4网络全景关系 255
9.3 YOLOv4中的激活函数 256
9.3.1 各激活函数的比较 256
9.3.2 keras实现三种激活函数性能比较 260
9.4 YOLOv4中的损失函数C-IoU 263
9.4.1 L1和L2损失的缺陷 264
9.4.2 IoU和IoU损失 264
9.4.3 G-IoU、D-IoU和C-IoU 265
9.5 YOLOv4中的新型批标准化 268
9.5.1 各种批标准化 268
9.5.2 跨迭代标准化 270
第10章 EfficientDet目标检测方法 272
10.1 复合缩放 272
10.2 双向特征金字塔网络 274
10.3 EfficientDet体系结构 276
10.3.1 输入图像分辨率缩放 276
10.3.2 BiFPN缩放 277
10.3.3 框/类预测网络缩放 277
10.3.4 主干网 277
10.4 EfficientDet推理效果和不足之处 279
10.4.1 EfficientDet推理效果 279
10.4.2 EfficientDet不足之处 282
参考文献 284
猜您喜欢