Label Studio 图像椭圆标注实战:image_ellipses 示例的 EllipseLabels 配置、预标注与结果格式解析

发布时间:2026/9/13 13:47:41

Label Studio 图像椭圆标注实战:image_ellipses 示例的 EllipseLabels 配置、预标注与结果格式解析 Label Studio 图像椭圆标注实战:image_ellipses 示例的 EllipseLabels 配置、预标注与结果格式解析【免费下载链接】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 的EllipseLabels标签用于在图像上绘制带类别标签的椭圆边界框,常用于行星、细胞、圆形 UI 元素等非矩形目标的分段标注。本文基于仓库内官方示例 image_ellipses 及其说明文档 START.md,完整讲解椭圆标注环境的安装、服务启动命令、Label 配置 XML、任务数据与预标注结构,并结合编辑器源码剖析椭圆区域(EllipseRegion)的几何字段与最小尺寸校验逻辑,帮助你在项目中直接复用这套椭圆标注方案。示例文件结构与角色image_ellipses示例位于编辑器源码的 examples 目录下,目录结构如下:文件作用START.md安装与启动指南(本文主体)config.xmlLabel 配置:Image EllipseLabels Choicestasks.json标注任务数据,含模型预标注annotations/1.json已完成标注的示例结果index.js将 config/tasks/annotation 统一导出为ImageEllipselabels对象index.js 的导出方式说明该示例可直接被 Playground 或 Storybook 类宿主引用:import config from ./config.xml; import tasks from ./tasks.json; import annotation from ./annotations/1.json; export const ImageEllipselabels { config, tasks, annotation };这种「一个目录 一个可运行标注场景」的组织方式在 examples 目录下贯穿image_bbox、image_polygons、image_keypoints等所有图像示例,是快速上手各类标注任务的官方模板。环境安装(Linux / Ubuntu)START.md 给出的安装步骤基于 Python 3.6 virtualenv 的独立环境:# install python and virtualenv apt install python3.6 pip3 install virtualenv # setup python virtual environment virtualenv -p python3 env3 source env3/bin/activate # install requirements cd backend pip install -r requirements.txt需要注意版本演进带来的路径差异:文档中cd backend对应的是早期仓库布局。在当前仓库中,Label Studio 服务端代码已收敛到 label_studio/ 包,依赖管理改用 pyproject.toml 与uv.lock,因此在新克隆的仓库中按 安装文档 的流程配置环境即可;上述 START.md 步骤仍可作为「用 virtualenv 隔离环境、按 requirements 安装依赖」这一方法论的参考。启动标注服务:server.py 参数解析文档给出的启动命令:python server.py -c config.json -l ../examples/image_ellipses/config.xml -i ../examples/image_ellipses/tasks.json -o output参数含义:-c config.json:服务端本地配置(数据库、认证等);-l:指定 Label 配置文件路径;-i:导入任务文件(JSON);-o:标注输出目录。两点实操提示:路径需按当前仓库结构调整。示例中的../examples/image_ellipses/...是旧布局下的相对路径;当前仓库中该示例实际位于 web/libs/editor/src/examples/image_ellipses/,启动时应把-l与-i指向这两个文件的真实位置,例如config.xml与tasks.json的当前完整路径分别为web/libs/editor/src/examples/image_ellipses/config.xml和web/libs/editor/src/examples/image_ellipses/tasks.json。命令行参数由 label_studio/core/argparser.py 中的parse_input_args解析,服务端入口为 label_studio/server.py,可用于核对参数的完整取值。标注配置:config.xml 逐项解读示例的完整 Label 配置:View Image nameimg value$image/Image EllipseLabels nametag toNameimg fillOpacity0.5 strokeWidth3 Label valuePlanet backgroundyellow/Label Label valueMoonwalker backgroundred/Label /EllipseLabels Choices namechoice toNameimg Choice valueSpace / Choice valueUnderground / /Choices /ViewImage nameimg value$image:图像对象标签,value绑定任务data字段中的$image;它是所有区域控件的标注目标(toNameimg)。EllipseLabels:带类别的椭圆控件。fillOpacity0.5控制椭圆填充透明度,strokeWidth3控制描边宽度;两个子Label定义类别Planet(黄色背景)与Moonwalker(红色背景),background仅影响编辑器 UI 中类别的视觉颜色。Choices:与椭圆并行的图像级单选(如场景为Space/Underground),演示了「区域标注 全局属性标注」组合的场景。从源码结构看,椭圆控件的完整属性定义在 web/libs/editor/src/tags/control/Ellipse.js 的TagAttrs中,包含opacity(默认0.2)、fillColor/strokeColor(默认#f48a42)、strokeWidth(默认1)、canRotate(默认true,控制是否显示旋转手柄)以及smart/smartOnly(智能预标注工具开关)。官方属性参考还可对照 ellipse 标签文档 与 ellipselabels 标签文档。任务数据与模型预标注tasks.json 包含 3 个任务,每个任务的data.image指向一张示例图片。第一个任务额外携带predictions数组,展示模型预标注(Active Learning)的标准结构:{ model_version: model 1, created_ago: 3 hours, result: [ { from_name: tag, to_name: img, type: ellipselabels, value: { x: 50.4, y: 50.763073639274279, ellipselabels: [Planet], rotation: 0, radiusY: 10.672358591248665, radiusX: 13.333333333333334 } } ] }关键约定:type固定为ellipselabels,与 tools/Ellipse.js 中声明的stateTypes一致;from_name/to_name必须与 config.xml 中EllipseLabels nametag和Image nameimg对应,编辑器据此把预标注挂载到正确的控件上;value使用相对坐标(0~100 的百分比体系),而非像素值,因此该预标注在不同分辨率的图片上均可复用。标注结果格式:annotations/1.jsonannotations/1.json 展示了一条完整的人工标注,result数组中有两条记录:{ result: [ { from_name: tag, to_name: img, type: ellipselabels, value: { x: 50.4, y: 50.763073639274279, ellipselabels: [Planet], rotation: 0, radiusY: 10.672358591248665, radiusX: 13.333333333333334 } }, { from_name: choice, type: choices, value: { choices: [Space] } } ] }各几何字段的含义:字段含义x/y椭圆中心点在图像上的百分比坐标radiusX/radiusY沿 X/Y 方向的半轴长(百分比)rotation椭圆旋转角(度)ellipselabels命中的类别值数组注意椭圆区域以「中心 双半径 旋转」表达,与image_bbox示例中「左上角 宽/高」的矩形表达不同——这也是椭圆更适合描述行星、瞳孔、圆形徽标等目标的几何原因。源码实现:Ellipse 工具的绘制与校验逻辑椭圆标注的交互行为由 web/libs/editor/src/tools/Ellipse.js 定义,几个可验证的实现细节:工具注册与快捷键:模型名为EllipseTool,group: segmentation,shortcut: tool:ellipse,即编辑器工具栏中可切换为椭圆工具,快捷键组为tool:ellipse。两点式绘制:工具由types.compose组合了BaseTool、ToolMixin与TwoPointsDrawingTool(见 Ellipse.js 组合),说明用户通过拖拽两个对角点定义椭圆的外接矩形,编辑器再换算出中心与双半径。最小尺寸校验:beforeCommitDrawing 要求radiusX MIN_SIZE.X radiusY MIN_SIZE.Y才允许提交区域,即过小的拖拽不会生成无效标注。区域字段一致性:createRegionOptions 新建区域时初始化为x, y, radiusX: 1, radiusY: 1,与annotations/1.json中的结果字段完全对应。椭圆区域的渲染与交互层在 web/libs/editor/src/regions/EllipseRegion.jsx,并有配套单元测试 EllipseRegion.test.jsx 可查证行为边界;Ellipse与EllipseLabels两个标签均在 tags/control 目录中通过Registry.addTag注册进编辑器。小结与复用要点复现本示例的最小闭环:准备一张图片 URL → 按 config.xml 编写Image EllipseLabels配置 → 按 tasks.json 组装任务 → 用server.py -l config -i tasks启动服务;椭圆结果的标准化输出字段为x / y / radiusX / radiusY / rotation / ellipselabels,下游训练数据管道应按该契约解析;预标注通过predictions[].result注入,字段名必须与控件name一一对应;文档中的安装与启动路径属于早期仓库布局,落地到当前仓库时请按上文「启动标注服务」一节把路径映射到 web/libs/editor/src/examples/image_ellipses/ 的真实位置。【免费下载链接】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),仅供参考
延伸阅读

