DeepLeague

GitHub
1.2k 180 较难 1 次阅读 4天前图像其他
AI 解读 由 AI 自动生成,仅供参考

DeepLeague 是一款结合计算机视觉与深度学习技术的开源项目,专为《英雄联盟》电竞研究打造。它通过分析游戏小地图,利用超过 10 万张标注图像训练出的模型,自动识别并追踪游戏中的关键元素(如英雄位置、野怪状态等),旨在推动电子竞技领域的 AI 技术发展。

该项目主要解决了电竞数据分析中人工观察效率低、难以量化实时局势的痛点,为战术分析和自动化解说提供了技术基础。其核心基于 YOLO 目标检测算法(源自 YAD2K 项目),并针对游戏画面进行了定制化训练,能够处理复杂的游戏视觉信息。

DeepLeague 最适合对人工智能、计算机视觉感兴趣的开发者及电竞数据研究人员使用。由于作者坦言代码多为快速原型开发,文档相对简略且可能存在瑕疵,因此使用者需要具备一定的 Python 编程基础和调试能力,普通玩家若无技术背景可能较难直接上手。对于希望探索游戏 AI 应用或构建电竞数据集的技术爱好者而言,这是一个极具参考价值的起点。

使用场景

一位电竞数据分析师正试图从成千上万场《英雄联盟》比赛录像中,自动提取小地图上的英雄位置以研究战术走势。

没有 DeepLeague 时

  • 分析师只能依靠人工逐帧观看录像并手动记录英雄坐标,处理一场 30 分钟的比赛需耗费数小时,效率极低。
  • 由于缺乏标准化的标注数据集,不同人员记录的格式混乱,导致后续无法直接用于训练机器学习模型。
  • 传统图像识别方法难以区分小地图上相似颜色的图标,在团战密集发生时经常漏检或误判英雄位置。
  • 想要验证新的战术假设时,因数据获取周期太长,往往错过最佳分析时机,研究进度严重滞后。

使用 DeepLeague 后

  • 利用预训练的 YOLO 深度学习模型,DeepLeague 能自动扫描视频小地图,秒级输出全场英雄实时坐标,效率提升百倍。
  • 工具直接基于超过 10 万张标注图像训练,输出的数据结构统一且精准,可无缝对接下游的战术分析算法。
  • 借助计算机视觉技术,即使在技能特效满屏飞的复杂团战中,DeepLeague 也能准确识别并追踪每个英雄的动态轨迹。
  • 研究人员可快速批量处理历史比赛库,即时生成热力图和移动路径分析,让战术验证从“按周计”缩短为“按分钟计”。

DeepLeague 通过将非结构化的游戏画面转化为高精度的结构化数据,彻底打破了电竞战术研究中数据获取的瓶颈。

运行环境要求

操作系统
  • macOS
  • Linux
  • Windows (需通过 WSL 使用 Ubuntu 子系统)
GPU

未说明 (依赖 TensorFlow 和 Keras,通常建议配备支持 CUDA 的 NVIDIA GPU,但 README 未明确具体型号或显存要求)

内存

未说明 (数据集文件约 30GB,建议较大内存)

依赖
notes1. Windows 用户建议使用 WSL (Ubuntu 子系统) 进行安装。2. 必须使用 1080P 分辨率的游戏录像,否则小地图裁剪会出错。3. macOS 运行特定脚本时需使用 'pythonw' 而非 'python'。4. 需手动下载 YOLO 权重文件和配置文件。5. 作者声明代码存在潜在 Bug 且文档不完善。
python3.6
tensorflow
keras
opencv-python
numpy
h5py
pillow
matplotlib
ffmpeg
youtube_dl
DeepLeague hero image

快速开始

DeepLeague - 利用《英雄联盟》小地图上的计算机视觉与深度学习技术,结合包含十多万张标注图像的数据集,推动电子竞技领域的AI研究。

请在此处阅读博客文章。此仓库仅说明如何进行环境搭建。博客将详细解释其具体含义!

非常感谢YAD2K的优秀开发者们。DeepLeague基于我对他们仓库的自定义分支构建而成,若没有他们的杰出工作,这一切都不可能实现。

替代文本

免责声明

