找回密码
 立即注册
搜索
查看: 4716|回复: 27

[其他] 做个基于图像识别和LLM的自动挂机脚本比想象中的简单太多了

[复制链接]
     
发表于 2024-7-29 04:14 | 显示全部楼层 |阅读模式
本帖最后由 泰坦失足 于 2024-7-29 07:14 编辑

试了下,windows下没遇上什么麻烦就能轻松获取屏幕内容和触发鼠标点击事件,相关的文档说手柄输入也能模拟触发。理想的工作流程大概是 获取屏幕内容->OCR识别所有文字内容得到所有能点击带文字按钮位置/或者提前截好相关内容的部分截图用opencv判断当前屏幕上是什么界面有什么可按按钮->提前告诉LLM什么情况下该做什么->LLM返回带动作结果的json->基于返回值模拟鼠标/键盘/手柄事件。现在难点是基于tesseract的OCR性能不行,不过这可以用提前截好所有可能出现的部分使用opencv解决。对于带大逃杀模式的游戏来说,无限单人挂机也就够了,之前用按键宏在COD里挂机单人夺金会出现莫名其妙跳到别的模式的问题,堡垒之夜倒是可以无限按A就不停地下一盘。COD21如果码头还在甚至能用码头原地乱转镜头开枪看看能不能打死倒霉蛋来刷枪(说实话再多折腾个AI瞄准也不是不可以,主机串流PC,再截取PC屏幕内容输出手柄信号控制准心。反正有串流延迟和手柄的精度在那,AI瞄准也不会像本地基于模拟鼠标输入的AI外挂那样铁锁头)
接下来的问题就是什么游戏值得我花时间截图,写脚本,然后花电费运行了。GAAS想把你变成奴隶,那你跑不就行了





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

     
发表于 2024-7-29 07:50 来自手机 | 显示全部楼层
自动瞄头这一套怕是不行,ocr+llm那光是响应时间都好几秒了

不如远离gaas

—— 来自 OPPO PCLM10, Android 12上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
 楼主| 发表于 2024-7-29 08:00 | 显示全部楼层
pf67 发表于 2024-7-29 07:50
自动瞄头这一套怕是不行,ocr+llm那光是响应时间都好几秒了

不如远离gaas

也不需要LLM反馈和ocr。检测到是对局时候,调用另一个函数,类似AI锁头挂那样opencv检测人物和准心的距离再计算手柄要移动的距离就行了。而且核心目标不是锁头,只要挂机时能打中人击杀刷枪和刷配件就行。看着COD20的推荐配枪视频,再看看我的配件,这也没有那也没有。
回复

使用道具 举报

     
发表于 2024-7-29 08:02 | 显示全部楼层
有没有比tesseract性能好的推荐啊?
回复

使用道具 举报

     
发表于 2024-7-29 08:09 | 显示全部楼层
Firvox 发表于 2024-7-29 08:02
有没有比tesseract性能好的推荐啊?

paddleocr,虽然不能说特别准,但是相比没法用的tesseract好114514倍吧
回复

使用道具 举报

     
发表于 2024-7-29 08:16 | 显示全部楼层
响应时间没问题?不会太长?
回复

使用道具 举报

     
发表于 2024-7-29 08:24 来自手机 | 显示全部楼层
是不是有直接识图的llm可以不需要ocr?
回复

使用道具 举报

     
 楼主| 发表于 2024-7-29 08:33 | 显示全部楼层
lvcha3 发表于 2024-7-29 08:24
是不是有直接识图的llm可以不需要ocr?

gpt4o/mini的图片功能一样贵,而且没法获取得知每个按钮的坐标来触发鼠标点击。虽然挂机主机游戏的话可以实现30秒识别一张图来触发不同的手柄按键事件。适合原地AAA不能自动下一盘,需要偶尔点下不同按键的游戏。
回复

使用道具 举报

     
 楼主| 发表于 2024-7-29 08:34 | 显示全部楼层
蓝泽玲 发表于 2024-7-29 08:16
响应时间没问题?不会太长?

tesseract 2秒,我怀疑是纯cpuOCR的,能调用GPU的话会快很多。而且核心思想是自动下一盘挂机赚经验,或者玩手游自动做日常。每天的明日方舟就是点开MAA,等它自动关闭。
回复

使用道具 举报

头像被屏蔽
发表于 2024-7-29 09:04 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2024-7-29 09:11 | 显示全部楼层
这个有没有什么教程可以参考?感觉llama3.1-8b就可以搞定llm部分
回复

使用道具 举报

     
发表于 2024-7-29 09:17 来自手机 | 显示全部楼层
之前玩的手游就有这种类似的脚本,能一键大地图自动农怪做每日任务什么的
回复

使用道具 举报

     
发表于 2024-7-29 09:39 | 显示全部楼层
试试paddlepaddle的ocr,速度很快
回复

使用道具 举报

     
发表于 2024-7-29 09:42 | 显示全部楼层
感觉精度只是为了挂机的话,比起皮筋捆手柄冒的风险有点大...

话说那些真常年运营GAAS仓鼠跑步机是怎么克服仓鼠倦怠的,COD20这仅仅是延续第二年,季票给的各种外观奖励我已经完全无所谓了。打完前35级拿到赛季新武器,然后连季票双倍经验券都想不起来用,之前一年继承了那么多皮肤,对第一人称游戏完全够了。真要有什么很特别的皮肤一般也是直接售卖而不是进季票。感觉除了像早年黑心游戏那样卖实际数值pay2win很难再激发啥
回复

