Label Studio 数据标注平台:从安装到 COCO 导出的完整上手指南
【免费下载链接】label-studioLabel Studio is a multi-type data labeling and annotation tool with standardized output format项目地址: https://gitcode.com/GitHub_Trending/la/label-studio
Label Studio 是一个开源的多模态数据标注平台:图片、文本、音频、视频和时间序列在同一个浏览器界面里完成任务化标注,结果可以按 COCO、YOLO、JSON、CSV 等标准格式导出,直接对接训练流程。下文按安装、配置、标注、导出走一条主线,读完你就知道怎么把一份原始数据变成可用的训练集。
先说场景:几百条录音,Excel 标不动了
假设你的团队要训练一个客服语音的情绪分析模型,手头的材料是 500 条通话录音。有人用 Excel 记转写,有人截图画框,格式各不统一;标到一半想给模型喂数据,还得人工把表格转成训练框架认的格式,返工一次就浪费一两天。
Label Studio 接住的正是这类活。它把"导入数据、定义标注界面、逐条标注、导出结果"压缩成浏览器里的一个项目:每条数据是一个任务,标注动作绑定到具体账号,导出时直接产出模型能读的格式,不需要中间再转一道手。
下面这张动图展示了同一个平台在不同数据类型上的多模态数据标注界面。
🐳 两条命令用 pip 跑起 Label Studio
对只想先跑通流程的人来说,pip 是最省事的路径:装完直接起服务,默认监听 8080 端口。
pip install label-studio label-studio启动后浏览器打开http://localhost:8080,注册一个账号就能建项目。如果你要的是带 Nginx 和 PostgreSQL 的生产级部署,仓库里的docker-compose.yml一条命令即可拉起整套服务;Docker 单容器、源码开发、Anaconda 等其余方式见 安装文档。
先掌握三件事:XML 配置标注界面、接模型做预标注、换模态换模板
用预置模板和 XML 配置搭出图像标注界面
Label Studio 的标注界面不是写死的,而是一段声明式 XML:哪个控件挂在哪个对象上、有哪些标签,写清楚就自动渲染出来。实际使用时你基本不用从零写——创建项目在 Labeling Setup 里选一个预置模板(图像检测、文本分类、音频转写都有),再改掉标签名。
以图像边界框为例,配置就是下面这几行:
<View> <Image name="image" value="$image"/> <RectangleLabels name="tag" toName="image"> <Label value="车"/> <Label value="人"/> </RectangleLabels> </View>保存后进入标注流,在图上拖框、点标签、回车提交,右侧会实时列出所有 region 和标签。
接入 ML 后端,把"从零画框"变成"改框确认"
手里有现成模型(哪怕很弱)时,别让人从零标。Label Studio 通过 ML Backend SDK 把你的模型包成一个独立服务,在项目设置的 Model 页填上 URL 就连上了:打开任务时模型先返回预测,标注员只负责核对和微调。
手动模式是在数据管理器里选中任务、执行 Retrieve predictions;自动化模式是在项目设置里勾选"Use predictions to prelabel tasks",新任务一打开就带着预测进来。接入步骤和一批开箱即用的示例模型清单在 ML 集成文档里。
同一套模板机制覆盖文本与音频
图像之外,文本和音频走的是同一套模板逻辑。文本任务里用 Labels 控件做命名实体识别,人名、地名、日期只是不同的标签值;音频任务里对着波形做转写或切分区域。
换数据类型只需要换模板:把项目从图像检测切到音频转写,标注界面就从画框变成"播放加填转写",右侧的完成区、预测区、实体区结构保持不变,标注员的学习成本几乎为零。
一条主线:从 50 张图片到一份 COCO 数据集
- 准备:按上一节用 pip 装好并启动,浏览器打开 8080,注册账号。
- 建项目:点 Create Project 命名,在 Labeling Setup 里选 Object Detection 模板,把标签改成你的类别,例如车、人、宠物。想抄现成配置可以看 标注模板库。
- 导入数据:在 Data Import 里上传一个 JSON 文件(每个对象对应一条数据,例如
{"image": "cat_01.jpg"}),或上传图片 ZIP、CSV,每条数据自动变成一个任务。 - 执行标注:进 Label All Tasks 标注流,逐张画框提交。如果接了模型,先取预测再改;标完可在数据管理器里按标签筛选、复核。
- 导出验证:项目页点 Export,选 COCO、YOLO 或 JSON 下载。抽查几条导出文件确认坐标是百分比而不是像素,再交给训练脚本。
⚠️ 进阶与避坑:数据库、导出超时与 ML 后端连接
数据量上来之后,先做两件事。一是把默认 SQLite 换成 PostgreSQL——docker-compose.yml自带,不需要额外配置;二是数据本体放到对象存储,项目设置里接 S3、GCS 或 Azure Blob,本地只留数据库,相关实现都在 io_storages 模块。另外要注意,社区版的界面导出是同步执行的,大项目容易撞上反向代理约 90 秒的超时,表现为 502/504。此时改用命令行离线导出即可:
label-studio export <project-id> COCO --export-path=./outML 后端连不上,八成是这三个原因之一。容器里的localhost指向容器自身,Label Studio 跑在 Docker 里时,后端 URL 要用宿主机 IP 或host.docker.internal;后端要拉取你上传的文件,必须配好LABEL_STUDIO_URL和LABEL_STUDIO_API_KEY两个环境变量;批量取预测超时时,改成走 API 逐任务请求。标注、预测、训练之间通过 Webhook 串成闭环的整体关系,看这张图最清楚:
想改界面之前,先知道代码是分开组织的。后端是 Django,主逻辑在各 app 目录里;前端编辑器则是独立的 React 库,位于web/libs/editor,可以单独集成进你自己的工具,不必整套照搬。
手里要是有待标数据,今天就可以用 pip 装起来,拿 50 条样本走完上面那条主线,再决定要不要接模型、换数据库。后续翻资料可以从 官方指南目录 和 标注模板库 入手。
【免费下载链接】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),仅供参考