我在一场飓风期间,百无聊赖地花了五天时间编写了大部分代码。我的代码虽然不算糟糕,但绝非那种拥有精美文档的高级库。其中很可能存在许多 bug 和效率低下的地方。

不过,设置并运行测试脚本其实相当简单,我会尽力协助你;但如果你想深入修改核心代码,那就只能靠你自己了。不过请相信我,这些代码并不复杂,尤其是如果你熟悉 Python 的话。

如有疑问,请通过Twitter联系我。

如何获取 DeepLeague?

你需要 gitcondabrew。安装完成后,可以在终端输入以下命令来检查是否一切正常。我已经确认这些步骤在 Mac OS 上可行。下方提供了使用 Conda 在 Linux 上运行的步骤。对于 Windows 10 用户,我已确认按照 Ubuntu 的安装说明,并使用 Linux 子系统,是你们上手最简便的方式。

$ conda
$ git
$ brew

如果能够顺利执行以上三条命令而无任何错误,即可继续。

使用 Conda 在 OS X 上运行的说明

# 获取仓库。
$ git clone https://github.com/farzaa/DeepLeague.git
$ cd DeepLeague
$ cd YAD2K
$ conda create -n DeepLeague python=3.6
$ source activate DeepLeague
$ conda install python.app # 将 Python 安装为框架,以便支持 Matplotlib。

# 安装所需的一系列包。
# 如果你使用的是 Ubuntu,则应参考此链接:https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/
# 而不是直接安装 opencv-python。
$ pip install opencv-python youtube_dl
$ conda install -c menpo ffmpeg
$ pip install numpy h5py pillow matplotlib
$ pip install tensorflow
$ pip install keras

# 下载神经网络所需的辅助文件。
$ brew install wget
$ brew install ffmpeg --with--libvpx # 这个过程可能需要一些时间。
$ wget https://s3-us-west-2.amazonaws.com/mood1995/deep_league/yolo.weights
$ wget https://s3-us-west-2.amazonaws.com/mood1995/deep_league/trained_stage_3_best.h5
$ wget https://s3-us-west-2.amazonaws.com/mood1995/deep_league/yolo.cfg
$ pythonw yad2k.py yolo.cfg yolo.weights model_data/yolo.h5 # 调用 DeepLeague 时必须使用 pythonw!

执行最后一条命令至关重要。可能会出现一些错误,你可以尝试通过 Google 搜索快速解决。我发现这确实很大程度上取决于你的系统和硬件配置。

使用 Conda 在 Ubuntu 16.04 上运行的说明

你可以参照官方文档中的指南来安装 Conda。

# 获取仓库。
git clone https://github.com/farzaa/DeepLeague.git
# 创建新环境
conda env create -f requirements.yml
source activate DeepLeague

cd DeepLeague/YAD2K

# 下载权重文件
wget https://s3-us-west-2.amazonaws.com/mood1995/deep_league/yolo.weights
wget https://s3-us-west-2.amazonaws.com/mood1995/deep_league/trained_stage_3_best.h5
wget https://s3-us-west-2.amazonaws.com/mood1995/deep_league/yolo.cfg

# 运行命令以配置模型
python yad2k.py yolo.cfg yolo.weights model_data/yolo.h5

执行最后一条命令同样非常重要。可能会出现一些错误,你可以尝试通过 Google 搜索快速解决。我发现这确实很大程度上取决于你的系统和硬件配置。

如何运行 DeepLeague?

说实话,这个仓库里有很多细碎的小函数。不过,让我来解释一下最简单的使用方法——如果你只想分析一段录像(我想大多数人都有这样的需求)。关键在于 test_deep_league.py 脚本。这是我编写的一个小型命令行工具,允许你通过三种方式输入要分析的录像:YouTube 链接、本地 MP4 文件路径,或图片目录路径。我个人最喜欢使用 YouTube 链接,但如果遇到问题,也可以改用 MP4 文件。你只需要一段 1080P 分辨率的《英雄联盟》比赛录像。务必确保分辨率为 1080p,否则我的脚本会错误地裁剪小地图。此外,DeepLeague 只针对 1080p 视频中的小地图进行了训练,其他分辨率尚未经过测试。

