Label Studio 标注指南:从基础区域标注到 Outliner 高级工作流
Label Studio 标注指南从基础区域标注到 Outliner 高级工作流【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studioLabel Studio 是一款支持多类型数据标注的开源工具本指南围绕其核心标注工作流展开从创建项目、导入数据之后的实际操作——如何选择任务、绘制区域、管理重叠区域与区域关系到与协作者协作、使用 ML 交互式预标注加速标注再到面向大规模任务的 Outliner 面板高级功能。读完本文你将掌握 Label Studio 标注界面下从点开一个任务到提交一组高质量标注的完整闭环并能依据 快捷键定义 与 Outliner 前端实现 等源码理解其底层机制。在开始标注之前你需要先完成三件事按 setup_project.md 配置项目按 setup.md 搭建标注界面按 tasks.md 导入数据。完成后即可按照本文流程标注数据。开始标注标注任务可能非常复杂例如在同一个数据集和同一个标注任务中同时包含文本、图像和音频数据对象或者在单个任务内为多个标注建立关系。本节覆盖执行复杂标注任务所需的全部基础操作。选择要标注的任务从项目页进入标注有多种方式它们决定了你看到的是哪些任务点击Label All Tasks标注所有任务开始标注全部任务如果希望严格按数据管理器中当前的筛选与排序结果进行标注选择Label Tasks As Displayed按显示顺序标注任务相关筛选/排序操作见 manage_data.md在数据管理器的Quick View快速视图或Preview预览中点击某个任务可以只标注这一个任务但提交标注后不会自动进入队列中的下一个任务勾选多个任务左侧的复选框然后点击Label $n Tasks标注 $n 个任务例如勾选 5 个任务后点击Label 5 Tasks就只会标注这 5 个任务。注意标注时不要同时在两个浏览器标签页中打开标注流即同时点击Label All Tasks。这可能导致你重复收到同一个任务从而绕过项目中关于标注者重叠的相关设置。在数据中标注区域为数据的某一部分添加标注即创建区域region选择要应用到该区域的标签部分标签配置下可以跳过此步点击文本、图像、音频或其他数据对象将标签应用到该区域修改会自动保存点击Submit提交提交完成标注并进入下一个任务。标注重叠区域在使用边界框或其他图像分割任务进行标注或者为 NLP/NER 标注高亮文本时经常需要标注相互重叠的区域。便捷做法是标注完一个区域后先将其隐藏。选择要应用到区域的标签绘制边界框或高亮要标注的文本在Regions区域或Labels标签侧边栏中找到刚标注的区域点击眼睛图标将其隐藏或者按住cmdMac/ctrlWindows/Linux在已有区域之上继续绘制注意此方法不适用于 Keypoints关键点选择要应用到重叠区域的下一标签绘制边界框或高亮文本重复隐藏→标注直到完成整个任务。如需确认最终结果点击Regions旁的眼睛图标可一次性隐藏或显示任务中的所有区域点击Submit提交标注并进入下一个任务。多选区域标注时可以同时选中多个区域对它们执行统一操作创建多个区域后按住ctrl并逐个点击要选择的区域。你既可以在标注对象上选择也可以在Regions侧边栏中选择在侧边栏中按住Shift点击列表中的首尾两项可以连续选择一段区域选中多个区域后可以一次性为它们应用标签或批量删除点击某个已选区域或按下u键可以取消选择。复制区域你可以复制区域快速生成多个尺寸完全相同的多边形、矩形或椭圆选中要复制的区域按ctrl d复制该区域或依次按ctrl c、ctrl v完成复制粘贴。复制出的区域会出现在与原区域完全相同的位置。Mac 键盘请使用cmd代替ctrl切换到箭头工具移动并调整新建区域的大小。该快捷键在源码中有明确映射web/libs/editor/src/core/settings/keymap.json中的region:duplicate定义了ctrldMac 下为commanddregion:delete则映射为backspaceregion:cyclealt.可循环切换区域——所有标注快捷键都可以在该文件中核对或自行定制。修改标签你可以随时更改已有区域的标签在对象上或通过Regions侧边栏选中已标注区域如 span、边界框、图像分割区域、音频区域等选择一个新标签修改会自动保存点击Submit提交标注并进入下一个任务。删除标注区域如需删除边界框、文本 span 等已标注区域在对象上或Regions侧边栏中选中该区域按Backspace键或转到Results结果面板移除选中的标注。删除标注标注完成后如需删除整条标注点击任务上的垃圾桶按钮删除该标注如果标注尚未保存点击X图标重置任务清除本次标注操作。也可以从项目页删除任务上的全部标注见 manage_data.md 中的 Delete tasks or annotations 一节。在标注之间添加关系你可以在两个标注结果之间创建带方向和带标签的关系。要为方向添加标签需要先在标注配置中使用Relations标签详见 relations.md 的标签文档。创建关系的步骤选中一个要与另一标注建立关系的区域如果创建的是方向型关系请先选中作为起点的区域在Results侧边栏的Regions区域中点击形似超链接图标的Create Relation创建关系按钮选中第二个区域完成关系的创建。Figure 1在标注区域之间添加关系建立关系后可以在Results侧边栏的Relations关系区域中修改点击两个关联区域之间的方向按钮可更改关系方向点击两个关联区域旁的垂直省略号按钮为关系方向箭头添加预定义标签——前提是标注配置中包含 relations 标签。Relations标签的用法可参考 relations.md 中的示例通过RelationsRelation valuesimilar /Relation valuedissimilar //Relations定义可用的关系标签并通过choice参数single/multiple默认single控制可选的标签数量。退出标注流程当标注者尚未完成标注工作但需要退出标注流时例如暂停其标注的 lead time领先时间 统计可以点击Submit旁的下拉菜单选择Submit and Exit提交并退出或Update and Exit更新并退出。这会提交当前标注并跳转到项目页。如果标注尚未完成则只需确认草稿已保存在历史面板中然后导航到项目页即可停止 lead time 的计算。相关 JSON 字段说明见 task_format.md。与协作者共同标注在 Label Studio 中你可以与协作者共同标注任务。当某人对任务执行标注时任务会被锁定避免其他标注者意外覆盖其标注。另一位标注者完成后如果项目设置的每个任务最低标注数大于 1该任务会重新出现在你的队列中。默认情况下每个任务只需一名标注者标注一次。如果你使用的是 Label Studio Enterprise并希望多个标注者标注同一任务需在 setup_project.md 中更新项目设置。提高每个任务的最低标注数后标注者即可使用Label Stream标注流工作流标注任务。如果最低标注数设置为 1但你仍想多次标注任务可以这样做在项目数据管理器中点击某个任务打开快速标注视图点击任务标注 ID 旁的图标打开一个新的标注页签完成标注点击Submit保存标注在数据管理器中点击下一个任务打开其快速标注视图重复第 2–4 步。使用交互式预标注进行 ML 辅助标注如果已配置机器学习后端并启用了 交互式预标注你可以在标注时决定是否使用这些预测开始标注后开启Auto-Annotation自动标注即可看到智能选项——为图形、掩码或关键点分配标签。使用智能选项在图像上绘制、或标注文本/HTML span 后ML 后端会返回预测结果对图像标注开启自动标注后还可选择是否Auto accept annotation suggestions自动接受标注建议。选择自动接受时建议区域会自动出现并立即创建不自动接受时区域会显示出来但你可以逐个或一次性手动拒绝/批准它们。预测的文本区域会被自动接受。从前端实现看这两个开关对应web/libs/editor/src/components/AnnotationTab/目录下的DynamicPreannotationsToggle.jsx自动标注开关与AutoAcceptToggle.jsx自动接受建议开关其状态由标注页的 AppStore.js 统一管理并经由web/libs/editor/src/ml-interactive/下的交互式预标注控制器与 ML 后端通信。自定义标注界面点击标注界面中的设置图标可调整标注界面以适配你的标注场景。例如创建区域后保持标签选中状态便于连续标注同类区域在边界框、多边形等区域上显示标签文本为文本标注显示行号。Figure 2自定义标注界面你还可以修改屏幕布局隐藏或显示预测、标注、结果面板以及隐藏或显示各类控件与按钮。高级图像标注以下示例与指南面向需要执行高级图像标注的场景。向图像标注添加多种类型的区域图像标注可以添加矩形、椭圆、关键点、多边形、笔刷掩码等区域类型。以下自定义标注界面模板可同时启用上述全部工具View Image nameimage value$image / Rectangle namerect toNameimage / Ellipse nameellipse toNameimage / KeyPoint namekp toNameimage / Polygon namepolygon toNameimage / Brush namebrush toNameimage / Choices namechoices toNameimage Choice valueyes/Choice Choice valueno/Choice /Choices Labels namelabels toNameimage fillOpacity0.5 strokeWidth5 Label valuebuilding backgroundgreen/Label Label valuevehicle backgroundblue/Label /Labels /View该示例为标注者提供了矩形、椭圆、多边形、关键点、笔刷掩码五种区域工具以及 yes/no 图像分类选择和 building/vehicle 两种区域标签。仓库的 computer-vision 标注模板目录 下还内置了目标检测、语义分割、关键点、OCR 等可直接导入的成品模板可作为自定义模板的参考起点。更快的图像标注只需两次点击即可为图像添加矩形或椭圆双击即可创建多边形、矩形或椭圆创建多边形时误点了某个点双击即可移除该错误点并继续创建区域多边形上至少保留 3 个点才能移除点。创建不带标签的区域标注图像时可以先创建区域、暂不应用标签使用上文 添加多种类型区域 中的示例创建自定义模板在标注工具栏中选择要使用的工具只需在第一个任务中选择一次通过双击、拖拽创建边界框或点击多个点构建多边形在侧边栏或图像上选中刚创建的区域选择要应用到此区域的标签对需要创建的其他区域重复以上步骤。这种两阶段标注方式非常适合流水线协作一名标注者只负责创建区域另一名标注者负责给区域打标签。擦除笔刷掩码标签使用笔刷掩码标注出错时可以直接擦除。必须先选中侧边栏中的某个笔刷区域才能擦除该区域的一部分。如果希望完全移除区域并重新开始请删除区域而不是擦除——擦除并不会删除该区域。Outliner面向大规模标注任务的区域管理面板Outliner是现有标注界面的升级替代方案采用多面板设计。它通过Outliner与Details两个面板在一屏内展示更多信息并在处理区域时提供更多操作选项例如Details 面板的自定义控件目前仅图像分割类标注支持。面板能力总览Outliner 是查看标注、区域与标注历史全部细节的区域分为Outliner与Details两个面板。Figure 3Outliner 与 Details 双面板视图提示处理较大的标注任务如单张图像中大量边界框、较长视频等时推荐使用 Outliner。从源码看Outliner 面板的前端实现位于web/libs/editor/src/components/SidePanels/OutlinerPanel/OutlinerPanel.tsx负责面板容器与分组/排序状态管理OutlinerTree.tsx负责区域树的渲染ViewControls.tsx提供分组与排序的下拉控件。面板分组选项在源码中被定义为manual | label | type三类排序选项为score | date | mediaStartTimemediaStartTime仅在标签配置为 audio、video、timeline、time series 等可定位到媒体时间轴的类型时可用见 ViewControls.tsx。面板操作折叠、移动、停靠与拖放两个面板都可以折叠、移动、互换左右位置、拖放、调整大小并可展开为全屏视图。例如在标注流label stream模式下这样能获得更大的工作空间。点击Collapse details折叠详情按钮可折叠 Details 面板使用屏幕剩余空间折叠后点击Expand Details展开详情图标可重新展开点击Collapse outliner折叠 Outliner图标可折叠 Outliner 面板点击Expand Outliner图标可展开两个面板都是可停靠/可分离的可以拖放到屏幕上任意位置并自由调整大小。区域编辑器区域编辑聚焦标注本身你可以缩放并对每个区域属性的数值与尺寸进行精确控制。图像区域的宽高、旋转等属性可通过Details面板中的输入框直接修改。折叠所有面板后可获得最大工作区。预期在后续版本中视频分割将支持控制关键帧、动画与自定义元数据。在 OCR 转录模板中绘制矩形后Outliner面板会出现文本输入框用于录入 OCR 文本。选中区域后Details面板会同步变化你可以查看与 OCR 案例绑定的文本控制矩形坐标旋转、移动、缩放锁定区域防止移动隐藏/锁定区域使用移动工具防止区域被移动隐藏或显示选中区域。企业版用户可在 Outliner 内使用Comments评论输入框。区域分组与排序通过下拉列表可以对区域进行分组或排序Group Manually手动分组手动拖放分组。选中此选项后可以将区域拖入其他区域内部形成树状结构并分组Group by Tool按工具分组按生成区域的工具矩形、多边形等分组适合使用包含全部工具的模板标注时按工具维度管理区域Group by Label按标签分组绘制区域后会看到可展开的文本标签按标签归组。警告Group by Label与Group by Tool在多图像场景或多标签类型场景下不生效该模式下仅Group Manually可用。排序方面你可以选择Order by Score按分数排序或Order by Time按时间排序前端还支持按媒体时间轴排序见上文源码说明。分组与排序状态由OutlinerPanel.tsx中的regions.setGrouping(...)/regions.setSort(...)驱动并会通过labelingTelemetry上报分组/排序事件。区域预测指示Outliner 会明确标识某个区域是否由 ML 模型创建便于标注者区分机器预测与人工标注。关系列表区域之间的关系列表通常用于 NLP 类型文本。例如城市名作为区域 1、区县名作为区域 2在关系列表的层级中可将区域 2 挂到区域 1 之下。关系列表可以是单向或双向的也可以将一个区域吸附snap到另一个区域。注意关系列表不支持区域的多层级展示。在已有边界框之上绘制边界框重要为图像创建边界框标注时不要在另一个边界框内部开始绘制——这样会直接拖动第一个框。选中矩形工具时在已有框之上重新绘制会创建位于上层的新边界框。在已有框之上叠加边界框有两种方式按下矩形工具快捷键R该选项并非始终可见先标注一个边界框再在其内部标注另一个边界框——之后即可在不选中矩形工具的状态下拖动它们选中矩形工具时即使位于其他矩形之上也能继续创建矩形。或者按住CTRL键在已有边界框之上开始绘制新的边界框。Label Studio 如何保存标注结果标注任务时创建的每条标注annotation都包含Regions区域与Results结果两部分Regions指数据中被选中的部分——文本 span、图像区域、音频片段或其他实体Results指分配给该区域的标签。每个区域在每条标注内都有一个唯一 ID由字符A-Za-z0-9_-组成的字符串表示每条结果的 ID 与其对应的区域 ID 相同。当一条预测prediction被用来生成标注时结果 ID 会保持与预测一致这让你可以追踪由 ML 模型生成的区域并将其与人工创建、复核过的标注直接对比。相关 JSON 字段的完整定义可参见 task_format.md而结果数据在任务模型中的持久化逻辑可进一步查看 tasks/models.py。进一步阅读项目设置setup_project.md标注界面配置setup.md数据导入tasks.md数据筛选与排序、任务/标注删除manage_data.mdML 后端与交互式预标注ml.mdRelations 标签tags/relations.md任务 JSON 格式与 lead timetask_format.md前端快捷键定义web/libs/editor/src/core/settings/keymap.jsonOutliner 面板实现web/libs/editor/src/components/SidePanels/OutlinerPanel/【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →