Udacity利用深度学习玩赛车小游戏

该博客介绍了如何使用深度学习在Udacity的赛车游戏中实现自动驾驶。玩家先手动驾驶收集数据,然后利用这些数据训练神经网络。训练过程中包括数据预处理、图像增强和模型构建。最终,通过运行脚本可以使赛车自主在赛道上行驶。
摘要由CSDN通过智能技术生成

Udacity利用深度学习玩赛车小游戏

简单介绍

这是Udacity无人驾驶课程里一个利用深度学习实现的玩赛车小游戏,
附上链接:github项目
原理就是玩家手动让赛车在赛道上跑几圈,赛车上的三个摄像头捕捉到照片,并记录下照片对应的转角、速度信息。训练好后,玩家可以通过drive.py运行脚本实现赛车自己在赛道上跑。
当然,这只是游戏中能这样做,现实情况复杂太多,不可能用这种方式实现”无人驾驶“。但我觉得这依然是一个很有趣的深度学习小项目。可以帮助初学者很好地理解深度学习训练中的步骤,以及各种基本调优手段。

准备工作

下图就是游戏的启动界面,选择training model即可开始训练,快捷键”R“可以帮助纪录保存下训练集(赛车上的三个摄像头捕捉的图像和对应的速度转角信息)。
在这里插入图片描述

训练网络

首先是读取数据,并将数据转化为keras需要的numpy的array形式。其中要注意的是,左右两边的摄像头对应的转角应该会存在一些偏差。这里做一些简单的加减处理即可。

lines = []
images = []
measurements = []
with open('../../data_game/driving_log.csv') as csvfile:
    reader = csv.reader(csvfile)
    for line in reader:
        lines.append(line)
for line in lines:
    current_centre_path = line[0]
    current_left_path = line[1]
    current_right_path = line[2]
    image_centre = cv2.imread(current_centre_path)
    image_left = cv2.imread(current_left_path)
    image_right = cv2.imread(current_right_path)
    images.append(image_centre)
    images.append(image_left)
    images.append(image_right)
    measurement_centre = float(line[3])
    measurement_left = measurement_centre + 0.2
    measurement_right = measurement_centre - 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值