PyTorch自动驾驶视觉感知算法实战

PyTorch自动驾驶视觉感知算法实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书对自动驾驶涉及的主要视觉任务进行了深入讲解。

内容简介

本书全面介绍了自动驾驶系统中深度学习视觉感知的相关知识,包括深度神经网络和深度卷积神经网络的基本理论,深入讲解了自动驾驶中常用的目标检测、语义、实例分割和单目深度估计四种视觉感知任务。

本书对自动驾驶工程实践中很重要但经常被忽略的知识进行了全面总结,包括多任务模型的损失平衡、Ubuntu操作系统、Anaconda和Docker等环境配置工具、C++开发环境搭建、神经网络压缩、模型导出和量化、TensorRT推理引擎等和部署相关的技术。

本书各个任务都由PyTorch实现,模型部署的代码则提供C++实现,并附带一个中等规模的自动驾驶数据集用于示例。所有代码都公开在Github公开源码仓库上,很多代码可以直接用于生产环境,且提供了商业友好的代码许可证。

本书适用于具备基本机器学习知识,有志于从事自动驾驶算法工作的学生,也适用于刚迈入职场,面对各种陌生技术无所适从的初级工程师。同时,本书也可供中高级算法工程师作为案头常备书籍,以便查阅。

作者简介

作者刘斯坦,本科毕业于上海交通大学,硕士毕业于德国慕尼黑工业大学。深度学习资深工程师,从事无人驾驶智能感知系统的研发工作。在德国相关领域从业超过十年,负责无人驾驶系统中多个神经网络模型在量产车的落地以及中国地区的本地化。刘斯坦对深度学习的各个领域不但有着全景式的理解,还具备从数学理论到部署产品线的知识纵深。这种即广又深全面覆盖的知识面,相信能为读者带来更开阔的视野。

章节目录

版权信息

内容提要

前言

CHAPTER 1 第1章 卷积神经网络的理论基础

1.1 神经网络回顾

1.1.1 神经网络模型

1.1.2 神经网络的训练——反向传播算法

1.1.3 神经网络的拟合能力和泛化能力

1.2 什么是卷积神经网络

1.2.1 什么是卷积运算

1.2.2 通道(Channel)和三维卷积

1.2.3 为什么需要深度网络

1.2.4 什么是批次(Batch)

1.3 卷积神经网络的组成细节

1.3.1 卷积神经网络的输入层

1.3.2 神经网络的输出层

1.3.3 卷积层和转置卷积层

1.3.4 激活层

1.3.5 归一化层

1.3.6 上采样层和下采样层

1.3.7 池化层

1.3.8 跳跃、空间注意力等特殊的连接方式

1.3.9 构建一个复杂的卷积神经网络

1.4 卷积神经网络的训练

1.4.1 常用损失函数

1.4.2 常用的正则化方法

1.4.3 常用的优化器

1.4.4 常用的训练学习率调整方法

CHAPTER 2 第2章 深度学习开发环境及常用工具库

2.1 硬件和操作系统

2.1.1 显卡

2.1.2 操作系统

2.2 Python开发环境管理

2.2.1 Anaconda虚拟环境的管理

2.2.2 Python的包管理器pip

2.3 常用的Python包

2.3.1 NumPy——Python科学计算库

2.3.2 OpenCV——Python图像处理库

2.4 GPU加速的深度学习和科学计算库PyTorch

2.4.1 GPU加速的科学计算功能

2.4.2 PyTorch的自动求导功能

2.4.3 PyTorch的优化器

2.4.4 PyTorch的数据加载

2.4.5 用PyTorch搭建神经网络

2.4.6 常用的辅助工具

2.4.7 搭建一个神经网络并进行训练

CHAPTER 3 第3章 神经网络的特征编码器

3.1 什么是神经网络的主干网络

3.1.1 神经网络的元结构

3.1.2 神经网络的主干网络及有监督预训练

3.1.3 主干网络的自监督预训练

3.2 流行的主干网络

3.2.1 简单直白的主干网络——类VGG网络

3.2.2 最流行的主干网络——ResNet系列网络

3.2.3 速度更快的轻量级主干网络——MobileNet系列

3.2.4 自由缩放的主干网络——RegNet系列

3.3 使用TorchVision模型库提供的主干网络

3.3.1 构建和加载模型

3.3.2 修改主干网络获取多尺度特征图

3.3.3 不同主干网络和预训练模型的训练对比

CHAPTER 4 第4章 目标检测网络

4.1 目标检测基本概念

4.1.1 Anchor

4.1.2 NMS

4.1.3 目标检测网络的类别

4.2 以Faster RCNN为代表的两阶段检测方法

4.2.1 RPN网络

4.2.2 ROI网络

4.2.3 使用TorchVision模型库中的Faster RCNN

4.3 以Yolo为代表的一阶段检测方法

4.3.1 YoloV3的整体结构

4.3.2 Yolo的训练

4.3.3 类Yolo的一阶段检测网络

4.4 以CenterNet为代表的Anchor-Free方法

4.4.1 CenterNet的整体结构

4.4.2 用高斯模糊和Focal Loss训练CenterNet

4.4.3 YoloX网络

4.5 Yolo的PyTorch实现

4.5.1 样本选择算法的实现

4.5.2 Yolo层的实现

4.5.3 构造损失函数

4.5.4 NMS的实现

CHAPTER 5 第5章 语义分割与实例分割

5.1 语义分割

5.1.1 语义分割的网络构架和损失函数

