在原神里钓鱼,有人竟然用上了深度强化学习,还把它开源了

标签: 钓鱼 深度 强化学习 | 发表时间:2021-09-23 14:26 | 作者:机器之心
出处:https://www.jiqizhixin.com/

还愁在《原神》里钓不到鱼吗?这有一份迟到的提瓦特钓鱼指南。

在游戏圈,你可以没有玩过,但一定听过《原神》。

虽然这是一款口碑两极分化的游戏,但不得不承认《原神》是当前最为火热的游戏之一。

特别是在国外,原神可以说是火的一塌糊涂。

就在今年 9 月,这款从开放公测起便屡次登顶国内外讨论热度和手游吸金榜第一的开放世界冒险游戏更新了版本,添加 / 丰富了地图,并且上线了一款小游戏——钓鱼。游戏中多个水域都有钓鱼点,不同的位置可以钓不同的鱼。

尽管是再普通不过的玩法,还是引得玩家流连。一般来说,钓鱼一共分三个步骤:甩杆→等待鱼儿上钩→提竿。其中所涉及的原理需要一定数字图像处理与机器学习基础。模型分为鱼群定位与识别和拉杆 (和鱼博弈) 两个部分。

很多玩家都在寻找钓鱼攻略,你还在愁在《原神》里钓不到鱼吗?今天我们为你送上这份迟到的提瓦特钓鱼指南。

这份钓鱼指南可以说是完全解放双手,不需要任何操作,只需要启动程序就能完成。上线短短几天,收获 700 + 星。

GitHub 地址:https://github.com/7eu7d7/genshin_auto_fish

感兴趣的小伙伴也可以去 B 站观看视频,上线不到三天,超过 44 万次播放量。这满屏的弹幕,不禁让人直呼离谱。

已经有网友开始上手了,并评论道:已经在部署了,连夜下载了 anaconda。

B 站地址:https://www.bilibili.com/video/BV1964y1b7vV?spm_id_from=333.905.b_7570566964656f.3

项目介绍

原神自动钓鱼 AI 由两部分模型组成:YOLOX、DQN。此外,该项目还用到了迁移学习,半监督学习来进行训练。模型也包含了一些使用 opencv 等传统数字图像处理方法实现的不可学习部分。
  • YOLOX 用于鱼的定位和类型的识别以及鱼竿落点的定位;

  • DQN 用于自适应控制钓鱼过程的点击,让力度落在最佳区域内。


安装

该项目是在 python 运行环境中使用的,需要先安装 python,这里推荐使用 anaconda。

配置环境:打开 anaconda prompt(命令行界面),创建新的 python 环境并激活(推荐 python3.7 或以下版本):

conda create -n ysfish python=3.6conda activate ysfish

下载工程代码:使用 git 下载,或直接在 github 网页端下载后直接解压:

git clone https://github.com/7eu7d7/genshin_auto_fish.git

依赖库安装:切换命令行到本工程所在目录:

cd genshin_auto_fish

执行以下命令安装依赖:

python -m pip install -U pippython requirements.py

如果要使用显卡进行加速需要安装 CUDA 和 cudnn, 安装后无视上面的命令用下面这条安装 gpu 版:

pip install -U pippython requirements.py --cuda [cuda 版本]# 例如安装的 CUDA11.xpython requirements.py --cuda 110

安装 yolox:切换命令行到本工程所在目录,执行以下命令安装 yolox:

python setup.py develop

预训练权重下载:下载预训练权重 (.pth 文件),yolox_tiny.pth 下载后将权重文件放在 工程目录 / weights 下。

YOLOX 训练工作流程:YOLOX 部分用半监督学习打标签。标注少量样本后训练模型生成其余样本伪标签再人工修正,不断迭代以提高精度。样本量较少所以使用迁移学习,在 COCO 预训练的模型上进行 fine-tuning。

将 yolox/exp/yolox_tiny_fish.py 中的 self.data_dir 的值改为解压后 2 个文件夹所在的路径。

训练代码:

python yolox_tools/train.py -f yolox/exp/yolox_tiny_fish.py -d 1 -b 8 --fp16 -o -c weights/yolox

DQN 训练工作流程:控制力度使用强化学习模型 DQN 进行训练。两次进度的差值作为 reward 为模型提供学习方向。模型与环境间交互式学习。

直接在原神内训练耗时较长,首先你需要制作一个仿真环境,大概模拟钓鱼力度控制操作。在仿真环境内预训练一个模型。随后将这一模型迁移至原神内,实现域间迁移。

仿真环境预训练代码:

python train_sim.py

原神游戏内训练:

python train.py

运行

以上准备就绪后,就可以运行钓鱼 AI,注意命令行窗口一定要以管理员权限启动。

显卡加速:

python fishing.py image -f yolox/exp/yolox_tiny_fish.py -c weights/best_tiny3.pth --conf 0.25 --nms 0.45 --tsize 640 --device gpu

cpu 运行:

python fishing.py image -f yolox/exp/yolox_tiny_fish.py -c weights/best_tiny3.pth --conf 0.25 --nms 0.45 --tsize 640 --device cpu

运行后出现 init ok 后按 r 键开始钓鱼,原神需要全屏。出于性能考虑检测框不会实时显示,处理运算后台进行。

