自学内容网 自学内容网

王者荣耀英雄检测数据集

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即可。

 


原文地址:https://blog.csdn.net/2301_78240361/article/details/142373557

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!