本篇文章我将介绍如何使用TensorFlow目标检测模型来玩经典FPS游戏——“反恐精英”。
使用我的网络摄像机和TensorFlow目标检测模型玩“反恐精英”
方才,我偶然发现了这样一个有趣的项目。文章作者是利用网络摄像头玩经典游戏“格斗之王”。他借助网络摄像头记录的信息、结合CNN和RNN的使用来识别踢打和拳击的动作。之后,他将模型输出的预测值翻译成游戏中用到的准确动作。这确实是一个很棒的玩儿法~
用网络摄像头和深度学习来玩“格斗之王”。原文可以在这里找到。
受这个项目的启发,我于是做了一个类似的控制界面,它可以通过TensorFlow目标检测模型的预测结果玩FPS(第一人称设计游戏)。
这个项目的代码可以在我的GitHub主页上找到,链接如下:
ChintanTrivedi/DeepGamingAI_FPSAn FPS game controller that uses webcam and deep learning to play games - ChintanTrivedi/DeepGamingAI_FPSgithub.com
我设计的这个控制界面可以处理游戏里如下几个动作:
1.瞄枪
首先,为了在游戏里环顾四周,我将一个网球作为我的目标检测模型。基于屏幕里在我手上的这个网球的位置,我们可以设置鼠标的位置,进而控制我们的玩家在游戏里瞄准的位置。
2.移动玩家
紧接着,为了指挥游戏里的玩家前进,我会检测我的食指动作。当食指竖起来时,玩家会前进;而当我放下手指时,会停止玩家的动作。
3.开枪
第三个支持的动作是开枪。因为两只手都用在了瞄枪和前进上,我只能使用张嘴动作来控制开枪了。
目标检测模型
这个用作目标检测的模型叫MobileNet,它结合SSD使图片本土化。我在不同的网球图片、竖起的食指图片和代表张开嘴的牙齿图片上训练该模型。它会在一个合理的速率上跑,这样我就可以通过轻量级的模型实时控制我们的游戏。