使用道具 举报

头像被屏蔽
     
发表于 2024-7-29 09:44 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2024-7-29 12:12 | 显示全部楼层
联机游戏使用操作系统api实现键鼠输入很容易被反作弊系统识别到

—— 来自 S1Fun
回复

使用道具 举报

     
 楼主| 发表于 2024-7-29 12:30 | 显示全部楼层
无面 发表于 2024-7-29 09:11
这个有没有什么教程可以参考?感觉llama3.1-8b就可以搞定llm部分

问GPT开始上手吧,我也是问了后才发现Windows下捕获全屏画面这么简单。Opencv在没gpt时候自己试着用过,现在有gpt帮忙写代码,也就半小时的事
回复

使用道具 举报

     
发表于 2024-7-29 23:20 | 显示全部楼层
虽然直接不碰gaas可能是最佳答案

这个方法真不错,可行性也可以
回复

使用道具 举报

发表于 2024-7-30 08:30 | 显示全部楼层
无法理解目的。都想到opencv 预截屏处理了,还不干脆脚本化?消耗算力给llm 只为体现你有平台能跑这种流程吗?岁数大了也不懂挂这种机有什么意思。为了折腾的乐趣?

论坛助手,iPhone
回复

使用道具 举报

     
 楼主| 发表于 2024-7-30 08:45 | 显示全部楼层
原来如此 发表于 2024-7-30 08:30
无法理解目的。都想到opencv 预截屏处理了,还不干脆脚本化?消耗算力给llm 只为体现你有平台能跑这种流程 ...

因为指不定哪天会冒出来一个从来没见过的窗口,写着按X退出。这时候就能OCR读取后,LLM零样本自己悟出按X离开。
回复

使用道具 举报

     
发表于 2024-7-30 09:21 | 显示全部楼层
泰坦失足 发表于 2024-7-29 12:30
问GPT开始上手吧,我也是问了后才发现Windows下捕获全屏画面这么简单。Opencv在没gpt时候自己试着用过, ...

opencv确实好用,不过对于爱用大量图标的ui感觉没啥用。至于llm,llama3.1-8b也很难识别到按x退出吧。要把它转换成json格式,但是json格式又不好处理按钮层级。
回复

使用道具 举报

     
发表于 2024-7-30 10:51 来自手机 | 显示全部楼层
比较火的手游,一般开服几天github上就有工程了,框架都是ocr加opencv。pc这边还好,gaas不是主流
回复

使用道具 举报

     
发表于 2024-7-30 11:19 | 显示全部楼层
录像提取关键字和特征现在最好用的还是opencv嘛?
想做个录像识别自动打标记, 导出一些文本和指定对象出现的时间段
回复

使用道具 举报

     
 楼主| 发表于 2024-9-5 14:29 | 显示全部楼层
晨曦之下 发表于 2024-7-30 11:19
录像提取关键字和特征现在最好用的还是opencv嘛?
想做个录像识别自动打标记, 导出一些文本和指定对象出现的 ...

最容易先搭起来的还是opencv 和yolo吧,我不做图像方向一直搞不太明白。你不想标记数据可以看看刚出的 https://huggingface.co/Qwen/Qwen2-VL-7B-Instruct 来做零样本学习。

评分

参与人数 1战斗力 +1 收起 理由
晨曦之下 + 1

查看全部评分

回复

使用道具 举报

     
 楼主| 发表于 2024-9-5 14:31 | 显示全部楼层
本帖最后由 泰坦失足 于 2024-9-5 14:46 编辑

更新:通义千问出了个Qwen2 VL。本来想看看无样本学习拿来解析游戏画面中要素效果如何。然后官方github账号被删了,幽默。甚至看不到官方博客怎么和同行比较 https://qwenlm.github.io/blog/qwen2-vl/


阿里不开源的72b的效果. 也许可以试试每分钟用API调用一次实现自动在大逃杀游戏里挂机升级的需求。 https://discuss.huggingface.co/t ... inference-api/84571

感兴趣的可以试试开源的7b自己零样本数据手搓机器人。

【超越GPT-4o视觉能力?本地部署Qwen2-VL多模态视觉大模型!超越人类的视觉理解能力,精准识别X光片判断骨折、CT扫描检测癌症,还能识别手写体汉字与英文!】 https://www.bilibili.com/video/BV1FinoeMEpS


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

     
发表于 2024-9-5 16:25 | 显示全部楼层
比较关心键鼠是怎么模拟的,是自己在驱动层写还是用开源的库
回复

使用道具 举报

     
 楼主| 发表于 2024-9-5 16:26 | 显示全部楼层
shangfire 发表于 2024-9-5 16:25
比较关心键鼠是怎么模拟的,是自己在驱动层写还是用开源的库

pyautogui就行了
回复

使用道具 举报

     
发表于 2024-9-5 16:52 | 显示全部楼层

看了一下,pyautogui库键鼠用的是xlib库,xlib库又需要xserver,再加上我记得ocr库也不小,opencv的库也不小,这一整套下来怕是release包要上g啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-9-21 11:24 , Processed in 0.124105 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表