在本文中,我将解释如何使用tensorflow的对象检测模型来玩经典的FPS游戏“CS”。

不久前,我遇到了这个非常有趣的项目,文章作者使用网络摄像机播放经典的格斗游戏,真人快打。他利用卷积神经网络和递归神经网络的结合,从他的网络摄像头记录中识别出踢和打的动作。然后,他将模型的预测转化为游戏中要采取的适当行动。这是很酷的游戏方式!

用网络摄像机和深度学习玩真人快打。原始文章可以在这里找到

以此为灵感,我创建了一个类似的控制器接口,可以使用Tensorflow对象检测模型的预测玩第一人称射击游戏。

以下是该项目的代码链接:

ChintanTrivedi/DeepGamingAI_FPS

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

此控制器用于处理游戏中的以下操作:

1. 枪的瞄准

首先,为了在游戏中四处看看,我在网球上使用了目标检测。根据屏幕上检测到的球的位置,我们可以设置鼠标的位置,从而控制玩家在游戏中的视角位置。

2. 玩家的移动

接下来,为了指导玩家在游戏中前进,我使用了食指检测。当手指向上时,玩家向前移动,再次向下放置手指将停止玩家的移动。

3. 开枪

这里支持的第三个行动是开枪。由于两只手都用来瞄准和移动,我用张开嘴的姿势来控制枪的射击。

目标检测模型

本文所采用的目标检测模型是MobileNet结合单点多盒探测器(SSD,Single-Shot Multi-Box Detector)进行图像定位。它被训练成各种各样的网球、手指抬起和牙齿张开的图像。它能够以合理的速度运行,从而能够实时使用轻量级模型来控制我们的游戏。

模型性能

从模型的性能来看,在玩游戏时手指和牙齿的检测似乎相当可靠。主要的问题是把枪对准我们想要的地方,因为模型运行的帧速率比游戏低得多,因此鼠标的移动是跳跃的,不是很平滑。此外,对图像边缘的球的检测也很差,这使得它不可靠。这个问题可以通过调整模型来可靠地检测离摄像头稍远的物体来解决,这样我们就有足够的空间来移动网球,从而更好地控制我们的目标。

结论

我觉得用摄像头控制游戏的总体体验,没有额外的硬件仍然是一个非常诱人的概念。由于深度学习模式的进步,这已经成为非常可能。这种控制机制的实际实施需要完善,以取代更为传统的玩这些游戏的方式。我可以看到这个想法的完美实现是玩FPS游戏的有趣方式

linux游戏object怎么玩,用Object Detection玩第一人称射击游戏相关推荐

  1. Unity3D FPS Game:第一人称射击游戏(三)

    耗时一周制作的第一人称射击游戏,希望能帮助到大家! 由于代码较多,分为三篇展示,感兴趣的朋友们可以点击查看! Unity3D FPS Game:第一人称射击游戏(一) Unity3D FPS Game ...

  2. Unity3D FPS Game:第一人称射击游戏(一)

    耗时一周制作的第一人称射击游戏,希望能帮助到大家! 由于代码较多,分为三篇展示,感兴趣的朋友们可以点击查看! Unity3D FPS Game:第一人称射击游戏(一) Unity3D FPS Game ...

  3. Unity3D FPS Game:第一人称射击游戏(二)

    耗时一周制作的第一人称射击游戏,希望能帮助到大家! 由于代码较多,分为三篇展示,感兴趣的朋友们可以点击查看! Unity3D FPS Game:第一人称射击游戏(一) Unity3D FPS Game ...

  4. linux 射击 游戏,Ubuntu下安装第一人称射击游戏 Nexuiz 2.4.2(图)

    Ubuntu下安装第一人称射击游戏 Nexuiz 2.4.2(图) Nexuiz 是最流行的基于 DarkPlaces 引擎的开源第一人称射击游戏之一.经过漫长的开发旅程,在2008年05月11日,该 ...

  5. u3d5第一人称射击游戏(C#脚本)完整版并在iOS9.3系统上真机运行

    参考资料:<Unity3D\2D手机游戏开发>(第二版) +   百度 涉及U3D的功能有:摄像机控制.物理.动画.智能寻路等. 开发工具:Unity3D5.3.4,VS2015,VMpl ...

  6. unity3D第一人称射击游戏(推荐)

    unity3d第一人称射击游戏(推荐) 第一部分:简介   这个教程中,我们详细了解下如何制作一个简单的第一人称射击游戏(FPS).其中将介绍一些基本的3D游戏编程的概念和一些关于怎样如游戏程序员般思 ...

  7. 项目实训(十一)——FPS游戏(第一人称射击游戏)初步开发

    一.前言 我与另外两个组员合作进行了FPS游戏(第一人称射击游戏)的开发,这个游戏对应于我们在项目开始设想的PVP玩家对战游戏.玩家之间的之间对战会让游戏变得更加紧张刺激,还能够增强玩家之间的感情. ...

  8. 【历史上的今天】12 月 10 日:世界上第一位程序员诞生;Ada 语言发布;第一人称射击游戏的开拓者

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 12 月 10 日,在 120 年前的今天,瑞典国王和挪威诺贝尔基金会首次颁发了诺贝尔奖.根据诺贝尔 ...

  9. fedora上的第一人称射击游戏

    fedora工作之余也可以休息娱乐,第一人称射击游戏CS在Fedora上跑起来不容易,但不要放弃! 1.openarena是雷神之锤的开源版.使用quake引擎.0.8.5版近400M.我的破本本能跑 ...

最新文章

  1. 树莓派配置路由_树莓派安装Ubuntu 20.04 LTS并配置
  2. 安卓学习之--如何关闭所有的activity
  3. Moved to Google Blogger: hongstudios.blogspot.com
  4. 腾讯、百度、小米等7家互联网各大厂的中台建设怎么样了?
  5. WPF Multi-Touch 开发:Windows 7 安装多点触屏模拟器
  6. R语言高级算法之人工神经网络(Artificial Neural Network)
  7. educoder Redis安全与性能
  8. 细胞亚器互作之细胞代谢调节液泡与线粒体的接触位Cellular Metabolism Regulates Contact Sites between Vacuoles and Mitochondria
  9. react-native修改android包名-上传应用市场
  10. 多线程支持断点续传的文件传输--(摘自大富翁)
  11. com.ning.http.client 替换
  12. php twig中文手册,使用技巧 · Twig 中文文档 · 看云
  13. EasyRecovery 15 mac中文免费密钥数据恢复 安装软件的方法教程及版本对比
  14. 车联网的发展现状前景趋势及挑战
  15. Android音频播放模式切换-外放、听筒、耳机
  16. 暑假7月7日到7月17日任务一:电路板识别。
  17. 编译器O2优化下,分块矩阵乘法的TLB分析猜想
  18. openwrt mt7621 build go filebrowser
  19. Java SE基础(十四)常用API
  20. Vue系列之数组更新检测

热门文章

  1. 移动web(看这一篇就够了)
  2. proteus教程——cc4014串行输入
  3. AM335x(TQ335x)学习笔记——Nandamp;amp;网卡驱动移植
  4. 《生命科学50讲》课程笔记1--生命由什么构成
  5. 防止私自接交换机_【s5700交换机】防止用户私设IP
  6. linux下查询主机名和主机ID
  7. Deep Learning-Based Video Coding: A Review and A Case Study
  8. API:BUMO Keypair 指导
  9. 创建Vo和相应的hbm.xml
  10. 冯·诺依曼体系结构是什么