书籍详情

自动驾驶汽车视觉和行为实践:用Python3和OpenCV4探索视觉感知、车道检测和物体分类

自动驾驶汽车视觉和行为实践:用Python3和OpenCV4探索视觉感知、车道检测和物体分类

作者:[美]卢卡·文图瑞 克里斯托弗·柯尔达

出版社:机械工业出版社

出版时间:2023-07-01

ISBN:9787111729365

定价:¥149.00

购买这本书可以去
内容简介
  本书将使用OpenCV完成各种任务,包括行人检测和车道检测。本书将讲述深度学习并介绍如何利用它进行图像分类、对象检测和语义分割,使用它来识别行人、汽车、道路、人行道和交通信号灯,同时帮助读者了解一些有影响力的神经网络算法。本书中还将使用Carla模拟器通过行为克隆和PID控制器来控制汽车;了解网络协议、传感器、摄像头以及使用激光雷达来绘制周围的世界并找到相应位置。本书适合具备任何一种编程语言基础的程序员,以及车辆工程和自动驾驶相关专业的研究生阅读使用。
作者简介
  Luca Venturi曾在shijie级公司(包括法拉利和Opera软件)担任程序员,具有丰富的工作经验。他还曾为一些初创公司工作,包括Activetainment(世界上第一辆智能自行车的制造商)、Futurehome(智能家居解决方案供应商)和CompanyBook(其产品将人工智能应用于销售)。他曾在Tapad(Telenor集团)的数据平台团队工作,使公司其他部门能够访问数以亿计的数据,现在是Piano软件公司分析数据库的首席工程师。Krishtof Korda曾在Lyft公司为5级自动驾驶汽车设计传感器集成。现在,他作为Ouster的应用工程师,在机器人、飞行器、无人机和采矿等领域负责整合激光雷达的工作。此外,他喜欢参加Enduro山地自行车比赛。
