• Stars
    star
    4,762
  • Rank 8,862 (Top 0.2 %)
  • Language
    Python
  • Created about 3 years ago
  • Updated 11 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