• Stars
    star
    4,762
  • Rank 8,771 (Top 0.2 %)
  • Language
    Python
  • Created about 3 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

基于深度强化学习的原神自动钓鱼AI

Introduction

现已支持不同分辨率屏幕

原神自动钓鱼AI由YOLOX, DQN两部分模型组成。使用迁移学习,半监督学习进行训练。 模型也包含一些使用opencv等传统数字图像处理方法实现的不可学习部分。

其中YOLOX用于鱼的定位和类型的识别以及鱼竿落点的定位。DQN用于自适应控制钓鱼过程的点击,让力度落在最佳区域内。

安装使用流程

安装python运行环境(解释器),推荐使用 anaconda.

python环境配置

打开anaconda prompt(命令行界面),创建新python环境并激活:

conda create -n ysfish python=3.8
conda activate ysfish

推荐安装python3.8或以下版本。

下载工程代码

使用git下载,git安装教程:

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

或直接在github网页端下载后直接解压。

依赖库安装

切换命令行到本工程所在目录:

cd genshin_auto_fish

执行以下命令安装依赖:

python -m pip install -U pip
python requirements.py

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

pip install -U pip
python requirements.py --cuda [cuda版本]
#例如安装的CUDA11.x
python requirements.py --cuda 111
#或者使用代理加速
python requirements.py --cuda 111 --proxy http://127.0.0.1:1080 # use proxy to speed up

可能会有Time out之类的报错,多试几遍,github太卡。

安装yolox

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

python setup.py develop

预训练权重下载

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

运行钓鱼AI

原神需要以1080x1920的分辨率运行,分辨率高的屏幕可以开窗口模式。

命令行窗口一定要以管理员权限启动

显卡加速

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键开始钓鱼,原神需要全屏。出于性能考虑检测框不会实时显示,处理运算后台进行。

YOLOX训练工作流程

<只用来钓鱼不需要训练,直接用预训练权重就可以>

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

下载数据集并解压:原神鱼群数据集, 数据集(迅雷云盘:ugha)

将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_tiny.pth

DQN训练工作流程

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

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

仿真环境预训练代码:

python train_sim.py

原神游戏内训练:

python train.py

More Repositories

1

HCP-Diffusion

A universal Stable-Diffusion toolbox
Python
894
star
2

DreamArtist-stable-diffusion

stable diffusion webui with contrastive prompt tuning
Python
876
star
3

DreamArtist-sd-webui-extension

DreamArtist for Stable-Diffusion-webui extension
Python
694
star
4

pixiv_AI_crawler

基于深度学习的p站高质量涩图AI爬虫,可以学会你的XP
Python
622
star
5

genshin_autoplay_domain

原神全自动刷秘境AI
Python
479
star
6

genshin_voice_play

语音控制玩原神
Python
141
star
7

HCP-Diffusion-webui

webui for HCP-Diffusion
Vue
139
star
8

ML-Danbooru

Anime image tags detector
Python
73
star
9

RobustDet

The official PyTorch implementation of "Adversarially-Aware Robust Object Detector"
Python
56
star
10

ML-Danbooru-webui

webui extension of ML-Danbooru
Python
53
star
11

GenshinMidi

根据midi自动生成原神音游谱
Python
48
star
12

yuanshen_auto_music

原神自动演奏脚本
Python
40
star
13

TeyvatOCR

识别并翻译原神中的提瓦特通用文
Python
27
star
14

anime-ai-detect-fucker

针对AI画图识别AI的对抗攻击
Python
25
star
15

synthesis_watermelon

基于box2d物理引擎的安卓版合成大西瓜
Java
15
star
16

yuanshen_draw

在原神中使用围栏绘图
Python
13
star
17

genshin_maze

AI自动生成并摆放原神迷宫
Python
7
star
18

torch-analyzer

A torch model analyzer
Python
7
star
19

open_cumputer

利用esp8266+舵机实现远程开机,包含服务器端代码实现内网穿透以及安卓端开机APP代码
Java
6
star
20

rl3

强化学习作业,多智能体
Python
6
star
21

anime_resource_title_analyzer

分析动漫资源网站的标题信息(字幕组 + 番剧标题 + 分辨率 + 第几集)
Python
6
star
22

WeiChatJump

Java
5
star
23

FunctionWave

一个能用数学函数来作曲的小程序
Java
5
star
24

edge_charimg

把图像的边缘特征转化成字符图
Python
5
star
25

rl2

Python
3
star
26

ProgramCalculator

多功能可编程科学计算器,电子技术课程设计
Python
2
star
27

BlindWaterMarkKiller

消除知乎盲水印
Python
2
star
28

ys_solve

原神机关自动解谜
Java
2
star
29

Arduion_3Dcube

Arduion显示一个3D立方体
C++
2
star
30

BluetoothMosue

蓝牙鼠标安卓端源码
Java
2
star
31

4D-Draw

一个4D绘图引擎
Java
1
star
32

auto_helthy_report

中南大学自动每日打卡
Java
1
star
33

card_QR_door

刷卡、扫码宿舍门
C++
1
star
34

huaji_video

一个将视频滑稽化的软件
Java
1
star
35

Auto_Hand_Font

自动生成手写体文章
Java
1
star
36

my-gitpage

SCSS
1
star
37

MatrixCalculator

一个轻便的矩阵计算器,低配matlab
Java
1
star
38

arduino-badapple

用Arduino+oled屏播放badapple
C++
1
star
39

sysu_report

中山大学自动每日健康打卡
Python
1
star
40

RainbowNekoEngine

Neural network training and inference framework
Python
1
star
41

NekoFormer

All in one basic anime CV model. tagger+siglip+natural language
Python
1
star