更多实现细节,读者可参考原项目。


相关 [钓鱼 深度 强化学习] 推荐:

在原神里钓鱼,有人竟然用上了深度强化学习,还把它开源了

- - 机器之心
在游戏圈,你可以没有玩过,但一定听过《原神》. 虽然这是一款口碑两极分化的游戏,但不得不承认《原神》是当前最为火热的游戏之一. 特别是在国外,原神可以说是火的一塌糊涂. 就在今年 9 月,这款从开放公测起便屡次登顶国内外讨论热度和手游吸金榜第一的开放世界冒险游戏更新了版本,添加 / 丰富了地图,并且上线了一款小游戏——钓鱼.

警惕Gmail 钓鱼邮件

- 独钓寒江雪 - 阿禅日记
思想挣扎了很久,博客还是要更新的,不管是哪一个. 在编辑器里打字总能让烦躁的心情平服下来. 这两天我收到了两封来自 [email protected] 的邮件,标题与内容都不一样,带附带的附件都是一个大小为70KB的.doc 文档. 我在Gmail 里用预览查看.doc 附件,发现里面只有一幅不到100px*100px的黑白正方形线框图,我觉得这样的.doc 文件大小不可能有70KB,于是就怀疑这是钓鱼邮件.

警惕 WebQQ2.0 的 Gmail 钓鱼

- Choope - Gracecode.com
WebQQ 2.0 上线,腾讯又多了款重量级的应用,但是用过程中发现其 Gmail 模块存在钓鱼的嫌疑. 当使用 Chrome 访问其 Gmail 模块时提示为诱骗网站. 展开这个页面的 iframe 地址,发现是在 qq.com 域下. 但页面的形式与 Google 的风格一致,非常能让用户混淆这就是 Google 自家的页面.

教你“钓鱼”出谁在google你

- nings - 中文热文榜|最佳
还有 bourne, dztml, 至尊宝, 推荐,查看全部 26 个推荐. 东西发表于2010-11-18 15:08:56. 事实上,你是不能够合法地查明到底是谁在使用搜索引擎来收集你的信息的. 然而,你可以找到时何时何地有人在搜索你. 要获得这些信息,你必须设置一个“陷阱”. 在这里,我将介绍3个网站,帮助你找出什么时候有人在网上搜索你.

钓鱼钓到了龙王的子孙

- 夜の猫 - 搞笑哦
发表评论 [已经4条评论了] | 搞笑图片尽在搞笑哦~. © 疾风 for 搞笑哦 | 原文链接 | 欢迎投稿 | 淘宝网上卖疯了的东东. 订阅 无聊哦 http://feed.wuliaoo.com. 订阅 搞笑哦 http://feed.gaoxiaoo.com. 欢迎关注我们的 腾讯微博、网易微博、新浪微博.

JavaScript控制href属性进行钓鱼

- - FreebuF.COM

钓鱼WIFI还是UC产品漏洞?

- - 36氪
昨日下午一位名为“woshilaotou2012”网友自称“初级黑客”并天涯论坛发贴称,按照“黑客们”常用的网络抓号教程,轻松盗取在UCWEB手机浏览器中传送的明文帐号和密码. 该网友同时在帖子里公布了整个破解操作过程. 今天上午UC产品总裁 @何小鹏 在得知这一消息后表示“先很惊讶,再觉得搞笑”,认为UC一向重视用户使用手机上网的安全性,并表示UC是“全球第一个推出手机安全浏览器的厂商”.

HTML5全屏API之网络钓鱼

- - ria之家--RIA三部曲:jquery、ext、flex
全屏API(请参考 W3C docs和 MDN docs)允许web开发工程师使浏览器的可视区与用户屏幕区域大小一致. 像youtube上全屏观看视频的效果;或者在facebook上全屏观看图片. 其实现在大多数浏览器都有全屏功能,允许用户来设置或操作. 但HTML5的全屏API与之不同,HTML5的全屏API允许web开发工程师在程序中调用.

谷奥: 钓鱼网站找到了新的温床 ── Google Docs

- 瀚轩 - 谷奥聚合——谷奥主站+谷安 aggregator
有人甚至发现了如下图这个Google Docs表单,其可以帮助你转移Google Voice帐号,它需要你交出自己的Google Voice电话号码、邮件地址和帐户PIN码,看起来非常像是一个钓鱼网站,但奇怪的是居然有人找到有一位Google员工在官方帮助论坛引用了这个地址. 不过经过Twitter上众人的研究,大家还是觉得这个Google Voice表单就是钓鱼用的.

修改密码成钓鱼网站新诈骗方式

- - cnBeta全文版
近日,“密码门”事件爆发后,搅乱了不少网友的平静生活,他们都忙着修改账号密码,也有不少网友是在收到一些网站客服发来的温馨提示建议修改密码防止账号 被盗后,才动手改密码的. 但网络安全专家就提醒,近日有不少钓鱼网站打着密码门的旗号,伪装成正常网站的温馨提示,骗取网友密码. “幸好我多看了一眼发件人啊,今天早上我收到了一封以淘宝支付宝客服的名义发来的通知,让我立即去登录淘宝网修改密码.