当前位置: 首页 > 科技观察

这只鼠标学会了自己玩FPS游戏,在训练场中准度不输职业选手

时间:2023-03-21 11:34:57 科技观察

这只老鼠已经学会了自己玩FPS游戏,准确度不输训练场的职业玩家。你见过可以自动瞄准并“准确命中”而不被封禁的FPS秘籍吗?现在,真的有一位年轻的CMU研究生在FPS游戏中将鼠标变身为“狙击手”!在其上安装四个轮子后,鼠标可以根据CV算法的反馈自动瞄准,实现一发狙击。在此之前,虽然有一些实体插件,但自动化程度不够高,无法让鼠标自己移动和射击。如果选择第三方软件修改等插件,很容易被直接封禁。思前想后,这位小哥开发了一款可以自己瞄准目标的FPS物理插件。目前,训练场AimLab的成绩已经超越了部分FPS职业选手——人类FPS高手平均在8万~9万分左右??。并且得到了110000+的积分。有网友看完后表示“不简单”:对于写过代码的人来说,这并不像听起来那么容易。那么他具体是怎么做到的呢?鼠标变身“狙击手”为了让鼠标“学会”瞄准,小哥首先为鼠标设计了一个底盘。在他的设想中,底盘应该可以随鼠标灵活移动。原理大致是这样的:经过思路的展开,底盘最终采用了四个全向轮和相应的控制电机。简单来说,全方位全向轮可以让机器人在任何方向灵活移动,包括直接直线行走等,而这些轮子是由不同的电机控制的。实现了基本的移动操作后,通过计算机视觉算法让它学会“自己寻找猎物”。我写了一个基于OpenCV的Python目标检测算法,训练它根据目标的位置快速瞄准对应的目标:从视觉数据反馈到运行,我用了一个PID控制算法让机器人学会寻找目标最近距离本身。“射击点”在指定时间内瞄准更多物体:当瞄准物体时,机器人会自动触发鼠标的“点击”动作,完成自动射击。在测试中,不止一些职业选手,为了加强这个机器人的能力,我在一个叫做AimLab的第一人称射击游戏模拟器中训练它。目前很多专业的FPS玩家都会在AimLab进行训练,其中还包括各种类型的射击任务,比如人形移动靶子、飞行靶子等。我哥训练的“鼠标机器人”主要针对的是射击彩球,其中视觉算法自动找到彩球,然后机器人跟进瞄准射击。经过两个月的算法调试,终于训练出了满意的机器人。目前我在AimLab中拿到了118494的最高分,超越了很多专业FPS玩家。△职业选手发布了自己的分数,但还没有打破AimLab的最高记录(146902分)。还有一个原因就是在挑战最高分的过程中,它的底盘因为速度过快烧毁了一个电机,无法再次挑战最高分(手动狗头)。开发这个物理插件的小哥叫KamalCarter。他毕业于CMU,获得学士学位。他目前正在CMU攻读硕士学位。他还在HEBIRobotics工作,这是一家由HowieChoset教授创立的公司。据我哥说,他高中时就开始玩机器人,目前的研究兴趣是机械设计和CAD。有网友对此进行调侃,称这机器人配更好的鼠标;不过也有网友认为,小哥有这样的能力,应该做点有用的事情,而不是去搞这些体力外挂。所以你怎么看?OpenCV视觉算法教程:https://docs.opencv.org/4.x/df/d9d/tutorial_py_colorspaces.html