下面是一个我使用 YouTube 链接运行该工具的例子。这种方法会自动下载 YouTube 视频,并根据你指定的开始和结束时间进行剪辑。它还会自动重命名文件以便后续处理。

这条命令表示从第 30 秒开始,到第 1 分钟结束。当你只想分析录像的一部分时非常有用。输出的帧会被保存到名为 “output” 的文件夹中,正如下面的命令所指定。

pythonw test_deep_league.py -out output youtube -yt https://www.youtube.com/watch?v=vPwZW1FvtWA -yt_path /output -start 0:00:30 -end 0:01:00

# 如果你在使用 Linux
python test_deep_league.py -out output youtube -yt https://www.youtube.com/watch?v=vPwZW1FvtWA -yt_path /output -start 0:00:30 -end 0:01:00

首先你会看到下载开始:

替代文本

随后 DeepLeague 就会开始预测边界框:

替代文本

如果你想使用自己录制的本地 MP4 文件,可以使用下面的命令,其中 -mp4 指定了录像在你电脑上的位置。

pythonw test_deep_league.py -out output mp4 -mp4 /Volumes/DATA/data/data/C9_CLG_G_2_MARCH_12_2017/vod.mp4

如何获取数据集:

请从这里下载。

我已将数据集拆分为多个 .npz 文件,而不是只有一个超大文件。这样做的主要目的是为了方便进行批量训练。目前,整个数据集已被压缩成一个 30GB 的大文件,你可以通过 wget 命令从这个链接下载。推荐使用 wget,因为它支持断点续传。最糟糕的体验莫过于下载快完成了,网络却突然中断,导致之前的所有下载都白费了。

此外,我已经将数据集划分为训练集、测试集和验证集,比例分别为 80%、17.5% 和 2.5%。这些 .npz 文件仅包含裁剪后的迷你地图帧以及与每帧对应的边界框信息。

如果你需要帮助读取这些 .npz 文件,可以查看 这里def visualize_npz_data 函数。

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|2周前
Agent开发框架图像

n8n

n8n 是一款面向技术团队的公平代码(fair-code)工作流自动化平台,旨在让用户在享受低代码快速构建便利的同时,保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点,帮助用户轻松连接 400 多种应用与服务,实现复杂业务流程的自动化。 n8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”:既可以通过直观的可视化界面拖拽节点搭建流程,也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外,n8n 原生集成了基于 LangChain 的 AI 能力,支持用户利用自有数据和模型构建智能体工作流。在部署方面,n8n 提供极高的自由度,支持完全自托管以保障数据隐私和控制权,也提供云端服务选项。凭借活跃的社区生态和数百个现成模板,n8n 让构建强大且可控的自动化系统变得简单高效。

184.7k|★★☆☆☆|今天
数据工具开发框架Agent

AutoGPT

AutoGPT 是一个旨在让每个人都能轻松使用和构建 AI 的强大平台,核心功能是帮助用户创建、部署和管理能够自动执行复杂任务的连续型 AI 智能体。它解决了传统 AI 应用中需要频繁人工干预、难以自动化长流程工作的痛点,让用户只需设定目标,AI 即可自主规划步骤、调用工具并持续运行直至完成任务。 无论是开发者、研究人员,还是希望提升工作效率的普通用户,都能从 AutoGPT 中受益。开发者可利用其低代码界面快速定制专属智能体;研究人员能基于开源架构探索多智能体协作机制;而非技术背景用户也可直接选用预置的智能体模板,立即投入实际工作场景。 AutoGPT 的技术亮点在于其模块化“积木式”工作流设计——用户通过连接功能块即可构建复杂逻辑,每个块负责单一动作,灵活且易于调试。同时,平台支持本地自托管与云端部署两种模式,兼顾数据隐私与使用便捷性。配合完善的文档和一键安装脚本,即使是初次接触的用户也能在几分钟内启动自己的第一个 AI 智能体。AutoGPT 正致力于降低 AI 应用门槛,让人人都能成为 AI 的创造者与受益者。

183.6k|★★★☆☆|今天
Agent语言模型插件

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2周前
开发框架图像Agent

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

109.2k|★★☆☆☆|2天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像