HonorNet 🎮
一个基于行为克隆的王者荣耀AI,从零开始,在Mac上训练,在Android模拟器中运行。
✨ 项目简介
HonorNet 是一个完全开源的王者荣耀AI项目。它的特点:
- 🍎 在Mac上训练:利用Apple Silicon的MPS加速
- 📱 控制Android模拟器:通过ADB截图和发送触摸事件
- 🧠 行为克隆:学习人类玩家的操作数据
- 🎯 16个动作空间:移动8方向 + 技能 + 攻击 + 战术
- 🔓 MIT协议:完全开源,任意使用
这不是一个“调用API”的demo,而是一个从数据采集到模型训练再到部署的完整工程。
🎯 项目状态
| 阶段 | 状态 |
|---|---|
| 数据采集 | ✅ 完成(886帧标注) |
| 行为克隆训练 | ✅ 完成(验证准确率54.5%) |
| 模拟器部署 | ✅ 完成 |
| 强化学习微调 | 🚧 进行中 |
🏗️ 项目结构
HonorNet/
├── data/ # 数据处理脚本
├── models/ # 模型定义 + 训练
├── inference/ # 模拟器控制 + AI运行
├── config.py # 配置文件
└── requirements.txt # 依赖
🚀 快速开始
1. 环境配置
# 克隆仓库
git lfs clone https://huggingface.co/clarenceleo/HonorNet_v1
cd HonorNet_v1
# 安装依赖
pip install -r requirements.txt
# 安装ADB(macOS)
brew install android-platform-tools
2. 准备数据
将王者荣耀1v1录屏放入 data/raw_videos/,然后:
# 抽帧
python data/extract_frames.py
# 预处理
python data/preprocess.py
# 标注动作(可选,我们提供了标注工具)
python data/annotate.py
3. 训练模型
python models/train_bc.py
4. 让AI打游戏
- 启动Android模拟器,打开王者荣耀1v1模式
- 运行AI:
python inference/run_ai.py
📊 训练结果
使用886帧标注数据训练50轮:
| 指标 | 数值 |
|---|---|
| 最佳验证准确率 | 54.49% |
| 随机基线 | 6.25% |
| 训练准确率 | 95.48% |
54.5%的准确率意味着AI学会了:
- 根据画面判断移动方向
- 何时普攻、放技能
- 何时回城、升级
🛠️ 技术栈
- PyTorch:深度学习框架
- ADB:Android调试桥,控制模拟器
- OpenCV:图像处理
- Android Studio AVD:模拟器运行环境
📈 后续计划
- 强化学习微调(PPO)
- 支持更多英雄
- 5v5多智能体
- 实时学习(边打边学)
🤝 贡献
模型开发与训练数据清洗标注:李天祎(1637321445@qq.com) 训练数据录制与提供:姜懿原
欢迎提交Issue和Pull Request!