使用 Tensorflow 物体检测来玩射击游戏《反恐精英》

栏目: 数据库 · 发布时间: 5年前

内容简介:本文为 AI 研习社编译的技术博客,原标题 :Using Tensorflow Object Detection to control first-person shooter games

使用 Tensorflow 物体检测来玩射击游戏《反恐精英》

本文为 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目标检测模型来玩经典FPS游戏——“反恐精英”。

使用 Tensorflow 物体检测来玩射击游戏《反恐精英》

使用我的网络摄像机和TensorFlow目标检测模型玩“反恐精英”

方才,我偶然发现了这样一个有趣的项目。文章作者是利用网络摄像头玩经典游戏“格斗之王”。他借助网络摄像头记录的信息、结合CNN和RNN的使用来识别踢打和拳击的动作。之后,他将模型输出的预测值翻译成游戏中用到的准确动作。这确实是一个很棒的玩儿法~

使用 Tensorflow 物体检测来玩射击游戏《反恐精英》

用网络摄像头和深度学习来玩“格斗之王”。原文可以在这里找到。

受这个项目的启发,我于是做了一个类似的控制界面,它可以通过TensorFlow目标检测模型的预测结果玩FPS(第一人称设计游戏)。

这个项目的代码可以在我的GitHub主页上找到,链接如下:

ChintanTrivedi/DeepGamingAI_FPSAn FPS game controller that uses webcam and deep learning to play games - ChintanTrivedi/DeepGamingAI_FPSgithub.com

我设计的这个控制界面可以处理游戏里如下几个动作:

1.瞄枪

首先,为了在游戏里环顾四周,我将一个网球作为我的目标检测模型。基于屏幕里在我手上的这个网球的位置,我们可以设置鼠标的位置,进而控制我们的玩家在游戏里瞄准的位置。

使用 Tensorflow 物体检测来玩射击游戏《反恐精英》

2.移动玩家

紧接着,为了指挥游戏里的玩家前进,我会检测我的食指动作。当食指竖起来时,玩家会前进;而当我放下手指时,会停止玩家的动作。

使用 Tensorflow 物体检测来玩射击游戏《反恐精英》

3.开枪

第三个支持的动作是开枪。因为两只手都用在了瞄枪和前进上,我只能使用张嘴动作来控制开枪了。

使用 Tensorflow 物体检测来玩射击游戏《反恐精英》

  目标检测模型

这个用作目标检测的模型叫MobileNet,它结合SSD使图片本土化。我在不同的网球图片、竖起的食指图片和代表张开嘴的牙齿图片上训练该模型。它会在一个合理的速率上跑,这样我就可以通过轻量级的模型实时控制我们的游戏。

使用 Tensorflow 物体检测来玩射击游戏《反恐精英》

    模型性能

就模型的性能而言,游戏中检测手指和牙齿的方法似乎相对可靠些。主要的问题在于能够按照我们想要的位置准确地瞄枪。因为模型是跑在比游戏还低的帧率上的,因此鼠标的移动是跳跃式的、不太流畅。此外,在图片边缘网球的检测效果不好,因此这种方法不太可靠。这个问题可以在离网络摄像头稍远的地方通过微调模型来有效检测目标来解决,这样我们就有足够的空间移动网球,就能够对我们的目标有更好的控制。

这个模型的游戏性能效果可以在我的YouTube上看到。

    总结

因为深度学习模型的强化,这个概念已经接近可能。为了替代游戏中更多传统的方式,这种控制机制的实际应用需要变得更完美。我能够预测到这个想法的完美实现将使得FPS的游戏过程变得更有趣。 雷锋网

谢谢欣赏。如果你喜欢本篇文章,请在 Medium , GitHub 平台上关注我,或者订阅我的 YouTube专栏

想要继续查看该篇文章相关链接和参考文献?

长按链接点击打开或点击【 使用Tensorflow 物体检测来玩射击游戏《反恐精英》 】:

https://ai.yanxishe.com/page/TextTranslation/1287

AI研习社每日更新精彩内容,观看更多精彩内容: 雷锋网

Python 实现遗传算法

如何将深度学习应用于无人机图像的目标检测

机器学习和深度学习大PK!昆虫分类谁更强?

Python高级技巧:用一行代码减少一半内存占用

等你来译: 雷锋网 (公众号:雷锋网)

五个很厉害的 CNN 架构 

如何在神经NLP处理中引用语义结构 

特朗普都被玩坏了,用一张照片就能做出惟妙惟肖的 Memoji

让神经网络说“我不知道”——用Pyro/PyTorch实现贝叶斯神经网络


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python神经网络编程

Python神经网络编程

[英]塔里克·拉希德(Tariq Rashid) / 林赐 / 人民邮电出版社 / 2018-4 / 69.00元

神经网络是一种模拟人脑的神经网络,以期能够实现类人工智能的机器学习 技术。 本书揭示神经网络背后的概念,并介绍如何通过Python实现神经网络。全书 分为3章和两个附录。第1章介绍了神经网络中所用到的数学思想。第2章介绍使 用Python实现神经网络,识别手写数字,并测试神经网络的性能。第3章带领读 者进一步了解简单的神经网络,观察已受训练的神经网络内部,尝试进一步改......一起来看看 《Python神经网络编程》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具