YOLO目标检测:框架技术原理和代码实现

Dream推荐

适读人群 :本书适合对YOLO目标检测感兴趣、了解深度学习相关概念的算法工程师、软件工程师等人员阅读。

  1. 全面:涵盖6个常用目标检测框架(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOX、YOLOv7)的发展状况、技术原理和代码实现。
  2. 流行:涵盖3个流行目标检测框架(DETR、YOLOF 和 FCOS)的网络结构、技术原理和代码实现。
  3. 复现:每个代码实现章节均配备完整的YOLO项目代码,帮助读者轻松复现、优化和调试项目代码。
  4. 丰富:附赠丰富的目标检测项目代码和全书彩图文件,帮助读者更直观地理解YOLO目标检测。

内容简介

本书主要介绍基于视觉的YOLO框架的技术原理和代码实现,并讲解目标检测领域中的诸多基础概念和基本原理,在YOLO框架的基础上介绍流行目标检测框架。本书分为4个部分,共13章。第1部分介绍目标检测领域的发展简史、主流的目标检测框架和该领域常用的数据集。第2部分详细讲解从YOLOv1到YOLOv4这四代YOLO框架的网络结构、检测原理和训练策略,以及搭建和训练的YOLO框架的代码实现。第3部分介绍两个较新的YOLO框架------YOLOX和YOLOv7,着重讲解其设计理念、网络结构和检测原理。第4部分介绍DETR、YOLOF和FCOS在内的流行目标检测框架和相应的代码实现。本书侧重目标检测的基础知识,包含丰富的实践内容,是目标检测领域的入门书,适合对目标检测领域感兴趣的初学者、算法工程师、软件工程师等人员学习和阅读。

作者简介

杨建华,哈尔滨工业大学在读博士,主要研究方向为基于视觉的目标检测与人体时空行为分析,长期耕耘于多个知乎专栏(知乎ID:Kissrabbit)。

李瑞峰,哈尔滨工业大学教授、机器人研究所副所长,中国人工智能学会智能机器人专业委员会秘书长,黑龙江省机器人学会理事长。

传送门

购买链接:京东

目 录

第 1部分 背景知识

第 1章 目标检测架构浅析 2

1.1 目标检测发展简史 2

1.2 目标检测网络框架概述 5

1.3 目标检测网络框架浅析 5

1.3.1 主干网络 5

1.3.2 颈部网络 7

1.3.3 检测头 9

1.4 小结 10

第 2章 常用的数据集 11

2.1 PASCAL VOC 数据集 11

2.2 MS COCO 数据集 12

2.3 小结 14

第 2部分 学习YOLO框架

第3章 YOLOv1 16

3.1 YOLOv1 的网络结构 16

3.2 YOLOv1 的检测原理 18

3.3 YOLOv1 的制作训练正样本的方法 21

3.3.1 边界框的位置参数 tx、ty、w、h 21

3.3.2 边界框的置信度 23

3.3.3 类别置信度 26

3.4 YOLOv1 的损失函数 26

3.5 YOLOv1 的前向推理 27

3.6 小结 29

第4章 搭建YOLOv1网络 30

4.1 改进 YOLOv1 30

4.1.1 改进主干网络 31

4.1.2 添加一个颈部网络 32

4.1.3 修改检测头 33

4.1.4 修改预测层 35

4.1.5 修改损失函数 37

4.2 搭建 YOLOv1 网络 37

4.2.1 搭建主干网络 39

4.2.2 搭建颈部网络 41

4.2.3 搭建检测头 41

4.2.4 YOLOv1 前向推理 41

4.3 YOLOv1 的后处理 44

4.3.1 求解预测边界框的坐标 44

4.3.2 后处理 46

4.4 小结 48

第5章 训练YOLOv1网络 49

5.1 读取 VOC 数据 49

5.2 数据预处理 56

5.2.1 基础变换 56

5.2.2 数据增强 59

5.3 制作训练正样本 61

5.4 计算训练损失 64

5.5 开始训练 YOLOv1 67

5.6 可视化检测结果 74

5.7 使用 COCO 数据集 ( 选读 ) 75

5.8 小结 76

第6章 YOLOv2 77

6.1 YOLOv2 详解 77

6.1.1 引入批归一化层 78

6.1.2 高分辨率主干网络 78

6.1.3 先验框机制 79

6.1.4 全卷积网络与先验框机制 80

6.1.5 使用新的主干网络 81

6.1.6 基于 k 均值聚类算法的先验框聚类 82

6.1.7 融合高分辨率特征图 84

6.1.8 多尺度训练策略 85

6.2 搭建 YOLOv2 网络 87

6.2.1 搭建 DarkNet-19 网络 87

6.2.2 先验框 91

6.2.3 搭建预测层 92

6.2.4 YOLOv2 的前向推理 92

6.3 基于 k 均值聚类算法的先验框聚类 95

6.4 基于先验框机制的正样本制作方法 96

6.4.1 基于先验框的正样本匹配策略 96

6.4.2 正样本匹配的代码 97

6.5 损失函数 103

6.6 训练 YOLOv2 网络 105

6.7 可视化检测结果与计算 mAP 105

6.8 使用 COCO 数据集(选读) 106

6.9 小结 108

第7章 YOLOv3 110

7.1 YOLOv3 解读 110

7.1.1 更好的主干网络 : DarkNet-53 111

7.1.2 多级检测与特征金字塔 112

7.1.3 修改损失函数 116

7.2 搭建 YOLOv3 网络 118

