Label Studio 是什么?
Label Studio 是一个开源的数据标注平台,支持图像、文本、音频、视频和时间序列等多种数据类型。你可以在 Web 浏览器中直接配置标注界面,无需额外安装客户端。它提供预置模板,也允许完全自定义标注配置,适合科研团队和企业级标注任务。
Label Studio 如何安装?
Label Studio 可通过 pip 直接安装:pip install label-studio。安装后运行 label-studio start 即可启动 Web 服务,默认端口为 8080。也支持 Docker 部署:docker run -it -p 8080:8080 heartexlabs/label-studio。此外还提供 AWS、GCP 等云平台的一键部署脚本,详情可参考官方文档的安装指南。
Label Studio 支持哪些标注类型?
Label Studio 内置了 80 多种标注模板,覆盖常见场景:图像分类、边界框、多边形、语义分割、关键点;文本分类、命名实体识别、关系抽取;音频分类、语音转文本、声学事件;视频跟踪;时间序列分类与分割。你还可以通过 XML 配置自定义任意标注界面。
如何创建一个标注项目?
启动服务后,在浏览器打开 http://localhost:8080,注册或登录。点击“创建项目”,输入项目名称和描述。在“数据导入”步骤上传本地文件或从云存储(如 S3、GCS、Azure)导入。在“标注配置”步骤选择模板或编写自定义 XML。保存后即可开始标注。你可以随时修改配置,已标注的数据不会丢失。
Label Studio 支持哪些数据导入方式?
支持直接上传文件(图片、JSON、CSV、音频、视频等);粘贴文本或 URL 列表;从 Amazon S3、Google Cloud Storage、Azure Blob Storage、MinIO 等云存储同步;通过 REST API 或 Python SDK 编程导入;还支持从 Hugging Face Datasets 等外部源导入。所有导入方式均可增量添加。
如何导出标注结果?
在项目页面点击“导出”按钮,选择格式:JSON(标准 Label Studio 格式)、CSV、COCO(图像)、PASCAL VOC、YOLO、CONLL(文本)、Audio JSON、Time Series CSV 等。支持自定义导出转换脚本。也可以通过 API 调用 /api/projects/{id}/export 获取结果。
Label Studio 能与机器学习模型结合使用吗?
可以。Label Studio 提供“ML 后端”功能:你可以将预训练模型或自定义模型部署为 REST API,标注时模型自动给出预测结果作为预标注,标注员只需确认或修正。此外,标注完成后可一键导出数据用于训练,训练后的模型再部署回平台,形成数据闭环。官方文档给出 PyTorch、Hugging Face、YOLO 等示例。
多人协作标注如何实现?
Label Studio 内置用户和项目管理功能。在项目设置中邀请其他用户(需先创建账号),分配标注员、审核员或管理员角色。支持标注任务分配(自动或手动)、标注冲突检测(跨标注员一致性检查)、以及“黄金标准”任务来评估标注质量。所有操作记录在审计日志中。
能否自定义标注界面?布局复杂吗?
完全自定义。Label Studio 使用 XML 描述标注界面,你可以在“项目设置→标注配置”中编写或粘贴 XML 代码。标签体系包括 <View>、<Image>、<Text>、<Labels>、<Rectangle>、<Choices> 等数十种元素,支持条件显示、区域分组、快捷键绑定。官方文档有详细的 XML 参考手册和数百个示例。
标注数据安全吗?数据存放在哪里?
数据默认存储在本地文件系统(./label-studio/media 目录)。你可以配置外部存储(S3、GCS 等)。Label Studio 社区版是开源自托管,数据完全由你控制。企业版支持 SSO、RBAC、审计日志、数据加密等高级安全功能。平台不会将你的数据发送到外部服务器。
如何与其他工具集成?
Label Studio 提供全面的 REST API 以及 Python SDK(label-studio-sdk),可以创建/管理项目、导入/导出数据、获取标注结果。官方还提供与 Amazon SageMaker、Vertex AI、Snorkel、DVC 等工具的集成示例。支持 Webhook 在标注事件发生时触发外部流程。
支持哪些语言界面?
Label Studio 的 Web 界面支持中文、英文、日文、韩文、法文、德文、西班牙文、葡萄牙文、俄文、阿拉伯文等 20 多种语言。你可以在用户设置中选择语言,也可以安装社区贡献的语言包。标注配置本身与语言无关,你可以在标签名称中使用任意 Unicode 字符。
有没有版本管理?标注历史能回溯吗?
有。Label Studio 会记录每个标注任务的历史版本,包括标注员、修改时间、前后差异。在任务详情页可以查看历史版本并恢复到任意历史状态。项目级别的导出也支持导出特定时间点的快照。
如何处理大型数据集?性能如何?
Label Studio 针对大规模标注做了优化:使用异步任务队列处理数据导入/导出;支持分页浏览标注任务;图像和视频支持缩略图懒加载;对于超大体积的标注配置(如 100 万张图片),建议使用 PostgresSQL 或 MySQL 作为数据库(默认使用 SQLite)。官方测试 10 万级图像项目流畅运行。
能否离线使用?
可以。Label Studio 是完全自托管的 Web 应用,安装在内网服务器后,无需互联网连接即可使用所有核心功能。首次安装时需要网络下载依赖包,之后完全离线工作。数据导入、导出、标注操作均在内网完成。
有没有移动端支持?
Label Studio 的 Web 界面在移动端浏览器上基本可用,但标注体验针对桌面优化。对于需要移动标注的场景,你可以将平台部署后在手机浏览器上操作,但复杂多边形等操作不太方便。官方目前没有独立的移动 App。
如何备份和迁移项目?
使用命令行 label-studio project backup 可以导出整个项目为 tar 包(包含标注配置、数据、标注结果)。迁移时将 tar 包复制到新服务器,运行 label-studio project import 即可恢复。也可以通过 API 批量同步。数据库文件(默认 SQLite)可直接复制。
有没有视频标注的具体示例?
支持视频标注。在标注配置中使用 <Video> 标签,配合 <Rectangle> 或 <Polygon> 等标签进行逐帧或关键帧标注。标注结果以时间戳形式记录。官方文档有完整的视频目标跟踪标注示例配置。
如何与自己的标注流水线集成?
推荐使用 Python SDK。例如:from label_studio_sdk import Client,连接到你的 Label Studio 实例,然后创建项目、上传数据、创建任务、获取标注结果。标注结果可以以 JSON 形式处理,直接送入训练流程。你还可以在标注完成后自动触发 Webhook 或 CI/CD 管线。
错误排查:页面无法加载或标注保存失败怎么办?
首先检查浏览器控制台是否有 500 错误,查看服务器日志(运行 label-studio start --log-level DEBUG)。常见端口被占用(换端口)、数据库磁盘空间不足、上传文件大小超过限制(可在设置中调整 MAX_UPLOAD_SIZE)。WebSocket 连接失败时检查防火墙配置。社区 GitHub Issues 上有很多解决方案。