当前位置: 首页 > news >正文

王者荣耀英雄检测数据集

yolov5至yolo10通用王者荣耀数据集两份,都已经标注好了。
分别为仅标注敌方英雄和标注全体英雄
有对应的yolov10n和s训练的pt文件
一共1个G多一点。

接下来,欢迎来到王者荣耀!!!!

数据集名称

王者荣耀英雄检测数据集

数据集描述

该数据集旨在用于《王者荣耀》游戏中的英雄检测任务,涵盖了游戏对局中的英雄图像。数据集包含大量的图像及其对应的标注信息,可用于训练计算机视觉模型,以识别和定位游戏中的英雄。

数据规模

数据集共有两个版本,每个版本大约占用500MB的空间,合计超过1GB。

版本及类别

数据集包括两个不同的版本:

  1. 仅标注敌方英雄 (Enemy Heroes Only):此版本仅标注游戏中的敌方英雄。
  2. 标注全体英雄 (All Heroes):此版本标注游戏中所有英雄(包括友方和敌方)。
标注格式

数据集中的标注信息采用了YOLO格式的TXT文件,每个图像都有一个对应的标签文件,记录了每个英雄的位置信息(边界框坐标)和类别标签。此外,提供了预训练的模型权重文件,分别是针对YOLOv10n和YOLOv10s架构的.pt文件。

数据集结构

典型的数据集目录结构如下:

1honorking_hero_detection_dataset/
2├── EnemyHeroesOnly/
3│   ├── images/
4│   │   ├── img_0001.jpg
5│   │   ├── img_0002.jpg
6│   │   └── ...
7│   ├── labels/
8│   │   ├── img_0001.txt
9│   │   ├── img_0002.txt
10│   │   └── ...
11│   ├── yolov10n_weights.pt
12│   └── yolov10s_weights.pt
13└── AllHeroes/
14    ├── images/
15    │   ├── img_0001.jpg
16    │   ├── img_0002.jpg
17    │   └── ...
18    ├── labels/
19    │   ├── img_0001.txt
20    │   ├── img_0002.txt
21    │   └── ...
22    ├── yolov10n_weights.pt
23    └── yolov10s_weights.pt
应用场景

该数据集可以用于以下应用场景:

  • 游戏AI:用于开发游戏中的AI系统,帮助玩家更好地理解和应对游戏中的局势。
  • 辅助工具:开发游戏辅助工具,帮助玩家快速识别敌方英雄的位置。
  • 竞技分析:用于竞技数据分析,了解游戏中的英雄分布情况。
  • 科研分析:用于研究游戏图像处理技术和目标检测算法。

示例代码

以下是一个使用Python和相关库(如OpenCV、PyTorch等)来加载和展示数据集的简单示例代码:

 

python

深色版本

