news 2026/4/15 3:33:25

使用LabelImg工具标注数据(游戏辅助脚本开发)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
使用LabelImg工具标注数据(游戏辅助脚本开发)

一、LabelImg 安装(3 种主流方式)

1. 最简单方式:直接下载免安装版(推荐新手)
  • 下载地址:LabelImg 官方 Releases
  • 选择对应系统版本:
  • Windows:下载 labelImg-windows.zip,解压后双击 labelImg.exe 直接运行
  • Mac:下载 labelImg-macos.zip,解压后拖拽到应用程序文件夹
  • Linux:下载 labelImg-linux.tar.gz,解压后执行 ./labelImg
2. 源码安装(适合需要自定义配置的用户)
  • 前提:已安装 Python 3.6+
  • 执行命令安装依赖:
# Windows/Mac/Linux通用 pip install labelImg安装完成后,命令行输入 labelImg 即可启动工具

二、标注前准备(关键配置,适配 YOLOv5)

1. 提前定义标签文件(避免重复输入)

创建 labels.txt 文件,写入游戏目标标签(与 YOLOv5 配置文件 game.yaml 一致),示例:

enemy_head # 敌人头部(标签0) enemy_body # 敌人身体(标签1) weapon # 武器(标签2,可选)
  • 标签顺序决定 YOLOv5 的类别 ID(第一行 = 0,第二行 = 1,以此类推)
  • 将 labels.txt 放在游戏截图所在文件夹,方便后续加载
2. 设置标注格式为 YOLO(核心步骤)

启动 LabelImg 后,按以下操作切换到 YOLO 格式:

  1. 点击顶部菜单 Format → 选择 YOLO(默认是 VOC 格式,需手动切换)
  1. 点击顶部菜单 View → 勾选以下选项(提升标注效率):
    • Auto Save(自动保存,标注完一张自动保存并跳转下一张)
    • Display Labels(显示已标注的标签名称)
    • Advanced Mode(高级模式,支持调整标注框坐标)
3. 加载图片文件夹和标签文件
  1. 点击左侧工具栏 Open Dir(或快捷键 Ctrl+O),选择游戏截图所在文件夹(如 datasets/游戏名/train/images)
  1. 点击左侧工具栏 Change Save Dir(或快捷键 Ctrl+S),选择标注文件保存路径(建议与图片同目录,方便管理)
  1. 点击顶部菜单 File → Load Labels,选择提前创建的 labels.txt,加载标签列表(后续标注可直接选择,无需手动输入)

三、游戏目标标注实操步骤(以 FPS 敌人头部 / 身体为例)

1. 标注框绘制(核心操作)
  1. 工具启动后,自动加载文件夹第一张图片
  1. 点击左侧工具栏 Create RectBox(或快捷键 W),开始绘制标注框:
    • 敌人头部:框选敌人头部区域,尽量紧凑(爆头点识别关键)
    • 敌人身体:框选敌人躯干区域,避免包含过多背景
  1. 绘制完成后,弹出标签选择框,选择对应标签(如 enemy_head),点击 OK 完成标注
  1. 按快捷键 D 跳转下一张图片,重复上述步骤;按 A 返回上一张
2. 标注优化技巧(提升 YOLOv5 训练精度)
  • 框选原则:标注框需完全包含目标,且边缘紧贴目标轮廓(不超出、不遗漏)
    • 错误示例:框选过大包含背景、框选过小只覆盖目标部分区域
    • 正确示例:敌人头部标注框刚好包裹头部,上下左右无多余背景
  • 多目标处理:一张图片中有多个敌人时,需分别绘制标注框,分别选择对应标签
  • 光影适配:同一敌人在不同光影下(如强光、阴影),标注框需保持一致性,不因光影变化缩小 / 扩大框选范围
  • 距离适配:远距离敌人(目标较小)标注时,尽量精准框选核心区域(如头部中心点周围)
3. 快捷键汇总(高效标注必备)

快捷键

功能描述

W

创建矩形标注框

D

跳转下一张图片

A

跳转上一张图片

Ctrl+S

手动保存标注文件

Del

删除当前标注框

Ctrl+Z

撤销上一步操作

鼠标滚轮

缩放图片

四、标注文件验证与管理(避免训练报错)

1. 标注文件格式检查(YOLO 格式规范)

标注完成后,每张图片会生成对应的 .txt 文件(与图片同名),格式如下(以敌人头部为例):

0 0.45 0.32 0.08 0.15 # 含义:类别ID 中心点x 中心点y 宽度 高度(均为归一化值)
  • 类别 ID:与 labels.txt 顺序一致(enemy_head=0,enemy_body=1)
  • 归一化值:坐标范围均在 0-1 之间(LabelImg 自动计算,无需手动修改)
  • 若图片无目标:无需生成 .txt 文件,YOLOv5 训练时会自动忽略
2. 常见标注错误排查
  • 错误 1:标注框超出图片范围 → 检查标注框是否紧贴图片边缘,调整标注框位置
  • 错误 2:标签名称拼写错误 → 确保标注时选择的标签与 labels.txt 完全一致(大小写敏感)
  • 错误 3:未切换到 YOLO 格式 → 重新设置 Format→YOLO,重新标注(或用工具批量转换 VOC 格式为 YOLO 格式)
  • 错误 4:标注文件缺失 → 检查是否勾选 Auto Save,未保存的标注文件可重新打开图片手动保存
