此甘特图展示了一个典型的从开始到完成的YOLO标注任务工作流。它区分了用户手动操作和工具自动处理两个不同的执行角色。
gantt
dateFormat YYYY-MM-DD
title YOLO标注工具开发与工作流程
section 项目初始化模块
创建新项目功能 :done, init1, 2024-01-01, 3d
图像批量导入功能 :done, init2, after init1, 2d
类别标签管理功能 :done, init3, after init2, 2d
section 核心标注功能
图像浏览界面开发 :active, core1, 2024-01-08, 4d
边界框绘制工具开发 :crit, active, core2, after core1, 5d
标签分类选择功能 :crit, core3, after core2, 3d
标注编辑与调整功能 : core4, after core3, 4d
section 高级功能
AI工具预标注功能 :crit, adv1, 2024-01-20, 7d
标注质量验证工具 : adv2, after adv1, 5d
批量处理功能 : adv3, after adv2, 4d
section 输出与集成
YOLO格式导出功能 :crit, exp1, 2024-02-05, 4d
数据集划分功能 : exp2, after exp1, 2d
训练管道集成接口 : exp3, after exp2, 3d
section 测试与优化
单元测试 : test1, 2024-02-14, 5d
性能优化 : test2, after test1, 4d
用户验收测试 : test3, after test2, 3d
*(注:AI工具预标注是一个可选功能,其执行时间与用户标注过程高度重叠,旨在减少用户的总手动操作时间。)*
各阶段详细工作原理说明
-
图像导入与项目管理(用户)
- 工作:用户启动工具,创建一个新项目或打开已有项目。将需要标注的图像或视频批量导入到工具中。工具会生成一个项目文件来记录图像路径列表和类别列表。
- 输出:加载到工作区的图像列表。
-
初始化与UI渲染(工具)
- 工作:工具启动图形用户界面,读取图像文件并将其缩略图显示在侧边栏列表中。主画布区域等待用户交互。
-
遍历图像与目标定位(用户)
- 工作:用户从图像列表中按顺序选择一张图像。在主画布上显示该图像后,用户仔细观察图像,识别出所有需要标注的目标物体的大致位置。
- 输出:用户脑海中形成所有待标注目标的初步位置信息。
-
绘制边界框与标签分类(用户) & 提供绘图工具功能(工具)
- 这是一个高度交互的人机协作过程:
- 用户操作:对于识别出的每个目标,用户用鼠标点击并拖拽来绘制一个紧密包围目标的矩形框(Bounding Box)。绘制完成后,从预定义的类别列表中选择正确的标签(如“person”, “car”, “dog”)。
- 工具工具:工具实时响应鼠标事件,绘制矩形框的视觉反馈。它通常还提供工具功能,如:
- 网格对齐:使框线更容易对齐到边缘。
- 快捷键:用于快速选择类别、确认、删除等,极大提升效率。
- 框调整手柄:允许用户轻松调整已绘制框的大小和位置。
-
(可选)AI工具预标注(工具)
- 工作:一些先进的标注工具集成或允许加载预训练的YOLO或其他模型。工具会自动对当前图像进行推理,并预先画出它认为的目标边界框和标签。
- 价值:用户无需从零开始绘制,只需对AI生成的框进行审核、微调(调整框位置/大小)和修正(修改错误标签) 即可。这可以节省高达50%-70%的标注时间。
-
生成YOLO格式文本文件(工具)
- 工作:每当用户完成一张图片的标注(或进行保存操作时),工具会自动在后台生成一个与图像同名的
.txt标注文件。
- YOLO格式详解:该文件每一行代表图像中的一个物体,格式为:
<object-class> <center-x> <center-y> <width> <height>
其中坐标和宽高都是相对于图像总宽度和总高度进行归一化后的值(0-1之间)。例如:
0 0.5 0.5 0.2 0.3 表示一个类别ID为0的物体,位于图像正中央,宽度和高度分别是原图的20%和30%。
-
审核与修正标注(用户)
- 工作:完成一批图像的标注后,用户通常需要回过头来检查标注的质量,确保没有漏标、错标,并且所有边界框都足够精确。这是保证未来模型性能的关键质量保证步骤。
-
导出数据集与版本管理(用户)
- 工作:所有图像标注完成后,用户使用工具的“导出”功能。工具会将所有图像的路径、对应的标注文件路径以及类别列表打包成一个或多个数据集配置文件(如
train.txt, val.txt, data.yaml),方便直接用于YOLO模型的训练。
- 最佳实践:好的工具和工作流会包含版本管理,允许导出不同版本的数据集,以迭代改进模型。
这个甘特图和说明清晰地勾勒出了YOLO标注工具从输入到输出的核心工作流程和内部机制。
|