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
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/664220.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

过敏者的福音:猫毛克星大揭秘!使用宠物空气净化器效果如何?

对于猫毛过敏者来说,家中爱宠的陪伴与过敏的困扰并存,给他们的日常生活带来了极大的不便。猫毛过敏者常常因为与猫咪接触后出现打喷嚏、鼻塞、眼睛发痒等症状而苦恼,严重时甚至可能影响到他们的呼吸健康。 然而,这并不意味着猫毛…

相机等效焦距

1. 背景 物理焦距我们很熟悉,但是在接触实际的相机参数时,相机厂家会提到一个参数等效焦距,甚至有时候不提供物理焦距,这时候如果我们得到真实的物理焦距需要进行一定的转换.在介绍两者之间的转换关系前,先介绍一下等效焦距的由来. 如上图,假设在某一个镜头,其成像面会出现图…

无线领夹麦克风哪个品牌音质最好?领夹麦克风品牌排行榜前十名

​短视频、直播已成为现代生活中不可或缺的一部分,而领夹式无线麦克风则是这些活动中不可或缺的重要工具。它们能够轻松捕捉声音,让内容更加生动、真实。然而,市场上的无线麦克风种类繁多,价格各异,如何挑选一款适合自…

5G NR TAE TEST

环境配置: 测试TAE时,需要比对不同的Antenna Port之间的差异来测试 配置DL 2 layer MU的case layer1:通过设置weight,只有一个物理天线上有weight,其他天线上的weight为0,该天线的DMRS DMRS Port设置为1…

最佳 Mac 数据恢复:恢复 Mac 上已删除的文件

尝试过许多 Mac 数据恢复工具,但发现没有一款能达到宣传的效果?我们重点介绍最好的 Mac 数据恢复软件 没有 Mac 用户愿意担心数据丢失,但您永远不知道什么时候会发生这种情况。无论是意外删除 Mac 上的重要文件、不小心弄湿了 Mac、感染病毒…

HTML动态响应2-Servlet+Ajax实现HTTP前后台交互方式

作者:私语茶馆 前言 其他涉及到的参考章节: HTML动态响应1—Ajax动态处理服务端响应-CSDN博客 Web应用JSON解析—FastJson1.2.83/Tomcat/IDEA解析案例-CSDN博客 HTML拆分与共享方式——多HTML组合技术-CSDN博客 1.场景: WEb项目经常需要前后端交互数据,并动态修改HTML页…

定时器与PWM的LED控制

目录 一、基础概念定时器定时器类型定时器特性 PWM定义占空比原理 二、实验1.LED周期性亮灭定时器TIM2配置GPIO引脚设置工程相关参数配置Keil编写程序 2.LED呼吸灯(PWM)呼吸灯原理Keil编写程序Keil虚拟示波器,观察 PWM输出波形设置点击setup,并设置观察引…

统计计算六|自助法及置换检验(Bootstrap and Permutation Test)

系列文章目录 统计计算一|非线性方程的求解 统计计算二|EM算法(Expectation-Maximization Algorithm,期望最大化算法) 统计计算三|Cases for EM 统计计算四|蒙特卡罗方法(Monte Carlo Method) 统计计算五|MCMC&#x…

spring boot 中的异步@Async

spring boot 开启异步调用 1、启动类上添加EnableAsync注解,表示启动异步 2、在具体实现异步的方法上添加Async注解 package com.example.demo;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootAppli…

rtos最小任务切换的实现 keil软件仿真 stm32 PendSV

最小任务切换的实现 本例子实现了一个 rtos 最小的任务切换功能,使用 keil 仿真功能,在模拟的 stm32f103 的器件上实现了使用 PendSV 中断切换线程的效果。 git 源码仓库:https://github.com/yutianos/rtos-little 本文链接:csdn…

时钟、复位与上电初始化

目录 1. 复位2.1. 异步复位 同步释放2.2. Xilinx FPGA复位设计尽量少用复位reg信号初始值基于PLL锁定(locked)复位设计 2. 时钟 1. 复位 FPGA中复位设计总结 深入理解复位—同步复位,异步复位,异步复位同步释放(含多时钟域&#x…

认识Oracle v$mystat视图

v$mystat就是当前用户的各种统计信息, sid就是session的id(也就是当前用户),STATISTIC#就是统计量的编号(用来唯一确定统计量的名称),value是统计量的值; desc命令在Oracle中通常用于查看表结构; v$mystat视图中只会有当前用户…

pdf拆分成有图和无图的pdf(方便打印)

pdf拆分成有图和无图的pdf(方便打印) 原因 打印图片要彩印,每次都要手动弄,打印的时候很麻烦; 随着打印次数的增加,时间就越来越多 为解决此问题,使用python写一个exe解决这个问题 历程 找一个python的GUI界面找到 t…

Python 机器学习 基础 之 算法链与管道 【通用的管道接口/网格搜索预处理步骤与模型参数/网格搜索选择使用哪个模型】的简单说明

Python 机器学习 基础 之 算法链与管道 【通用的管道接口/网格搜索预处理步骤与模型参数/网格搜索选择使用哪个模型】的简单说明 目录 Python 机器学习 基础 之 算法链与管道 【通用的管道接口/网格搜索预处理步骤与模型参数/网格搜索选择使用哪个模型】的简单说明 一、简单介…

Linux前奏-预热版本

一、操作系统概述 1.1 了解操作系统的作用 我们所熟知的计算机,也就是电脑,就是由硬件和软件来组成的 硬件:计算机系统中由电子机械,和各种光电元件等组成的各种物理装置的总称 软件是什么呢? 软件:用…

视频汇聚平台EasyCVR对接GA/T 1400视图库结构化数据:人员/人脸、非/机动车、物品

在信息化浪潮席卷全球的背景下,公安信息化建设日益成为提升社会治理能力和维护社会稳定的关键手段。其中,GA/T 1400标准作为公安视频图像信息应用系统的核心规范,以其结构化数据处理与应用能力,为公安信息化建设注入了强大的动力。…

skywalking介绍及搭建

链路追踪框架比对: skywalking安装部署: 下载地址:Downloads | Apache SkyWalking 配置微服务与skywalking整合: copy agent/optional-plugins/apm-spring-cloud-getway-xx.jar到plugins,然后重启skywalking 监控界面…

基于开源项目ESP32 SVPWM驱动无刷电机开环速度测试

基于开源项目ESP32 SVPWM驱动无刷电机开环速度测试 ✨本篇硬件电路和代码来源于此开源项目:https://github.com/MengYang-x/STM3F401-FOC/tree/main📍硬件电路和项目介绍,立创开源广场:https://oshwhub.com/shadow27/tai-yang-nen…

Web程序设计-实验05 DOM与BOM编程

题目 【实验主题】 影视网站后台影视记录管理页设计 【实验任务】 1、浏览并分析多个网站后台的列表页面、编辑页面(详见参考资源,建议自行搜索更多后台页面)的主要元素构成和版面设计,借鉴并构思预期效果。 2、新建 index.h…

pycharm 上一次编辑位置不见了

目录 pycharm2024版 上一次编辑位置不见了,研究发现移到了左下角了,如下图所示: 上一次编辑位置快捷键: pycharm2024版 上一次编辑位置不见了,研究发现移到了左下角了,如下图所示: 上一次编辑…