3. 标注文件管理规范
  • 文件夹结构:按之前规划的 datasets/游戏名/train/images(图片)和 datasets/游戏名/train/labels(标注文件)分开存放(推荐),或标注文件与图片同目录(简化版)
  • 备份机制:标注完成后,备份 labels 文件夹,避免误删导致重新标注
  • 批量检查:使用 Python 脚本批量验证标注文件格式(如检查类别 ID 是否在合理范围、归一化值是否在 0-1 之间),示例脚本:
  • import os def check_yolo_labels(label_dir, class_num=2): """ 检查YOLO标注文件是否合法 label_dir: 标注文件目录 class_num: 类别数量(如enemy_head+enemy_body=2) """ for label_file in os.listdir(label_dir): if label_file.endswith('.txt'): with open(os.path.join(label_dir, label_file), 'r') as f: lines = f.readlines() for line in lines: parts = line.strip().split() # 检查字段数量(类别ID + 4个坐标值) if len(parts) != 5: print(f"错误:{label_file} 字段数量异常") continue # 检查类别ID class_id = int(parts[0]) if class_id or class_id >= class_num: print(f"错误:{label_file} 类别ID {class_id} 超出范围") # 检查归一化值 for val in parts[1:]: if float(val) < 0 or float(val) > 1: print(f"错误:{label_file} 坐标值 {val} 超出0-1范围") # 运行检查(替换为你的标注文件目录) check_yolo_labels("datasets/游戏名/train/labels", class_num=2)

五、批量标注与效率提升技巧

1. 批量处理重复标注
  • 若多张图片中目标位置相似(如同一敌人同一姿势),可使用 Ctrl+C 复制当前标注框,Ctrl+V 粘贴到下一张图片,再微调位置
  • 利用 Advanced Mode 直接修改标注框坐标值,精准调整位置
2. 视频转图片批量标注

若游戏截图效率低,可录制游戏视频,转成图片后批量标注:

  1. 用视频转图片工具(如 ffmpeg)拆分视频:
ffmpeg -i game_video.mp4 -r 1 datasets/游戏名/train/images/frame_%04d.jpg # 每秒提取1帧
  1. 用 LabelImg 批量标注转成的图片,标注效率提升 50%+
3. 标注进度管理
  • 按场景分类标注:先标注近距离敌人,再标注中远距离敌人,避免标注混乱
  • 每日标注完成后,用 tree 命令查看目录结构,确认图片和标注文件数量一致(Windows 可在文件夹地址栏输入 cmd,执行 dir /b *.jpg | find /c /v "" 统计图片数,dir /b *.txt | find /c /v "" 统计标注文件数)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 3:32:02

Web前端教程 4

CSS盒子模型弹性盒子模型浮动清除浮动定位CSS新属性媒体查询雪碧图字体图标

作者头像 李华
网站建设 2026/4/13 12:44:35

灵活用工费咋算?亲测案例复盘分享

灵活用工费计算逻辑与技术革新&#xff1a;基于天语灵活用工平台的深度解析行业痛点分析当前灵活用工平台领域面临两大核心挑战&#xff1a;算薪效率与合规风险。传统系统在处理复杂用工场景时&#xff0c;常因多维度变量&#xff08;如工时波动、岗位差异、政策变动&#xff0…

作者头像 李华
网站建设 2026/4/15 3:31:41

2025年12月成都四川工作服厂家推荐:专业品牌排行榜单深度对比分析

一、引言 工作服作为企业形象塑造与员工劳动防护的重要载体&#xff0c;其采购决策直接关系到企业运营成本控制、品牌视觉统一性及员工安全保障。对于成都及周边地区的企事业单位采购负责人、行政管理者以及创业者而言&#xff0c;如何在众多供应商中筛选出具备稳定生产能力、…

作者头像 李华
网站建设 2026/4/6 0:37:07

7个常见错误避免,确保YashanDB实施的成功率

在当前数据驱动的业务环境中&#xff0c;数据库系统作为核心信息基础设施&#xff0c;其性能瓶颈、数据一致性保障及高可用性实现等挑战日益突显。YashanDB作为一款支持多种部署形态的先进数据库系统&#xff0c;集成了行列混合存储、分布式和共享集群架构等多项技术优势&#…

作者头像 李华
网站建设 2026/4/11 7:45:05

从Git仓库获取TensorRT示例代码并运行BERT推理

从Git仓库获取TensorRT示例代码并运行BERT推理 在当前AI应用快速落地的背景下&#xff0c;将大型语言模型高效部署到生产环境已成为工程团队的核心挑战之一。以BERT为代表的Transformer架构虽然在自然语言理解任务中表现出色&#xff0c;但其庞大的参数量和密集的矩阵运算使得…

作者头像 李华
网站建设 2026/4/7 18:26:48

从 paperzz 到 8 款工具:降重 / 降 AIGC 的 “差异化战场”—— 谁能守住学术表达的 “精准与合规”?

学术写作的 “终局考验”&#xff0c;往往藏在初稿完成后的 “细节优化” 里&#xff1a;重复率超标、AIGC 痕迹被检测、表述既冗余又生硬…… 而一批定位 “学术表达优化” 的工具正在涌现 —— 从 paperzz 的 “轻量型精准优化” 到其他工具的 “文献联动降重”“学科化 AIGC…

作者头像 李华