自动驾驶:感知原理与实践
  • 推荐0
  • 收藏0
  • 浏览21

自动驾驶:感知原理与实践

龚心满 (作者)  李利健 (责任编辑)

  • 书  号:9787121457388
  • 出版日期:2023-07-01
  • 页  数:
  • 开  本:
  • 出版状态:上市销售
  • 维护人:博文小编
《自动驾驶:感知原理与实践》是一本系统讲解自动驾驶感知技术的图书,同时带有具体的自动驾驶实践案例,以及自动驾驶感知技术的落地部署方案供读者学习。本书主要涉及的内容包括神经网络的基础理论知识、经典卷积神经网络、轻量化卷积神经网络、Vision Transformer、2D 目标检测算法(YOLOv5、YOLOX、YOLOv5 Lite、NanoDet 等算法)、3D 激光点云目标检测算法、BEVFormer 纯视觉的3D目标检测算法、语义分割、车道线检测、ReID 相关技术、多目标跟踪及部署落地的相关技术(如CUDA、OpenCV、NCNN、TensorRT 等)。
为了让读者全面、深入、透彻地理解所讲解的算法,书中还给出了具体的实践案例,并提供了相应的数据集供读者实践,同时通过对代码的讲解使读者获得实战能力。
《自动驾驶:感知原理与实践》适用于具有一定Python 基础的计算机视觉初学者、想从其他视觉开发行业进入自动驾驶行业的开发者,以及想全面、系统地了解自动驾驶感知技术的开发者;也适用于自动驾驶感知技术负责人,以便其更好地把握团队的开发细节。
多位自动驾驶相关领域资深工程师倾力打造;多位自动驾驶相关领域教授、专家联合力荐;从理论分析到落地工程化部署,详细介绍自动驾驶感知领域的核心技术
龚心满,硕士,新能源汽车感知融合资深工程师。毕业于中国计量大学控制理论与控制工程专业。曾就职于华人运通自动驾驶科技有限公司,担任深度学习高级工程师职位,负责ADAS感知项目的研发,现就职于吉咖智能机器人有限公司感知算法中心,负责高阶自动驾驶的落地。同时还参与多本人工智能书籍的撰写,也是多个技术专栏的签约作者。在安防和自动驾驶领域都有丰富的经验。

江涛,北京航空航天大学学士,香港中文大学硕士。先后在明星初创公司、研究院、互联网大厂、实验室任职,专注于深度学习与计算机视觉领域的前沿研究、落地部署、AI产品化,是多个国际知名开源项目的活跃贡献者和维护者,也是多个技术专栏的签约作者。

梁功臣,硕士,新能源汽车软件研发高级工程师。毕业于东北大学控制理论与控制工程专业。曾作为项目核心成员于中国科学院沈阳自动化研究所参与相关国家863项目(仿生医疗假肢)的研发科研工作,现就职于蔚来汽车科技有限公司数字架构定义与集成部门。


胡佳慧,硕士,毕业于中国计量大学控制工程专业。现就职于远景科技集团,负责新能源行业智能化项目的研发,同时也是多个知名开源项目的负责人。在人工智能研发与落地方面有着丰富的经验。
随着计算视觉技术的不断发展,其在自动驾驶感知领域获得了广泛应用,诸如交通标识牌检测、车辆检测、行人检测、3D 激光点云目标检测、可行驶区域划分、车道线检测,以及多目标跟踪等感知功能都用到了计算机视觉技术。但很多初学者或想要进入自动驾驶感知领域的人很难系统地学习自动驾驶感知技术,而本书恰恰可以满足读者的这一需求。本书作者都是自动驾驶行业的深度开发者,有丰富的业内经验,可以帮助读者进入自动驾驶领域,同时加快自动驾驶的落地与发展。
本书是一本系统讲解自动驾驶感知技术的图书,书中展示了具体的实践案例及自动驾驶感知技术的落地部署方案,从理论到实践层面讲解与自动驾驶感知相关的技术,可让读者全面、深入、透彻地理解所讲解的算法。
第1 章:主要以介绍神经网络的基础知识作为开始,全面讲解经典卷积神经网络、轻量化卷积神经网络,以及与Vision Transformer 相关的Backbone 模型,同时用一个交通标识牌识别模型对ResNet 和MobileViT 模型进行了实践与讲解。
第2 章:主要讲解2D 目标检测算法,开始主要介绍两阶段目标检测算法和阶段目标检测算法,之后详细讲解YOLOv5、YOLOX、NanoDet 和YOLOv5 Lite 算
法,并分别使用车辆检测、行人检测、交通标识牌检测和交通信号灯检测作为实践项目来对上述算法进行实践;同时对3D 激光点云算法PointPillars 的原理进行详细讲解,并结合OpenPCDet 进行了代码的讲解。此外,本章还加入了对BEVFormer 环视3D 目标检测算法的介绍。
第3 章:介绍语义分割在自动驾驶中的应用,主要讲解STDC 算法的原理和设计思想,同时介绍基于Vision Transformer 的TopFormer 轻量化语义分割算法,还针对TopFormer 基于Cityscapes 数据集进行了实际的项目实践和讲解。
第4 章:主要介绍自动驾驶中的车道线检测与分割技术,首先介绍UNet 算法的原理;然后介绍基于Line Anchor 的LaneATT 算法;最后对CULane 数据集进行了介绍,并基于LaneATT 算法进行了实践和代码的讲解。
第5 章:介绍多目标跟踪在自动驾驶中的应用,主要讲解SORT 和DeepSORT的原理,以及速度更快的多目标跟踪算法ByteTrack 的原理和基于MOT16 数据集的实践与代码的讲解,同时简单介绍了ReID 的相关知识。
第6 章:主要介绍自动驾驶中的相关算法模型的部署落地技术,首先介绍常见的模型部署框架;接着介绍OpenCV 的相关知识与GPU 编程工具CUDA、模型框架TensorRT,这里详细解读了TensorRT 的相应接口与如何进行量化加速和插件开发,以及如何使用ONNX 进行模型的转换和基于TensorRT 的落地部署;然后介绍如何使用TensorRT 进行YOLOv5 目标检测的部署和加入;最后使用NCNN 进行NanoDet的部署。
本书主要由龚心满编写,参与编写的人员还有江涛、梁功臣和胡佳慧。为了使读者在阅读本书的过程中可以与学术论文或技术文档相对应,书中对很多英文专业名词没有进行翻译,这主要考虑到翻译后不能很好地表达算法本身的意思。读者如果有不习惯或不理解的地方,可以通过邮件(chaucer_g@126.com)进行沟通交流。
另外,本书附赠配套的源代码可通过封底的“读者服务”提示获取。

目录

第1 章 计算机视觉与神经网络 ............................................................................ 1
1.1 人工神经网络 ...................................................................................................... 1
1.1.1 感知机 ..................................................................................................... 2
1.1.2 神经网络 ................................................................................................. 2
1.2 卷积神经网络 ...................................................................................................... 4
1.2.1 卷积 ......................................................................................................... 4
1.2.2 激活函数 ................................................................................................. 5
1.2.3 池化层 ..................................................................................................... 6
1.2.4 全连接层 ................................................................................................. 6
1.3 经典卷积神经网络 .............................................................................................. 7
1.3.1 AlexNet .................................................................................................... 7
1.3.2 VGG ........................................................................................................ 8
1.3.3 GoogLeNet .............................................................................................. 9
1.3.4 ResNet ................................................................................................... 11
1.3.5 DarkNet ................................................................................................. 14
1.3.6 CSPDarkNet .......................................................................................... 16
1.4 轻量化卷积神经网络 ........................................................................................ 18
1.4.1 MobileNet .............................................................................................. 18
1.4.2 ShuffleNet .............................................................................................. 22
1.4.3 GhostNet ................................................................................................ 25
1.5 Vision Transformer 在计算机视觉中的应用 .................................................... 27
1.5.1 ViT ......................................................................................................... 27
1.5.2 Swin Transformer .................................................................................. 30
1.5.3 MobileViT ............................................................................................. 34
1.5.4 TRT-ViT ................................................................................................. 36
1.5.5 基于ResNet/MobileViT 的交通标识牌识别项目实践 ....................... 38
1.6 本章小结 ............................................................................................................ 55
第2 章 目标检测在自动驾驶中的应用 ............................................................... 56
2.1 目标检测简介 .................................................................................................... 56
2.1.1 相关工作简介 ....................................................................................... 56
2.1.2 两阶段目标检测算法简介 ................................................................... 57
2.1.3 单阶段目标检测算法简介 ................................................................... 62
2.2 自动驾驶中的车辆检测 .................................................................................... 66
2.2.1 BDD100K 数据集简介 ......................................................................... 66
2.2.2 YOLOv5 算法的原理 ........................................................................... 67
2.2.3 基于YOLOv5 的车辆检测项目实践 .................................................. 74
2.3 自动驾驶中的行人检测 .................................................................................... 81
2.3.1 YOLOX 算法的原理 ............................................................................ 81
2.3.2 基于YOLOX 的行人检测项目实践 ................................................... 90
2.4 自动驾驶中的交通标识牌检测 ...................................................................... 104
2.4.1 NanoDet 算法的原理 .......................................................................... 104
2.4.2 基于NanoDet 的交通标识牌检测项目实践 ..................................... 110
2.5 自动驾驶中的交通信号灯的检测与识别 ...................................................... 125
2.5.1 YOLOv5-Lite 算法的原理 ................................................................. 125
2.5.2 基于YOLOv5-Lite 的交通信号灯检测项目实践 ............................. 128
2.6 3D 目标检测 .................................................................................................... 131
2.6.1 PointPillars ........................................................................................... 132
2.6.2 BEVFormer ......................................................................................... 136
2.6.3 基于OpenPCDet 的3D 目标检测项目实践 ..................................... 139
2.7 本章小结 .......................................................................................................... 153
第3 章 语义分割在自动驾驶中的应用 ............................................................. 154
3.1 STDC 算法的原理 ........................................................................................... 155
3.1.1 STDC 模块 .......................................................................................... 155
3.1.2 STDC 语义分割网络 .......................................................................... 157
3.2 TopFormer 算法的原理 ................................................................................... 160
3.2.1 Token Pyramid Module ....................................................................... 161
3.2.2 Scale-Aware Semantics Extractor ........................................................ 162
3.2.3 Semantics Injection Module ................................................................ 162
3.2.4 Segmentation Head .............................................................................. 163
3.3 基于TopFormer 的可行驶区域分割项目实践............................................... 163
3.3.1 Cityscapes 数据集简介 ....................................................................... 163
3.3.2 TopFormer 模型实现 .......................................................................... 164
3.4 本章小结 .......................................................................................................... 172
第4 章 车道线检测与分割 ............................................................................... 173
4.1 UNet 算法的原理............................................................................................. 174
4.2 LaneATT 算法的原理 ...................................................................................... 176
4.2.1 Lane 的Anchor 表征 .......................................................................... 177
4.2.2 基于Anchor 的特征图池化 ............................................................... 177
4.2.3 局部注意力机制 ................................................................................. 178
4.2.4 Proposal 预测 ...................................................................................... 179
4.2.5 后处理 ................................................................................................. 179
4.3 基于LaneATT 的车道线检测实践 ................................................................. 180
4.3.1 CULane 数据集介绍 ........................................................................... 180
4.3.2 LaneATT 实践 ..................................................................................... 180
4.4 本章小结 .......................................................................................................... 186
第5 章 多目标跟踪在自动驾驶中的应用 .......................................................... 187
5.1 多目标跟踪算法SORT 的原理 ...................................................................... 187
5.2 多目标跟踪算法DeepSORT 的原理 .............................................................. 192
5.2.1 级联匹配 ............................................................................................. 192
5.2.2 ReID 特征提取 .................................................................................... 193
5.3 多目标跟踪算法ByteTrack 的原理 ................................................................ 194
5.4 基于ByteTrack 的多目标跟踪项目实践 ........................................................ 196
5.4.1 MOT16 数据集 ................................................................................... 196
5.4.2 Byte 匹配 ............................................................................................. 197
5.5 本章小结 .......................................................................................................... 202
第6 章 深度学习模型的落地和部署 ................................................................. 203
6.1 常见模型部署框架介绍 .................................................................................. 203
6.1.1 TensorRT ............................................................................................. 204
6.1.2 NCNN .................................................................................................. 206
6.1.3 ONNX .................................................................................................. 206
6.2 OpenCV 图像处理操作 ................................................................................... 207
6.2.1 OpenCV 基本操作 .............................................................................. 207
6.2.2 使用OpenCV 进行图像预处理 ........................................................ 212
6.3 GPU 编程工具之CUDA ................................................................................. 216
6.3.1 CUDA 编程模型 ................................................................................ 217
6.3.2 CUDA 线程组织 ................................................................................ 223
6.3.3 CUDA 内存组织 ................................................................................ 239
6.3.4 GPU 硬件组织结构 ........................................................................... 242
6.3.5 CUDA 流 ............................................................................................. 245
6.4 模型框架之TensorRT...................................................................................... 249
6.4.1 使用TensorRT API 搭建网络结构 ..................................................... 250
6.4.2 从ONNX 文件中导入网络结构定义 ................................................ 253
6.4.3 TensorRT 推理引擎的序列化与反序列化 ......................................... 254
6.4.4 TensorRT 的推理 ................................................................................. 257
6.4.5 INT8 量化 ............................................................................................ 259
6.4.6 TensorRT 的插件开发 ......................................................................... 261
6.5 TensorRT 模型部署实例 ................................................................................. 263
6.5.1 使用 OpenCV 进行前处理 ............................................................... 264
6.5.2 使用CUDA 加速前处理 .................................................................... 265
6.5.3 使用TensorRT 对YOLOv5 进行推理加速 ....................................... 268
6.5.4 YOLOv5 的CPU 和CUDA 后处理 .................................................. 270
6.6 NCNN 模型部署 .............................................................................................. 273
6.6.1 NCNN 部署流程 ................................................................................. 273
6.6.2 使用NCNN 部署NanoDet ................................................................. 276
6.7 本章小结 .......................................................................................................... 284
参考文献 ............................................................................................................ 285

读者评论