5.1.2 评价语义分割质量的指标

5.1.3 使用OHEM和类别权重解决样本不均衡问题

5.1.4 语义分割的关键——信息融合

5.2 使用PyTorch训练一个语义分割模型

5.2.1 语义分割的数据加载

5.2.2 加载Lite R-ASPP语义分割模型进行训练

5.2.3 计算混淆矩阵

5.2.4 计算mIoU

5.3 实例分割

5.3.1 以Mask-RCNN为代表的两阶段实例分割方法

5.3.2 以SOLO为代表的单阶段实例分割方法

5.3.3 基于CondInst的半监督实例分割方法BoxInst

5.4 安装及使用OpenMMLab

5.4.1 安装和配置MMDetection

5.4.2 MMDetection介绍

5.4.3 SOLO代码解析

CHAPTER 6 第6章 单目深度估计

6.1 计算机三维视觉基础知识

6.1.1 相机模型

6.1.2 什么是深度图

6.1.3 相机运动模型

6.2 单目深度估计的网络构架

6.2.1 深度图预测网络

6.2.2 基于相对视差的深度图输出编码

6.2.3 基于有序回归的深度图输出编码

6.2.4 相机运动估计网络

6.3 无监督学习的机制

6.3.1 无监督学习系统构架

6.3.2 将深度图反投影为点云的PyTorch实现

6.3.3 从相邻帧采集RGB值并重投影的PyTorch实现

6.3.4 无监督单目深度推断的损失函数

6.4 可能存在的问题及解决方案

6.4.1 用图像梯度图解决边缘模糊问题

6.4.2 用图像一致性掩膜解决移动物体问题

6.4.3 用速度损失解决尺度问题

CHAPTER 7 第7章 通过控制网络结构提高速度和精度

7.1 使用多任务网络构架提高速度和精度

7.1.1 多任务网络的设计

7.1.2 多任务网络的任务平衡问题

7.2 用PyTorch搭建一个语义分割和目标检测双任务网络

7.2.1 多任务数据加载

7.2.2 多任务网络的搭建

7.2.3 多任务损失的平衡

7.3 压缩神经网络提高推理速度

7.3.1 什么是神经网络压缩

7.3.2 几种常见的通道剪枝方法

7.3.3 在训练中使用L1正则化压缩权重

7.3.4 使用可微通道加权进行通道剪枝

7.3.5 网络压缩的流程

7.4 用PyTorch实现可微网络压缩

7.4.1 用PyTorch构造可微通道选择层

7.4.2 利用通道选择层确定压缩方案

7.4.3 对PyTorch模型进行压缩并对比运行速度

CHAPTER 8 第8章 导出和部署神经网络模型

8.1 配置开发环境

8.1.1 Docker的使用

8.1.2 配置C++开发环境

8.2 使用LibTorch部署PyTorch模型

8.2.1 导出TorchScript模型

8.2.2 将LibTorch加入CMake项目

8.2.3 将输入图像转换为Tensor

8.2.4 加载TorchScript模型并进行推理

8.3 用TensorRT部署模型

8.3.1 Nvidia的推理引擎TensorRT

8.3.2 配置TensorRT开发环境

8.3.3 导出TensorRT支持的网络模型

8.3.4 加载TensorRT模型并初始化执行环境

8.3.5 TensorRT模型的输入、输出

8.4 量化神经网络提高推理速度

8.4.1 模型量化中的精度转换

8.4.2 使用低精度数值完成运算

8.4.3 使用随机数据进行量化校准

8.4.4 模型推理时间对比

PyTorch自动驾驶视觉感知算法实战是2024年由机械工业出版社出版,作者刘斯坦。

得书感谢您对《PyTorch自动驾驶视觉感知算法实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
机器学习算法竞赛实战 电子书
本书是算法竞赛领域一本系统介绍竞赛的图书,书中不仅包含竞赛的基本理论知识,还结合多个方向和案例详细阐述了竞赛中的上分思路和技巧。
机器学习算法评估实战 电子书
在机器学习算法的实际应用中,我们不仅要知道算法的原理,也要了解如何评估算法上线服务的可靠性。
递归算法与项目实战 电子书
本书凝聚了作者多年的Python教学经验,内容通俗易懂,旨在剖析递归及其本质。本书不仅结合Python程序和JavaScript程序讲述编程的基础知识,还讲述如何利用递归算法计算阶乘,计算斐波那契数列,遍历树,求解迷宫问题,实现二分搜索,完成快速排序和归并排序,计算大整数乘法,计算排列和组合,解决八皇后问题等。本书不仅适合开发人员阅读,还可供计算机相关专业的师生参考。
深度学习时代的计算机视觉算法 电子书
本书着重阐述了深度学习时代的计算机视觉算法的工作原理,首先对深度学习与计算机视觉基础进行了介绍,之后对卷积神经网络结构的演化过程,以及基于深度学习的目标检测算法、图像分割算法、人体姿态估计算法、行人重识别与目标跟踪算法、人脸识别算法和图像超分辨率重建方法进行了介绍。
机器视觉技术与应用实战 电子书
本书从机器视觉的基本概念到机器视觉算法,从机器视觉核心部件到可配置的纯嵌入式视觉系统,从2D视觉技术到3D视觉技术,从黑白视觉技术到彩色视觉技术,从传统视觉技术到深度学习技术,从视觉系统设计方案到各行业的应用场景,从视觉检测、测量、定位、读码与识别四大需求到实际应用案例都分别进行了详细介绍。