图1: Framework Methodology
- 内容: 解释了实施数据收集、训练和推理的方法。
- 解释: 该图展示了整个研究的流程,包括屏幕录制、收集用户控制数据、模拟人类驾驶行为、更新收集的数据、训练模型以及如何使用收集的数据进行训练,实施转移学习,以及训练直到验证损失稳定。
图2: Data Collection System
- 内容: 展示了数据收集系统。
- 解释: 当用户在玩游戏时,游戏画面和控制值被同时收集。收集的数据包括图像数据和油门与转向值。
图3: Virtual Controller Software
- 内容: 展示了虚拟控制器软件。
- 解释: 用于将神经网络的输出转换为游戏内车辆的控制输入。
图4: Image Cropping
- 内容: 展示了图像裁剪过程。
- 解释: 只选取屏幕截图的特定部分输入到算法中,以避免不必要的数据。
图5: Image Left Right Flipping
- 内容: 展示了图像左右翻转。
- 解释: 通过对图像进行翻转来增强数据,使模型更加泛化。
图6: Inference Architecture
- 内容: 展示了推理架构。
- 解释: 每个图像帧被发送到包含训练架构的Python脚本。训练好的架构通过虚拟控制器输出控制值。
图7: Location on the GTA V Map
- 内容: 展示了GTA V地图上收集高速公路数据的位置。
- 解释: 该位置提供了大约29英里的高速公路伸展,用于数据收集。
图8: Training Performance Comparison
- 内容: 展示了两种模型架构的训练性能比较。
- 解释: VGG-19模型由于预训练的优势,比Nvidia的端到端架构收敛得更快,并且验证损失更低。
图9: Inference Results
- 内容: 展示了模型在游戏内车辆性能的推理结果。
- 解释: 显示了车辆在没有完全偏离车道或与另一车辆相撞的情况下行驶的时间,VGG-19模型的表现始终优于Nvidia的架构。
END-TO-END LEARNING FRAMEWORK
概述
本节介绍了如何利用现有的游戏化解决方案,例如《侠盗猎车手V》(GTA V),在典型的高速公路驾驶地图场景下,通过端到端学习的方法来学习人类驾驶技能。
端到端学习框架的构建
- 目的:建立一个框架,使自动驾驶汽车能够通过观察人类玩家在游戏中的驾驶行为来学习。
- 方法:通过分析游戏屏幕图像来预测车辆的转向和油门值。
数据收集
- 工具:使用“Grabscreen”脚本记录游戏画面,同时使用“Vjoy”软件和“Pygame”脚本收集来自Xbox控制器的控制输入。
- 数据格式:收集的数据以.npy格式存储,包括图像和对应的转向与油门值。
-
数据收集:
- 使用GTA V游戏在窗口模式下运行,使用‘Grabscreen’脚本记录游戏画面并存储图像。
- 使用Xbox控制器连接到‘Vjoy’软件,通过‘Pygame’Python脚本读取控制器命令。
- 同时收集图像和油门数据,存储在.npy格式中,用于训练神经网络。
-
数据收集策略:
- 收集的数据用于训练车辆保持在正确的车道上,并避免与前方的障碍物/车辆相撞。
- 45%的数据通过在车道中心严格驾驶车辆来收集,以教会神经网络在车道中心时转向输入应接近零。
- 20%的数据通过让车辆偏离车道但立即将其转回车道来收集,以教会网络如何将车辆带回车道中心。
- 其余数据用于教会网络在前方有车辆时应用刹车,即改变油门值为负值。
-
数据预处理和增强:
- 对图像进行裁剪,以避免包含不必要的图像部分。
- 随机选择图像进行翻转,以泛化模型并增加收集的数据量。
- 调整图像亮度,以泛化训练以适应暗和亮的环境。
神经网络架构
- Nvidia端到端网络:
- 结构:包含9层,有归一化层、卷积层和全连接层。
- 输入:将图像转换为YUV格式后输入网络。
- 输出:网络的最后一层有两个节点,分别预测转向和油门值。
- VGG-19:
- 结构:包含16层CNN,全部使用3x3的卷积核,最大池化使用2x2窗口。
- 激活函数:整个网络使用ReLU激活函数。
- 输出:最后一层有两个节点,输出油门和转向值。
转移学习的应用
- 预训练模型:使用在ImageNet数据集上预训练的VGG-19模型。
- 训练策略:在训练过程中,卷积层的权重被冻结,只有全连接层的权重被训练,以预测转向和油门值。
训练过程
- 库:使用TensorFlow 2.0库进行模型的导入和训练。
- 优化器:使用Adam优化器,它自动调节每个参数的学习率。
- 损失函数:使用均方误差(MSE)作为损失函数。
实验验证
- 环境:在GTA V的高速公路环境中测试两个训练好的神经网络。
- 结果:提出的解决方案在GTA V游戏中得到了验证,结果表明该端到端学习框架在模拟人类驾驶技能方面是有效的。
主要贡献
- 提出了一个基于游戏的端到端学习和测试框架。
- 通过训练和测试端到端网络模型,验证了框架的有效性。
- 收集了GTA V高速公路驾驶数据集,并与社区共享了数据集和代码。
结论
端到端学习框架能够模拟人类驾驶技能,并在游戏环境中控制车辆。尽管由于硬件限制导致模型推理速度受限,但研究结果仍然令人满意。未来的工作将集中在量化模型性能,并探索不同的用户和场景。