目录
前 言
第一部分
OpenCV和传感器及信号
第1 章 OpenCV 基础知识和摄像头标定/ 002
1.1 技术需求/ 003
1.2 OpenCV 和NumPy 简介/ 003
1.2.1 OpenCV 和NumPy / 003
1.2.2 图像大小/ 003
1.2.3 灰度图/ 004
1.2.4 RGB 图/ 005
1.3 处理图像文件/ 006
1.4 处理视频文件/ 007
1.5 图像处理/ 008
1.5.1 图像翻转/ 009
1.5.2 图像模糊化/ 009
1.5.3 改变对比度、亮度和灰度系数/ 011
1.5.4 绘制矩形和文本/ 012
1.6 使用HOG 进行行人检测/ 013
1.6.1 滑动窗口/ 013
1.6.2 使用OpenCV 中的HOG / 013
1.6.3 摄像头简介/ 014
1.6.4 摄像头术语/ 015
1.6.5 摄像头组件/ 019
1.6.6 选择摄像头的注意事项/ 019
1.6.7 摄像头的优点和缺点/ 020
1.7 使用OpenCV 进行摄像头标定/ 021
1.7.1 畸变检测/ 022
1.7.2 校准/ 022
1.8 总结/ 023
1.9 问题/ 024
第2 章 理解和使用信号/ 025
2.1 技术需求/ 026
2.2 理解信号的类型/ 026
2.3 模拟信号与数字信号/ 026
2.4 串行和并行/ 028
2.4.1 通用异步接收和发送(UART) / 029
2.4.2 差分与单端/ 032
2.4.3 I2 C / 034
2.4.4 SPI / 036
2.5 基于帧的串行协议/ 039
2.5.1 理解CAN / 039
2.5.2 以太网和因特网协议/ 042
2.5.3 理解UDP / 044
2.5.4 理解TCP / 045
2.6 总结/ 048
2.7 问题/ 048
2.8 扩展阅读/ 049
第3 章 车道检测/ 050
3.1 技术需求/ 051
3.2 阈值处理/ 051
3.2.1 阈值在不同颜色空间中如何工作/ 051
3.2.2 RGB/BGR / 052
3.2.3 HLS / 053
3.2.4 HSV / 054
3.2.5 LAB / 054
3.2.6 YCbCr / 055
3.2.7 选择通道/ 055
3.3 透视校正/ 055
3.4 边缘检测/ 057
3.4.1 插值阈值/ 059
3.4.2 组合阈值/ 060
3.5 利用直方图确定车道线/ 061
3.6 滑动窗口算法/ 062
3.6.1 初始化/ 063
3.6.2 滑动窗口坐标/ 063
3.6.3 多项式拟合/ 064
3.7 增强视频/ 065
3.8 滚动平均/ 066
3.9 总结/ 066
3.10 问题/ 067
第二部分
利用深度学习和神经网络改进自动
驾驶汽车的工作方式
第4 章 基于神经网络的深度学习/ 070
4.1  技术需求/ 071
4.2 理解机器学习和神经网络/ 071
4.2.1 神经网络/ 072
4.2.2  神经元/ 072
4.2.3 参数/ 074
4.2.4 深度学习的成功/ 074
4.3  了解卷积神经网络/ 075
4.3.1 卷积/ 075
4.3.2  为什么卷积这么棒/ 076
4.4  Keras 和TensorFlow 入门/ 077
4.5  检测MNIST 手写数字/ 078
4.5.1 刚刚加载了什么/ 078
4.5.2  训练样本和标签/ 079
4.5.3 独热编码/ 080
4.5.4 训练数据集和测试数据集/ 081
4.6  确定神经网络模型/ 081
4.6.1 LeNet / 081
4.6.2  代码/ 082
4.6.3 框架/ 083
4.6.4 训练神经网络/ 084
4.6.5 CIFAR?10 数据集/ 087
4.7  总结/ 092
4.8 问题/ 092
4.9  扩展阅读/ 092
第5 章 深度学习工作流/ 093
5.1  技术需求/ 094
5.2 获取数据集/ 094
5.2.1 Keras 模块中的数据集/ 094
5.2.2  现有数据集/ 095
5.2.3 合成数据集/ 096
5.2.4 自定义数据集/ 096
5.3  理解三种数据集/ 096
5.4  理解分类器/ 098
5.4.1 生成真实数据集/ 099
5.4.2  数据增强/ 099
5.5  模型/ 101
5.5.1 调整卷积层/ 102
5.5.2  调整最大池化层/ 105
5.5.3 调整全连接层/ 106
5.5.4 如何训练神经网络/ 107
5.5.5 随机初始化/ 108
5.5.6 过拟合与欠拟合/ 109
5.6  可视化激活/ 110
5.7  推理/ 112
5.8 重训练/ 113
5.9  总结/ 113
5??10  问题/ 114
第6 章 改进神经网络/ 115
6.1  技术需求/ 116
6.2 更大的模型/ 116
6.2.1 出发点/ 116
6.2.2  提高速度/ 117
6.2.3 增加深度/ 119
6.3  更高效的神经网络/ 121
6.4  通过批归一化构建更智能的
神经网络/ 124
6.5  早停法/ 128
6.6  通过数据增强改进数据集/ 128
6.7  使用随机失活提高验证准确率/ 131
6.7.1 将模型应用于MNIST 数据集/ 135
6.7.2  现在轮到你了/ 136
6.8 总结/ 137
6.9  问题/ 137
第7 章 检测行人和交通信号灯/ 138
7.1  技术需求/ 139
7.2 使用SSD 检测行人、车辆和交通信号灯/ 139
7.2.1 使用Carla 模拟器收集图像/ 139
7.2.2  解读SSD / 143
7.2.3 探索TensorFlow 检测模型库/ 143
7.2.4 下载和加载SSD / 145
7.2.5 运行
猜您喜欢

读书导航