使用 Tensorflow 物体检测来玩射击游戏《反恐精英》
本篇文章我将介绍如何使用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使图片本土化。我在不同的网球图片、竖起的食指图片和代表张开嘴的牙齿图片上训练该模型。它会在一个合理的速率上跑,这样我就可以通过轻量级的模型实时控制我们的游戏。
模型性能
就模型的性能而言,游戏中检测手指和牙齿的方法似乎相对可靠些。主要的问题在于能够按照我们想要的位置准确地瞄枪。因为模型是跑在比游戏还低的帧率上的,因此鼠标的移动是跳跃式的、不太流畅。此外,在图片边缘网球的检测效果不好,因此这种方法不太可靠。这个问题可以在离网络摄像头稍远的地方通过微调模型来有效检测目标来解决,这样我们就有足够的空间移动网球,就能够对我们的目标有更好的控制。
这个模型的游戏性能效果可以在我的YouTube上看到。
总结
因为深度学习模型的强化,这个概念已经接近可能。为了替代游戏中更多传统的方式,这种控制机制的实际应用需要变得更完美。我能够预测到这个想法的完美实现将使得FPS的游戏过程变得更有趣。雷锋网
谢谢欣赏。如果你喜欢本篇文章,请在Medium,GitHub平台上关注我,或者订阅我的YouTube专栏。
本文为 AI 研习社编译的技术博客,原标题 :
Using Tensorflow Object Detection to control first-person shooter games
作者 | Chintan Trivedi
翻译 | Yukiqq
校对 | 酱番梨 整理 | 菠萝妹
原文链接:
https://towardsdatascience.com/using-tensorflow-object-detection-to-control-first-person-shooter-games-c2c7f1daf2e9
你也许感兴趣的:
- TensorFlow 难敌 PyTorch,终是败下阵?
- Google 辟谣放弃 TensorFlow,它还活着!
- TensorFlow,危!抛弃者正是谷歌自己
- TensorFlow官方发布剪枝优化工具:参数减少80%,精度几乎不变
- TensorFlow 1.0 已死,TensorFlow 2.0 万岁
- 开源中文书「TensorFlow内核剖析」
- 关于TensorFlow,你应该了解的9件事
- 如何利用TensorFlow.js实现简版的谷歌「猜画小哥」图像识别应用
- 译 | face-api.js:浏览器中基于tensorflow.js的人脸识别的JavaScript API
- 这是我看过解释TensorFlow最透彻的文章!
你对本文的反应是: