前 言
目标检测是计算机视觉领域的核心任务,旨在从图像或视频中定位并识别出特定目标。它不仅需要确定目标的种类(分类任务),还需要给出目标在图像中的具体位置(通常以边界框的形式表示)。目标检测广泛应用于自动驾驶、安防监控、人脸识别、智慧交通、工业检测等领域,是人工智能技术在实际场景中的重要应用之一。
目标检测方法经历了从传统计算机视觉技术到深度学习驱动的演变。传统方法依赖人工设计的特征提取与分类模型,性能受限于特征表达能力;而现代目标检测算法(如YOLO(You Only Look Once)、Faster RCNN、RetinaNet等)基于深度学习技术,通过卷积神经网络(CNN)等强大的特征提取能力,显著提升了检测精度和速度。特别是,YOLO系列算法以其实时性和高效性成为目标检测领域的代表性技术,广泛应用于工业生产和科研实践。
本书以YOLO目标检测框架为核心,全面解析目标检测的基础理论、技术演进与应用实践,旨在帮助读者深入理解目标检测的核心技术,并掌握YOLO框架的开发与实现方法。本书分为基础理论、技术实现及实战应用3个部分,内容循序渐进,既包含目标检测的基本原理,又覆盖领域前沿的创新技术。
第1部分 基础理论(第1~3章):介绍了目标检测的基本概念与理论框架。第1章从目标检测任务的定义与分类出发,详细介绍了常用的评估指标、目标检测方法的演进、目标检测的实际应用与公开的数据集;第2章介绍了目标检测所依赖的深度学习技术框架(如TensorFlow、PyTorch、MXNet与Keras),以及目标检测开发环境的搭建与使用等;第3章介绍了卷积神经网络(CNN)的核心原理与技术,通过具体示例演示CNN在目标检测任务中的作用与实现。
第2部分 技术实现(第4~8章):详细介绍了YOLO目标检测框架的技术细节与实现方法,包括数据增强与数据处理方法(第4章),YOLOv1至YOLOv11框架的技术演进(第5、6章),以及RetinaNet的基本原理与网络架构,焦点损失函数(Focal Loss)的实现,多维度注意力机制、弱化非极大值抑制算法与自适应学习率策略等新技术(第7章),涵盖YOLO目标检测技术的各个方面。第8章从训练流程到模型调优,通过实际案例讲解了YOLOv11的小目标检测实现过程。
第3部分 实战应用(第9、10章):第9章以交通场景中的小目标检测为例,讲解YOLOv11在实际项目中的应用流程,包括数据预处理、模型训练与优化以及小目标检测的性能提升策略;第10章则迈向开放世界目标检测技术,详细介绍YOLO-UniOW框架及其在动态开放环境下的表现。
在本书的撰写过程中,得到了许多同行、专家与朋友的支持和帮助。在此,衷心感谢为本书提出宝贵意见的研究者、审稿人,以及参与内容校对的团队成员。他们的专业知识与建议使本书更加完善。
希望本书能为你的学习与研究提供启发与帮助。
本书源码下载
本书提供配套源码彩图,源码可通过微信扫描下面的二维码获取,彩图直接扫描图书中对应图例所付二维码即可查看:
如果读者在学习本书的过程中遇到问题,可以发送电子邮件至booksaga@126.com,邮件主题为“计算机视觉:YOLO目标检测原理与实践”。
著 者
2026年1月
目 录
第 1 部分 基础理论
第 1 章 目标检测概述2
1.1 目标检测的基础概念2
1.1.1 目标检测的定义与任务2
1.1.2 目标检测的评估指标4
1.1.3 目标检测方法的分类7
1.1.4 目标检测方法的发展历程11
1.2 目标检测的实际应用15
1.2.1 人脸识别的进展与挑战16
1.2.2 智慧交通中的目标检测应用19
1.2.3 工业自动化检测的趋势22
1.3 公开数据集与标准评测23
1.3.1 PASCAL VOC数据集24
1.3.2 MS COCO数据集25
1.3.3 Visdrone数据集26
1.4 本章小结28
1.5 思考题28
第 2 章 常用的深度学习框架30
2.1 深度学习框架概述30
2.1.1 Theano与TensorFlow30
2.1.2 PyTorch31
2.1.3 MXNet与Keras33
2.2 搭建目标检测开发环境35
2.2.1 使用Anaconda与Conda管理环境35
2.2.2 配置PyTorch与TensorFlow38
2.2.3 处理GPU与多GPU训练环境40
2.3 数据处理与NumPy42
2.3.1 创建与操作数组42
2.3.2 矩阵运算与广播44
2.3.3 数据增强与转换46
2.4 本章小结49
2.5 思考题49
第 3 章 卷积神经网络51
3.1 CNN的基础结构与原理51
3.1.1 卷积层与池化层52
3.1.2 激活函数与批量归一化55
3.1.3 Dropout与正则化58
3.2 经典卷积神经网络架构61
3.2.1 LeNet与AlexNet61
3.2.2 VGGNet与GoogLeNet68
3.2.3 ResNet与DenseNet72
3.3 高效卷积网络与自适应特征融合76
3.3.1 Depthwise卷积与轻量化设计76
3.3.2 特征金字塔网络80
3.3.3 高效卷积网络的实践应用87
3.4 本章小结90
3.5 思考题90
第 2 部分 技术实现
第 4 章 目标检测的前处理与数据增强94
4.1 数据增强技术概述94
4.1.1 图像裁剪与缩放94
4.1.2 随机翻转与旋转97
4.1.3 亮度与对比度的随机变化100
4.2 数据的标准化与格式化103
4.2.1 数据集的创建与预处理103
4.2.2 VOC与COCO格式的转换107
4.3 数据增强的新技术110
4.3.1 图像混合技术:CutMix与MixUp110
4.3.2 GAN生成的图像增强113
4.3.3 自监督学习在数据增强中的应用116
4.4 本章小结120
4.5 思考题120
第 5 章 YOLO架构初步演化与具体实现121
5.1 YOLOv1的基本结构与工作原理121
5.1.1 目标检测的回归问题121
5.1.2 YOLOv1的优势与局限126
5.2 YOLOv2与新技术的加入127
5.2.1 批归一化与高分辨率特征图127
5.2.2 先验框与多尺度训练131
5.3 YOLOv3与性能优化135
5.3.1 特征融合与多尺度检测135
5.3.2 改进的损失函数140
5.4 YOLOv4的创新与应用144
5.4.1 结合CSPNet与PANet145
5.4.2 高效训练策略152
5.5 YOLOv5与YOLOv6的现代化设计156
5.5.1 模块化设计与性能优化156
5.5.2 YOLOv5在移动端的应用157
5.6 初步实战:基于YOLOv5的目标检测框架实现160
5.6.1 环境配置与框架搭建160
5.6.2 模型训练结果分析及评价指标解析163
5.6.3 加入CBAM模块的目标检测改进169
5.6.4 基于Transformer的多头注意力机制改进174
5.7 本章小结178
5.8 思考题179
第 6 章 YOLOv7至YOLOv11的一些改进180
6.1 YOLOv7的特性与技术创新详解180
6.1.1 新的主干网络与特征提取模块181
6.1.2 对抗性训练与自监督学习188
6.2 YOLOv8与YOLOv10创新技术点详解193
6.2.1 多尺度特征融合与自适应池化194
6.2.2 YOLOv8的轻量化与实时检测203
6.3 YOLOv11:高效目标检测208
6.3.1 YOLOv11的全新架构与自适应模块209
6.3.2 在大规模数据集上的表现216
6.3.3 YOLOv11的移动端推理优化220
6.4 本章小结225
6.5 思考题225
第 7 章 目标检测改进方法与最新技术227
7.1 RetinaNet简介227
7.1.1 RetinaNet的网络架构227
7.1.2 如何解决类别不平衡问题234
7.2 改进的多维度注意力机制239
7.2.1 多维度注意力机制的基本概念239
7.2.2 多维注意力模块的实现240
7.3 弱化的非极大值抑制算法242
7.3.1 NMS的改进方法243
7.3.2 弱化NMS的优势245
7.4 RetinaNet的损失函数与训练策略248
7.4.1 Focal Loss的原理与实现248
7.4.2 焦点损失在密集目标检测中的应用252
7.4.3 自适应学习率策略255
7.5 基于LSTM的视频目标检测257
7.5.1 LSTM的基本概念257
7.5.2 LSTM网络与视频目标检测258
7.5.3 记忆引导网络261
7.5.4 交叉检测原理263
7.5.5 交叉检测框架的应用263
7.5.6 LSTM网络的训练与优化267
7.6 对抗样本与模型健壮性269
7.6.1 对抗样本的生成与防御269
7.6.2 模型健壮性的提升方法270
7.7 本章小结273
7.8 思考题273
第 8 章 DETR:Transformer在目标检测中的应用275
8.1 DETR架构与Transformer的结合275
8.1.1 DETR的主干网络275
8.1.2 基于Transformer的YOLO框架改进277
8.2 DETR的实现与训练280
8.2.1 数据预处理与样本匹配280
8.2.2 以YOLOv11为例:损失函数与优化282
8.3 本章小结285
8.4 思考题286
第 3 部分 实战应用
第 9 章 基于YOLOv11架构的密集小目标检测实战288
9.1 小目标检测的挑战与YOLOv11的优化策略288
9.1.1 小目标检测的技术难点288
9.1.2 YOLOv11的Anchor机制与特征融合289
9.1.3 自适应损失函数与小目标优化292
9.2 YOLOv11的训练流程与技术实现295
9.2.1 数据预处理与小目标数据集构建295
9.2.2 YOLOv11的训练流程与超参数调优296
9.2.3 使用PyTorch训练YOLOv11模型299
9.2.4 YOLOv11源码文件结构及各文件的作用301
9.3 后处理与优化:精确检测小目标304
9.3.1 YOLOv11的后处理流程304
9.3.2 自定义NMS算法与小目标优化305
9.4 YOLOv11在小目标检测中的实战案例308
9.4.1 基于YOLOv11的交通目标与行人检测308
9.4.2 模型评估与性能优化309
9.4.3 实战项目中的调优与结果分析312
9.5 本章小结315
9.6 思考题315
第 10 章 领域前沿:开放世界目标检测技术316
10.1 开放世界目标检测OWOD的核心问题316
10.1.1 闭集目标检测的局限性317
10.1.2 OWOD的核心问题317
10.2 YOLO-UniOW开放世界框架319
10.2.1 YOLO-UniOW开放世界框架简介319
10.2.2 自适应决策学习321
10.2.3 通配符学习的原理323
10.2.4 无须增量学习的动态适配机制326
10.3 YOLO-UniOW的性能评估与应用实践329
10.3.1 多数据集实验分析329
10.3.2 实际应用场景中的表现330
10.3.3 与现有框架的对比与未来发展331
10.4 本章小结333
10.5 思考题333