1import os
2import cv2
3import numpy as np
4from pathlib import Path
5
6# 数据集路径
7dataset_path = 'path/to/honorking_hero_detection_dataset/'
8
9# 加载图像和标签
10def load_image_and_label(image_path, label_path):
11    # 读取图像
12    image = cv2.imread(image_path)
13    # 解析标签文件
14    with open(label_path, 'r') as infile:
15        lines = infile.readlines()
16        objects = []
17        for line in lines:
18            data = line.strip().split()
19            class_id = int(data[0])
20            x_center, y_center, w, h = map(float, data[1:])
21            objects.append([x_center, y_center, w, h, class_id])
22    return image, objects
23
24# 展示图像
25def show_image_with_boxes(image, boxes):
26    img = image.copy()
27    for box in boxes:
28        x_center, y_center, w, h, class_id = box
29        w, h = int(w * img.shape[1]), int(h * img.shape[0])
30        x_center, y_center = int(x_center * img.shape[1]), int(y_center * img.shape[0])
31        xmin, xmax = x_center - w // 2, x_center + w // 2
32        ymin, ymax = y_center - h // 2, y_center + h // 2
33        cv2.rectangle(img, (xmin, ymin), (xmax, ymax), (0, 255, 0), 2)
34        cv2.putText(img, f'Hero {class_id}', (xmin, ymin - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
35    cv2.imshow('Image with Boxes', img)
36    cv2.waitKey(0)
37    cv2.destroyAllWindows()
38
39# 主函数
40if __name__ == "__main__":
41    version = 'EnemyHeroesOnly'  # 或者 'AllHeroes'
42    images_dir = os.path.join(dataset_path, version, 'images')
43    labels_dir = os.path.join(dataset_path, version, 'labels')
44    
45    # 获取图像列表
46    image_files = [f for f in os.listdir(images_dir) if f.endswith('.jpg')]
47    
48    # 随机选择一张图像
49    selected_image = np.random.choice(image_files)
50    image_path = os.path.join(images_dir, selected_image)
51    label_path = os.path.join(labels_dir, selected_image.replace('.jpg', '.txt'))
52    
53    # 加载图像和标签
54    image, boxes = load_image_and_label(image_path, label_path)
55    
56    # 展示带有标注框的图像
57    show_image_with_boxes(image, boxes)

这段代码展示了如何加载图像和其对应的YOLO TXT标注文件,并在图像上绘制边界框和类别标签。您可以根据实际需求进一步扩展和修改这段代码,以适应您的具体应用场景。

示例代码:使用预训练模型进行推理

以下是使用YOLOv10预训练模型进行推理的示例代码:

1import torch
2import cv2
3import numpy as np
4from pathlib import Path
5
6# 数据集路径
7dataset_path = 'path/to/honorking_hero_detection_dataset/'
8version = 'EnemyHeroesOnly'  # 或者 'AllHeroes'
9
10# 加载预训练模型
11weights_path = os.path.join(dataset_path, version, 'yolov10n_weights.pt')
12model = torch.hub.load('ultralytics/yolov5', 'custom', path=weights_path, force_reload=True)
13
14# 主函数
15if __name__ == "__main__":
16    images_dir = os.path.join(dataset_path, version, 'images')
17    
18    # 获取图像列表
19    image_files = [f for f in os.listdir(images_dir) if f.endswith('.jpg')]
20    
21    # 随机选择一张图像
22    selected_image = np.random.choice(image_files)
23    image_path = os.path.join(images_dir, selected_image)
24    
25    # 使用预训练模型进行推理
26    results = model(image_path)
27    results.show()  # 显示结果
28    results.save()  # 保存结果图像

这段代码展示了如何使用YOLOv10预训练模型进行推理,并显示和保存推理结果。您可以根据实际需求进一步扩展和修改这段代码,以适应您的具体应用场景。如果需要使用YOLOv10s模型,只需将yolov10n_weights.pt替换为yolov10s_weights.pt即可。

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • QNX Hypervisor(十一)Linux Guest IPC 三
  • 命名空间————————
  • PMP--二模--解题--1-10
  • 2024.9.12(k8s环境搭建2)
  • postgresql-patroni高可用安装部署
  • 【Elasticsearch】-7.17.24版本接入
  • 自定义复杂AntV/G6案例
  • FreeRTOS学习——接口宏portmacro.h
  • 微波无源器件 功分器 4 一种用于天线阵列的紧凑宽带四路双极化波导功分器
  • 独立站技能树之建站33项自检清单 1.0丨出海笔记
  • 【STM32系统】基于STM32设计的SD卡数据读取与上位机显示系统(SDIO接口驱动、雷龙SD卡)——文末资料下载
  • golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
  • 虚幻引擎 | (类恐鬼症)玩家和NPC语音聊天(下)
  • 观成科技:新版suo5隧道工具加密流量跟踪分析
  • # dbt source dbt source freshness命令详解
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • Android系统模拟器绘制实现概述
  • golang中接口赋值与方法集
  • JavaScript设计模式之工厂模式
  • SegmentFault 2015 Top Rank
  • SpingCloudBus整合RabbitMQ
  • spring boot 整合mybatis 无法输出sql的问题
  • springMvc学习笔记(2)
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • ucore操作系统实验笔记 - 重新理解中断
  • Windows Containers 大冒险: 容器网络
  • 动态规划入门(以爬楼梯为例)
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 前端路由实现-history
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 手写双向链表LinkedList的几个常用功能
  • 我有几个粽子,和一个故事
  • 与 ConTeXt MkIV 官方文档的接驳
  • 原生js练习题---第五课
  • ​​​​​​​ubuntu16.04 fastreid训练过程
  • #git 撤消对文件的更改
  • #WEB前端(HTML属性)
  • (11)MSP430F5529 定时器B
  • (145)光线追踪距离场柔和阴影
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (安卓)跳转应用市场APP详情页的方式
  • (办公)springboot配置aop处理请求.
  • (二)linux使用docker容器运行mysql
  • (翻译)terry crowley: 写给程序员
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (全注解开发)学习Spring-MVC的第三天
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (算法)Game
  • ***通过什么方式***网吧
  • .chm格式文件如何阅读
  • .gitignore不生效的解决方案
  • .NET Core 中插件式开发实现