python drive.py
打开远程遥控器,控制开始或结束
#### 总架构KNN
,K-近邻算法
控制GTA5中的汽车运行:使用Xbox插件控制车辆速度,以及转弯角度。
绘制卷积神经网络图像:draw_convnet,keras的plot_model函数
1.在deepgta5/collect_data/getkeys/screen.py中,采集屏幕时之所以不使用python自带的pillow库(PIL),是因为用pillow采集速度很慢,如果希望每1s采集一个较大的区域,采集下来的图片会有大量没有采集到的地方,也就形成的大块的黑色区域。使用win32API速度会快很多,足以1s采较大的图像,所以选择了使用win32API。
2.参考了NVIDIA论文的End to End Learning for Self-Driving Cars,以及论文Driving in the Matrix: Can Virtual Worlds Replace Human-Generated Annotations for Real World Tasks?。前者提供了一个可行的卷积神经网络架构,后者说明了在GTA5中训练的self-drving model可以迁移到现实世界中。
3.最初使用Inception V4,在Tesla K80 GPU训练了5天,然而loss并没有明显下降,故更换到目前的模型。目前使用的模型比Inception浅得多,训练和运行速度也大大提升。
4.速度识别使用K-近邻算法,先使用openCV的findContours方法,将数字切割,然后将数字从右向左排序,传入KNN模型,进行单数字识别,然后再加和在一起。