尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

YOLOv11手势识别数据集构建实战:从石头剪刀布到高质量标注

YOLOv11手势识别数据集构建实战:从石头剪刀布到高质量标注 简介目标检测是计算机视觉的核心任务其原理是通过算法定位并识别图像中的物体。YOLO系列模型因其速度快、精度高而成为工业界首选。构建高质量的数据集是模型成功的基石它直接影响模型的泛化能力和最终性能。在工程实践中数据标注的规范性与数据增强策略的有效性至关重要。本文以“石头剪刀布”手势识别这一经典场景为例深入解析如何为YOLOv11准备训练数据涵盖了从数据采集、标注规范制定到使用Make Sense AI等工具进行高效标注再到数据清洗、增强及格式转换的完整流程。通过系统化的数据工程实践即使是小样本项目也能为模型训练打下坚实基础并自然收敛到YOLOv11数据准备这一具体主题。1. 项目概述从“石头剪刀布”到YOLOv11数据集最近在整理一个挺有意思的练手项目核心就是“石头剪刀布”这个经典手势的识别。听起来简单但要把这件事做扎实尤其是想用上最新的YOLOv11模型第一步也是最关键的一步就是搞定数据集。我见过太多朋友模型结构调得天花乱坠最后效果不理想一查问题往往出在数据上——要么数量不够要么标注质量不行要么类别定义不清。所以这次我决定把重心完全放在“石头剪刀布-YOLOV11标记的数据集”这个源头环节把从构思、采集、标注到整理成YOLO格式的完整流程以及背后的考量和踩过的坑都详细记录下来。这个项目非常适合刚接触目标检测的新手也适合想系统了解数据工程流程的朋友。你不需要有高深的数学背景但需要一点动手能力和耐心。最终我们会得到一个干净、规范、可直接用于YOLOv11训练的数据集。整个过程我会尽量用大白话把原理和操作讲清楚比如为什么选择YOLO格式而不是COCO标注时框该怎么画遇到模糊手势怎么处理等等。毕竟好的数据是模型成功的基石这块基石打牢了后面的训练和推理才能事半功倍。2. 数据集整体设计与核心思路拆解2.1 为什么是“石头剪刀布”选择“石头剪刀布”作为目标检测对象看似简单实则内涵丰富。首先它的类别极少只有“石头”、“剪刀”、“布”三类这极大降低了多类别检测的复杂度让我们能把精力集中在数据处理的通用流程和质量把控上。其次这三类目标在形态上差异明显握拳、伸出两指、张开手掌但又存在一定的相似性和上下文关联例如部分“布”的手势在手指未完全张开时可能被误认为“石头”这为我们设计数据增强策略、思考模型鲁棒性提供了很好的场景。最后这是一个非常直观、生活化的项目任何人都能理解其目标避免了在复杂业务场景下向读者解释“为什么要检测这个”的额外成本。从技术验证的角度一个高质量的“石头剪刀布”数据集可以完美测试YOLO系列模型包括最新的v11在小样本、清晰类别定义下的学习能力、收敛速度以及最终的识别精度。它就像一个“单元测试”基础而重要。2.2 数据采集策略质量与多样性的平衡数据是模型的粮食采集是种粮的第一步。我的核心思路是在可控的规模下最大化数据的多样性和真实性。盲目追求数量上万张对于个人项目而言既不现实也容易引入大量噪声。2.2.1 采集来源规划我主要规划了三个来源自行拍摄这是最主要、最可控的来源。使用手机后置摄像头在多种光照条件自然光、室内暖光、冷白光、多种背景纯色墙壁、办公桌、户外、多种角度正对手掌、略微俯视/仰视、以及不同人手我本人、家人、朋友的情况下进行拍摄。目的是覆盖模型未来可能遇到的大部分真实场景。公开数据集筛选网络上存在一些包含手势的通用数据集如某些手部关键点检测数据集。我们可以从中筛选出符合“石头剪刀布”定义的图片。但这里要格外注意版权和标注格式转换的问题。网络爬取谨慎使用作为补充可以从一些遵循CC协议等开放许可的图片网站爬取相关图片。但必须严格遵守 robots.txt 协议并仅用于个人学习研究且最终数据集不宜公开分发以免侵权。2.2.2 采集实操要点与参数设备与设置现代智能手机摄像头完全足够。拍摄时关闭AI美化功能使用原相机模式以保证图像的真实性。分辨率建议在1080p1920x1080以上但无需一味追求4K过大的分辨率会增加后续标注和训练时的计算负担。每张图片的目标数量单张图片中最好包含1-3个手势目标。太少则数据利用效率低太多如满屏手会增加标注复杂度且可能引入严重的遮挡问题初期不建议。负样本特意拍摄一些没有任何“石头剪刀布”手势但包含手部其他姿势或类似物体的图片例如握着一个杯子。这些图片在YOLO训练时非常重要用于帮助模型学习“什么是背景”降低误检率。大约占总数据量的10%-15%。2.3 标注规范定义统一标准是质量的保障在开始动手标注前必须制定一份清晰的《标注规范文档》。这是保证不同标注者甚至同一个人在不同时间标注结果一致性的关键。我们的规范主要包括类别定义Class Definition:rock: 握拳状态。手指弯曲紧握拇指可以压在食指外侧或内侧。关键判断看不到分离的指尖。scissors: 伸出食指和中指两指分开呈V形其余手指握拳。这是最常见的表示。也考虑包含食指和中指交叉的“剪刀”手势变体但为了简化本项目暂不纳入。paper: 手掌张开五指自然分开或并拢。关键判断掌心区域完全可见手指未弯曲成拳。标注框Bounding Box原则:紧密度框体应紧密贴合手势的最外缘像素。既不能留太多空白背景也不能裁剪掉目标的一部分。完整性必须包含整个手势从手腕末端如果入镜到指尖。歧义处理遮挡如果手势被另一只手或物体部分遮挡仅标注可见部分。并在标注工具的“属性”或“备注”中标记“occlusion”。模糊对于运动模糊导致轮廓不清的图片如果人眼能勉强分辨则标注如果完全无法辨认则舍弃该图片或将其归为负样本。类别模糊例如手指半张开的状态。根据规范更接近“握拳”则标为rock更接近“全张开”则标为paper。如果实在难以判断该图片不进入训练集可放入一个“待定”文件夹供后期分析。标注格式选择为什么是YOLO TXT市面上有COCO JSON、Pascal VOC XML、YOLO TXT等多种格式。我们选择YOLO TXT格式原因如下原生支持Ultralytics的YOLOv8/v11训练脚本直接读取此格式无需额外转换。简洁高效文本格式体积小存储和读取速度快。每行class_id x_center y_center width height数值为相对于图片宽高的归一化值0-1之间与图片尺寸解耦非常灵活。行业普及已成为YOLO生态的事实标准相关工具链最完善。3. 数据标注实战工具、流程与核心技巧3.1 标注工具选型与配置工欲善其事必先利其器。标注工具的选择直接影响效率和体验。我对比了几款主流工具LabelImg: 老牌经典开源免费支持Pascal VOC和YOLO格式。但界面较为老旧交互效率一般缺乏一些高级功能如自动标注辅助。CVAT (Computer Vision Annotation Tool): 功能强大的开源Web工具支持视频标注、团队协作、高级属性标注。但部署和配置相对复杂对于个人小项目有点“杀鸡用牛刀”。Roboflow: 在线平台提供了从上传、预处理、标注、增强到导出一站式服务非常方便。但有免费额度限制且数据需要上传到云端。Make Sense AI: 一个轻量级的开源Web应用无需安装直接在浏览器运行。界面清爽支持YOLO格式导出并且集成了基于AI的预标注功能虽然精度一般非常适合个人和小团队快速启动。综合考虑易用性、本地化数据隐私和YOLO格式支持我最终选择了Make Sense AI作为本次项目的标注工具。它打开网页就能用标注结果直接保存在本地浏览器导出方便。3.1.1 Make Sense AI 基础配置访问其官网点击“Get Started”。在项目页面点击“Add images”或直接拖入图片文件夹。它支持批量上传。在“Define labels”区域创建我们的三个标签rock,scissors,paper。顺序无所谓但记住它们对应的ID从0开始因为YOLO TXT里存的是ID。在“Settings”中确认输出格式为“YOLO”。3.2 核心标注流程与操作细节标注是一个需要耐心和细心的重复性工作。遵循标准化流程可以避免错误和返工。3.2.1 单张图片标注步骤审图打开一张图片先整体浏览确认图中所有需要标注的“石头剪刀布”手势目标以及是否有需要忽略的干扰项如非目标手势。选择标签在右侧标签列表点击当前要标注的类别例如scissors。绘制边界框在目标左上角附近按住鼠标左键。向右下角拖动让矩形框尽可能紧密地包围整个手势。关键技巧不必追求一次拉准。画个大概后可以通过拖动框的四个边或四个角进行微调。对于手势目标框的宽高比通常接近1:1拳头或竖长方形张开的手。检查与修正画完一个框后问自己框是否包含了所有指尖和手腕如果可见框内是否包含了过多无关背景调整至满意。循环重复步骤2-4标注完图片中所有目标。保存/下一张标注完成后快捷键CtrlS会保存当前图片的标注自动生成同名的TXT文件在内存中然后按D键跳到下一张。3.2.2 批量标注的效率技巧快捷键熟练度W键是绘制框的快捷键A/D是上一张/下一张CtrlS保存Del删除选中框。熟练使用快捷键能极大提升速度。利用预标注AI辅助Make Sense AI提供了“AI辅助标注”功能。你可以先手动标注几十张质量较高的图片然后使用这个功能对剩余图片进行预标注。系统会基于你已标注的数据学习自动生成建议框。你只需要检查和修正这些建议框这比从零开始画要快得多。注意AI预标注的精度取决于你已标注数据的质量和数量初期可能不准需要人工仔细复核。分批次进行不要试图一次标注完所有图片。可以按场景如“室内光照”、“多人手势”分批次进行每批100-200张。标注完一批后休息一下回头快速抽检几张确保标注标准没有漂移。3.3 标注质量检查与清洗所有图片标注完成后必须进行严格的质量检查QA这是产出高质量数据集的核心环节。3.3.1 自动化脚本检查可以编写简单的Python脚本进行第一轮自动检查快速发现明显问题检查标注文件是否存在确保每张图片都有对应的TXT文件。检查格式合法性读取每个TXT文件验证每行是否有5个数值且类别ID在[0, 1, 2]范围内坐标值是否在[0, 1]之间。检查框体是否超出图像边界理论上归一化坐标不应超过1但有时标注工具bug可能导致轻微越界如1.0001需要修正为1.0或0.9999。检查过小目标计算width * height如果面积小于一个阈值例如0.001即占图面积不到0.1%这种目标可能意义不大或标注错误需要人工复核。3.3.2 人工抽样检查自动化检查后必须进行人工抽样。随机抽取10%-15%的图片在标注工具中重新打开逐一检查漏标图片中是否有手势没有被框出来错标类别是否正确例如把半张开的“布”标成了“石头”。标框质量框是否太松或太紧是否切掉了手指的一部分歧义处理对于之前定义的模糊情况标注是否合理且一致发现错误后直接在标注工具中修正并保存。同时记录下常见的错误类型反思是否标注规范有描述不清的地方并更新规范文档。3.3.3 数据清洗与整理经过检查和修正后进行最终整理删除无效数据彻底模糊、完全无法辨认手势、或标注存在无法修正的严重错误的图片及其TXT文件应直接删除。创建标准目录结构YOLO训练通常需要以下结构stone_scissors_paper_dataset/ ├── images/ │ ├── train/ # 训练集图片 │ └── val/ # 验证集图片 └── labels/ ├── train/ # 训练集标签 (与images/train一一对应) └── val/ # 验证集标签 (与images/val一一对应)划分训练集/验证集按照大约8:2或9:1的比例将图片和对应的标签文件分别移动到images/train,labels/train和images/val,labels/val。务必确保图片和标签的对应关系不被破坏。可以使用sklearn.model_selection的train_test_split函数来随机划分并保持随机种子固定以确保可复现性。4. 数据集增强与YOLO格式深度解析4.1 数据增强策略让小数据集发挥大作用对于我们自行采集的、规模可能只有几百到一两千张的数据集数据增强是提升模型泛化能力、防止过拟合的必备手段。数据增强的本质是在不改变图像语义标签的前提下对图像进行各种变换模拟现实世界中的多样性。4.1.1 空间几何变换随机水平翻转这是最常用且安全的增强。因为“石头剪刀布”手势通常不具有严格的左右方向性除了极少数文化特定的表示水平翻转能有效增加数据。在YOLO中翻转时标注框的x中心坐标需要相应变换x_center_new 1.0 - x_center_old。随机旋转小角度例如±15度以内的小角度旋转可以模拟手部拍摄时的轻微倾斜。注意大角度旋转可能导致手势类别意义发生变化例如倒立的手应避免或谨慎使用。随机缩放与平移即RandomAffine变换。随机缩放图片如0.8到1.2倍并在缩放后的图像内随机平移。这模拟了手势距离摄像头的远近变化以及其在画面中的位置变化。变换后需要重新计算框的归一化坐标确保其仍在图像范围内可能需要裁剪掉超出部分的目标。4.1.2 像素颜色变换色彩抖动随机调整图像的亮度、对比度、饱和度和色调。这可以模拟不同光照条件、不同手机相机色彩调校的差异。添加噪声如高斯噪声、椒盐噪声。模拟图像传感器在暗光下的噪点或传输压缩带来的瑕疵。模糊如高斯模糊、运动模糊。模拟对焦不准或手部轻微移动的情况。4.1.3 高级与随机增强MixUp将两张图像以一定比例混合其标签也以相同比例混合。例如60%的图像A标签rock和40%的图像B标签paper混合生成的新图像标签为[0.6, 0, 0.4]假设类别顺序是rock, scissors, paper。这鼓励模型学习更平滑的决策边界。Mosaic将四张训练图像拼接成一张。这能让模型在一个批次内看到更多样化的上下文和小目标是YOLOv4/v5以来非常有效的增强技术。Ultralytics的YOLO训练代码默认集成了Mosaic增强。实操心得增强的“度”数据增强不是越多越好、越强越好。过于激进的增强如大角度旋转、严重色彩失真可能会生成大量不真实、甚至误导模型的“坏样本”。我的经验是先从基础的、安全的增强开始如翻转、小角度旋转、色彩微调观察模型训练情况。如果模型在验证集上表现不佳过拟合再逐步引入更复杂的增强如MixUp, Mosaic。同时务必在增强后可视化检查一些样本确保增强后的图像和标注框仍然是合理、可解释的。4.2 YOLO格式标签文件详解与处理理解YOLO TXT文件的细节对于处理数据和排查问题至关重要。4.2.1 格式深度解析每一行代表一个目标物体包含5个数值用空格分隔class_id x_center y_center width heightclass_id: 整数从0开始。对应我们在data.yaml中定义的类别顺序。x_center,y_center: 目标边界框中心的x坐标和y坐标归一化到图像宽度和高度。计算公式x_center (x_min x_max) / (2 * image_width)width,height: 目标边界框的宽度和高度归一化到图像宽度和高度。计算公式width (x_max - x_min) / image_width示例一张800x600的图片中有一个“剪刀”手势其左上角像素坐标为(200, 100)右下角为(400, 500)。类别ID为1假设顺序是0:rock, 1:scissors, 2:paper。x_center (200 400) / (2 * 800) 600 / 1600 0.375y_center (100 500) / (2 * 600) 600 / 1200 0.5width (400 - 200) / 800 200 / 800 0.25height (500 - 100) / 600 400 / 600 ≈ 0.6667那么对应的标签行就是1 0.375 0.5 0.25 0.66674.2.2 配套的data.yaml文件YOLO训练需要一個data.yaml文件来定义数据集。这个文件是数据集的核心配置文件。# stone_scissors_paper.yaml path: /home/user/datasets/stone_scissors_paper # 数据集根目录 train: images/train # 训练集图片路径相对于path val: images/val # 验证集图片路径相对于path # test: images/test # 可选测试集 # 类别数量 nc: 3 # 类别名称列表顺序必须与标注时的class_id对应 names: [rock, scissors, paper] # 可选下载命令/URL公开数据集常用 # download: https://...这个文件告诉YOLO训练脚本数据在哪、训练集和验证集是哪些、有多少个类别、分别叫什么名字。4.2.3 标签文件处理脚本示例在划分数据集或进行增强时经常需要批量处理标签文件。这里分享一个用于检查标签文件并统计基本信息的Python脚本片段import os from pathlib import Path def analyze_labels(labels_dir): 分析标签目录统计目标数量、类别分布等。 label_files list(Path(labels_dir).glob(*.txt)) total_objects 0 class_count {0:0, 1:0, 2:0} # 假设有3类 for lbl_file in label_files: with open(lbl_file, r) as f: lines f.readlines() for line in lines: line line.strip() if line: parts line.split() if len(parts) 5: cls_id int(parts[0]) total_objects 1 class_count[cls_id] class_count.get(cls_id, 0) 1 # 可选检查坐标值是否在[0,1]范围内 x_c, y_c, w, h map(float, parts[1:]) if not (0 x_c 1 and 0 y_c 1 and 0 w 1 and 0 h 1): print(f警告文件 {lbl_file} 中存在越界坐标: {line}) print(f标签文件总数: {len(label_files)}) print(f目标实例总数: {total_objects}) print(类别分布:) for cls_id, count in class_count.items(): print(f 类别 {cls_id}: {count} 个) # 计算平均每张图片的目标数 if label_files: avg_obj_per_img total_objects / len(label_files) print(f平均每张图片目标数: {avg_obj_per_img:.2f}) # 使用示例 analyze_labels(./labels/train)这个脚本能帮你快速了解数据集的规模、类别是否平衡并发现明显的标签格式错误。5. 为YOLOv11训练准备数据高级处理与验证5.1 类别平衡与困难样本挖掘即使我们尽力采集数据集的类别分布也可能不平衡。例如“布”的手势可能更容易采集到清晰的图片数量多于“剪刀”。类别不平衡可能导致模型对多数类过拟合对少数类识别能力差。5.1.1 解决类别不平衡重采样Oversampling复制少数类样本图片标签到数据集中。简单粗暴但可能导致过拟合。数据增强侧重对少数类图片应用更多样、更强烈的数据增强以“创造”出新的、多样化的少数类样本。这比单纯复制更有效。损失函数加权在训练时给少数类的损失项赋予更高的权重。这需要在模型训练阶段设置class_weights参数。YOLO通常支持自动计算权重或手动指定。对于“石头剪刀布”这种三类且差异不大的项目轻微的不平衡影响可能不大。但如果发现某个类别比如scissors数量明显少少于其他类的60%就应该采取上述措施。5.1.2 困难样本挖掘在初步训练一个模型后可以用这个模型在训练集上跑一遍推理找出那些置信度低或被错误分类的样本。这些样本就是模型觉得“难”的样本。把它们单独拿出来分析是标注错误修正标签是图像质量太差考虑删除或增强是某种特定的、未充分覆盖的场景例如戴手套的手、严重侧光下的手势 然后有针对性地补充采集这类“困难场景”的数据加入训练集重新训练。这个过程迭代一两次能显著提升模型在边缘案例上的表现。5.2 数据集版本管理与划分技巧数据集的整理不是一劳永逸的。随着项目推进你可能会修正标注、添加新数据、尝试不同的增强组合。因此良好的版本管理习惯很重要。5.2.1 使用Git进行版本控制虽然图片和标签文件是二进制或文本文件但数据集目录本身可以用Git进行版本控制注意.gitignore忽略图片文件如果太大或使用Git LFS。每次对数据集进行重大修改如完成一轮标注清洗、添加了新批次数据、调整了类别定义后进行一次提交并写好提交信息例如“v1.0: 初始标注500张”、“v1.1: 修正了150张图片的框体松紧问题”、“v2.0: 新增300张逆光场景数据”。这能让你随时回溯到任何一个版本。5.2.2 训练集/验证集/测试集的科学划分训练集用于模型参数学习。我们之前提到的数据增强主要应用在训练集上。验证集用于在训练过程中监控模型性能调整超参数如学习率以及进行早停Early Stopping以防止过拟合。验证集不应施加任何数据增强除了最基础的尺寸缩放至统一大小它应该代表模型将要遇到的、真实的、未增强的原始数据分布。测试集用于最终评估模型的泛化能力。测试集在训练和调参过程中绝对不可见。它应该来自与训练集/验证集独立同分布的数据。例如用另一部手机、在另一个房间、由另一批人拍摄的手势图片。对于个人项目如果数据量有限可以只划分训练集和验证集用验证集性能近似代表测试性能。划分时务必使用随机分层抽样确保每个类别在训练集和验证集中的比例大致相同。可以使用sklearn的train_test_split函数设置stratify参数为类别标签。5.3 最终检查与可视化验证在将数据集投入训练前最后做一次全面的可视化验证。随机可视化写一个脚本随机从images/train和images/val中各选取N张图片读取其对应的标签文件将边界框和类别名称画到图片上然后显示或保存。人工浏览这些图片这是发现标注错误、框不准等问题最直接有效的方法。检查数据增强效果如果你打算在训练时启用增强YOLO训练脚本通常内置可以先在数据集上运行一下增强流程输出一些增强后的样本图片及其标注框看看增强是否合理框的变换是否正确。路径与权限检查确保data.yaml文件中的path是绝对路径或相对于训练脚本的正确相对路径。确保Python进程有权限读取所有图片和标签文件。6. 常见问题、排查技巧与避坑指南在构建“石头剪刀布”数据集的过程中我遇到了不少典型问题。这里把它们整理出来希望能帮你省去一些折腾的时间。6.1 标注与格式相关问题1标注时框画得“太松”或“太紧”影响大吗影响很大。框太松会包含过多背景让模型学习到无关特征框太紧会裁掉目标的一部分如指尖导致模型学到的特征不完整。黄金法则框的边缘应恰好接触到目标像素的外缘。在Make Sense AI中放大图片进行微调是必要的。问题2YOLO训练时报错“Labels require 5 columns, found 4”这个错误说明你的某个标签文件格式不对。可能的原因某一行末尾有多余的空格被拆分成了多个部分。使用了Tab制表符而不是空格作为分隔符YOLO要求空格。某一行数据不全缺失了某个值。排查写一个脚本遍历所有TXT文件检查每行的列数。找到出问题的文件后用文本编辑器打开检查并修正。问题3图片和标签文件对应不上怎么办训练时提示“找不到xxx.txt”或“图片加载失败”。首先检查图片和标签的文件名不含后缀是否严格一致例如hand_001.jpg对应hand_001.txt。文件是否放在正确的目录下images/train/vslabels/train/文件路径中是否有中文或特殊字符尽量使用英文、数字和下划线。 可以写一个脚本检查images/train里的每个jpg/png文件在labels/train里是否有同名的txt文件反之亦然。6.2 数据与训练相关问题4训练一开始loss就为NaN非数或者震荡非常大。这通常是数据问题或学习率设置不当。首先检查数据确认标签文件中的归一化坐标值没有异常如负数、大于1。使用前面提供的分析脚本检查。检查图像格式确保所有图片都能被正常解码。有些图片可能损坏可以用PIL.Image.open()尝试打开所有图片捕获异常。学习率过高对于YOLOv11使用官方推荐的初始学习率。如果是从头开始训练而非微调学习率可以设得小一点例如lr00.01具体看模型规模。类别ID错误确认data.yaml中的names列表顺序与标注时使用的class_id完全一致。如果names是[‘rock‘ ’scissors‘ ’paper‘]那么标注时rock必须是0scissors必须是1。不一致会导致模型学习完全混乱。问题5模型在训练集上表现很好但在验证集上精度很低过拟合。这是小数据集最常见的挑战。增强增强再增强增加数据增强的强度和多样性。启用Mosaic、MixUp等高级增强。减少模型复杂度如果使用的是YOLOv11的大型模型如YOLOv11x可以尝试切换到小型模型如YOLOv11n因为小模型参数少更不容易过拟合小数据。添加正则化在训练配置中增加权重衰减weight_decay或使用DropOut层如果模型支持。收集更多数据这是最根本的解决办法。特别是针对验证集中识别错误的那些场景去补充数据。问题6某个类别如scissors的AP平均精度始终很低。检查类别平衡使用分析脚本看scissors的样本数是否远少于其他类。如果是采用5.1.1节提到的类别平衡策略。检查标注质量专门可视化所有scissors的样本看标注框是否准确是否有漏标、错标。分析错误类型在验证集上运行训练好的模型找出所有被误判的scissors图片。是都被误判为rock了还是paper分析这些错误样本的共同特征如光照暗、角度偏、有遮挡然后针对性补充数据或调整增强。6.3 工具与环境相关问题7使用Make Sense AI标注时导出的TXT文件是空的确保你在标注完每张图片后都按了CtrlS进行保存。或者在标注完所有图片后点击页面上的“Export”或“Finish”按钮选择“YOLO”格式然后下载导出的zip包里面会包含所有图片的标签文件。问题8如何在不同的电脑上同步标注进度Make Sense AI的标注数据默认保存在浏览器的本地存储中。换电脑或清空浏览器缓存会丢失。最佳实践是每完成一个批次的标注就立即使用“Export”功能导出该批次的所有标签文件保存到本地项目文件夹中。这样数据就独立于浏览器了。构建一个高质量的数据集是机器学习项目中最耗时、但也最值得投入的环节。对于“石头剪刀布”这个项目遵循上述从设计、采集、标注、增强到验证的完整流程你最终得到的数据集将不仅仅是一堆图片和文本文件而是一个结构清晰、质量可控、可直接驱动YOLOv11模型学习到稳健识别能力的基石。当你看到模型能准确地识别出各种复杂场景下的手势时你会觉得前期在数据上的所有细致工作都是值得的。记住在数据上多花一小时可能比在模型调参上多花一天更有效。本文还有配套的精品资源点击获取
返回列表