7.2.1 搭建 DarkNet-53 网络 118

7.2.2 搭建颈部网络 121

7.2.3 搭建解耦检测头 123

7.2.4 多尺度的先验框 125

7.2.5 YOLOv3 的前向推理 127

7.3 正样本匹配策略 130

7.4 损失函数 133

7.5 数据预处理 133

7.5.1 保留长宽比的 resize 操作 133

7.5.2 马赛克增强 136

7.5.3 混合增强 138

7.6 训练 YOLOv3 140

7.7 测试 YOLOv3 140

7.8 小结 142

第8章 YOLOv4 143

8.1 YOLOv4 解读 144

8.1.1 新的主干网络:CSPDarkNet-53 网络 144

8.1.2 新的特征金字塔网络:PaFPN 146

8.1.3 新的数据增强:马赛克增强 147

8.1.4 改进边界框的解算公式 148

8.1.5 multi anchor 策略 149

8.1.6 改进边界框的回归损失函数 149

8.2 搭建 YOLOv4 网络 150

8.2.1 搭建 CSPDarkNet-53 网络 151

8.2.2 搭建基于 CSP 结构的 SPP 模块 153

8.2.3 搭建 PaFPN 结构 155

8.3 制作训练正样本 157

8.4 测试 YOLOv4 159

8.5 小结 161

第3部分 最新的YOLO框架

第9章 YOLOX 164

9.1 解读 YOLOX 166

9.1.1 baseline 的选择:YOLOv3 166

9.1.2 训练 baseline 模型 166

9.1.3 改进一:解耦检测头 167

9.1.4 改进二:更强大的数据增强 168

9.1.5 改进三:anchor-free 机制 169

9.1.6 改进四:多正样本 169

9.1.7 改进五:SimOTA 169

9.2 搭建 YOLOX 网络 173

9.2.1 搭建 CSPDarkNet-53 网络 173

9.2.2 搭建 PaFPN 结构 175

9.3 YOLOX 的标签匹配:SimOTA 178

9.4 YOLOX 风格的混合增强 182

9.5 测试 YOLOX 185

9.6 小结 187

第 10章 YOLOv7 188

10.1 YOLOv7 的主干网络 189

10.2 YOLOv7 的特征金字塔网络 195

10.3 测试 YOLOv7 199

10.4 小结 200

第4部分 其他流行的目标检测框架

第 11章 DETR 204

11.1 解读 DETR 205

11.1.1 主干网络 205

11.1.2 Transformer 的编码器 208

11.1.3 Transformer 的解码器 211

11.2 实现 DETR 217

11.2.1 DETR 网络 217

11.2.2 数据预处理 221

11.2.3 正样本匹配 : Hungarian Matcher 222

11.2.4 损失函数 225

11.3 测试 DETR 检测器 228

11.4 小结 228

第 12章 YOLOF 230

12.1 YOLOF 解读 232

12.1.1 YOLOF 的网络结构 232

12.1.2 新的正样本匹配规则:Uniform Matcher 234

12.1.3 与其他先进工作的对比 236

12.2 搭建 YOLOF 237

12.2.1 搭建主干网络 238

12.2.2 搭建 DilatedEncoder 模块 241

12.2.3 搭建解码器模块 242

12.2.4 数据预处理 244

12.2.5 正样本匹配 : Uniform Matcher 246

12.2.6 损失函数 248

12.3 训练 YOLOF 检测器 250

12.4 测试 YOLOF 检测器 250

12.5 计算 mAP 251

12.6 小结 251

第 13章 FCOS 252

13.1 FCOS 解读 253

13.1.1 FCOS 网络结构 253

13.1.2 正样本匹配策略 255

13.1.3 损失函数 258

13.2 搭建 FCOS 258

13.2.1 搭建主干网络 259

13.2.2 正样本匹配 262

13.3 测试 FCOS 检测器 266

13.4 小结 267

参考文献 268

后记 272

相关推荐
Eric.Lee202110 小时前
数据集-目标检测系列- 印度人脸 检测数据集 indian face >> DataBall
人工智能·算法·目标检测·计算机视觉·yolo检测·印度人脸检测
njsgcs15 小时前
chili3d笔记11 连接yolo python http.server 跨域请求 flask
笔记·yolo
FL162386312917 小时前
基于yolov11的打电话玩手机检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面
python·yolo·智能手机
小西几哦18 小时前
Deformable DETR模型解读(附源码+论文)
图像处理·pytorch·目标检测·计算机视觉·transformer
shao91851621 小时前
Gradio全解20——Streaming:流式传输的多媒体应用(5)——基于WebRTC的摄像头实时目标检测
人工智能·目标检测·webrtc·yolov10·twilio·yoloe·turn服务器
那雨倾城1 天前
PiscTrace针对YOLO深度适配:从v8到v12
图像处理·人工智能·python·opencv·yolo·计算机视觉·目标跟踪
ayiya_Oese2 天前
[预备知识]5. 优化理论(一)
python·神经网络·目标检测·机器学习·计算机视觉
悠悠海风2 天前
目标检测中的损失函数(三) | SIoU WIoUv1 WIoUv2 WIoUv3
人工智能·python·深度学习·目标检测·计算机视觉
白熊1882 天前
【计算机视觉】目标检测:深度解析MMDetection:OpenMMLab开源目标检测框架实战指南
目标检测·计算机视觉·开源
暴力袋鼠哥3 天前
基于YOLOv8的人流量识别分析系统
人工智能·python·opencv·yolo·机器学习