更多相关文章

2026/9/13 13:42:41

YOLOv7+Transformer多任务检测与分割:C++部署与掩码优化实践

简介:面向计算机、电子信息工程、数学等专业学生,这份基于YOLOv7的Transformer变体改进项目,将检测与分割多任务能力集于一体,可作为课程设计、期末大作业或毕业设计的参考资料。包内共有184个文件,以Python源码&#…

2026/9/13 13:42:41

等差数列判断算法与Python实现详解

1. 等差数列的基本概念与判断标准等差数列是数学中最基础也最重要的数列类型之一。简单来说,等差数列是指从第二项开始,每一项与前一项的差都是同一个常数的数列。这个常数我们称之为"公差",记作d。用数学表达式可以表示为&#xf…

2026/9/13 13:42:41

循环队列的front与rear初始值:从2009年408真题看指针语义

2009年1月,408计算机学科专业基础综合迎来全国统考的第一年。那一年的数据结构选择题里,有一道关于循环队列的题目,题目本身不到五十个字,却让不少考生在考后对答案时犯了难——四个选项看起来都像是某个合理设定下的正确答案。这…

2026/9/13 14:42:44

LKY Office Tools 完整指南:五步跑通 Office 下载、安装、激活

LKY Office Tools 完整指南:五步跑通 Office 下载、安装、激活 【免费下载链接】LKY_OfficeTools 一键自动化 下载、安装、激活 Office 的利器。 项目地址: https://gitcode.com/GitHub_Trending/lk/LKY_OfficeTools 系统刚装完,打开 Word 发现没…

2026/9/13 14:42:44

从SEO到GEO:AI搜索时代的数据采集与分析系统搭建实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 14:42:44

学术写作困境解析:从形式主义到清晰表达

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 14:42:44

全波形反演中的截断牛顿法:原理、调试与调参实践

简介:一份面向地球物理全波形反演与优化算法研究者的示例工程,演示如何在SEISCOPE优化工具箱中调用截断牛顿(Truncated Newton)算法进行波形反演计算。程序实现对应Metivier等人2013年发表在SIAM Journal on Scientific Computing…

2026/9/13 14:42:44

嵌入式I²C与SPI全链路调试能力图谱:从协议到示波器

1. 这不是“背八股”,而是嵌入式工程师的实战能力体检表“2025-2026年嵌入式开发面试高频知识点洞察”——这个标题乍看像一份应试清单,但在我带过37个校招/社招嵌入式岗候选人、参与过21场技术终面之后,我越来越确信:它本质是一张…

2026/9/13 14:37:44

SpringBoot模板引擎原理与Thymeleaf实战避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/13 0:01:16

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/13 11:18:28

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码