
Label Studio 术语全解析数据集、标注结果、界面与模型协同的核心概念指南【免费下载链接】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 是一套支持图像、文本、音频、视频等多类型数据的标注工具其官方术语表docs/source/guide/glossary.md定义了贯穿整个产品使用过程的核心概念从导入的Dataset、Record到可标注的Task从标注产物Annotation、Result、Region到机器学习侧协同的Prediction / Pre-annotation。本文以这份术语表为骨架逐条展开释义并结合仓库源码label_studio/tasks/models.py、任务 JSON 格式 与 结果格式说明 做纵深印证帮助你建立一套准确、可对照源码验证的术语心智模型从而顺畅阅读官方文档、调用 API 与编写标注配置。术语背后的数据流全景在展开每个术语之前先看一条贯穿 Label Studio 全流程的主线它可以概括为Dataset数据集→ Record记录→ Task任务→ Annotation标注/ Prediction预测→ Result结果→ Region区域 Labels标签数据被导入后构成数据集其中的每个条目成为待标注的任务标注者或机器学习模型对任务中某个区域施加标签形成一条条标注结果多条结果汇聚为一次标注Annotation或一条预测Prediction。理解这条主线下面所有术语就都有了明确的定位。数据侧Dataset、Record 与 TaskDataset数据集Dataset指导入到 Label Studio 中的数据集合由一个个独立的条目即标注任务组成。你可以通过 CSV、TSV、JSON、压缩包等多种格式上传数据详见 数据管理指南导入后的数据会按项目组织构成该项目的任务池。Record记录Record即数据集中的单个条目是数据的最小逻辑单元。它与 Task 的区别在于Record 强调“数据视角”——它是你导入的原始条目而 Task 强调“工作视角”——它是等待被标注、已被预标注或已完成标注的独立工作单元。Task任务Task是 Label Studio 中最核心的实体。当你向项目上传数据时数据集中的每个条目都会成为一个标注任务。一个任务可以是一段文本片段、一张图片、一个视频片段、一段音频或一条时间序列。从源码看任务在数据库中的对应模型是Tasklabel_studio/tasks/models.py#L52-L120其关键字段印证了术语表中的定义字段含义取自源码 help_textdataJSONField用户导入/上传的任务数据格式需符合项目的标注配置metaJSONField用户导入的附加元数据可作为 ML Backend 训练/预测的输入如 embedding、向量等project外键该任务所属的项目is_labeledBoolean当任务的有效标注数 ≥ 项目设置的maximum_completions时置为 Trueallow_skipBoolean该任务是否允许被跳过设为 False 则任务不可跳过overlapInteger默认 1处理过该任务的不同标注者数量updated_by外键最后更新该任务的标注者或审核者一个任务的原始 JSON 结构大致如下完整示例见 任务格式文档{ id: 1, project: 83, data: { image: https://example.com/opensource/label-studio/1.jpg }, annotations: [ ... ], predictions: [ ... ] }其中data字段就是导入数据的本体annotations数组存放人工标注结果predictions数组存放模型预测结果。标注结果侧Annotation、Result、Region、Labels 与 Bounding BoxAnnotation标注Annotation是一次标注任务的输出产物。术语表特别指出它此前被称为 completions且 annotations 与 labels 这两个词在日常使用中经常混用。源码为此提供了直接证据Annotation模型对应的数据库表名仍是task_completionlabel_studio/tasks/models.py#L779正是历史命名 completion 的遗留。Annotation模型label_studio/tasks/models.py#L665-L846的主要字段如下字段含义resultJSONField标注工作的核心产物——以 JSON 格式存储的标注结果数组task/project外键对应的任务与项目completed_by外键创建该标注的用户updated_by为最后修改的用户was_cancelledBoolean用户是否跳过了该任务被取消/跳过的标注不计入有效标注ground_truthBoolean该标注是否为 Ground Truth基准真值lead_timeFloat完成该标注所花费的秒数result_countInteger标注内结果region数量计数parent_prediction外键指向该标注由哪条预测创建而来便于追踪模型产物的标注演化import_idBigInteger导入时的原始标注 ID用于标注导入场景在 数据管理器统计逻辑 中was_cancelledFalse的标注才会被计入有效标注数这印证了“被取消的标注不算数”的实际行为。Result结果Result是指存储在标注Annotation或预测Prediction中的、施加于某个具体区域的一条标签结果。术语表将它与 Label Studio JSON 格式文档 关联起来。一次标注包含多个 Result每个 Result 是一个 JSON 对象典型结构如下示例见 结果格式说明{ from_name: tag, id: Dx_aB91ISN, source: $image, to_name: img, type: rectanglelabels, value: { height: 10.46, rectanglelabels: [Moonwalker], rotation: 0, width: 12.4, x: 50.8, y: 5.87 } }各字段含义id该结果区域的唯一标识由字符A-Za-z0-9_-构成。同一区域的多个结果共享同一个id用于将不同控制标签的结果关联在一起例如通过Relation建立关系或使用perRegion条件标注。from_name产生该区域的控制标签名称如RectangleLabels。to_name提供数据源的对象标签名称如Image。type所用标签的类型如rectanglelabels、textarea、relation等。value标签特有的标注值其结构随标签类型而变化详见 标签文档。parentID可选父区域的result.id引用用于在 Region 面板中把区域组织成层级树。Region区域Region是任务中被识别出来用于标注的部分。对于文本区域可能是一段文本片段或字段对于图像区域可能是一个边界框、多边形或关键点区域通常会被赋予一个标签。一个区域可以对应多条 Result。例如在 per-region 条件标注中同一个区域既有必需的矩形标注结果又有可选的区域级文本结果它们共享相同的id[ { id: X_12fGk, from_name: product, to_name: image, type: rectanglelabels, value: { labels: [Some label] } }, { id: X_12fGk, from_name: name, to_name: image, type: textarea, value: { text: [Roasted beans] } } ]结果格式的推导遵循几条原则见 docs/source/includes/result_format.md标注配置中至少要有 1 个对象标签对象标签决定数据类型image、html、video 等至少 1 个控制标签需挂载到对象标签上以创建区域每个控制标签为一个区域产生 1 条结果同一区域的结果共享同一个id。Labels标签与 Bounding Box边界框Labels标签是标注者在标注任务时添加到每个区域上的标记如 Car、Moonwalker对应Label子标签定义。Bounding Box边界框是图像中的一种区域形态即标注者框出的矩形范围。在 预标注导入文档 中明确要求图像标注的x、y、width、height必须以相对于整张图像尺寸的百分比形式提供这是构造或转换标注数据时必须注意的单位约定。Relation关系Relation指两个已标注区域之间被定义的关系。例如在目标检测任务中可以画一条关系箭头把车与人关联起来。在结果 JSON 中关系本身也是一条type: relation的结果通过from_id、to_id引用两端区域的id并带方向信息[ { id: oid66, type: rectanglelabels }, { id: RQbW3Sj_Zr, type: rectanglelabels }, { type: relation, to_id: RQbW3Sj_Zr, from_id: oid66, direction: right } ]界面侧Labeling Configuration、Label Stream 与 Quick ViewLabeling Configuration标注配置Labeling Configuration决定标注者和审核者在标注界面中看到的内容在项目设置中配置。它由两类标签构成对象标签Object Tags如Image、Text、Audio定义数据源和控制标签Control Tags如RectangleLabels、Choices、TextArea定义标注动作。配置的完整说明见 项目设置文档 与 标签文档。Label Stream标注流Label Stream指在数据管理器Data Manager中点击Label All Tasks后进入的连续标注工作流。在标注流中标注者按队列逐个标注任务并可使用快捷键快速切换与提交这是与单条查看相对的高效批量标注模式。Quick View快速查看Quick View指在数据管理器中点击某个任务条目打开它时的查看方式区别于标注流中的查看。快速查看通常用于快速浏览任务内容与已有标注而不必进入完整标注队列。模型侧Predictions 与 Pre-annotationsPredictions预测也称Pre-annotations预标注是机器学习模型为未标注数据集生成的、采用 Label Studio 格式的标注结果。它们既可以由接入的 ML Backend 在线生成也可以随数据一起离线导入导入后会自动显示在标注页面上供人工审阅与修正详见 导入预标注指南。在源码中预测对应Prediction模型label_studio/tasks/models.py#L1051-L1120其字段与术语表描述高度吻合字段含义resultJSONField预测结果结构与标注结果一致scoreFloat预测的总体得分基于概率输出、置信度或其他指标model_versionText产生该预测的模型版本字符串在线模型与离线预测导入均使用model外键指向 MLBackend创建该预测的 ML Backend 实例clusterInteger当前预测所属聚类编号neighborsJSONField最近邻任务 ID 数组mislabelingFloat相关任务的误标注得分值得注意的源码细节在 tasks/api.py 中预测结果被用于创建标注时parent_prediction外键可以追踪哪些区域由模型生成从而与人工标注直接对比。此外导入预标注的 JSON 必须同时包含data对象引用数据源与predictions数组包含各类型标注结果且格式需与项目标注配置严格匹配。构建块Tags 与 TemplatesTags标签Tags是用于定制标注界面的配置选项即标注配置中的 XML 元素。它们分为对象标签Object Tags定义数据来源与展示方式和控制标签Control Tags定义标注工具与结果格式。每个标签都有独立文档页包含属性说明与结果 JSON 示例见 标签文档。仓库中还内置了 51 个可直接参考的 XML 配置示例label_studio/core/examples。Templates模板Templates是可复用的示例标注配置用于快速指定你针对数据集要执行的标注类型图像分类、目标检测、NLP 命名实体识别、音频转录、时间序列等。官方模板文档见 docs/source/templates仓库内的完整模板集位于 label_studio/annotation_templates其中按应用领域computer-vision、natural-language-processing、time-series-analysis、conversational-ai 等组织每个模板都包含对应的.xml标注配置与.yml元数据并附有 README 说明。易混淆概念辨析易混组合区别要点Annotations vs LabelsAnnotation 是一次完整的标注输出可含多个 ResultLabel 是施加在单个区域上的具体类别标记。日常语境中两者常被混用但数据结构上层级不同。Task vs Annotation vs PredictionTask 是待标注的数据单元Annotation 是人类对 Task 的标注产物Prediction 是模型对 Task 的预测产物。三者通过外键关联Prediction可通过parent_prediction追踪到由此生成的Annotation。Region vs ResultRegion 是任务中被标注的部分这一概念实体Result 是存储该区域标注信息的 JSON 记录。同一区域可以对应多条 Result如框选结果 区域文本结果它们共享同一个result.id。Label Stream vs Quick View两者都是数据管理器中的查看方式Label Stream 是批量连续标注工作流Quick View 是单条任务快速查看二者打开任务的交互路径不同。Prediction vs Pre-annotation二者在 Label Studio 语境中指同一类数据模型产出的、以 Label Studio 格式表达的标注结果。Pre-annotation 强调其预标注、待人工确认的用途。完整术语速查表以下为官方术语表docs/source/guide/glossary.md的完整内容TermDescriptionAnnotationsThe output of a labeling task. Previously called completions. The terms annotations and labels are frequently used interchangeably.Bounding boxRegion within an image.DatasetWhat you import into Label Studio, comprised of individual items, or labeling tasks.LabelsWhat you add to each region while labeling a task in Label Studio.Label streamWhen you clickLabel All Tasksfrom the Data Manager, you are working within the label stream.Labeling configurationThe labeling configuration determines what annotators and reviewers will see. It is configured in the project settings.Predictions, Pre-annotationsAnnotations in Label Studio format that machine learning models create for an unlabeled dataset. See import pre-annotations.RelationA defined relationship between two labeled regions.ResultA label applied to a specific region as stored in an annotation or prediction. See Label Studio JSON format of annotated tasks.Quick viewThe quick view is what you see when you click an individual item in the Data Manager to open it (different than viewing it in the label stream).RecordItem in a dataset.RegionThe portion of the task identified for labeling. For example, when working with text, this might be a specific span of text or field. For images, an example region is a bounding box. For text, an example region is a span of text. Often has a label assigned to it.TaskWhen you upload data to Label Studio, each item in the dataset becomes a labelingtask. A task is a distinct item from a dataset that is ready to be labeled, pre-annotated, or has already been annotated. For example: a text snippet, an image, or a video clip.TagsConfiguration options to customize the labeling interface. See more about tags.TemplatesExample labeling configurations that you can use to specify the type of labeling that youre performing with your dataset. See all available templates.延伸阅读掌握了上述术语后可以继续深入以下仓库资源将概念落实到实际使用任务格式详解 与 结果格式详解JSON 字段级别的完整说明与多场景示例per-region、多标签、关系导入预标注指南图像 bbox、文本 NER、OCR、分割掩码等预标注的具体 JSON 格式导出与 JSON 格式标注数据的导出结构与快照 API核心数据模型源码label_studio/tasks/models.pyTask / Annotation / Prediction 三类实体的完整字段定义标注配置示例label_studio/core/examples 与 label_studio/annotation_templates。【免费下载链接】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),仅供参考