前言
随着计算视觉技术的不断发展,其在自动驾驶感知领域获得了广泛应用,诸如交通标识牌检测、车辆检测、行人检测、3D激光点云目标检测、可行驶区域划分、车道线检测,以及多目标跟踪等感知功能都用到了计算机视觉技术。但很多初学者或想要进入自动驾驶感知领域的人很难系统地学习自动驾驶感知技术,而本书恰恰可以满足读者的这一需求。本书作者都是自动驾驶行业的深度开发者,有丰富的业内经验,可以帮助读者进入自动驾驶领域,同时加快自动驾驶的落地与发展。
本书是一本系统讲解自动驾驶感知技术的图书,书中展示了具体的实践案例及自动驾驶感知技术的落地部署方案,从理论到实践层面讲解与自动驾驶感知相关的技术,可让读者全面、深入、透彻地理解所讲解的算法。
第2章:主要讲解2D目标检测算法,开始主要介绍两阶段目标检测算法和单阶段目标检测算法,之后详细讲解YOLOv5、YOLOX、NanoDet和YOLOv5 Lite算法,并分别使用车辆检测、行人检测、交通标识牌检测和交通信号灯检测作为实践项目来对上述算法进行实践;同时对3D激光点云算法PointPillars的原理进行详细讲解,并结合OpenPCDet进行了代码的讲解。此外,本章还加入了对BEVFormer环视3D目标检测算法的介绍。
第1章:主要以介绍神经网络的基础知识作为开始,全面讲解经典卷积神经网络、轻量化卷积神经网络,以及与Vision Transformer相关的Backbone模型,同时用一个交通标识牌识别模型对ResNet和MobileViT模型进行了实践与讲解。
第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)进行沟通交流。
另外,本书附赠配套的源代码可通过封底的“读者服务”提示获取。